emacs 29的tree-sitter好用吗?

功能, 性能, 内存占用等方面都怎么样? 有没有明显的体验升级?

功能比 https://github.com/emacs-tree-sitter/elisp-tree-sitter

都没用过, 日常主要用golang, 传统的go-mode比较流畅, 暂时没动力更新. 而且29有很多包不兼容

很好用,语法高亮很准

还不错,大文件感觉性能更好,语法高亮有所不同。

最近使用 python-ts-mode, 感觉还不错。但是 bash-ts-mode 对双引号的内容没有识别命令的高亮,都高亮为字符串了。 c-ts-mode 据说对宏的支持不怎么好。

1 个赞

没用29,我用doom+emacs28尝试了一下,发现c++的语法高亮反而变丑了,于是就关掉了。

2 个赞

28 没有内置的 tree-sitter 吧

doom已经配置好了,我也不知道怎么弄的

Doom 在 Emacs 28 的时候配置的是 elisp-tree-sitter。 Emacs 29 开始才内置支持 tree-sitter,内置的叫 treesit

c-modec-ts-mode 对比图 .感觉差距不是很大.

output-2023-01-13-12:36:36

1 个赞

内存占用怎么样?

是个挺大的优势, 记得以前c+±mode偶尔遇到大的c++文件, 编辑卡成幻灯片

代码书写错误的提醒效果怎么样?

这个问题有点印象, 是不是简单的宏没问题? 复杂的才有问题?

这个应该能配置, tree-sitter这种方案应该是大趋势

看上去treesitter更准确, 比如下面的pid变量也识别了,

但是printf里面的pid变量没识别…

python-ts-mode 是怎么产生的?

是的 不过不是很在意语法高亮 (因为有symbol-overlay).主要是切换时会有卡顿. 所以暂时都是不打开 c-ts-mode.

1 个赞

Emacs 29 以上编译时支持 tree-sitter 的话就内置了啊。