aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
authorQuentin Rasmont <qrasmont@gmail.com>2022-07-24 20:49:33 +0200
committerbfredl <bjorn.linse@gmail.com>2022-08-25 18:01:15 +0200
commit244a115e494bce8e8205c04a6e5f3ab74ec4ed65 (patch)
treebd3c88795fc8e851a6e1f45075f2acfbe2b4be74 /runtime/lua/vim
parent133ff6e11ea862c7425d9c6a2827b20c97cf297f (diff)
downloadrneovim-244a115e494bce8e8205c04a6e5f3ab74ec4ed65.tar.gz
rneovim-244a115e494bce8e8205c04a6e5f3ab74ec4ed65.tar.bz2
rneovim-244a115e494bce8e8205c04a6e5f3ab74ec4ed65.zip
feat(treesitter): clarify similar 'get_node_range' functions
The private 'get_node_range' function from the languagetree module has been renamed and remains private as it serve a purpose that is only relevant inside the languagetree module. The 'get_node_range' upstreamed from nvim-treesitter in the treesitter module has been made public as it is in itself a utlity function.
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r--runtime/lua/vim/treesitter.lua13
-rw-r--r--runtime/lua/vim/treesitter/languagetree.lua6
2 files changed, 16 insertions, 3 deletions
diff --git a/runtime/lua/vim/treesitter.lua b/runtime/lua/vim/treesitter.lua
index 0936d62296..82d41070ee 100644
--- a/runtime/lua/vim/treesitter.lua
+++ b/runtime/lua/vim/treesitter.lua
@@ -141,6 +141,19 @@ function M.is_ancestor(dest, source)
return false
end
+--- Get the node's range or unpack a range table
+---
+---@param node_or_range table
+---
+---@returns start_row, start_col, end_row, end_col
+function M.get_node_range(node_or_range)
+ if type(node_or_range) == 'table' then
+ return unpack(node_or_range)
+ else
+ return node_or_range:range()
+ end
+end
+
---Determines if a node contains a range
---@param node table The node
---@param range table The range
diff --git a/runtime/lua/vim/treesitter/languagetree.lua b/runtime/lua/vim/treesitter/languagetree.lua
index f87a66ddab..70317a9f94 100644
--- a/runtime/lua/vim/treesitter/languagetree.lua
+++ b/runtime/lua/vim/treesitter/languagetree.lua
@@ -299,7 +299,7 @@ function LanguageTree:included_regions()
end
---@private
-local function get_node_range(node, id, metadata)
+local function get_range_from_metadata(node, id, metadata)
if metadata[id] and metadata[id].range then
return metadata[id].range
end
@@ -362,7 +362,7 @@ function LanguageTree:_get_injections()
elseif name == 'combined' then
combined = true
elseif name == 'content' and #ranges == 0 then
- table.insert(ranges, get_node_range(node, id, metadata))
+ table.insert(ranges, get_range_from_metadata(node, id, metadata))
-- Ignore any tags that start with "_"
-- Allows for other tags to be used in matches
elseif string.sub(name, 1, 1) ~= '_' then
@@ -371,7 +371,7 @@ function LanguageTree:_get_injections()
end
if #ranges == 0 then
- table.insert(ranges, get_node_range(node, id, metadata))
+ table.insert(ranges, get_range_from_metadata(node, id, metadata))
end
end
end