</p></dd></dl>
<dl class="def">
-<dt id="index-treesit_002dchild_002dcount"><span class="category">Function: </span><span><strong>treesit-child-count</strong> <em>node &optional named</em><a href='#index-treesit_002dchild_002dcount' class='copiable-anchor'> ¶</a></span></dt>
+<dt id="index-treesit_002dchild_002dcount"><span class="category">Function: </span><span><strong>treesit-node-child-count</strong> <em>node &optional named</em><a href='#index-treesit_002dchild_002dcount' class='copiable-anchor'> ¶</a></span></dt>
<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>).
</p></dd></dl>
</li></ul>
<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>If Emacs cannot find the library or has problems loading it, Emacs
signals the <code>treesit-load-language-error</code> error. The data of
tree-sitter query in either the string, s-expression or compiled form.
</p>
<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>’s language. The <code>:feature</code> keyword sets the
feature name of <var>query</var>. Users can control which features are
enabled with <code>font-lock-maximum-decoration</code> and
</p></dd></dl>
<dl class="def">
-<dt id="index-treesit_002dnext_002dsibling"><span class="category">Function: </span><span><strong>treesit-next-sibling</strong> <em>node &optional named</em><a href='#index-treesit_002dnext_002dsibling' class='copiable-anchor'> ¶</a></span></dt>
+<dt id="index-treesit_002dnext_002dsibling"><span class="category">Function: </span><span><strong>treesit-node-next-sibling</strong> <em>node &optional named</em><a href='#index-treesit_002dnext_002dsibling' class='copiable-anchor'> ¶</a></span></dt>
<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.
</p></dd></dl>
<dl class="def">
-<dt id="index-treesit_002dprev_002dsibling"><span class="category">Function: </span><span><strong>treesit-prev-sibling</strong> <em>node &optional named</em><a href='#index-treesit_002dprev_002dsibling' class='copiable-anchor'> ¶</a></span></dt>
+<dt id="index-treesit_002dprev_002dsibling"><span class="category">Function: </span><span><strong>treesit-node-prev-sibling</strong> <em>node &optional named</em><a href='#index-treesit_002dprev_002dsibling' class='copiable-anchor'> ¶</a></span></dt>
<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.
</p></dd></dl>
could have a <code>declarator</code> node and a <code>body</code> node.
</p>
<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'> ¶</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'> ¶</a></span></dt>
<dd><p>This function finds the child of <var>node</var> whose field name is
<var>field-name</var>, a string.
</p>
<div class="example">
<pre class="example">;; 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")
⇒ #<treesit-node (compound_statement) in 45-89>
</pre></div>
</dd></dl>
<span id="index-syntax-tree-nodes_002c-by-position"></span>
<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 &optional named</em><a href='#index-treesit_002dfirst_002dchild_002dfor_002dpos' class='copiable-anchor'> ¶</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 &optional named</em><a href='#index-treesit_002dfirst_002dchild_002dfor_002dpos' class='copiable-anchor'> ¶</a></span></dt>
<dd><p>This function finds the first child of <var>node</var> that extends beyond
buffer position <var>pos</var>. “Extends beyond” means the end of the
child node is greater or equal to <var>pos</var>. This function only looks
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_id
-ts_node_next_sibling treesit-next-sibling
-ts_node_prev_sibling treesit-prev-sibling
-ts_node_next_named_sibling treesit-next-sibling
-ts_node_prev_named_sibling treesit-prev-sibling
-ts_node_first_child_for_byte treesit-first-child-for-pos
-ts_node_first_named_child_for_byte treesit-first-child-for-pos
+ts_node_next_sibling treesit-node-next-sibling
+ts_node_prev_sibling treesit-node-prev-sibling
+ts_node_next_named_sibling treesit-node-next-sibling
+ts_node_prev_named_sibling treesit-node-prev-sibling
+ts_node_first_child_for_byte treesit-node-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_point_range
ts_node_named_descendant_for_byte_range treesit-descendant-for-range
...
(cond
;; Tree-sitter.
- ((treesit-ready-p 'python-mode 'python)
+ ((treesit-ready-p 'python)
(treesit-parser-create 'python)
(setq-local treesit-font-lock-settings python--treesit-settings)
(setq-local treesit-font-lock-feature-list
@c FIXME: Cross-ref treesit-font-lock-level to user manual.
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
feature name of @var{query}. Users can control which features are
enabled with @code{treesit-font-lock-level} and
@vindex treesit-extra-load-path
@vindex treesit-load-language-error
-@vindex treesit-load-suffixes
Tree-sitter language grammar are distributed as dynamic libraries.
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
@end itemize
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
signals the @code{treesit-load-language-error} error. The data of
@var{named} is non-@code{nil}, it retrieves only named nodes.
@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
non-@code{nil}, it finds the next named sibling.
@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
@var{named} is non-@code{nil}, it finds the previous named sibling.
@end defun
name, field name}). For example, a @code{function_definition} 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
@var{field-name}, a string.
@example
@group
;; 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>
@end group
@end example
@cindex 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
buffer position @var{pos}. ``Extends beyond'' means the end of the
child node is greater or equal to @var{pos}. This function only looks
could be negative, e.g., @code{-1} represents the last child.
@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
@var{named} is non-@code{nil}, it only counts named children
(@pxref{tree-sitter named node, named node}).
...
(cond
;; Tree-sitter setup.
- ((treesit-ready-p 'woomy-mode 'woomy)
+ ((treesit-ready-p 'woomy)
(setq-local treesit-variables ...)
(treesit-major-mode-setup))
;; Non-tree-sitter setup.
First, the major mode should use @code{treesit-ready-p} to determine
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
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
is non-@code{nil}, it sets up fontification.
@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.
@item
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_id
-ts_node_next_sibling treesit-next-sibling
-ts_node_prev_sibling treesit-prev-sibling
-ts_node_next_named_sibling treesit-next-sibling
-ts_node_prev_named_sibling treesit-prev-sibling
-ts_node_first_child_for_byte treesit-first-child-for-pos
-ts_node_first_named_child_for_byte treesit-first-child-for-pos
+ts_node_next_sibling treesit-node-next-sibling
+ts_node_prev_sibling treesit-node-prev-sibling
+ts_node_next_named_sibling treesit-node-next-sibling
+ts_node_prev_named_sibling treesit-node-prev-sibling
+ts_node_first_child_for_byte treesit-node-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_point_range
ts_node_named_descendant_for_byte_range treesit-descendant-for-range
(cdr exp))))
;; Presets override functions, so this condition comes before
;; `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)
((symbolp exp)
(if (null exp)
:eg-result-string "#<treesit-node (init_declarator) in 5-10>")
- (treesit-first-child-for-pos
- :no-eval (treesit-first-child-for-pos node 1)
+ (treesit-node-first-child-for-pos
+ :no-eval (treesit-node-first-child-for-pos node 1)
:eg-result-string "#<treesit-node (primitive_type) in 1-4>")
(treesit-node-descendant-for-range
:no-eval (treesit-node-descendant-for-range node 2 3)
:eg-result t)
- (treesit-field-name-for-child
- :no-eval (treesit-field-name-for-child node)
+ (treesit-node-field-name-for-child
+ :no-eval (treesit-node-field-name-for-child node)
:eg-result "body")
- (treesit-child-count
- :no-eval (treesit-child-count node)
+ (treesit-node-child-count
+ :no-eval (treesit-node-child-count node)
:eg-result 3)