<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Highlighting on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/highlighting/</link>
        <description>Recent content in Highlighting on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 27 May 2025 15:30:52 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/highlighting/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>nvim-treesitter</title>
        <link>https://producthunt.programnotes.cn/en/p/nvim-treesitter/</link>
        <pubDate>Tue, 27 May 2025 15:30:52 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/nvim-treesitter/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1583940408833-2188ef47cff3?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NDgzMzA5MjJ8&amp;ixlib=rb-4.1.0" alt="Featured image of post nvim-treesitter" /&gt;&lt;h1 id=&#34;nvim-treesitternvim-treesitter&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nvim-treesitter/nvim-treesitter&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;h1&gt;nvim-treesitter&lt;/h1&gt;
  &lt;p&gt;
    &lt;a href=&#34;https://matrix.to/#/#nvim-treesitter:matrix.org&#34;&gt;
      &lt;img alt=&#34;Matrix Chat&#34; src=&#34;https://img.shields.io/matrix/nvim-treesitter:matrix.org&#34; /&gt;
    &lt;/a&gt;
    &lt;a href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/actions?query=workflow%3A%22Linting+and+style+checking%22+branch%3Amaster&#34;&gt;
      &lt;img alt=&#34;Linting and Style&#34; src=&#34;https://github.com/nvim-treesitter/nvim-treesitter/workflows/Linting%20and%20style%20checking/badge.svg&#34; /&gt;
    &lt;/a&gt;
    &lt;a href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/actions?query=workflow%3A%22Check+loading+of+syntax+files%22+branch%3Amaster&#34;&gt;
      &lt;img alt=&#34;Syntax files&#34; src=&#34;https://github.com/nvim-treesitter/nvim-treesitter/workflows/Check%20loading%20of%20syntax%20files/badge.svg&#34; /&gt;
    &lt;/a&gt;
  &lt;/p&gt;
&lt;/div&gt;
&lt;div align=&#34;center&#34;&gt;
  &lt;p&gt;
    &lt;img src=&#34;assets/logo.png&#34; align=&#34;center&#34; alt=&#34;Logo&#34; /&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;a href=&#34;https://github.com/tree-sitter/tree-sitter&#34;&gt;Treesitter&lt;/a&gt;
    configurations and abstraction layer for
    &lt;a href=&#34;https://github.com/neovim/neovim/&#34;&gt;Neovim&lt;/a&gt;.
  &lt;/p&gt;
  &lt;p&gt;
    &lt;i&gt;
      Logo by &lt;a href=&#34;https://github.com/steelsojka&#34;&gt;@steelsojka&lt;/a&gt;
    &lt;/i&gt;
  &lt;/p&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;[!CAUTION]
