nvim_runtime_lua

vim.treesitter.language

Methods7

function M.get_filetypes(lang: string) -> filetypes string[]

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
langstring

Name of parser

Returns
filetypesstring[]
function M.get_lang(filetype: string) -> nil | string

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.

function M.require_language(lang, path, silent, symbol_name) -> ...true | false | nil | boolean
Deprecated
Deprecated
function M.add(lang: string, opts: vim.treesitter.language.add.Opts | nil) -> (True nil | boolean, Error nil | string)

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.,

  if vim.treesitter.language.add('markdown') then
    vim.treesitter.start(bufnr, 'markdown')
  end
Parameters
langstring

Name of the parser (alphanumerical and _ only)

Returns
Truenil | boolean

if parser is loaded

Errornil | string

if parser cannot be loaded

function M.register(lang: string, filetype: string | string[]) -> nil

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
langstring

Name of parser

filetypestring | string[]

Filetype(s) to associate with lang

Returns
nil
function M.inspect(lang: string) -> TSLangInfo

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
langstring

Language

Returns
function M._complete() -> string[]

Returns available treesitter languages.