自带 HTML+ 模式和 electric-pair-mode 在 JS 区域的一个问题

我没找到 HTML+,它在哪个文件?


找到了,正式名称是 mhtml-mode

用了一下发现,它有子模式的概念:

(defconst mhtml--js-submode
  (mhtml--construct-submode 'js-mode
                            :name "JS"
                            :end-tag "</script>"
                            :syntax-table js-mode-syntax-table
                            :propertize #'js-syntax-propertize
                            :keymap js-mode-map))

进入 JS 区域自动切换成 js-mode (可运行 M-: major-mode 观察)。这就好办了,把 < 加入 electric-pair 禁止列表即可:

(add-to-list 'electric-pair-inhibit-predicate-mode-chars-alist
             '(js-mode . (?<)))