The &lt;code&gt;master&lt;/code&gt; branch is frozen and provided for backward compatibility only. All future updates happen on the &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/blob/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;main&lt;/code&gt; branch&lt;/a&gt;, which will become the default branch in the future.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The goal of &lt;code&gt;nvim-treesitter&lt;/code&gt; is both to provide a simple and easy way to use the interface for &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tree-sitter&lt;/a&gt; in Neovim and to provide some basic functionality such as highlighting based on it:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/2361214/202753610-e923bf4e-e88f-494b-bb1e-d22a7688446f.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;example-cpp&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Traditional highlighting (left) vs Treesitter-based highlighting (right).
More examples can be found in &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/wiki/Gallery&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;our gallery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warning: Treesitter and nvim-treesitter highlighting are an experimental feature of Neovim.
Please consider the experience with this plug-in as experimental until Tree-Sitter support in Neovim is stable!
We recommend using the nightly builds of Neovim if possible.
You can find the current roadmap &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/issues/4767&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.
The roadmap and all features of this plugin are open to change, and any suggestion will be highly appreciated!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nvim-treesitter is based on three interlocking features: &lt;a class=&#34;link&#34; href=&#34;#language-parsers&#34; &gt;&lt;strong&gt;language parsers&lt;/strong&gt;&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;#adding-queries&#34; &gt;&lt;strong&gt;queries&lt;/strong&gt;&lt;/a&gt;, and &lt;a class=&#34;link&#34; href=&#34;#available-modules&#34; &gt;&lt;strong&gt;modules&lt;/strong&gt;&lt;/a&gt;, where &lt;em&gt;modules&lt;/em&gt; provide features – e.g., highlighting – based on &lt;em&gt;queries&lt;/em&gt; for syntax objects extracted from a given buffer by &lt;em&gt;language parsers&lt;/em&gt;.
Users will generally only need to interact with parsers and modules as explained in the next section.
For more detailed information on setting these up, see &lt;a class=&#34;link&#34; href=&#34;#advanced-setup&#34; &gt;&amp;ldquo;Advanced setup&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;table-of-contents&#34;&gt;Table of contents
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#quickstart&#34; &gt;Quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#supported-languages&#34; &gt;Supported languages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#available-modules&#34; &gt;Available modules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#advanced-setup&#34; &gt;Advanced setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#extra-features&#34; &gt;Extra features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#troubleshooting&#34; &gt;Troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h1 id=&#34;quickstart&#34;&gt;Quickstart
&lt;/h1&gt;&lt;h2 id=&#34;requirements&#34;&gt;Requirements
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Neovim 0.10&lt;/strong&gt; or later (supported up to Neovim 0.12);&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tar&lt;/code&gt; and &lt;code&gt;curl&lt;/code&gt; in your path (or alternatively &lt;code&gt;git&lt;/code&gt;);&lt;/li&gt;
&lt;li&gt;a C compiler in your path and libstdc++ installed (&lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/wiki/Windows-support&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Windows users please read this!&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation
&lt;/h2&gt;&lt;p&gt;You can install &lt;code&gt;nvim-treesitter&lt;/code&gt; with your favorite package manager (or using the native &lt;code&gt;package&lt;/code&gt; feature of vim, see &lt;code&gt;:h packages&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This plugin is only guaranteed to work with specific versions of language parsers&lt;/strong&gt; (as specified in the &lt;code&gt;lockfile.json&lt;/code&gt;). &lt;strong&gt;When upgrading the plugin, you must make sure that all installed parsers are updated to the latest version&lt;/strong&gt; via &lt;code&gt;:TSUpdate&lt;/code&gt;.
It is strongly recommended to automate this; e.g., if you are using &lt;code&gt;lazy.nvim&lt;/code&gt;, put this in your &lt;code&gt;init.lua&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter/nvim-treesitter&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;branch&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;master&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lazy&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;:TSUpdate&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;[!CAUTION]&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This plugin does not support lazy-loading.&lt;/li&gt;
&lt;li&gt;Make sure to specify the &lt;code&gt;master&lt;/code&gt; branch, as the default branch will switch to &lt;code&gt;main&lt;/code&gt; in the future.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;For other plugin managers such as &lt;code&gt;packer.nvim&lt;/code&gt;, see this &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/wiki/Installation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Installation page from the wiki&lt;/a&gt; (Note that this page is community maintained).&lt;/p&gt;
&lt;h2 id=&#34;language-parsers&#34;&gt;Language parsers
&lt;/h2&gt;&lt;p&gt;Treesitter uses a different &lt;em&gt;parser&lt;/em&gt; for every language, which needs to be generated via &lt;code&gt;tree-sitter-cli&lt;/code&gt; from a &lt;code&gt;grammar.js&lt;/code&gt; file, then compiled to a &lt;code&gt;.so&lt;/code&gt; library that needs to be placed in neovim&amp;rsquo;s &lt;code&gt;runtimepath&lt;/code&gt; (typically under &lt;code&gt;parser/{language}.so&lt;/code&gt;).
To simplify this, &lt;code&gt;nvim-treesitter&lt;/code&gt; provides commands to automate this process.
If the language is already &lt;a class=&#34;link&#34; href=&#34;#supported-languages&#34; &gt;supported by &lt;code&gt;nvim-treesitter&lt;/code&gt;&lt;/a&gt;, you can install it with&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;TSInstall&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;language_to_install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This command supports tab expansion.
You can also get a list of all available languages and their installation status with &lt;code&gt;:TSInstallInfo&lt;/code&gt;.
Parsers not on this list can be added manually by following the steps described under &lt;a class=&#34;link&#34; href=&#34;#adding-parsers&#34; &gt;&amp;ldquo;Adding parsers&amp;rdquo;&lt;/a&gt; below.&lt;/p&gt;
&lt;p&gt;To make sure a parser is at the latest compatible version (as specified in &lt;code&gt;nvim-treesitter&lt;/code&gt;&amp;rsquo;s &lt;code&gt;lockfile.json&lt;/code&gt;), use &lt;code&gt;:TSUpdate {language}&lt;/code&gt;. To update all parsers unconditionally, use &lt;code&gt;:TSUpdate all&lt;/code&gt; or just &lt;code&gt;:TSUpdate&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;modules&#34;&gt;Modules
&lt;/h2&gt;&lt;p&gt;Each module provides a distinct tree-sitter-based feature such as &lt;a class=&#34;link&#34; href=&#34;#highlight&#34; &gt;highlighting&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;#indentation&#34; &gt;indentation&lt;/a&gt;, or &lt;a class=&#34;link&#34; href=&#34;#folding&#34; &gt;folding&lt;/a&gt;; see &lt;a class=&#34;link&#34; href=&#34;doc/nvim-treesitter.txt&#34; &gt;&lt;code&gt;:h nvim-treesitter-modules&lt;/code&gt;&lt;/a&gt; or &lt;a class=&#34;link&#34; href=&#34;#available-modules&#34; &gt;&amp;ldquo;Available modules&amp;rdquo;&lt;/a&gt; below for a list of modules and their options.&lt;/p&gt;
&lt;p&gt;Following examples assume that you are configuring neovim with lua. If you are using vimscript, see &lt;code&gt;:h lua-heredoc&lt;/code&gt;.
All modules are disabled by default and need to be activated explicitly in your &lt;code&gt;init.lua&lt;/code&gt;, e.g., via&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.configs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- A list of parser names, or &amp;#34;all&amp;#34; (the listed parsers MUST always be installed)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;ensure_installed&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;lua&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;vim&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;vimdoc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;markdown&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;markdown_inline&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- Install parsers synchronously (only applied to `ensure_installed`)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;sync_install&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- Automatically install missing parsers when entering buffer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- Recommendation: set to false if you don&amp;#39;t have `tree-sitter` CLI installed locally&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;auto_install&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- List of parsers to ignore installing (or &amp;#34;all&amp;#34;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;ignore_install&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;javascript&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;---- If you need to change the installation directory of the parsers (see -&amp;gt; Advanced Setup)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- parser_install_dir = &amp;#34;/some/path/to/store/parsers&amp;#34;, -- Remember to run vim.opt.runtimepath:append(&amp;#34;/some/path/to/store/parsers&amp;#34;)!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;highlight&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;enable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- the name of the parser)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- list of language that will be disabled&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;disable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rust&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;disable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;buf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;max_filesize&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1024&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- 100 KB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ok&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stats&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pcall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;vim.loop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fs_stat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;vim.api&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nvim_buf_get_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;buf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kr&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ok&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stats&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stats.size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;max_filesize&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;kr&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Setting this to true will run `:h syntax` and tree-sitter at the same time.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Set this to `true` if you depend on &amp;#39;syntax&amp;#39; being enabled (like for indentation).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Using this option may slow down your editor, and you may see some duplicate highlights.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Instead of true it can also be a list of languages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;additional_vim_regex_highlighting&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Each module can also be enabled or disabled interactively through the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;TSBufEnable&lt;/span&gt; {&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;} &lt;span class=&#34;c&#34;&gt;&amp;#34; enable module on current buffer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;TSBufDisable&lt;/span&gt; {&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;} &lt;span class=&#34;c&#34;&gt;&amp;#34; disable module on current buffer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;TSEnable&lt;/span&gt; {&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;} [{&lt;span class=&#34;nx&#34;&gt;ft&lt;/span&gt;}] &lt;span class=&#34;c&#34;&gt;&amp;#34; enable module on every buffer. If filetype is specified, enable only for this filetype.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;TSDisable&lt;/span&gt; {&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;} [{&lt;span class=&#34;nx&#34;&gt;ft&lt;/span&gt;}] &lt;span class=&#34;c&#34;&gt;&amp;#34; disable module on every buffer. If filetype is specified, disable only for this filetype.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;TSModuleInfo&lt;/span&gt; [{&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;}] &lt;span class=&#34;c&#34;&gt;&amp;#34; list information about modules state for each filetype&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Check &lt;a class=&#34;link&#34; href=&#34;doc/nvim-treesitter.txt&#34; &gt;&lt;code&gt;:h nvim-treesitter-commands&lt;/code&gt;&lt;/a&gt; for a list of all available commands.
It may be necessary to reload the buffer (e.g., via &lt;code&gt;:e&lt;/code&gt;) after enabling a module interactively.&lt;/p&gt;
&lt;h1 id=&#34;supported-languages&#34;&gt;Supported languages
&lt;/h1&gt;&lt;p&gt;For &lt;code&gt;nvim-treesitter&lt;/code&gt; to support a specific feature for a specific language requires both a parser for that language and an appropriate language-specific query file for that feature.&lt;/p&gt;
&lt;p&gt;The following is a list of languages for which a parser can be installed through &lt;code&gt;:TSInstall&lt;/code&gt;; a checked box means that &lt;code&gt;nvim-treesitter&lt;/code&gt; also contains queries at least for the &lt;code&gt;highlight&lt;/code&gt; module.&lt;/p&gt;
&lt;p&gt;Experimental parsers are parsers that have a maintainer but are not stable enough for
daily use yet.&lt;/p&gt;
&lt;p&gt;We are looking for maintainers to add more parsers and to write query files for their languages. Check our &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/issues/2282&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tracking issue&lt;/a&gt; for open language requests.&lt;/p&gt;
&lt;!--This section of the README is automatically updated by a CI job--&gt;
&lt;!--parserinfo--&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/briot/tree-sitter-ada&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ada&lt;/a&gt; (maintained by @briot)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-agda&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;agda&lt;/a&gt; (maintained by @Decodetalkers)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/dlvandenberg/tree-sitter-angular&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;angular&lt;/a&gt; (experimental, maintained by @dlvandenberg)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/aheber/tree-sitter-sfapex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;apex&lt;/a&gt; (maintained by @aheber, @xixiaofinland)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-arduino&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;arduino&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/RubixDev/tree-sitter-asm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;asm&lt;/a&gt; (maintained by @RubixDev)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/virchau13/tree-sitter-astro&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;astro&lt;/a&gt; (maintained by @virchau13)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/mleonidas/tree-sitter-authzed&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;authzed&lt;/a&gt; (maintained by @mattpolzin)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Beaglefoot/tree-sitter-awk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;awk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-bash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bash&lt;/a&gt; (maintained by @TravonteD)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/vito/tree-sitter-bass&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bass&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/polarmutex/tree-sitter-beancount&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;beancount&lt;/a&gt; (maintained by @polarmutex)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/latex-lsp/tree-sitter-bibtex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bibtex&lt;/a&gt; (maintained by @theHamsta, @clason)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-bicep&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bicep&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-bitbake&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bitbake&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/EmranMR/tree-sitter-blade&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blade&lt;/a&gt; (maintained by @calebdw)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/gabmus/tree-sitter-blueprint.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blueprint&lt;/a&gt; (experimental, maintained by @gabmus)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ambroisie/tree-sitter-bp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bp&lt;/a&gt; (maintained by @ambroisie)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ajdelcimmuto/tree-sitter-brightscript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;brightscript&lt;/a&gt; (maintained by @ajdelcimmuto)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;c&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-c-sharp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;c_sharp&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/opa-oz/tree-sitter-caddy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;caddy&lt;/a&gt; (maintained by @opa-oz)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-cairo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cairo&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-capnp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;capnp&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-chatito&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;chatito&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Decurity/tree-sitter-circom&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;circom&lt;/a&gt; (maintained by @alexandr-martirosyan)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/sogaiu/tree-sitter-clojure&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;clojure&lt;/a&gt; (maintained by @NoahTheDuke)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/uyha/tree-sitter-cmake&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cmake&lt;/a&gt; (maintained by @uyha)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/stsewd/tree-sitter-comment&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;comment&lt;/a&gt; (maintained by @stsewd)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-commonlisp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;commonlisp&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/addcninblue/tree-sitter-cooklang&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cooklang&lt;/a&gt; (maintained by @addcninblue)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/jakestanger/tree-sitter-corn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;corn&lt;/a&gt; (maintained by @jakestanger)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-cpon&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cpon&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-cpp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cpp&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-css&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;css&lt;/a&gt; (maintained by @TravonteD)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-csv&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;csv&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-cuda&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cuda&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/eonpatapon/tree-sitter-cue&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cue&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/elliotfontaine/tree-sitter-cylc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cylc&lt;/a&gt; (maintained by @elliotfontaine)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gdamore/tree-sitter-d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;d&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/UserNobody14/tree-sitter-dart&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dart&lt;/a&gt; (maintained by @akinsho)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ValdezFOmar/tree-sitter-desktop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;desktop&lt;/a&gt; (maintained by @ValdezFOmar)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/joelspadin/tree-sitter-devicetree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;devicetree&lt;/a&gt; (maintained by @jedrzejboczar)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/jbellerb/tree-sitter-dhall&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dhall&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/the-mikedavis/tree-sitter-diff&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;diff&lt;/a&gt; (maintained by @gbprod)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ColinKennedy/tree-sitter-disassembly&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;disassembly&lt;/a&gt; (maintained by @ColinKennedy)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/treeman/tree-sitter-djot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;djot&lt;/a&gt; (maintained by @NoahTheDuke)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/camdencheek/tree-sitter-dockerfile&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dockerfile&lt;/a&gt; (maintained by @camdencheek)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/rydesun/tree-sitter-dot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dot&lt;/a&gt; (maintained by @rydesun)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-doxygen&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;doxygen&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-xml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dtd&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/glehmann/tree-sitter-earthfile&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;earthfile&lt;/a&gt; (maintained by @glehmann)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/RubixDev/ebnf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ebnf&lt;/a&gt; (experimental, maintained by @RubixDev)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ValdezFOmar/tree-sitter-editorconfig&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;editorconfig&lt;/a&gt; (maintained by @ValdezFOmar)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/uyha/tree-sitter-eds&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;eds&lt;/a&gt; (maintained by @uyha)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/connorlay/tree-sitter-eex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;eex&lt;/a&gt; (maintained by @connorlay)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/elixir-lang/tree-sitter-elixir&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;elixir&lt;/a&gt; (maintained by @connorlay)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/elm-tooling/tree-sitter-elm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;elm&lt;/a&gt; (maintained by @zweimach)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/glapa-grossklag/tree-sitter-elsa&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;elsa&lt;/a&gt; (maintained by @glapa-grossklag, @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/elves/tree-sitter-elvish&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;elvish&lt;/a&gt; (maintained by @elves)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-embedded-template&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;embedded_template&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/simonvic/tree-sitter-enforce&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;enforce&lt;/a&gt; (maintained by @simonvic)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/WhatsApp/tree-sitter-erlang&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;erlang&lt;/a&gt; (maintained by @filmor)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/FacilityApi/tree-sitter-facility&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;facility&lt;/a&gt; (maintained by @bryankenote)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/khiner/tree-sitter-faust&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;faust&lt;/a&gt; (maintained by @khiner)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/alexmozaidze/tree-sitter-fennel&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fennel&lt;/a&gt; (maintained by @alexmozaidze)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/google/tree-sitter-fidl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fidl&lt;/a&gt; (maintained by @chaopeng)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-firrtl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;firrtl&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ram02z/tree-sitter-fish&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fish&lt;/a&gt; (maintained by @ram02z)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/FoamScience/tree-sitter-foam&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;foam&lt;/a&gt; (experimental, maintained by @FoamScience)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/AlexanderBrevig/tree-sitter-forth&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;forth&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/stadelmanma/tree-sitter-fortran&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fortran&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/mgramigna/tree-sitter-fsh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fsh&lt;/a&gt; (maintained by @mgramigna)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ionide/tree-sitter-fsharp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fsharp&lt;/a&gt; (maintained by @nsidorenco)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-func&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;func&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/jirgn/tree-sitter-fusion.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fusion&lt;/a&gt; (maintained by @jirgn)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gap-system/tree-sitter-gap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GAP system&lt;/a&gt; (maintained by @reiniscirpons)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gap-system/tree-sitter-gaptst&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GAP system test files&lt;/a&gt; (maintained by @reiniscirpons)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/PrestonKnopp/tree-sitter-gdscript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Godot (gdscript)&lt;/a&gt; (maintained by @PrestonKnopp)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/GodOfAvacyn/tree-sitter-gdshader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gdshader&lt;/a&gt; (maintained by @godofavacyn)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/the-mikedavis/tree-sitter-git-config&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;git_config&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/the-mikedavis/tree-sitter-git-rebase&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;git_rebase&lt;/a&gt; (maintained by @gbprod)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-gitattributes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gitattributes&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gbprod/tree-sitter-gitcommit&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gitcommit&lt;/a&gt; (maintained by @gbprod)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/shunsambongi/tree-sitter-gitignore&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gitignore&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gleam-lang/tree-sitter-gleam&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gleam&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ember-tooling/tree-sitter-glimmer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Glimmer and Ember&lt;/a&gt; (maintained by @NullVoxPopuli)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;glimmer_javascript&lt;/a&gt; (maintained by @NullVoxPopuli)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;glimmer_typescript&lt;/a&gt; (maintained by @NullVoxPopuli)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-glsl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;glsl&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-gn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GN (Generate Ninja)&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/dpezto/tree-sitter-gnuplot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gnuplot&lt;/a&gt; (maintained by @dpezto)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;go&lt;/a&gt; (maintained by @theHamsta, @WinWisely268)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/chaozwn/tree-sitter-goctl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;goctl&lt;/a&gt; (maintained by @chaozwn)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/PrestonKnopp/tree-sitter-godot-resource&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Godot Resources (gdresource)&lt;/a&gt; (maintained by @pierpo)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/camdencheek/tree-sitter-go-mod&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gomod&lt;/a&gt; (maintained by @camdencheek)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-go-sum&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gosum&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ngalaiko/tree-sitter-go-template&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gotmpl&lt;/a&gt; (maintained by @qvalentin)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/omertuc/tree-sitter-go-work&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gowork&lt;/a&gt; (maintained by @omertuc)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-gpg-config&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gpg&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/bkegley/tree-sitter-graphql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;graphql&lt;/a&gt; (maintained by @bkegley)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MaeBrooks/tree-sitter-gren&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gren&lt;/a&gt; (maintained by @MaeBrooks)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/murtaza64/tree-sitter-groovy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;groovy&lt;/a&gt; (maintained by @murtaza64)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-gstlaunch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gstlaunch&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/slackhq/tree-sitter-hack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-hare&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hare&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-haskell&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;haskell&lt;/a&gt; (maintained by @mrcjkb)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;haskell_persistent&lt;/a&gt; (maintained by @lykahb)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MichaHoffmann/tree-sitter-hcl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hcl&lt;/a&gt; (maintained by @MichaHoffmann)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/connorlay/tree-sitter-heex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;heex&lt;/a&gt; (maintained by @connorlay)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ngalaiko/tree-sitter-go-template&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;helm&lt;/a&gt; (maintained by @qvalentin)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/winston0410/tree-sitter-hjson&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hjson&lt;/a&gt; (maintained by @winston0410)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-hlsl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hlsl&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Freed-Wu/tree-sitter-hlsplaylist&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hlsplaylist&lt;/a&gt; (maintained by @Freed-Wu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/antosha417/tree-sitter-hocon&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hocon&lt;/a&gt; (maintained by @antosha417)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/urbit-pilled/tree-sitter-hoon&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hoon&lt;/a&gt; (experimental, maintained by @urbit-pilled)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html&lt;/a&gt; (maintained by @TravonteD)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/interdependence/tree-sitter-htmldjango&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;htmldjango&lt;/a&gt; (experimental, maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/rest-nvim/tree-sitter-http&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http&lt;/a&gt; (maintained by @amaanq, @NTBBloodbath)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/pfeiferj/tree-sitter-hurl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hurl&lt;/a&gt; (maintained by @pfeiferj)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/luckasRanarison/tree-sitter-hyprlang&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hyprlang&lt;/a&gt; (maintained by @luckasRanarison)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/cathaysia/tree-sitter-idl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;idl&lt;/a&gt; (maintained by @cathaysia)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/kayhide/tree-sitter-idris&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;idris&lt;/a&gt; (maintained by @srghma)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/justinmk/tree-sitter-ini&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ini&lt;/a&gt; (experimental, maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/inko-lang/tree-sitter-inko&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;inko&lt;/a&gt; (maintained by @yorickpeterse)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/srghma/tree-sitter-ipkg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ipkg&lt;/a&gt; (maintained by @srghma)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/fab4100/tree-sitter-ispc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ispc&lt;/a&gt; (maintained by @fab4100)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/sogaiu/tree-sitter-janet-simple&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;janet_simple&lt;/a&gt; (maintained by @sogaiu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-java&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;java&lt;/a&gt; (maintained by @p00f)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/rmuir/tree-sitter-javadoc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;javadoc&lt;/a&gt; (maintained by @rmuir)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-javascript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;javascript&lt;/a&gt; (maintained by @steelsojka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/cathaysia/tree-sitter-jinja&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jinja&lt;/a&gt; (maintained by @cathaysia)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/cathaysia/tree-sitter-jinja&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jinja_inline&lt;/a&gt; (maintained by @cathaysia)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/flurie/tree-sitter-jq&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jq&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-jsdoc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jsdoc&lt;/a&gt; (maintained by @steelsojka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-json&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;json&lt;/a&gt; (maintained by @steelsojka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Joakker/tree-sitter-json5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;json5&lt;/a&gt; (maintained by @Joakker)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JSON with comments&lt;/a&gt; (maintained by @WhyNotHugo)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/sourcegraph/tree-sitter-jsonnet&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jsonnet&lt;/a&gt; (maintained by @nawordar)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-julia&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;julia&lt;/a&gt; (maintained by @fredrikekre)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/IndianBoy42/tree-sitter-just&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;just&lt;/a&gt; (maintained by @Hubro)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/kcl-lang/tree-sitter-kcl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kcl&lt;/a&gt; (maintained by @bertbaron)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-kconfig&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kconfig&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-kdl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kdl&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/fwcd/tree-sitter-kotlin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kotlin&lt;/a&gt; (maintained by @SalBakraa)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/koto-lang/tree-sitter-koto&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;koto&lt;/a&gt; (maintained by @irh)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Willem-J-an/tree-sitter-kusto&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kusto&lt;/a&gt; (maintained by @Willem-J-an)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/traxys/tree-sitter-lalrpop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lalrpop&lt;/a&gt; (maintained by @traxys)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/latex-lsp/tree-sitter-latex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;latex&lt;/a&gt; (maintained by @theHamsta, @clason)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/cbarrete/tree-sitter-ledger&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ledger&lt;/a&gt; (maintained by @cbarrete)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/r001/tree-sitter-leo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;leo&lt;/a&gt; (maintained by @r001)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-linkerscript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;linkerscript&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/hankthetank27/tree-sitter-liquid&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;liquid&lt;/a&gt; (maintained by @hankthetank27)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/savonet/tree-sitter-liquidsoap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;liquidsoap&lt;/a&gt; (maintained by @toots)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/benwilliamgraham/tree-sitter-llvm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;llvm&lt;/a&gt; (maintained by @benwilliamgraham)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MunifTanjim/tree-sitter-lua&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lua&lt;/a&gt; (maintained by @muniftanjim)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-luadoc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;luadoc&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-luap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lua patterns&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-luau&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;luau&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/grahambates/tree-sitter-m68k&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;m68k&lt;/a&gt; (maintained by @grahambates)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/alemuller/tree-sitter-make&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;make&lt;/a&gt; (maintained by @lewis6991)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MDeiml/tree-sitter-markdown&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;markdown (basic highlighting)&lt;/a&gt; (experimental, maintained by @MDeiml)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MDeiml/tree-sitter-markdown&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;markdown_inline (needed for full highlighting)&lt;/a&gt; (experimental, maintained by @MDeiml)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/acristoffers/tree-sitter-matlab&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;matlab&lt;/a&gt; (maintained by @acristoffers)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Kerl13/tree-sitter-menhir&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;menhir&lt;/a&gt; (maintained by @Kerl13)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/monaqa/tree-sitter-mermaid&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mermaid&lt;/a&gt; (experimental)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Decodetalkers/tree-sitter-meson&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;meson&lt;/a&gt; (maintained by @Decodetalkers)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/artagnon/tree-sitter-mlir&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mlir&lt;/a&gt; (experimental, maintained by @artagnon)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/neomutt/tree-sitter-muttrc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;muttrc&lt;/a&gt; (maintained by @Freed-Wu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/naclsn/tree-sitter-nasm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nasm&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/opa-oz/tree-sitter-nginx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nginx&lt;/a&gt; (maintained by @opa-oz)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nickel-lang/tree-sitter-nickel&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nickel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/alaviss/tree-sitter-nim&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nim&lt;/a&gt; (maintained by @aMOPel)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/aMOPel/tree-sitter-nim-format-string&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nim_format_string&lt;/a&gt; (maintained by @aMOPel)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/alemuller/tree-sitter-ninja&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ninja&lt;/a&gt; (maintained by @alemuller)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/cstrahan/tree-sitter-nix&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nix&lt;/a&gt; (maintained by @leo60228)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-neorg/tree-sitter-norg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;norg&lt;/a&gt; (maintained by @JoeyGrajciar, @vhyrro)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-nqc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nqc&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nushell/tree-sitter-nu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nu&lt;/a&gt; (maintained by @abhisheksingh0x558)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-objc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;objc&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ColinKennedy/tree-sitter-objdump&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;objdump&lt;/a&gt; (maintained by @ColinKennedy)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-ocaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ocaml&lt;/a&gt; (maintained by @undu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-ocaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ocaml_interface&lt;/a&gt; (maintained by @undu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/atom-ocaml/tree-sitter-ocamllex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ocamllex&lt;/a&gt; (maintained by @undu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-odin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;odin&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Isopod/tree-sitter-pascal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pascal&lt;/a&gt; (maintained by @Isopod)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ath3/tree-sitter-passwd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;passwd&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-pem&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pem&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-perl/tree-sitter-perl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;perl&lt;/a&gt; (maintained by @RabbiVeesh, @LeoNerd)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;php&lt;/a&gt; (maintained by @tk-shirasaka, @calebdw)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;php_only&lt;/a&gt; (maintained by @tk-shirasaka, @calebdw)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/claytonrcarter/tree-sitter-phpdoc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;phpdoc&lt;/a&gt; (experimental, maintained by @mikehaertl)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/leo60228/tree-sitter-pioasm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pioasm&lt;/a&gt; (maintained by @leo60228)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/erasin/tree-sitter-po&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;po&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-perl/tree-sitter-pod&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pod&lt;/a&gt; (maintained by @RabbiVeesh, @LeoNerd)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-poe-filter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Path of Exile item filter&lt;/a&gt; (experimental, maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-pony&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pony&lt;/a&gt; (maintained by @amaanq, @mfelsche)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/airbus-cert/tree-sitter-powershell&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;powershell&lt;/a&gt; (maintained by @L2jLiga)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-printf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;printf&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/victorhqc/tree-sitter-prisma&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;prisma&lt;/a&gt; (maintained by @elianiva)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/foxyseta/tree-sitter-prolog&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;problog&lt;/a&gt; (maintained by @foxyseta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/foxyseta/tree-sitter-prolog&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;prolog&lt;/a&gt; (maintained by @foxyseta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MichaHoffmann/tree-sitter-promql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;promql&lt;/a&gt; (maintained by @MichaHoffmann)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-properties&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;properties&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/treywood/tree-sitter-proto&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;proto&lt;/a&gt; (maintained by @treywood)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/PRQL/tree-sitter-prql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;prql&lt;/a&gt; (maintained by @matthias-Q)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-csv&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;psv&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/zealot128/tree-sitter-pug&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pug&lt;/a&gt; (experimental, maintained by @zealot128)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-puppet&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;puppet&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/postsolar/tree-sitter-purescript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;purescript&lt;/a&gt; (maintained by @postsolar)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-pymanifest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PyPA manifest&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-python&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;python&lt;/a&gt; (maintained by @stsewd, @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-ql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ql&lt;/a&gt; (maintained by @pwntester)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Decodetalkers/tree-sitter-qmldir&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;qmldir&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/yuja/tree-sitter-qmljs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;qmljs&lt;/a&gt; (maintained by @Decodetalkers)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/tree-sitter-query&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tree-Sitter query language&lt;/a&gt; (maintained by @steelsojka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/r-lib/tree-sitter-r&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;r&lt;/a&gt; (maintained by @ribru17)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/6cdh/tree-sitter-racket&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;racket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/alephium/tree-sitter-ralph&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ralph&lt;/a&gt; (maintained by @tdroxler)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Fymyte/tree-sitter-rasi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rasi&lt;/a&gt; (maintained by @Fymyte)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tris203/tree-sitter-razor&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;razor&lt;/a&gt; (maintained by @tris203)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/joker1007/tree-sitter-rbs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rbs&lt;/a&gt; (maintained by @joker1007)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-re2c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;re2c&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ribru17/tree-sitter-readline&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;readline&lt;/a&gt; (maintained by @ribru17)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-regex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;regex&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/FallenAngel97/tree-sitter-rego&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rego&lt;/a&gt; (maintained by @FallenAngel97)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-requirements&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pip requirements&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/rescript-lang/tree-sitter-rescript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rescript&lt;/a&gt; (maintained by @ribru17)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/bamonroe/tree-sitter-rnoweb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rnoweb&lt;/a&gt; (maintained by @bamonroe)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Hubro/tree-sitter-robot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;robot&lt;/a&gt; (maintained by @Hubro)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/opa-oz/tree-sitter-robots-txt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;robots&lt;/a&gt; (maintained by @opa-oz)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/faldor20/tree-sitter-roc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;roc&lt;/a&gt; (maintained by @nat-418)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-ron&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ron&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/stsewd/tree-sitter-rst&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rst&lt;/a&gt; (maintained by @stsewd)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-ruby&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ruby&lt;/a&gt; (maintained by @TravonteD)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/2004Scape/tree-sitter-runescript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;runescript&lt;/a&gt; (maintained by @2004Scape)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-rust&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rust&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-scala&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;scala&lt;/a&gt; (maintained by @stevanmilic)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/rockorager/tree-sitter-scfg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;scfg&lt;/a&gt; (maintained by @WhyNotHugo)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/6cdh/tree-sitter-scheme&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;scheme&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/serenadeai/tree-sitter-scss&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;scss&lt;/a&gt; (maintained by @elianiva)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/aheber/tree-sitter-sfapex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sflog&lt;/a&gt; (maintained by @aheber, @xixiaofinland)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-slang&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;slang&lt;/a&gt; (experimental, maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theoo/tree-sitter-slim&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;slim&lt;/a&gt; (maintained by @theoo)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/slint-ui/tree-sitter-slint&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;slint&lt;/a&gt; (maintained by @hunger)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-smali&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;smali&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/indoorvivants/tree-sitter-smithy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;smithy&lt;/a&gt; (maintained by @amaanq, @keynmol)&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/osthomas/tree-sitter-snakemake&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;snakemake&lt;/a&gt; (experimental)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/JoranHonig/tree-sitter-solidity&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;solidity&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/aheber/tree-sitter-sfapex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;soql&lt;/a&gt; (maintained by @aheber, @xixiaofinland)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/aheber/tree-sitter-sfapex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sosl&lt;/a&gt; (maintained by @aheber, @xixiaofinland)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nilshelmig/tree-sitter-sourcepawn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sourcepawn&lt;/a&gt; (maintained by @Sarrus1)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/GordianDziwis/tree-sitter-sparql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sparql&lt;/a&gt; (maintained by @GordianDziwis)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/derekstride/tree-sitter-sql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sql&lt;/a&gt; (maintained by @derekstride)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-squirrel&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;squirrel&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-ssh-config&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ssh_config&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-starlark&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;starlark&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/sigmaSd/tree-sitter-strace&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;strace&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/mskelton/tree-sitter-styled&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;styled&lt;/a&gt; (maintained by @mskelton)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/madskjeldgaard/tree-sitter-supercollider&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;supercollider&lt;/a&gt; (maintained by @madskjeldgaard)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/kristoff-it/superhtml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;superhtml&lt;/a&gt; (maintained by @rockorager)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/connorlay/tree-sitter-surface&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;surface&lt;/a&gt; (maintained by @connorlay)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-svelte&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;svelte&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/FuelLabs/tree-sitter-sway.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sway&lt;/a&gt; (maintained by @ribru17)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/alex-pinkus/tree-sitter-swift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;swift&lt;/a&gt; (maintained by @alex-pinkus)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/RaafatTurki/tree-sitter-sxhkdrc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sxhkdrc&lt;/a&gt; (maintained by @RaafatTurki)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ok-ryoko/tree-sitter-systemtap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;systemtap&lt;/a&gt; (maintained by @ok-ryoko)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/xasc/tree-sitter-t32.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;t32&lt;/a&gt; (maintained by @xasc)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-tablegen&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tablegen&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tact-lang/tree-sitter-tact&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tact&lt;/a&gt; (maintained by @novusnota)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-tcl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tcl&lt;/a&gt; (maintained by @lewis6991)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/euclidianAce/tree-sitter-teal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;teal&lt;/a&gt; (maintained by @euclidianAce)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/vrischmann/tree-sitter-templ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;templ&lt;/a&gt; (maintained by @vrischmann)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/uncenter/tree-sitter-tera&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tera&lt;/a&gt; (maintained by @uncenter)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/MichaHoffmann/tree-sitter-hcl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;terraform&lt;/a&gt; (maintained by @MichaHoffmann)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/PorterAtGoogle/tree-sitter-textproto&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;textproto&lt;/a&gt; (maintained by @Porter)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/duskmoon314/tree-sitter-thrift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;thrift&lt;/a&gt; (maintained by @amaanq, @duskmoon314)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ambroisie/tree-sitter-tiger&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tiger&lt;/a&gt; (maintained by @ambroisie)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tlaplus-community/tree-sitter-tlaplus&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tlaplus&lt;/a&gt; (maintained by @ahelwer, @susliko)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Freed-Wu/tree-sitter-tmux&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tmux&lt;/a&gt; (maintained by @Freed-Wu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/arnarg/tree-sitter-todotxt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;todotxt&lt;/a&gt; (experimental, maintained by @arnarg)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-toml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;toml&lt;/a&gt; (maintained by @tk-shirasaka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-csv&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tsv&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-typescript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tsx&lt;/a&gt; (maintained by @steelsojka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/GordianDziwis/tree-sitter-turtle&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;turtle&lt;/a&gt; (maintained by @GordianDziwis)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gbprod/tree-sitter-twig&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;twig&lt;/a&gt; (maintained by @gbprod)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter/tree-sitter-typescript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;typescript&lt;/a&gt; (maintained by @steelsojka)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/happenslol/tree-sitter-typespec&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;typespec&lt;/a&gt; (maintained by @happenslol)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Teddytrombone/tree-sitter-typoscript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;typoscript&lt;/a&gt; (maintained by @Teddytrombone)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/uben0/tree-sitter-typst&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;typst&lt;/a&gt; (maintained by @uben0, @RaafatTurki)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-udev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;udev&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Philipp-M/tree-sitter-ungrammar&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ungrammar&lt;/a&gt; (maintained by @Philipp-M, @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/kylegoetz/tree-sitter-unison&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;unison&lt;/a&gt; (maintained by @tapegram)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ColinKennedy/tree-sitter-usd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;usd&lt;/a&gt; (maintained by @ColinKennedy)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/amaanq/tree-sitter-uxntal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;uxn tal&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/vlang/v-analyzer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v&lt;/a&gt; (maintained by @kkharji, @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/vala-lang/tree-sitter-vala&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vala&lt;/a&gt; (maintained by @Prince781)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ventojs/tree-sitter-vento&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vento&lt;/a&gt; (maintained by @wrapperup, @oscarotero)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/gmlarumbe/tree-sitter-systemverilog&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;verilog&lt;/a&gt; (maintained by @zhangwwpeng)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/jpt13653903/tree-sitter-vhdl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vhdl&lt;/a&gt; (maintained by @jpt13653903)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/charmbracelet/tree-sitter-vhs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vhs&lt;/a&gt; (maintained by @caarlos0)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/neovim/tree-sitter-vim&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vim&lt;/a&gt; (maintained by @clason)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/neovim/tree-sitter-vimdoc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vimdoc&lt;/a&gt; (maintained by @clason)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/belltoy/tree-sitter-vrl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vrl&lt;/a&gt; (maintained by @belltoy)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-vue&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vue&lt;/a&gt; (maintained by @WhyNotHugo, @lucario387)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/szebniok/tree-sitter-wgsl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wgsl&lt;/a&gt; (maintained by @szebniok)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/theHamsta/tree-sitter-wgsl-bevy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wgsl_bevy&lt;/a&gt; (maintained by @theHamsta)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/winglang/tree-sitter-wing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wing&lt;/a&gt; (maintained by @gshpychka, @MarkMcCulloh)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/liamwh/tree-sitter-wit&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wit&lt;/a&gt; (maintained by @liamwh)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ObserverOfTime/tree-sitter-xcompose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;xcompose&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-xml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;xml&lt;/a&gt; (maintained by @ObserverOfTime)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/ValdezFOmar/tree-sitter-xresources&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;xresources&lt;/a&gt; (maintained by @ValdezFOmar)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-yaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;yaml&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Hubro/tree-sitter-yang&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;yang&lt;/a&gt; (maintained by @Hubro)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Philipp-M/tree-sitter-yuck&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;yuck&lt;/a&gt; (maintained by @Philipp-M, @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/Freed-Wu/tree-sitter-zathurarc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zathurarc&lt;/a&gt; (maintained by @Freed-Wu)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/tree-sitter-grammars/tree-sitter-zig&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zig&lt;/a&gt; (maintained by @amaanq)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/kristoff-it/ziggy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ziggy&lt;/a&gt; (maintained by @rockorager)&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/kristoff-it/ziggy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ziggy_schema&lt;/a&gt; (maintained by @rockorager)&lt;/li&gt;
&lt;/ul&gt;
&lt;!--parserinfo--&gt;
&lt;p&gt;For related information on the supported languages, including related plugins, see &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/wiki/Supported-Languages-Information&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;this wiki page&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;available-modules&#34;&gt;Available modules
&lt;/h1&gt;&lt;p&gt;Modules provide the top-level features of &lt;code&gt;nvim-treesitter&lt;/code&gt;.
The following is a list of modules included in &lt;code&gt;nvim-treesitter&lt;/code&gt; and their configuration via &lt;code&gt;init.lua&lt;/code&gt; (where multiple modules can be combined in a single call to &lt;code&gt;setup&lt;/code&gt;).
Note that not all modules work for all languages (depending on the queries available for them).
Additional modules can be provided as &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/wiki/Extra-modules-and-plugins&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;external plugins&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;highlight&#34;&gt;Highlight
&lt;/h4&gt;&lt;p&gt;Consistent syntax highlighting.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.configs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;highlight&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;enable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Setting this to true will run `:h syntax` and tree-sitter at the same time.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Set this to `true` if you depend on &amp;#39;syntax&amp;#39; being enabled (like for indentation).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Using this option may slow down your editor, and you may see some duplicate highlights.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- Instead of true it can also be a list of languages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;additional_vim_regex_highlighting&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To customize the syntax highlighting of a capture, simply define or link a highlight group of the same name:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Highlight the @foo.bar capture group with the &amp;#34;Identifier&amp;#34; highlight group&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.api&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nvim_set_hl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@foo.bar&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;link&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Identifier&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For a language-specific highlight, append the name of the language:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- Highlight @foo.bar as &amp;#34;Identifier&amp;#34; only in Lua files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.api&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nvim_set_hl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@foo.bar.lua&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;link&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Identifier&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;See &lt;code&gt;:h treesitter-highlight-groups&lt;/code&gt; for details.&lt;/p&gt;
&lt;h4 id=&#34;incremental-selection&#34;&gt;Incremental selection
&lt;/h4&gt;&lt;p&gt;Incremental selection based on the named nodes from the grammar.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.configs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;incremental_selection&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;enable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;keymaps&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;init_selection&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gnn&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- set to `false` to disable one of the mappings&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;node_incremental&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;grn&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;scope_incremental&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;grc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;node_decremental&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;grm&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;indentation&#34;&gt;Indentation
&lt;/h4&gt;&lt;p&gt;Indentation based on treesitter for the &lt;code&gt;=&lt;/code&gt; operator.
&lt;strong&gt;NOTE: This is an experimental feature&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.configs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;indent&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;enable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;folding&#34;&gt;Folding
&lt;/h4&gt;&lt;p&gt;Tree-sitter based folding (implemented in Neovim itself, see &lt;code&gt;:h vim.treesitter.foldexpr()&lt;/code&gt;). To enable it for the current window, set&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.wo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;foldmethod&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;expr&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.wo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;foldexpr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;v:lua.vim.treesitter.foldexpr()&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This will respect your &lt;code&gt;foldminlines&lt;/code&gt; and &lt;code&gt;foldnestmax&lt;/code&gt; settings.&lt;/p&gt;
&lt;h1 id=&#34;advanced-setup&#34;&gt;Advanced setup
&lt;/h1&gt;&lt;h2 id=&#34;changing-the-parser-install-directory&#34;&gt;Changing the parser install directory
&lt;/h2&gt;&lt;p&gt;If you want to install the parsers to a custom directory you can specify this
directory with &lt;code&gt;parser_install_dir&lt;/code&gt; option in that is passed to &lt;code&gt;setup&lt;/code&gt;.
&lt;code&gt;nvim-treesitter&lt;/code&gt; will then install the parser files into this directory.&lt;/p&gt;
&lt;p&gt;This directory must be writeable and must be explicitly prepended to the
&lt;code&gt;runtimepath&lt;/code&gt;. For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- It MUST be at the beginning of runtimepath. Otherwise the parsers from Neovim itself&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;-- is loaded that may not be compatible with the queries from the &amp;#39;nvim-treesitter&amp;#39; plugin.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;vim.opt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;runtimepath&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;prepend&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/some/path/to/store/parsers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.configs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;parser_install_dir&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/some/path/to/store/parsers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If this option is not included in the setup options, or is explicitly set to
&lt;code&gt;nil&lt;/code&gt; then the default install directories will be used. If this value is set
the default directories will be ignored.&lt;/p&gt;
&lt;p&gt;Bear in mind that any parser installed into a parser folder on the runtime path
will still be considered installed. (For example if
&amp;ldquo;~/.local/share/nvim/site/parser/c.so&amp;rdquo; exists then the &amp;ldquo;c&amp;rdquo; parser will be
considered installed, even though it is not in &lt;code&gt;parser_install_dir&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;The default paths are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;first the package folder. Where &lt;code&gt;nvim-treesitter&lt;/code&gt; is installed.&lt;/li&gt;
&lt;li&gt;second the site directory. This is the &amp;ldquo;site&amp;rdquo; subdirectory of &lt;code&gt;stdpath(&amp;quot;data&amp;quot;)&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;adding-parsers&#34;&gt;Adding parsers
&lt;/h2&gt;&lt;p&gt;If you have a parser that is not on the list of supported languages (either as a repository on Github or in a local directory), you can add it manually for use by &lt;code&gt;nvim-treesitter&lt;/code&gt; as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clone the repository or &lt;a class=&#34;link&#34; href=&#34;https://tree-sitter.github.io/tree-sitter/creating-parsers#project-setup&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;create a new project&lt;/a&gt; in, say, &lt;code&gt;~/projects/tree-sitter-zimbu&lt;/code&gt;. Make sure that the &lt;code&gt;tree-sitter-cli&lt;/code&gt; executable is installed and in your path; see &lt;a class=&#34;link&#34; href=&#34;https://tree-sitter.github.io/tree-sitter/creating-parsers#installation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://tree-sitter.github.io/tree-sitter/creating-parsers#installation&lt;/a&gt; for installation instructions.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;tree-sitter generate&lt;/code&gt; in this directory (followed by &lt;code&gt;tree-sitter test&lt;/code&gt; for good measure).&lt;/li&gt;
&lt;li&gt;Add the following snippet to your &lt;code&gt;init.lua&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;parser_config&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;require&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter.parsers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get_parser_configs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;parser_config.zimbu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;install_info&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;url&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~/projects/tree-sitter-zimbu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- local path or git repo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;src/parser.c&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- note that some parsers also require src/scanner.c or src/scanner.cc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- optional entries:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;branch&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- default branch in case of git repo if different from master&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;generate_requires_npm&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- if stand-alone parser without npm dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;requires_generate_from_grammar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- if folder contains pre-generated src/parser.c&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;filetype&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;zu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;-- if filetype does not match the parser name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you wish to set a specific parser for a filetype, you should use &lt;code&gt;vim.treesitter.language.register()&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.treesitter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language.register&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;python&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;someft&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;-- the someft filetype will use the python parser and queries.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Note this requires Nvim v0.9.&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;Start &lt;code&gt;nvim&lt;/code&gt; and &lt;code&gt;:TSInstall zimbu&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can also skip step 2 and use &lt;code&gt;:TSInstallFromGrammar zimbu&lt;/code&gt; to install directly from a &lt;code&gt;grammar.js&lt;/code&gt; in the top-level directory specified by &lt;code&gt;url&lt;/code&gt;.
Once the parser is installed, you can update it (from the latest revision of the &lt;code&gt;main&lt;/code&gt; branch if &lt;code&gt;url&lt;/code&gt; is a Github repository) with &lt;code&gt;:TSUpdate zimbu&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Note that neither &lt;code&gt;:TSInstall&lt;/code&gt; nor &lt;code&gt;:TSInstallFromGrammar&lt;/code&gt; copy query files from the grammar repository.
If you want your installed grammar to be useful, you must manually &lt;a class=&#34;link&#34; href=&#34;#adding-queries&#34; &gt;add query files&lt;/a&gt; to your local nvim-treesitter installation.
Note also that module functionality is only triggered if your language&amp;rsquo;s filetype is correctly identified.
If Neovim does not detect your language&amp;rsquo;s filetype by default, you can use &lt;a class=&#34;link&#34; href=&#34;https://neovim.io/doc/user/lua.html#vim.filetype.add%28%29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Neovim&amp;rsquo;s &lt;code&gt;vim.filetype.add()&lt;/code&gt;&lt;/a&gt; to add a custom detection rule.&lt;/p&gt;
&lt;p&gt;If you use a git repository for your parser and want to use a specific version, you can set the &lt;code&gt;revision&lt;/code&gt; key
in the &lt;code&gt;install_info&lt;/code&gt; table for you parser config.&lt;/p&gt;
&lt;h2 id=&#34;adding-queries&#34;&gt;Adding queries
&lt;/h2&gt;&lt;p&gt;Queries are what &lt;code&gt;nvim-treesitter&lt;/code&gt; uses to extract information from the syntax tree;
they are located in the &lt;code&gt;queries/{language}/*&lt;/code&gt; runtime directories (see &lt;code&gt;:h rtp&lt;/code&gt;),
like the &lt;code&gt;queries&lt;/code&gt; folder of this plugin, e.g. &lt;code&gt;queries/{language}/{locals,highlights,textobjects}.scm&lt;/code&gt;.
Other modules may require additional queries such as &lt;code&gt;folding.scm&lt;/code&gt;. You can find a
list of all supported capture names in &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/blob/master/CONTRIBUTING.md#parser-configurations&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CONTRIBUTING.md&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The first query file on &lt;code&gt;runtimepath&lt;/code&gt; will be used (see &lt;code&gt;:h treesitter-query&lt;/code&gt;).
If you want to make a query on the user config extend other queries instead of
replacing them, see &lt;code&gt;:h treesitter-query-modeline-extends&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you want to completely override a query, you can use &lt;code&gt;:h vim.treesitter.query.set()&lt;/code&gt;.
For example, to override the &lt;code&gt;injections&lt;/code&gt; queries from &lt;code&gt;c&lt;/code&gt; with your own:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.treesitter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query.set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;injections&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;(comment) @comment&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Note: when using &lt;code&gt;query.set()&lt;/code&gt;, all queries in the runtime directories will be ignored.&lt;/p&gt;
&lt;h2 id=&#34;adding-modules&#34;&gt;Adding modules
&lt;/h2&gt;&lt;p&gt;If you wish you write your own module, you need to support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tree-sitter language detection support;&lt;/li&gt;
&lt;li&gt;attaching and detaching to buffers;&lt;/li&gt;
&lt;li&gt;all nvim-treesitter commands.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At the top level, you can use the &lt;code&gt;define_modules&lt;/code&gt; function to define one or more modules or module groups:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;define_modules&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;my_cool_plugin&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;attach&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bufnr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;c1&#34;&gt;-- Do cool stuff here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;detach&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bufnr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;c1&#34;&gt;-- Undo cool stuff here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;is_supported&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;c1&#34;&gt;-- Check if the language is supported&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;with the following properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;module_path&lt;/code&gt; specifies a require path (string) that exports a module with an &lt;code&gt;attach&lt;/code&gt; and &lt;code&gt;detach&lt;/code&gt; function. This is not required if the functions are on this definition.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;enable&lt;/code&gt; determines if the module is enabled by default. This is usually overridden by the user.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;disable&lt;/code&gt; takes a list of languages that this module is disabled for. This is usually overridden by the user.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;is_supported&lt;/code&gt; takes a function that takes a language and determines if this module supports that language.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;attach&lt;/code&gt; takes a function that attaches to a buffer. This is required if &lt;code&gt;module_path&lt;/code&gt; is not provided.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;detach&lt;/code&gt; takes a function that detaches from a buffer. This is required if &lt;code&gt;module_path&lt;/code&gt; is not provided.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;extra-features&#34;&gt;Extra features
&lt;/h1&gt;&lt;h3 id=&#34;statusline-indicator&#34;&gt;Statusline indicator
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;nvim_treesitter&lt;/span&gt;#&lt;span class=&#34;nx&#34;&gt;statusline&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;90&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c&#34;&gt;&amp;#34; 90 can be any length&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;expression_statement&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;call&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;identifier&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;utilities&#34;&gt;Utilities
&lt;/h3&gt;&lt;p&gt;You can get some utility functions with&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ts_utils&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;require&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.ts_utils&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Check &lt;a class=&#34;link&#34; href=&#34;doc/nvim-treesitter.txt&#34; &gt;&lt;code&gt;:h nvim-treesitter-utils&lt;/code&gt;&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h1 id=&#34;troubleshooting&#34;&gt;Troubleshooting
&lt;/h1&gt;&lt;p&gt;Before doing anything, make sure you have the latest version of this plugin and run &lt;code&gt;:checkhealth nvim-treesitter&lt;/code&gt;.
It can also help to update the parsers via &lt;code&gt;:TSUpdate&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;feature-x-does-not-work-for-language&#34;&gt;Feature &lt;code&gt;X&lt;/code&gt; does not work for &lt;code&gt;{language}&lt;/code&gt;&amp;hellip;
&lt;/h4&gt;&lt;p&gt;First, check the &lt;code&gt;health#nvim_treesitter#check&lt;/code&gt; and the &lt;code&gt;health#treesitter#check&lt;/code&gt; sections of &lt;code&gt;:checkhealth&lt;/code&gt; for any warning.
If there is one, it&amp;rsquo;s highly likely that this is the cause of the problem.&lt;/p&gt;
&lt;p&gt;Next check the &lt;code&gt;## Parser/Features&lt;/code&gt; subsection of the &lt;code&gt;health#nvim_treesitter#check&lt;/code&gt; section of &lt;code&gt;:checkhealth&lt;/code&gt; to ensure the desired module is enabled for your language.
If not, you might be missing query files; see &lt;a class=&#34;link&#34; href=&#34;#adding-queries&#34; &gt;Adding queries&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally, ensure Neovim is correctly identifying your language&amp;rsquo;s filetype using the &lt;code&gt;:echo &amp;amp;filetype&lt;/code&gt; command while one of your language&amp;rsquo;s files is open in Neovim.
If not, add a short Vimscript file to nvim-treesitter&amp;rsquo;s &lt;code&gt;ftdetect&lt;/code&gt; runtime directory following &lt;a class=&#34;link&#34; href=&#34;https://neovim.io/doc/user/filetype.html#new-filetype&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Neovim&amp;rsquo;s documentation&lt;/a&gt; on filetype detection.
You can also quickly &amp;amp; temporarily set the filetype for a single buffer with the &lt;code&gt;:set filetype=langname&lt;/code&gt; command to test whether it fixes the problem.&lt;/p&gt;
&lt;p&gt;If everything is okay, then it might be an actual error.
In that case, feel free to &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/issues/new/choose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;open an issue here&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;i-get-module-vimtreesitterquery-not-found&#34;&gt;I get &lt;code&gt;module &#39;vim.treesitter.query&#39; not found&lt;/code&gt;
&lt;/h4&gt;&lt;p&gt;Make sure you have the latest version of Neovim.&lt;/p&gt;
&lt;h4 id=&#34;i-get-error-detected-while-processing-pluginnvim-treesittervim-every-time-i-open-neovim&#34;&gt;I get &lt;code&gt;Error detected while processing .../plugin/nvim-treesitter.vim&lt;/code&gt; every time I open Neovim
&lt;/h4&gt;&lt;p&gt;This is probably due to a change in a parser&amp;rsquo;s grammar or its queries.
Try updating the parser that you suspect has changed (&lt;code&gt;:TSUpdate {language}&lt;/code&gt;) or all of them (&lt;code&gt;:TSUpdate&lt;/code&gt;).
If the error persists after updating all parsers,
please &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/issues/new/choose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;open an issue&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;i-get-query-error-invalid-node-type-at-position&#34;&gt;I get &lt;code&gt;query error: invalid node type at position&lt;/code&gt;
&lt;/h4&gt;&lt;p&gt;This could be due a query file outside this plugin using outdated nodes,
or due to an outdated parser.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make sure you have the parsers up to date with &lt;code&gt;:TSUpdate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Make sure you don&amp;rsquo;t have more than one &lt;code&gt;parser&lt;/code&gt; runtime directory.
You can execute this command &lt;code&gt;:echo nvim_get_runtime_file(&#39;parser&#39;, v:true)&lt;/code&gt; to find all runtime directories.
If you get more than one path, remove the ones that are outside this plugin (&lt;code&gt;nvim-treesitter&lt;/code&gt; directory),
so the correct version of the parser is used.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;i-experience-weird-highlighting-issues-similar-to-78&#34;&gt;I experience weird highlighting issues similar to &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/issues/78&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#78&lt;/a&gt;
&lt;/h4&gt;&lt;p&gt;This is a well known issue, which arises when the tree and the buffer have gotten out of sync.
As this is an upstream issue, we don&amp;rsquo;t have any definite fix.
To get around this, you can force reparsing the buffer with&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;write&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;edit&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;TSBufEnable&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;highlight&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This will save, restore and enable highlighting for the current buffer.&lt;/p&gt;
&lt;h4 id=&#34;i-experience-bugs-when-using-nvim-treesitters-foldexpr-similar-to-194&#34;&gt;I experience bugs when using &lt;code&gt;nvim-treesitter&lt;/code&gt;&amp;rsquo;s &lt;code&gt;foldexpr&lt;/code&gt; similar to &lt;a class=&#34;link&#34; href=&#34;https://github.com/nvim-treesitter/nvim-treesitter/issues/194&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#194&lt;/a&gt;
&lt;/h4&gt;&lt;p&gt;This might happen, and is known to happen, with &lt;code&gt;vim-clap&lt;/code&gt;.
To avoid these kind of errors, please use &lt;code&gt;setlocal&lt;/code&gt; instead of &lt;code&gt;set&lt;/code&gt; for the respective filetypes.&lt;/p&gt;
&lt;h4 id=&#34;i-run-into-errors-like-module-nvim-treesitterconfigs-not-found-at-startup&#34;&gt;I run into errors like &lt;code&gt;module &#39;nvim-treesitter.configs&#39; not found&lt;/code&gt; at startup
&lt;/h4&gt;&lt;p&gt;This is because of &lt;code&gt;rtp&lt;/code&gt; management in &lt;code&gt;nvim&lt;/code&gt;, adding &lt;code&gt;packadd nvim-treesitter&lt;/code&gt; should fix the issue.&lt;/p&gt;
&lt;h4 id=&#34;i-want-to-use-git-instead-of-curl-for-downloading-the-parsers&#34;&gt;I want to use Git instead of curl for downloading the parsers
&lt;/h4&gt;&lt;p&gt;In your Lua config:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter.install&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;prefer_git&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;i-want-to-use-a-http-proxy-for-downloading-the-parsers&#34;&gt;I want to use a HTTP proxy for downloading the parsers
&lt;/h4&gt;&lt;p&gt;You can either configure curl to use additional CLI arguments in your Lua config:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter.install&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;command_extra_args&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;curl&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;--proxy&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;proxy url&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;or you can configure git via &lt;code&gt;.gitconfig&lt;/code&gt; and use git instead of curl&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter.install&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;prefer_git&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;i-want-to-use-a-mirror-instead-of-&#34;&gt;I want to use a mirror instead of &amp;ldquo;&lt;a class=&#34;link&#34; href=&#34;https://github.com/%22&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/&#34;&lt;/a&gt;
&lt;/h4&gt;&lt;p&gt;In your Lua config:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pairs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nvim-treesitter.parsers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get_parser_configs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;config.install_info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;config.install_info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gsub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;something else&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nvim-treesitter.configs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;--&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;--&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;using-an-existing-parser-for-another-filetype&#34;&gt;Using an existing parser for another filetype
&lt;/h4&gt;&lt;p&gt;For example, to use the &lt;code&gt;bash&lt;/code&gt; tree-sitter to highlight file with
&lt;code&gt;filetype=apkbuild&lt;/code&gt;, use:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim.treesitter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;language.register&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;bash&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;apkbuild&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The &lt;code&gt;bash&lt;/code&gt; tree-sitter must be installed following the usual procedure &lt;a class=&#34;link&#34; href=&#34;#language-parsers&#34; &gt;as
described above&lt;/a&gt;.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
