treesitter for emacs

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)
              )

效果

treesitter for emacs_第1张图片
缺点是,你可能会找不到光标。我加了一条下划线。
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)
  )

你可能感兴趣的:(emacs,编辑器)