Lem 是一款专为 Common Lisp 编程语言而开发的编辑器,支持 Windows、Linux 和 macOS。
Lem 2.0 正式发布,带来了以下这些变化:
SDL2 前端
这个版本的亮点是 SDL2 前端的实现。这个功能增加了对鼠标、图形功能和 Windows 的支持。
图形
由于 SDL2 的图形功能,现在可以显示图像和形状。你可以在指定的缓冲区或窗口上的任何位置进行绘制。
鼠标支持
增加了对鼠标点击和滚动的支持。此外,用鼠标中键在光标位置插入 S-expressions,以及通过双击或三击进行选择,都已成为可能。
增加颜色主题
此前,默认的主题只限于 emacs-dark 和 emacs-light。在这个版本中,增加了 180 多个新的主题。
此外,还增加了M-x list-color-themes
命令,它允许你显示并从可用的主题列表中选择。
此外,所选的主题被保存为 $HOME/.lem/config.lisp
中的 plist
,并在编辑器重新启动时应用。
UI 改进
新版本大大改进了 lem 的默认外观,改变了浮动窗口边框、框架复用器标签等元素的外观。此外,还为光标位置的线条添加了高亮显示。
还修改了列出缓冲区(C-x C-b)和显示 slime 连接列表(M-x lisp-connection-list)的用户界面。
并更新了完成窗口的设计,该窗口出现在C-x C-f这样的命令中。
grep
改进了用户界面,以便在使用grep
或M-.
时显示多个候选
directory-mode
改进了使用 M-x 查找文件打开目录时的显示。主要的更新包括:
- 显示与文件对应的 emojis
- 增加了对鼠标的支持
- 能够用外部程序打开 lem 不支持的文件
Lisp 模式
做了一些小的改进:
- 拉动时的缩进调整
- 增加了一项功能,即在没有相应的开括号时不插入
)
。 - 调整输出到 REPL 的位置
- 在函数/文件编译过程中,将鼠标悬停在下划线部分会弹出信息
其他变化
还有许多其他改动,包括:
- 添加 var 和 defun,以便在保存时去除尾部的空白
- 增加了 json-mode
- 小的改动和大规模的重构,例如替换 lsp-mode、language-server 中使用的内部模块
- 大量的错误修复
更多详情可查看:https://github.com/lem-project/lem/releases/tag/v2.0.0