From 18c1fd8e9d759da6806747910320dce6bea2ab42 Mon Sep 17 00:00:00 2001 From: Gregory Anders <8965202+gpanders@users.noreply.github.com> Date: Wed, 29 Nov 2023 08:59:36 -0600 Subject: docs: document TSNode:byte_length() (#26287) Also update the type annotation of TSNode:id(), which returns a string, not an integer. --- runtime/lua/vim/treesitter/_meta.lua | 3 ++- runtime/lua/vim/treesitter/dev.lua | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/treesitter/_meta.lua b/runtime/lua/vim/treesitter/_meta.lua index e6dcbc7a62..80c998b555 100644 --- a/runtime/lua/vim/treesitter/_meta.lua +++ b/runtime/lua/vim/treesitter/_meta.lua @@ -1,7 +1,7 @@ ---@meta ---@class TSNode: userdata ----@field id fun(self: TSNode): integer +---@field id fun(self: TSNode): string ---@field tree fun(self: TSNode): TSTree ---@field range fun(self: TSNode, include_bytes: false?): integer, integer, integer, integer ---@field range fun(self: TSNode, include_bytes: true): integer, integer, integer, integer, integer, integer @@ -30,6 +30,7 @@ ---@field equal fun(self: TSNode, other: TSNode): boolean ---@field iter_children fun(self: TSNode): fun(): TSNode, string ---@field field fun(self: TSNode, name: string): TSNode[] +---@field byte_length fun(self: TSNode): integer local TSNode = {} ---@param query userdata diff --git a/runtime/lua/vim/treesitter/dev.lua b/runtime/lua/vim/treesitter/dev.lua index aa4331946a..d6825eb024 100644 --- a/runtime/lua/vim/treesitter/dev.lua +++ b/runtime/lua/vim/treesitter/dev.lua @@ -24,6 +24,10 @@ local TSTreeView = {} ---@field lang string Source language of this node ---@field root TSNode +---@class TSP.Injection +---@field lang string Source language of this injection +---@field root TSNode Root node of the injection + --- Traverse all child nodes starting at {node}. --- --- This is a recursive function. The {depth} parameter indicates the current recursion level. @@ -39,8 +43,8 @@ local TSTreeView = {} ---@param node TSNode Starting node to begin traversal |tsnode| ---@param depth integer Current recursion depth ---@param lang string Language of the tree currently being traversed ----@param injections table Mapping of node ids to root nodes of injected language trees (see ---- explanation above) +---@param injections table Mapping of node ids to root nodes +--- of injected language trees (see explanation above) ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree local function traverse(node, depth, lang, injections, tree) local injection = injections[node:id()] @@ -104,7 +108,7 @@ function TSTreeView:new(bufnr, lang) -- the primary tree that contains that root. Add a mapping from the node in the primary tree to -- the root in the child tree to the {injections} table. local root = parser:parse(true)[1]:root() - local injections = {} ---@type table + local injections = {} ---@type table parser:for_each_tree(function(parent_tree, parent_ltree) local parent = parent_tree:root() -- cgit