aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_inspector.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/_inspector.lua')
-rw-r--r--runtime/lua/vim/_inspector.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/runtime/lua/vim/_inspector.lua b/runtime/lua/vim/_inspector.lua
index 05983d3f0d..2ebb7a7efd 100644
--- a/runtime/lua/vim/_inspector.lua
+++ b/runtime/lua/vim/_inspector.lua
@@ -70,15 +70,18 @@ function vim.inspect_pos(bufnr, row, col, filter)
if filter.treesitter then
for _, capture in pairs(vim.treesitter.get_captures_at_pos(bufnr, row, col)) do
capture.hl_group = '@' .. capture.capture .. '.' .. capture.lang
- table.insert(results.treesitter, resolve_hl(capture))
+ results.treesitter[#results.treesitter + 1] = resolve_hl(capture)
end
end
-- syntax
- if filter.syntax then
- for _, i1 in ipairs(vim.fn.synstack(row + 1, col + 1)) do
- table.insert(results.syntax, resolve_hl({ hl_group = vim.fn.synIDattr(i1, 'name') }))
- end
+ if filter.syntax and vim.api.nvim_buf_is_valid(bufnr) then
+ vim.api.nvim_buf_call(bufnr, function()
+ for _, i1 in ipairs(vim.fn.synstack(row + 1, col + 1)) do
+ results.syntax[#results.syntax + 1] =
+ resolve_hl({ hl_group = vim.fn.synIDattr(i1, 'name') })
+ end
+ end)
end
-- namespace id -> name map