Use `emacs -Q --load init-web.el web.html` to open `web.html`, then run `test-indent` the indentation is right.
But after using `(web-mode-set-engine "django")` and run `test-indent`, the code would become
test
{% block js %}
{% endblock %}
And after runing multiple times, `let a = 1;` would indent every time
The test code
(package-initialize) (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package))
(use-package web-mode :mode ("\.\(xml\|vue\|html?\)$"))
(defun test-indent() (interactive) (save-excursion (if (use-region-p) (indent-region (region-beginning) (region-end) nil) (indent-region (point-min) (point-max) nil))))
(provide 'init) ;;; init.el ends here
test {% block js %}
{% endblock %}
test {% block js %}
{% endblock %}