Tree-sitter doc fixes (bug#60524)

* doc/lispref/modes.texi (Parser-based Font Lock):
Replace :lang with :language.

* doc/lispref/parsing.texi (Language Grammar): Replace
treesit-load-suffixes with dynamic-library-suffixes.
(Retrieving Nodes): Fix function names.
(Tree-sitter Major Modes): Fix treesit-ready-p args.
Fix pxref to Parser-based Indentation.
(Tree-sitter C API): Fix function names.

* lisp/treesit.el (treesit--simple-indent-eval): Remove cond BODY
duplicated from CONDITION.
(treesit)<define-short-documentation-group>: Fix function names.
This commit is contained in:
Juri Linkov 2023-01-04 09:57:06 +02:00
parent 651927ac39
commit 6b5831c696
9 changed files with 39 additions and 41 deletions

View file

@ -187,7 +187,7 @@
</p></dd></dl> </p></dd></dl>
<dl class="def"> <dl class="def">
<dt id="index-treesit_002dchild_002dcount"><span class="category">Function: </span><span><strong>treesit-child-count</strong> <em>node &amp;optional named</em><a href='#index-treesit_002dchild_002dcount' class='copiable-anchor'> &para;</a></span></dt> <dt id="index-treesit_002dchild_002dcount"><span class="category">Function: </span><span><strong>treesit-node-child-count</strong> <em>node &amp;optional named</em><a href='#index-treesit_002dchild_002dcount' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>This function finds the number of children of <var>node</var>. If <dd><p>This function finds the number of children of <var>node</var>. If
<var>named</var> is non-nil, it only counts named child (see <a href="Language-Definitions.html#tree_002dsitter-named-node">named node</a>). <var>named</var> is non-nil, it only counts named child (see <a href="Language-Definitions.html#tree_002dsitter-named-node">named node</a>).
</p></dd></dl> </p></dd></dl>

View file

@ -94,7 +94,7 @@
</li></ul> </li></ul>
<p>In each of these directories, Emacs looks for a file with file-name <p>In each of these directories, Emacs looks for a file with file-name
extensions specified by the variable <code>treesit-load-suffixes</code>. extensions specified by the variable <code>dynamic-library-suffixes</code>.
</p> </p>
<p>If Emacs cannot find the library or has problems loading it, Emacs <p>If Emacs cannot find the library or has problems loading it, Emacs
signals the <code>treesit-load-language-error</code> error. The data of signals the <code>treesit-load-language-error</code> error. The data of

View file

@ -134,7 +134,7 @@
tree-sitter query in either the string, s-expression or compiled form. tree-sitter query in either the string, s-expression or compiled form.
</p> </p>
<p>For each <var>query</var>, the <var>:keyword</var>/<var>value</var> pairs that <p>For each <var>query</var>, the <var>:keyword</var>/<var>value</var> pairs that
precede it add meta information to it. The <code>:lang</code> keyword precede it add meta information to it. The <code>:language</code> keyword
declares <var>query</var>&rsquo;s language. The <code>:feature</code> keyword sets the declares <var>query</var>&rsquo;s language. The <code>:feature</code> keyword sets the
feature name of <var>query</var>. Users can control which features are feature name of <var>query</var>. Users can control which features are
enabled with <code>font-lock-maximum-decoration</code> and enabled with <code>font-lock-maximum-decoration</code> and

View file

@ -201,13 +201,13 @@
</p></dd></dl> </p></dd></dl>
<dl class="def"> <dl class="def">
<dt id="index-treesit_002dnext_002dsibling"><span class="category">Function: </span><span><strong>treesit-next-sibling</strong> <em>node &amp;optional named</em><a href='#index-treesit_002dnext_002dsibling' class='copiable-anchor'> &para;</a></span></dt> <dt id="index-treesit_002dnext_002dsibling"><span class="category">Function: </span><span><strong>treesit-node-next-sibling</strong> <em>node &amp;optional named</em><a href='#index-treesit_002dnext_002dsibling' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>This function finds the next sibling of <var>node</var>. If <var>named</var> is <dd><p>This function finds the next sibling of <var>node</var>. If <var>named</var> is
non-<code>nil</code>, it finds the next named sibling. non-<code>nil</code>, it finds the next named sibling.
</p></dd></dl> </p></dd></dl>
<dl class="def"> <dl class="def">
<dt id="index-treesit_002dprev_002dsibling"><span class="category">Function: </span><span><strong>treesit-prev-sibling</strong> <em>node &amp;optional named</em><a href='#index-treesit_002dprev_002dsibling' class='copiable-anchor'> &para;</a></span></dt> <dt id="index-treesit_002dprev_002dsibling"><span class="category">Function: </span><span><strong>treesit-node-prev-sibling</strong> <em>node &amp;optional named</em><a href='#index-treesit_002dprev_002dsibling' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>This function finds the previous sibling of <var>node</var>. If <dd><p>This function finds the previous sibling of <var>node</var>. If
<var>named</var> is non-<code>nil</code>, it finds the previous named sibling. <var>named</var> is non-<code>nil</code>, it finds the previous named sibling.
</p></dd></dl> </p></dd></dl>
@ -221,13 +221,13 @@
could have a <code>declarator</code> node and a <code>body</code> node. could have a <code>declarator</code> node and a <code>body</code> node.
</p> </p>
<dl class="def"> <dl class="def">
<dt id="index-treesit_002dchild_002dby_002dfield_002dname"><span class="category">Function: </span><span><strong>treesit-child-by-field-name</strong> <em>node field-name</em><a href='#index-treesit_002dchild_002dby_002dfield_002dname' class='copiable-anchor'> &para;</a></span></dt> <dt id="index-treesit_002dchild_002dby_002dfield_002dname"><span class="category">Function: </span><span><strong>treesit-node-child-by-field-name</strong> <em>node field-name</em><a href='#index-treesit_002dchild_002dby_002dfield_002dname' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>This function finds the child of <var>node</var> whose field name is <dd><p>This function finds the child of <var>node</var> whose field name is
<var>field-name</var>, a string. <var>field-name</var>, a string.
</p> </p>
<div class="example"> <div class="example">
<pre class="example">;; Get the child that has &quot;body&quot; as its field name. <pre class="example">;; Get the child that has &quot;body&quot; as its field name.
(treesit-child-by-field-name node &quot;body&quot;) (treesit-node-child-by-field-name node &quot;body&quot;)
&rArr; #&lt;treesit-node (compound_statement) in 45-89&gt; &rArr; #&lt;treesit-node (compound_statement) in 45-89&gt;
</pre></div> </pre></div>
</dd></dl> </dd></dl>
@ -237,7 +237,7 @@
<span id="index-syntax-tree-nodes_002c-by-position"></span> <span id="index-syntax-tree-nodes_002c-by-position"></span>
<dl class="def"> <dl class="def">
<dt id="index-treesit_002dfirst_002dchild_002dfor_002dpos"><span class="category">Function: </span><span><strong>treesit-first-child-for-pos</strong> <em>node pos &amp;optional named</em><a href='#index-treesit_002dfirst_002dchild_002dfor_002dpos' class='copiable-anchor'> &para;</a></span></dt> <dt id="index-treesit_002dfirst_002dchild_002dfor_002dpos"><span class="category">Function: </span><span><strong>treesit-node-first-child-for-pos</strong> <em>node pos &amp;optional named</em><a href='#index-treesit_002dfirst_002dchild_002dfor_002dpos' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>This function finds the first child of <var>node</var> that extends beyond <dd><p>This function finds the first child of <var>node</var> that extends beyond
buffer position <var>pos</var>. &ldquo;Extends beyond&rdquo; means the end of the buffer position <var>pos</var>. &ldquo;Extends beyond&rdquo; means the end of the
child node is greater or equal to <var>pos</var>. This function only looks child node is greater or equal to <var>pos</var>. This function only looks

View file

@ -142,12 +142,12 @@
ts_node_named_child_count treesit-node-child-count ts_node_named_child_count treesit-node-child-count
ts_node_child_by_field_name treesit-node-by-field-name ts_node_child_by_field_name treesit-node-by-field-name
ts_node_child_by_field_id ts_node_child_by_field_id
ts_node_next_sibling treesit-next-sibling ts_node_next_sibling treesit-node-next-sibling
ts_node_prev_sibling treesit-prev-sibling ts_node_prev_sibling treesit-node-prev-sibling
ts_node_next_named_sibling treesit-next-sibling ts_node_next_named_sibling treesit-node-next-sibling
ts_node_prev_named_sibling treesit-prev-sibling ts_node_prev_named_sibling treesit-node-prev-sibling
ts_node_first_child_for_byte treesit-first-child-for-pos ts_node_first_child_for_byte treesit-node-first-child-for-pos
ts_node_first_named_child_for_byte treesit-first-child-for-pos ts_node_first_named_child_for_byte treesit-node-first-child-for-pos
ts_node_descendant_for_byte_range treesit-descendant-for-range ts_node_descendant_for_byte_range treesit-descendant-for-range
ts_node_descendant_for_point_range ts_node_descendant_for_point_range
ts_node_named_descendant_for_byte_range treesit-descendant-for-range ts_node_named_descendant_for_byte_range treesit-descendant-for-range

View file

@ -238,7 +238,7 @@ Concretely, something like this:
... ...
(cond (cond
;; Tree-sitter. ;; Tree-sitter.
((treesit-ready-p 'python-mode 'python) ((treesit-ready-p 'python)
(treesit-parser-create 'python) (treesit-parser-create 'python)
(setq-local treesit-font-lock-settings python--treesit-settings) (setq-local treesit-font-lock-settings python--treesit-settings)
(setq-local treesit-font-lock-feature-list (setq-local treesit-font-lock-feature-list

View file

@ -4054,7 +4054,7 @@ tree-sitter query in either the string, s-expression or compiled form.
@c FIXME: Cross-ref treesit-font-lock-level to user manual. @c FIXME: Cross-ref treesit-font-lock-level to user manual.
For each @var{query}, the @var{:keyword}/@var{value} pairs that For each @var{query}, the @var{:keyword}/@var{value} pairs that
precede it add meta information to it. The @code{:lang} keyword precede it add meta information to it. The @code{:language} keyword
declares @var{query}'s language. The @code{:feature} keyword sets the declares @var{query}'s language. The @code{:feature} keyword sets the
feature name of @var{query}. Users can control which features are feature name of @var{query}. Users can control which features are
enabled with @code{treesit-font-lock-level} and enabled with @code{treesit-font-lock-level} and

View file

@ -65,7 +65,6 @@ For example, the C language grammar is represented as the symbol
@vindex treesit-extra-load-path @vindex treesit-extra-load-path
@vindex treesit-load-language-error @vindex treesit-load-language-error
@vindex treesit-load-suffixes
Tree-sitter language grammar are distributed as dynamic libraries. Tree-sitter language grammar are distributed as dynamic libraries.
In order to use a language grammar in Emacs, you need to make sure In order to use a language grammar in Emacs, you need to make sure
that the dynamic library is installed on the system. Emacs looks for that the dynamic library is installed on the system. Emacs looks for
@ -83,7 +82,7 @@ and finally, in the system's default locations for dynamic libraries.
@end itemize @end itemize
In each of these directories, Emacs looks for a file with file-name In each of these directories, Emacs looks for a file with file-name
extensions specified by the variable @code{treesit-load-suffixes}. extensions specified by the variable @code{dynamic-library-suffixes}.
If Emacs cannot find the library or has problems loading it, Emacs If Emacs cannot find the library or has problems loading it, Emacs
signals the @code{treesit-load-language-error} error. The data of signals the @code{treesit-load-language-error} error. The data of
@ -677,12 +676,12 @@ This function returns all of @var{node}'s children as a list. If
@var{named} is non-@code{nil}, it retrieves only named nodes. @var{named} is non-@code{nil}, it retrieves only named nodes.
@end defun @end defun
@defun treesit-next-sibling node &optional named @defun treesit-node-next-sibling node &optional named
This function finds the next sibling of @var{node}. If @var{named} is This function finds the next sibling of @var{node}. If @var{named} is
non-@code{nil}, it finds the next named sibling. non-@code{nil}, it finds the next named sibling.
@end defun @end defun
@defun treesit-prev-sibling node &optional named @defun treesit-node-prev-sibling node &optional named
This function finds the previous sibling of @var{node}. If This function finds the previous sibling of @var{node}. If
@var{named} is non-@code{nil}, it finds the previous named sibling. @var{named} is non-@code{nil}, it finds the previous named sibling.
@end defun @end defun
@ -696,14 +695,14 @@ assign @dfn{field names} to child nodes (@pxref{tree-sitter node field
name, field name}). For example, a @code{function_definition} node name, field name}). For example, a @code{function_definition} node
could have a @code{declarator} node and a @code{body} node. could have a @code{declarator} node and a @code{body} node.
@defun treesit-child-by-field-name node field-name @defun treesit-node-child-by-field-name node field-name
This function finds the child of @var{node} whose field name is This function finds the child of @var{node} whose field name is
@var{field-name}, a string. @var{field-name}, a string.
@example @example
@group @group
;; Get the child that has "body" as its field name. ;; Get the child that has "body" as its field name.
(treesit-child-by-field-name node "body") (treesit-node-child-by-field-name node "body")
@result{} #<treesit-node (compound_statement) in 45-89> @result{} #<treesit-node (compound_statement) in 45-89>
@end group @end group
@end example @end example
@ -713,7 +712,7 @@ This function finds the child of @var{node} whose field name is
@cindex nodes, by position @cindex nodes, by position
@cindex syntax tree nodes, by position @cindex syntax tree nodes, by position
@defun treesit-first-child-for-pos node pos &optional named @defun treesit-node-first-child-for-pos node pos &optional named
This function finds the first child of @var{node} that extends beyond This function finds the first child of @var{node} that extends beyond
buffer position @var{pos}. ``Extends beyond'' means the end of the buffer position @var{pos}. ``Extends beyond'' means the end of the
child node is greater or equal to @var{pos}. This function only looks child node is greater or equal to @var{pos}. This function only looks
@ -1002,7 +1001,7 @@ Note that @var{n} counts both named and anonymous child. And @var{n}
could be negative, e.g., @code{-1} represents the last child. could be negative, e.g., @code{-1} represents the last child.
@end defun @end defun
@defun treesit-child-count node &optional named @defun treesit-node-child-count node &optional named
This function finds the number of children of @var{node}. If This function finds the number of children of @var{node}. If
@var{named} is non-@code{nil}, it only counts named children @var{named} is non-@code{nil}, it only counts named children
(@pxref{tree-sitter named node, named node}). (@pxref{tree-sitter named node, named node}).
@ -1694,7 +1693,7 @@ this pattern:
... ...
(cond (cond
;; Tree-sitter setup. ;; Tree-sitter setup.
((treesit-ready-p 'woomy-mode 'woomy) ((treesit-ready-p 'woomy)
(setq-local treesit-variables ...) (setq-local treesit-variables ...)
(treesit-major-mode-setup)) (treesit-major-mode-setup))
;; Non-tree-sitter setup. ;; Non-tree-sitter setup.
@ -1706,7 +1705,7 @@ this pattern:
First, the major mode should use @code{treesit-ready-p} to determine First, the major mode should use @code{treesit-ready-p} to determine
whether tree-sitter can be activated in this mode. whether tree-sitter can be activated in this mode.
@defun treesit-ready-p mode language &optional quiet @defun treesit-ready-p language &optional quiet
This function checks for conditions for activating tree-sitter. It This function checks for conditions for activating tree-sitter. It
checks whether Emacs was built with tree-sitter, whether the buffer's checks whether Emacs was built with tree-sitter, whether the buffer's
size is not too large for tree-sitter to handle it, and whether the size is not too large for tree-sitter to handle it, and whether the
@ -1734,7 +1733,7 @@ If @code{treesit-font-lock-settings} (@pxref{Parser-based Font Lock})
is non-@code{nil}, it sets up fontification. is non-@code{nil}, it sets up fontification.
@item @item
If @code{treesit-simple-indent-rules} (@pxref{Parser-based Font Lock}) If @code{treesit-simple-indent-rules} (@pxref{Parser-based Indentation})
is non-@code{nil}, it sets up indentation. is non-@code{nil}, it sets up indentation.
@item @item
@ -1897,12 +1896,12 @@ ts_node_named_child treesit-node-child
ts_node_named_child_count treesit-node-child-count ts_node_named_child_count treesit-node-child-count
ts_node_child_by_field_name treesit-node-by-field-name ts_node_child_by_field_name treesit-node-by-field-name
ts_node_child_by_field_id ts_node_child_by_field_id
ts_node_next_sibling treesit-next-sibling ts_node_next_sibling treesit-node-next-sibling
ts_node_prev_sibling treesit-prev-sibling ts_node_prev_sibling treesit-node-prev-sibling
ts_node_next_named_sibling treesit-next-sibling ts_node_next_named_sibling treesit-node-next-sibling
ts_node_prev_named_sibling treesit-prev-sibling ts_node_prev_named_sibling treesit-node-prev-sibling
ts_node_first_child_for_byte treesit-first-child-for-pos ts_node_first_child_for_byte treesit-node-first-child-for-pos
ts_node_first_named_child_for_byte treesit-first-child-for-pos ts_node_first_named_child_for_byte treesit-node-first-child-for-pos
ts_node_descendant_for_byte_range treesit-descendant-for-range ts_node_descendant_for_byte_range treesit-descendant-for-range
ts_node_descendant_for_point_range ts_node_descendant_for_point_range
ts_node_named_descendant_for_byte_range treesit-descendant-for-range ts_node_named_descendant_for_byte_range treesit-descendant-for-range

View file

@ -1288,8 +1288,7 @@ the function."
(cdr exp)))) (cdr exp))))
;; Presets override functions, so this condition comes before ;; Presets override functions, so this condition comes before
;; `functionp'. ;; `functionp'.
((alist-get exp treesit-simple-indent-presets) ((alist-get exp treesit-simple-indent-presets))
(alist-get exp treesit-simple-indent-presets))
((functionp exp) exp) ((functionp exp) exp)
((symbolp exp) ((symbolp exp)
(if (null exp) (if (null exp)
@ -2914,8 +2913,8 @@ function signals an error."
:eg-result-string "#<treesit-node (init_declarator) in 5-10>") :eg-result-string "#<treesit-node (init_declarator) in 5-10>")
(treesit-first-child-for-pos (treesit-node-first-child-for-pos
:no-eval (treesit-first-child-for-pos node 1) :no-eval (treesit-node-first-child-for-pos node 1)
:eg-result-string "#<treesit-node (primitive_type) in 1-4>") :eg-result-string "#<treesit-node (primitive_type) in 1-4>")
(treesit-node-descendant-for-range (treesit-node-descendant-for-range
:no-eval (treesit-node-descendant-for-range node 2 3) :no-eval (treesit-node-descendant-for-range node 2 3)
@ -2989,11 +2988,11 @@ function signals an error."
:eg-result t) :eg-result t)
(treesit-field-name-for-child (treesit-node-field-name-for-child
:no-eval (treesit-field-name-for-child node) :no-eval (treesit-node-field-name-for-child node)
:eg-result "body") :eg-result "body")
(treesit-child-count (treesit-node-child-count
:no-eval (treesit-child-count node) :no-eval (treesit-node-child-count node)
:eg-result 3) :eg-result 3)