From 315799cd43bf365f382cb6e4ba24d3432861f366 Mon Sep 17 00:00:00 2001 From: omentic Date: Wed, 1 May 2024 23:55:51 +0000 Subject: deploy: cd15f3d346196db5c0c7623b6c7cafcf350119ad --- master/guides/textobject.html | 270 ------------------------------------------ 1 file changed, 270 deletions(-) delete mode 100644 master/guides/textobject.html (limited to 'master/guides/textobject.html') diff --git a/master/guides/textobject.html b/master/guides/textobject.html deleted file mode 100644 index d67f0dda..00000000 --- a/master/guides/textobject.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - Adding textobject queries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
-
-

Adding textobject queries

-

Helix supports textobjects that are language specific, such as functions, classes, etc. -These textobjects 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 to Helix. 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
test.inside
test.around
parameter.inside
comment.inside
comment.around
-
-

Example query files can be found in the helix GitHub repository.

-

Queries for textobject based navigation

-

Tree-sitter based navigation in Helix is done using captures in the -following order:

-
    -
  • object.movement
  • -
  • object.around
  • -
  • object.inside
  • -
-

For example if a function.around capture has been already defined for a language -in its textobjects.scm file, function navigation should also work automatically. -function.movement should be defined only if the node captured by function.around -doesn't make sense in a navigation context.

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - -
- - -- cgit v1.2.3-70-g09d2