文章目录
- 如何在`emacs`上开始使用`Tree-Sitter`(`windows`)
如何在emacs
上开始使用Tree-Sitter
(windows
)
参考:“How to Get Started with Tree-Sitter”。
首先要有一个可运行的emacs
,并且它支持Tree-Sitter
,直接从官网下载的就可以:“emacs-29.2_1-installer.exe”。
可以通过查看system-configuration-options
获得编译选项,如果是--with-tree-sitter
,说明它支持Tree-Sitter
:
然后安装各个语言对应的语言文件,github
上已经有人提供下载了:“emacs-tree-sitter/tree-sitter-langs”。我下载的是tree-sitter-grammars.x86_64-pc-windows-msvc.v0.12.92.tar.gz
这个文件:
然后把这些文件都放到user-emacs-directory
下的tree-sitter
目录中,在我的电脑上即%APPDATA%/.emacs.default/tree-sitter
。且由于文件名要保持libtree-sitter-<LANGUAGE>.dll
的格式,所以用emacs
的dired
可以批量修改文件名,操作时步骤:
C-x C-q
将dired
变成可写buffer
。C-x r t
执行string-rectangle
来批量修改。C-c C-c
最终使用文件名生效。
这里可以用(treesit-language-available-p 'cpp)
命令来测试一下是否环境配置成功,返回t
,说明成功。
最后在启动配置文件中添加如下即可:
(setq major-mode-remap-alist
'((sh-mode . bash-ts-mode)
(c-mode . c-ts-mode)
(c++-mode . c++-ts-mode)
(c-or-c++-mode . c-or-c++-ts-mode)
(python-mode . python-ts-mode)))
这里的含义就是当主模式为c-mode
时,改用c-ts-mode
模式。(可以M-:
执行major-mode
来查看当前主模式)