最近 伊莱扎雷茨基, emacs 的主要开发者之一他说 应该有测试版 很快,除非在代码中发现严重问题。
据此提到 下一个版本的 GNU Emacs 29 应该支持 图像格式 WebP、树站点r,解析器生成工具和增量解析器库, 白鹭 (Emacs 多语言), LSP (语言服务器协议)用于 Emacs,以及 其他各种改进。
GNU Emacs 29 的发布有什么消息等着我们?
在 Eli Zaretskii 分享的出版物中,他强调 主要新颖性 为新版 Emacs 29 做准备 Tree-sitter,解析器生成工具和增量解析库.
提到使用它可以为源文件构建一个具体的语法树,并在编辑源文件时高效地更新语法树。 从那里开始,不仅仅是语法高亮可以高速完成。
Emacs tree-sitter 目前支持的主要模式有:
- bash-ts-模式
- c-ts-模式
- C++-ts-模式
- csharp-ts-模式
- css-ts-模式
- java-ts-模式
- js-ts-模式
- json-ts-模式
- python-ts-模式
- 打字稿-ts-模式
值得一提的是 Tree-sitter inclusion 目前在 emacs-29 中具有特殊地位, 由于仍然可以向其中添加新功能,因此它与 master 分支的合并仍然是最近的。
另一个变化 对 Emacs 29 的期望 是 Eglot(Emacs 多语言) 是 Emacs 的 LSP(语言服务器协议)客户端。 值得一提的是 有几个 Emacs 的 LSP 集成,例如 LSP Mode、Eglot 和 lsp-bridge。 在这三者中,Eglot 现在是 Emacs 核心的一部分。 根据团队的不同,不再需要安装包,只需注册 LSP 服务器和自动完成、文档、错误检测和其他功能即可立即使用。
除此之外,还有 值得注意的是,从 Emacs 29 开始,可以使用纯 GTK 进行编译 Linux 中 Emacs 的主要问题之一是它在 GUI 模式下执行时对 Xorg 的依赖,尽管实际上问题出在 Wayland 上,它在过去几年变得越来越普遍,甚至随着XWayland 的存在已经成为一种麻烦。 鉴于此,现在可以使用纯 GTK 编译 Emacs。
还 Emacs 29 将允许使用对 SQLite 的原生支持进行编译 和 sqlite3 库,根据团队的说法,这是现在的默认行为,因为在编译 Emacs 时必须将 --without-sqlite3 传递给配置脚本以避免它。
另一方面,也 HaikuOS 支持突出显示 所以 Emacs 现在可以直接从系统编译,设置过程应该自动检测和构建 Haiku。
值得一提的是 还有一个可选的窗口系统端口到 Haiku,这可以通过使用 --with-be-app 选项配置 Emacs 来启用,这将需要 Haiku Application Kit 开发头文件和 C++ 编译器出现在您的系统上。 如果 Emacs 没有使用 '–with-be-app' 选项构建,生成的编辑器将只能在文本模式终端上工作。
最后但同样重要的是,还注意到 在 Emacs 29 中添加了以 .webp 格式显示图像的支持 除此之外 emacs 可以更好地处理 .pdmp 文件, 因为现在,当创建这样一个文件时,它将在其名称中包含其当前状态的指纹,尽管它始终优先考虑 emacs.pdmp 文件(如果存在)。
最后我们还可以强调 emacs 现在使用 XInput 2,允许 Emacs 支持更多的输入事件,例如触摸板事件。 例如,默认情况下,触控板上的捏合手势会增大或减小文本的大小。 这要归功于触摸端附带的新捏合事件。
如果您有兴趣了解更多,可以查阅详情 在下面的链接中。