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}