Adding Textobject Queries
Textobjects that are language specific (like functions, classes, etc)
require an accompanying tree-sitter grammar and a textobjects.scm
query file
to work properly. Tree-sitter allows us to query the source code syntax tree
and capture specific parts of it. The queries are written in a lisp dialect.
More information on how to write queries can be found in the official tree-sitter
documentation.
Query files should be placed in runtime/queries/{language}/textobjects.scm
when contributing. Note that to test the query files locally you should put
them under your local runtime directory (~/.config/helix/runtime
on Linux
for example).
The following captures are recognized:
Capture Name |
---|
function.inside |
function.around |
class.inside |
class.around |
parameter.inside |
Example query files can be found in the helix GitHub repository.