mirror of
https://github.com/neovim/neovim.git
synced 2026-01-06 19:39:53 +10:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user