]> git.eshelyaron.com Git - emacs.git/commitdiff
; Resolve FIXME's in tree-sitter manual sections
authorYuan Fu <casouri@gmail.com>
Sun, 23 Oct 2022 21:23:59 +0000 (14:23 -0700)
committerYuan Fu <casouri@gmail.com>
Sun, 23 Oct 2022 21:30:14 +0000 (14:30 -0700)
* doc/lispref/modes.texi (Parser-based Indentation):
* doc/lispref/parsing.texi (Retrieving Node): Resolve FIXME's.
* src/treesit.c: Update tree graph in docstring.

doc/lispref/modes.texi
doc/lispref/parsing.texi
src/treesit.c

index c6269b46ba0013d54a1d929afe9c9c28e7b74941..d73c443b4c2552b49d6fa55384ea4a9da7f86fa6 100644 (file)
@@ -4820,12 +4820,11 @@ available default functions are:
 
 @ftable @code
 @item no-node
-@c FIXME: How many arguments does no-node accept, and what are thos
-@c arguments?
-This matcher is a function that matches the case where @var{node} is
-@code{nil}, i.e., there is no node that starts at @var{bol}.  This is
-the case when @var{bol} is on an empty line or inside a multi-line
-string, etc.
+This matcher is a function that is called with 3 arguments:
+@var{node}, @var{parent}, and @var{bol}, and returns non-@code{nil},
+indicating a match, if @var{node} is @code{nil}, i.e., there is no
+node that starts at @var{bol}.  This is the case when @var{bol} is on
+an empty line or inside a multi-line string, etc.
 
 @item parent-is
 This matcher is a function of one argument, @var{type}; it returns a
index aaa8f0f64dd9bf800fb08b205fbcf7ee98f43e79..ec6cd2757d821e5ca5935b300c227c3dfc1fa307 100644 (file)
@@ -655,19 +655,19 @@ Like @code{treesit-search-subtree}, this function also traverses the
 parse tree and matches each node with @var{predicate} (except for
 @var{start}), where @var{predicate} can be a (case-insensitive) regexp
 or a function.  For a tree like the below where @var{start} is marked
-1, this function traverses as numbered:
+S, this function traverses as numbered from 1 to 12:
 
 @example
 @group
-              16
+              12
               |
-     3--------7-----------15
-     |        |           |
-o--1-+--2  4--+--6    10--+-----14
-|  |             |    |         |
-o  o             5  +-+-+    +--+--+
-                    |   |    |  |  |
-                    8   9    11 12 13
+     S--------3----------11
+     |        |          |
+o--o-+--o  1--+--2    6--+-----10
+|  |                  |        |
+o  o                +-+-+   +--+--+
+                    |   |   |  |  |
+                    4   5   7  8  9
 @end group
 @end example
 
@@ -679,12 +679,14 @@ named nodes by default, but if @var{all} is non-@code{nil}, it
 searches for all nodes.  If @var{backward} is non-@code{nil}, it
 searches backwards.
 
-@c FIXME: Still not very clear: the difference between ``traverse
-@c a subtree of a node'' and ``traverse every node that comes after
-@c it''.
 While @code{treesit-search-subtree} traverses the subtree of a node,
-this function usually starts with a leaf node and traverses every node
-that comes after it in the buffer position order.  It is useful for
+this function starts with node @var{start} and traverses every node
+that comes after it in the buffer position order, i.e., nodes with
+start positions greater than the end position of @var{start}.
+
+In the tree shown above, @code{treesit-search-subtree} traverses node
+S (@var{start}) and nodes marked with @code{o}, where this function
+traverses the nodes marked with numbers.  This function is useful for
 answering questions like ``what is the first node after @var{start} in
 the buffer that satisfies some condition?''
 @end defun
index b4dac587b1a1054137f5a7bbcc204bce61ca0ea8..a23ac7510dac93b01cebb6dccde4582b7b60932b 100644 (file)
@@ -2548,17 +2548,18 @@ for all nodes.  If BACKWARD is non-nil, search backwards.
 
 Return the first matched node, or nil if none matches.
 
-For a tree like below, where START is marked by 1, traverse as
-numbered:
-                16
-                |
-       3--------7-----------15
-       |        |           |
-  o--1-+--2  4--+--6    10--+-----14
-  |  |             |    |         |
-  o  o             5  +-+-+    +--+--+
-                      |   |    |  |  |
-                      8   9    11 12 13
+For a tree like below, where START is marked by S, traverse as
+numbered from 1 to 12:
+
+               12
+               |
+       S--------3----------11
+       |        |          |
+  o--o-+--o  1--+--2    6--+-----10
+  |  |                  |        |
+  o  o                +-+-+   +--+--+
+                     |   |   |  |  |
+                     4   5   7  8  9
 
 Note that this function doesn't traverse the subtree of START, and it
 always traverse leaf nodes first, then upwards.  */)