doomemacs/modules/tools/tree-sitter
Jeetaditya Chatterjee 2cd40f7aa7
fix(tree-sitter): properly gatekeep ts text objs
before today all text objects were bound in all modes, now they have
been properly gatekept and only appear when `+tree-sitter-keys-mode` is
enabled / hooked, this allows for more flexibility and the ability to
arbitrarily disable / enable tree sitter text objects (which is nice)
2022-05-22 21:26:03 +01:00
..
config.el fix(tree-sitter): properly gatekeep ts text objs 2022-05-22 21:26:03 +01:00
doctor.el docs(tree-sitter): add doctor check for modules 2022-05-22 21:25:58 +01:00
packages.el bump: :tools tree-sitter 2022-05-22 21:26:03 +01:00
README.org feat(tree-sitter): add function call text object 2022-05-22 21:25:59 +01:00

tools/tree-sitter

Description

This module adds tree-sitter support to doom:

Tree sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.

It includes:

  • Better syntax highlighting of supported languages
  • Structural text objects to manipulate functions statements and other code structures like any other text object

Maintainers

  • @jeetelongname

Module Flags

This module provides no flags.

Plugins

TODO Hacks

Prerequisites

This module has no prerequisites.

Features

Language support

Currently Emacs tree sitter has got parsers for these languages with syntax highlighting support for these languages.

Text Objects

Not all language support all text objects (yet). Here is a table of the text objects languages support Note: only languages with parsers in emacs have text object support currently. Currently text objects are bound to:

key text object
f function definition
F function call
C class
c comment
i conditional
l loop

They are used in a container context (not vf but vaf or vif)

TODO Configuration

TODO Troubleshooting