emacs-29 分支下的编译语言定义的脚本也可以用在 Windows 上了。需要在 mingw 下用。喜欢自动一次编译的可以用这个脚本 admin/notes/tree-sitter/build-module/batch.sh
Emacs 内置的 treesit 叕更新了。现在所有支持的 mojor mode 都不会默认开启 tree-sitter 了,要用得用户自己设置。比如 yaml-mode
不是 Emacs 内置的,内置的只用 yaml-ts-mode
,但用户要设置 auto-mode-alist
来默认对 yaml 文件启用 yaml-ts-mode
。
参考 News: https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-29#n3235
这是我目前的设置:
我现在偷懒,继续使用tree-sitter mode,基本不需要自己配置。
我现在的做法是这一楼的最下面
遇到的一个问题是:在调用了 (treesit-ready-p xxx)
之后,Emacs 就会把加载的动态库文件锁定,如果之后想在 Emacs 里调用 (treesit-install-xxx)
更新相关的 parser 时会报错。必须关掉 Emacs 后再替换相关的动态库。
这应该是个 Bug,可以用 emacs -Q 重现下,给 Emacs 29 报个 bug。emacs-29 快要 pretest 了。
好,再探再报。treesit我还是等成熟了再用吧,整天变来变去的。。
yaml-ts-mode 也有 bug,当前行缩进不对的话会破坏后续行的高亮,我已经报 Bug了。
https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-02/msg00187.html
我的理解是,treesit-ready-p
在 xxx-ts-mode
加载的时候就会调用的,如果因为这个调用了就没法用
treesit-install-language-grammar
,那就是这个函数的设计有问题,是需要改进的。不过我基本不用这个 treesit-install-language-grammar
函数。
刷新不是实时的,每 15 钟刷新一次。如果你发送 bug 后过几分钟收到自动的邮件回复,那就说明发送成功了。
谢谢分享,有时间折腾下这东西
确实,完全可以切出上面几楼,单独给开个帖子,专门研究怎么在 Emacs 配置 smtp 这些东西
就此打住,避免越聊越偏了
这是啥字体?
嗯,是的,我昨晚发的邮件,今下午收到了自动邮件回复,然后 Eliz 通过邮件跟我沟通修复的
有个自动安装和使用 treesit 的包
treesit 在多语言的表现并不一致, 特别是字符串识别, 比如 ‘foo’ , 当光标在字符串中间的时候 treesit 的 start/end 识别的非常准确, 如果光标在 ’ 后面就废了。
在括号补全插件中, treesit 只能替代一部分原来的正则, 但是并不能完全依靠 treesit 的判断, 今天又写了一个workaround来修正 treesit 这种问题: Kill line directly if cursor after open single quote. · manateelazycat/fingertip@5dfe0b8 · GitHub
兄弟,想问下你这个配色怎么安装呀,我刚刚接触tree-sitter,感觉资料好少。是melpa的tree-sitter吗?
不是,自己编译emacs的