aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/_fold.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-03-10 16:10:05 +0000
committerLewis Russell <lewis6991@gmail.com>2023-03-10 16:35:06 +0000
commit9d70fe062ca01ac0673faa6ccbb88345916aeea7 (patch)
tree8b4db135bc63d7055185c808624f7555f96bc059 /runtime/lua/vim/treesitter/_fold.lua
parent845efb8e12cb014b385deac62fb83622a99024ec (diff)
downloadrneovim-9d70fe062ca01ac0673faa6ccbb88345916aeea7.tar.gz
rneovim-9d70fe062ca01ac0673faa6ccbb88345916aeea7.tar.bz2
rneovim-9d70fe062ca01ac0673faa6ccbb88345916aeea7.zip
feat(treesitter)!: consolidate query util functions
- And address more type errors. - Removed the `concat` option from `get_node_text` since it was applied inconsistently and made typing awkward.
Diffstat (limited to 'runtime/lua/vim/treesitter/_fold.lua')
-rw-r--r--runtime/lua/vim/treesitter/_fold.lua15
1 files changed, 2 insertions, 13 deletions
diff --git a/runtime/lua/vim/treesitter/_fold.lua b/runtime/lua/vim/treesitter/_fold.lua
index 435cb9fdb6..fd2c707d17 100644
--- a/runtime/lua/vim/treesitter/_fold.lua
+++ b/runtime/lua/vim/treesitter/_fold.lua
@@ -1,4 +1,5 @@
local Range = require('vim.treesitter._range')
+local Query = require('vim.treesitter.query')
local api = vim.api
@@ -74,18 +75,6 @@ function FoldInfo:get_stop(lnum)
return self.stop_counts[lnum] or 0
end
----@private
---- TODO(lewis6991): copied from languagetree.lua. Consolidate
----@param node TSNode
----@param metadata TSMetadata
----@return Range4
-local function get_range_from_metadata(node, metadata)
- if metadata and metadata.range then
- return metadata.range --[[@as Range4]]
- end
- return { node:range() }
-end
-
local function trim_level(level)
local max_fold_level = vim.wo.foldnestmax
if level > max_fold_level then
@@ -118,7 +107,7 @@ local function get_folds_levels(bufnr, info, srow, erow)
for id, node, metadata in query:iter_captures(tree:root(), bufnr, srow or 0, q_erow) do
if query.captures[id] == 'fold' then
- local range = get_range_from_metadata(node, metadata[id])
+ local range = Query.get_range(node, bufnr, metadata[id])
local start, _, stop, stop_col = Range.unpack4(range)
if stop_col == 0 then