diff options
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/treesitter/_meta/misc.lua | 7 | ||||
-rw-r--r-- | runtime/lua/vim/treesitter/health.lua | 2 | ||||
-rw-r--r-- | runtime/lua/vim/treesitter/language.lua | 8 |
3 files changed, 13 insertions, 4 deletions
diff --git a/runtime/lua/vim/treesitter/_meta/misc.lua b/runtime/lua/vim/treesitter/_meta/misc.lua index c532257f49..99267bb36e 100644 --- a/runtime/lua/vim/treesitter/_meta/misc.lua +++ b/runtime/lua/vim/treesitter/_meta/misc.lua @@ -22,10 +22,15 @@ error('Cannot require a meta file') ---@field patterns table<integer, (integer|string)[][]> --- ---@class TSLangInfo +---@field abi_version integer +---@field major_version? integer +---@field minor_version? integer +---@field patch_version? integer +---@field state_count integer ---@field fields string[] ---@field symbols table<string,boolean> +---@field supertypes table<string,string[]> ---@field _wasm boolean ----@field _abi_version integer --- @param lang string --- @return TSLangInfo diff --git a/runtime/lua/vim/treesitter/health.lua b/runtime/lua/vim/treesitter/health.lua index 53b64d1dec..0c9e210fc1 100644 --- a/runtime/lua/vim/treesitter/health.lua +++ b/runtime/lua/vim/treesitter/health.lua @@ -35,7 +35,7 @@ function M.check() else local lang = ts.language.inspect(parsername) health.ok( - string.format('Parser: %-20s ABI: %d, path: %s', parsername, lang._abi_version, parser) + string.format('Parser: %-20s ABI: %d, path: %s', parsername, lang.abi_version, parser) ) end end diff --git a/runtime/lua/vim/treesitter/language.lua b/runtime/lua/vim/treesitter/language.lua index 38d309a102..f70f99421c 100644 --- a/runtime/lua/vim/treesitter/language.lua +++ b/runtime/lua/vim/treesitter/language.lua @@ -168,13 +168,17 @@ end --- Inspects the provided language. --- ---- Inspecting provides some useful information on the language like node and field names, ABI ---- version, and whether the language came from a WASM module. +--- 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. +--- ---@param lang string Language ---@return TSLangInfo function M.inspect(lang) |