我用这个方法设置 python-mode 使用 python-ts-mode 可以生效,但对 js-ts-mode 无效。用的 Emacs 29 分支。
(push '(js-mode . js-ts-mode) major-mode-remap-alist)
解决了,原来不叫 js-mode, 叫 javascript-mode, 这样写就生效了:
(push '(javascript-mode . js-ts-mode) major-mode-remap-alist)
这是目前我个人用的设置:
(when (treesit-available-p)
(push '(sh-mode . bash-ts-mode) major-mode-remap-alist)
(push '(c-mode . c-ts-mode) major-mode-remap-alist)
(push '(c++-mode . c++-ts-mode) major-mode-remap-alist)
(push '(css-mode . css-ts-mode) major-mode-remap-alist)
(push '(javascript-mode . js-ts-mode) major-mode-remap-alist)
(push '(js-json-mode . json-ts-mode) major-mode-remap-alist)
(push '(python-mode . python-ts-mode) major-mode-remap-alist))