treesit 已经合并进 master 分支了

牛逼呀, 等过段时间 frame 的bug修复了, 我也去看看。

这两个命令对开发语法编辑插件很有用。

学到了,这就去设。感谢!

grammatical-edit 要用的话,到时候会舍弃掉现在用的 tree-sitter 吗?现在内置的也提供了不少相近的函数

总之,希望大佬能在此基础上更进一步,我这种小白也能跟着收益 :joy:

我主要是现在 Emacs 29 有几个槽点不想升级:

  1. 强制 Wayland native, 导致 EAF 工作没有 X11 那么爽, 总是有一个阴影存在
  2. Emacs 29 的 frame-hide 有性能问题, 导致 lsp-bridge 的性能从丝滑降低到流畅
  3. Emacs 29 强制开启 Native Comp, 真的很烦

我再等等吧, 最近公司忙, 不想折腾了。

1 和 2 应该需要上游解决

3 的话从源码编译可以自己控制,在 Windows 上默认不开启(可能 gnu 打的包是默认开启的,我没试过,不过看 ./configure --help 的说明,可以用 --with-native-compilation=no 来关闭)

ps: 我也觉得 native-comp 挺烦的,之前开过一次,每次都要编译好一会儿,速度也没感觉到有什么不同,不知道这玩意有啥优势

Emacs 29 没有强制开启也没有默认开启 PGTK,未来也不会真么做。

2 个赞

刚编译了最新的master分支的代码。发现org-mode里面 #+begin_src sh 代码块里面的shell,默认用tree-sitter语法高亮,我的macOS里默认shell是zsh。但是没有zsh的tree-sitter,一直在报错。

sh-mode 是内置支持 tree-sitter 的。赶紧报 bug :smile:

我 Windows 也会报这个错误,拉取下主分支最新代码重新编译下吧;现在 Emacs 把 sh-mode 里的 tree-sitter 部分拆了出来:现在一个 sh-mode,一个 bash-ts-mode

你这个问题已经有人报 bug了。应该已经修复了。

1 个赞

视角产生的错觉。

整个合并过程可能是这样的:

  1. Eli Zaretskii 发邮件说可以合并了。
  2. Yuan Fu 在 feature/tree-sitter 分支完成合并,然后把补丁发给 Eli Zaretskii。
  3. Eli Zaretskii 再通过 fast-forward 的方式把补丁合并回主分支。

所以站在 master 分支的角度看起来这个 merge 的提交信息就感觉是反方向的。

1 个赞

有这个选项吗?

⋊> [feature/tree-sitter|✔] ./configure --with-tree-sitter
configure: WARNING: unrecognized options: --with-tree-sitter
...

⋊> [feature/tree-sitter|✔] ./configure --help | rg '\-\-with' | wc -l
      67
⋊> [feature/tree-sitter|✔] ./configure --help | rg '\-\-with-tree-sitter' | wc -l
      0

autogen.sh重新生成configure文件

1 个赞

噢。是我这边的 build.sh 出了问题。

对,就是这种感觉;今早拉取后,拉取到的那条 commit 刚好是 tree-sitter 分支合并 master 分支的那条 commit

tree-sitter 的分支看,就是:一切修改完成,合并主分支的最新 commit(留下一条合并主分支的 commit 信息),确定没有冲突,等待主分支合并

master 的分支看,就是:tree-sitter 已合并 master 分支当前 commit,可以合并到 master 分支,然后直接合并,没有将 tree-sitter 合并到 master 分支的这样一条信息

给我的感觉就像是 tree-sitter 分支误将自己分支的 commit 推送到了主分支上

体验了一天, treesit 比 emacs-tree-sitter.el 功能要多。
目前发现的不兼容的包是 DarthFennec/highlight-indent-guides,两个一起用的话一打字高亮就没了。可能是刷新 font lock 的时机有冲突。

我这边c++-ts-mode 用不了,python-ts-mode 正常。

报了个Bug

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59498

我倒是没遇到这个问题,遇到的一个比较明显的问题是换行后没有缩进,用 c++-mode 就没问题

我按 TAB (indent-for-tab-command)时,也没法缩进,会提示 Wrong type argument: stringp, nil。 可能和你遇到的是同一个问题。

看来小毛病还挺多的,真正能用起来还得好好打磨打磨