fix(ts-highlighting): get hl name from the capture (#1166)

After this commit (2460f0a702), the `hl_cache` variable
stores the hl_ID instead of the group name.

Another way to get the hl name which is adopted from the method used
here `_get_hl_from_capture`:

    ```lua
    local hl = vim.treesitter.highlighter.hl_map[query.captures[id]]
    ```

But, as the method covers another case, we can directly use it.

I've also added the type guard so that, in the future, it does not
explode like it does now.

fixes: #1151
This commit is contained in:
Dhruv Manilawala
2021-08-26 01:51:17 +05:30
committed by GitHub
parent 50e5e86ac3
commit e6838a6289

View File

@@ -505,8 +505,8 @@ files.current_buffer_fuzzy_find = function(opts)
end,
})
for id, node in query:iter_captures(root, bufnr, 0, -1) do
local hl = highlighter_query.hl_cache[id]
if hl then
local hl = highlighter_query:_get_hl_from_capture(id)
if hl and type(hl) ~= "number" then
local row1, col1, row2, col2 = node:range()
if row1 == row2 then