Home Explore Blog CI



neovim

16th chunk of `runtime/doc/treesitter.txt`
b97745744bf4641c79201ca75754d9682d95dfb1cd52076d0000000100000fba
 if additional legacy syntax is needed
            end
        })
<

    Parameters: ~
      • {bufnr}  (`integer?`) Buffer to be highlighted (default: current
                 buffer)
      • {lang}   (`string?`) Language of the parser (default: from buffer
                 filetype)

stop({bufnr})                                          *vim.treesitter.stop()*
    Stops treesitter highlighting for a buffer

    Parameters: ~
      • {bufnr}  (`integer?`) Buffer to stop highlighting (default: current
                 buffer)


==============================================================================
Lua module: vim.treesitter.language                      *treesitter-language*

add({lang}, {opts})                            *vim.treesitter.language.add()*
    Load parser with name {lang}

    Parsers are searched in the `parser` runtime directory, or the provided
    {path}. Can be used to check for available parsers before enabling
    treesitter features, e.g., >lua
          if vim.treesitter.language.add('markdown') then
            vim.treesitter.start(bufnr, 'markdown')
          end
<

    Parameters: ~
      • {lang}  (`string`) Name of the parser (alphanumerical and `_` only)
      • {opts}  (`table?`) Options:
                • {path}? (`string`) Optional path the parser is located at
                • {symbol_name}? (`string`) Internal symbol name for the
                  language to load

    Return (multiple): ~
        (`boolean?`) True if parser is loaded
        (`string?`) Error if parser cannot be loaded

get_filetypes({lang})                *vim.treesitter.language.get_filetypes()*
    Returns the filetypes for which a parser named {lang} is used.

    The list includes {lang} itself plus all filetypes registered via
    |vim.treesitter.language.register()|.

    Parameters: ~
      • {lang}  (`string`) Name of parser

    Return: ~
        (`string[]`) filetypes

get_lang({filetype})                      *vim.treesitter.language.get_lang()*
    Returns the language name to be used when loading a parser for {filetype}.

    If no language has been explicitly registered via
    |vim.treesitter.language.register()|, default to {filetype}. For composite
    filetypes like `html.glimmer`, only the main filetype is returned.

    Parameters: ~
      • {filetype}  (`string`)

    Return: ~
        (`string?`)

inspect({lang})                            *vim.treesitter.language.inspect()*
    Inspects the provided language.

    Inspecting provides some useful information on the language like ABI
    version, parser state count (a measure of parser complexity), node and
    field names, and whether the language came from a WASM module.

    Node names are returned in a table mapping each node name to a `boolean`
    indicating whether or not the node is named (i.e., not anonymous).
    Anonymous nodes are surrounded with double quotes (`"`).

    For ABI 15 parsers, also show parser metadata (major, minor, patch
    version) and a table of supertypes with their respective subtypes.

    Parameters: ~
      • {lang}  (`string`) Language

    Return: ~
        (`TSLangInfo`)

register({lang}, {filetype})              *vim.treesitter.language.register()*
    Register a parser named {lang} to be used for {filetype}(s).

    Note: this adds or overrides the mapping for {filetype}, any existing
    mappings from other filetypes to {lang} will be preserved.

    Parameters: ~
      • {lang}      (`string`) Name of parser
      • {filetype}  (`string|string[]`) Filetype(s) to associate with lang


==============================================================================
Lua module: vim.treesitter.query                        *lua-treesitter-query*

This Lua |treesitter-query| interface allows you to create queries and use
them to parse text. See |vim.treesitter.query.parse()| for a working example.


*vim.treesitter.Query*
    Parsed query, see |vim.treesitter.query.parse()|

    Fields: ~
      • {lang}      

Title: vim.treesitter.language Module Functions: Adding Parsers, Retrieving Filetypes, Inspecting Languages, and Registering Language Mappings
Summary
This section focuses on the `vim.treesitter.language` module. It describes functions for loading parsers (`add`), retrieving associated filetypes (`get_filetypes`), obtaining the language name for a filetype (`get_lang`), inspecting language details (`inspect`), and registering a parser for specific filetypes (`register`). The section also introduces the `vim.treesitter.query` module and the `vim.treesitter.Query` object, which is used for parsing text with Tree-sitter queries.