For Emacs 29+, please use the built-in integration instead of this package.
This is an Emacs Lisp binding for tree-sitter, an incremental parsing library. It requires Emacs 25.1 or above, built with dynamic module support.
It aims to be the foundation for a new breed of Emacs packages that understand code structurally. For example:
The author of tree-sitter articulated its merits a lot better in this Strange Loop talk.
See the installation section in the documentation.
If you want to hack on
emacs-tree-sitter itself, see the next section instead.
Note: On Windows, use Powershell instead of Bash or cmd.exe.
If you want to hack on the high-level features (in Lisp) only:
tree-sitter-tests.eland run them with
If you want to build additional (or all) grammars from source, or work on the core dynamic module, see the next 2 sections.
Note: If you are only interested in building the grammar binaries, not the dynamic module, check out tree-sitter-langs.
# For yarn user yarn global add [email protected] # For npm user npm install -g [email protected]
langs/script/compile. For example:
To test against a different version of Emacs, set the environment variable
EMACS=/snap/bin/emacs make test).
For language-specific issues/features, please check out tree-sitter-langs instead.
Show respect and empathy towards others. Both technical empathy and general empathy are highly valued.