aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElPiloto <luis.r.piloto@gmail.com>2020-11-04 17:13:00 +0000
committerElPiloto <luis.r.piloto@gmail.com>2020-11-04 17:45:38 +0000
commit44180c355377cdfe2ca20f688702d71934124ece (patch)
tree2d68a64620b007d9fb52c3ec89a37ab99c69bb60
parentee3acef3864b843d242ed617d4e3c7550b858b0d (diff)
downloadrneovim-44180c355377cdfe2ca20f688702d71934124ece.tar.gz
rneovim-44180c355377cdfe2ca20f688702d71934124ece.tar.bz2
rneovim-44180c355377cdfe2ca20f688702d71934124ece.zip
doc: Supplement documentation for treesitter.
- Describe query components (capture, match, pattern). Not well-described in tree-sitter documentation. - Describe Query() object. Not actually described anywhere in documenation.
-rw-r--r--runtime/doc/treesitter.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/runtime/doc/treesitter.txt b/runtime/doc/treesitter.txt
index 072f2cd074..8bedc0153e 100644
--- a/runtime/doc/treesitter.txt
+++ b/runtime/doc/treesitter.txt
@@ -164,11 +164,28 @@ Tree-sitter queries are supported, with some limitations. Currently, the only
supported match predicate is `eq?` (both comparing a capture against a string
and two captures against each other).
+A |query| consists of one or more patterns. A |pattern| is defined over node
+types in the syntax tree. A |match| corresponds to specific elements of the
+syntax tree which match a pattern. Patterns may optionally define captures
+and predicates. A |capture| allows you to associate names with a specific
+node in a pattern. A |predicate| adds arbitrary metadata and conditional data
+to a match.
+
vim.treesitter.parse_query({lang}, {query})
*vim.treesitter.parse_query()*
Parse {query} as a string. (If the query is in a file, the caller
should read the contents into a string before calling).
+ Returns a |Query| object which can be used to search nodes in the
+ syntax tree for the patterns defined in {query} using `iter_*` methods
+ below. Exposes `info` and `captures` with additional information about
+ the {query}.
+ - `captures` contains the list of unique capture names defined in
+ {query}.
+ -` info.captures` also points to `captures`.
+ - `info.patterns` contains information about predicates.
+
+
query:iter_captures({node}, {bufnr}, {start_row}, {end_row})
*query:iter_captures()*
Iterate over all captures from all matches inside {node}.