@@ -1566,7 +1566,7 @@ H.get_matched_ranges_builtin = function(captures)
1566
1566
1567
1567
-- Get query file depending on the local language
1568
1568
local query = vim .treesitter .query .get (lang , ' textobjects' )
1569
- if query == nil then H .error_treesitter (' query' ) end
1569
+ if query == nil then H .error_treesitter (' query' , lang ) end
1570
1570
1571
1571
-- Compute ranges of matched captures
1572
1572
local capture_is_requested = vim .tbl_map (function (c ) return vim .tbl_contains (captures , ' @' .. c ) end , query .captures )
@@ -1602,10 +1602,12 @@ H.get_nodes_range_builtin = function(nodes, buf_id, metadata)
1602
1602
return { left [1 ], left [2 ], left [3 ], right [4 ], right [5 ], right [6 ] }
1603
1603
end
1604
1604
1605
- H .error_treesitter = function (failed_get )
1605
+ H .error_treesitter = function (failed_get , lang )
1606
1606
local buf_id , ft = vim .api .nvim_get_current_buf (), vim .bo .filetype
1607
- local has_lang , lang = pcall (vim .treesitter .language .get_lang , ft )
1608
- lang = has_lang and lang or ft
1607
+ if lang == nil then
1608
+ local has_lang , ft_lang = pcall (vim .treesitter .language .get_lang , ft )
1609
+ lang = has_lang and ft_lang or ft
1610
+ end
1609
1611
local msg = string.format (' Can not get %s for buffer %d and language "%s".' , failed_get , buf_id , lang )
1610
1612
H .error (msg )
1611
1613
end
0 commit comments