Skip to content

Commit 7e42fdb

Browse files
Use get_node_at_position from Neovim 0.8 if available
1 parent bf53c20 commit 7e42fdb

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

lua/orgmode/utils/treesitter.lua

+12-2
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,21 @@ end
1212
---@param winnr? number
1313
---@param ignore_injected_langs? boolean
1414
function M.get_node_at_cursor(cursor, winnr, ignore_injected_langs)
15+
if not cursor then
16+
return ts_utils.get_node_at_cursor(winnr, ignore_injected_langs)
17+
end
18+
1519
winnr = winnr or 0
16-
cursor = cursor or vim.api.nvim_win_get_cursor(winnr)
20+
local buf = vim.api.nvim_win_get_buf(winnr)
21+
-- TODO: Use only this function when 0.8 is released
22+
if vim.treesitter.get_node_at_position then
23+
return vim.treesitter.get_node_at_position(buf, cursor[1] - 1, cursor[2], {
24+
ignore_injections = ignore_injected_langs,
25+
})
26+
end
27+
1728
local cursor_range = { cursor[1] - 1, cursor[2] }
1829

19-
local buf = vim.api.nvim_win_get_buf(winnr)
2030
local root_lang_tree = parsers.get_parser(buf)
2131
if not root_lang_tree then
2232
return

0 commit comments

Comments
 (0)