treesitter 带来彩色的世界。
Intro
emacs nvim均可以使用。不知什么原因,nvim的treesitter插件安装总是不成功,最后只能去把插件treesitter clone下来,编译一遍。
通用的安装参照emacs treesitter安装方法
SPACEMACS
spacemacs中的安装最简单, 按照spacemacs的文档,在dotspacemacs-configuration-layers中添加
(tree-sitter :variables
;; spacemacs-tree-sitter-hl-black-list '(js2-mode rjsx-mode)
tree-sitter-syntax-highlight-enable t
tree-sitter-fold-enable nil
tree-sitter-fold-indicators-enable nil)
DOOM
doom emacs的配置文件init.el中似乎没有提供选项。
在packages.el中安装
(package! tree-sitter)
(package! tree-sitter-langs
:recipe (:host github :repo "emacs-tree-sitter/tree-sitter-langs"))
在config.el中添加
(use-package! tree-sitter
:hook (prog-mode . turn-on-tree-sitter-mode)
:hook (tree-sitter-after-on . tree-sitter-hl-mode)
:config
(require 'tree-sitter-langs)
;; This makes every node a link to a section of code
(setq tree-sitter-debug-jump-buttons t
;; and this highlights the entire sub tree in your code
tree-sitter-debug-highlight-jump-region t)
)
效果
缺点是,你可能会找不到光标。我加了一条下划线。
doom emacs需要再load-theme之后添加一句; spacemacs则放在配置文件中就可以了。
(use-package! hl-line
:config
(set-face-attribute hl-line-face nil :underline "#70cfc3")
;; only for current
(setq hl-line-sticky-flag nil)
)