fxbois / web-mode

web template editing mode for emacs
https://web-mode.org
GNU General Public License v3.0
1.63k stars 262 forks source link

Javascript code get wrong indentation within django block #1275

Closed honmaple closed 10 months ago

honmaple commented 1 year ago

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

- web.html

test {% block js %}

{% endblock %}

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
rhoit commented 1 year ago

I have been facing same problem from some time, now I'm sure it was not my config.