tree-sitter is an Emacs binding for Tree-sitter, an incremental parsing system. It aims to be the foundation for a new breed of Emacs packages that understand code structurally. Faster, fine-grained code highlighting. More flexible code folding. Structural editing (like Paredit, or even better) for non-Lisp code. More informative indexing for imenu. The author of Tree-sitter articulated its merits a lot better in this Strange Loop talk. The minor mode tree-sitter-mode provides a buffer-local syntax tree, which is kept up-to-date with changes to the buffer’s text. Run M-x tree-sitter-hl-mode to replace the regex-based highlighting provided by font-lock-mode with tree-based syntax highlighting.
Features
- Faster, fine-grained code highlighting
- More flexible code folding
- Structural editing (like Paredit, or even better) for non-Lisp code
- More informative indexing for imenu
- It aims to be the foundation for a new breed of Emacs packages that understand code structurally
- Incremental parsing system