有没有支持 lsp-mode 语义高亮的主题?

lsp-mode 提供了语义高亮 (semantic highlight),可以通过 M-x lsp-semantic-tokens-mode 开启。然而很多主题没有定义这些 lsp-face-semhl 开头的 face(见链接,face 数量还挺多的),比如针对宏的 lsp-face-semhl-macro

想问一下有没有对此支持比较好的主题,我翻了一下 doom-emacs-themes,只有一些零散的主题提供了非常有限的支持。

1 个赞

试试 modus

1 个赞

太强了!确实是一个对 lsp-mode 支持非常完善的主题,而且可定制性极强。

我用过你的 copilot 插件,之前没注意到是你。 :rofl:

感谢支持 copilot 插件。

最后还是选择了自己补主题缺的高亮,其实用得到的也不多,缺点是自己审美能力跟不上。

你推荐的主题暗色下感觉有点对比度太高了(虽然这个主题就是以对比度为卖点的),如果有 soft 的衍生主题就好了。

我也一直不习惯 modus 主题,切换过好几次,又回来了。相比之下,doom-one 系列就顺眼多了。

我用的是亮色 modus。

你可以试试调节饱和度,下方网页搜索 Override color saturation:

为获得最佳效果,终端需要 export TERM=xterm-direct

同感,我试用过几次,看久了眼睛都花,最后都放弃了。modus的白色主题要舒服很多。

这些 face 不是继承自 font-lock-face 嘛?正常来说都是定制了的吧(

嗯,都有默认定义。

但是比如 variable, member, parameter 都继承自同一个 font-lock-variable-name-face,无法区分。(如果你用现代 IDE 看的话它们的颜色应该是不一样的。)

啊,明白了(不过,支持语义高亮的server多吗?我自己写的主题支持了 tree-sitter 没有考虑 lsp

不知道诶,已知 clangd, rust-analyzer 支持(而且对体验提升明显),pyright 不支持(查了一下,基于 pyright 的同属于微软的但是闭源的 pylance 支持)

这个语义高亮已经进 lsp 3.16 规范了