Skip to content

Commit b2f3098

Browse files
authored
fix: Support treesitter parsers whose names differ from filetypes. (#443)
Use the updated Neovim APIs where available, because they are affected by `vim.treesitter.language.register`.
1 parent 9291040 commit b2f3098

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

lua/nvim-surround/queries.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,17 @@ local get_query = vim.treesitter.get_query or vim.treesitter.query.get
1414
--- @param filetype string
1515
--- @return string|nil
1616
local get_lang = function(filetype)
17+
if vim.treesitter.language and vim.treesitter.language.get_lang then
18+
return vim.treesitter.language.get_lang(filetype)
19+
end
20+
1721
if filetype == "" then
1822
return nil
1923
end
2024

25+
-- NB: This table does not get updated when users register new parsers
26+
-- using `vim.treesitter.language.register`, so this doesn't work for
27+
-- parsers with names that differ from their filetypes.
2128
---@type table<string,string>
2229
local ft_to_lang = {
2330
help = "vimdoc",

0 commit comments

Comments
 (0)