diff options
Diffstat (limited to 'lua/nvim-treesitter/parsers.lua')
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 6405af9c..dd4f14c7 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -257,14 +257,14 @@ end function M.has_parser(lang) local buf = api.nvim_get_current_buf() - local lang = lang or M.ft_to_lang(api.nvim_buf_get_option(buf, 'ft')) + local lang = M.get_buf_lang(buf) or lang if not lang or #lang == 0 then return false end return #api.nvim_get_runtime_file('parser/' .. lang .. '.*', false) > 0 end function M.get_parser(bufnr, lang) local buf = bufnr or api.nvim_get_current_buf() - local lang = lang or M.ft_to_lang(api.nvim_buf_get_option(buf, 'ft')) + local lang = lang or M.get_buf_lang(buf) if M.has_parser(lang) then if not M[buf] then @@ -277,4 +277,12 @@ function M.get_parser(bufnr, lang) end end +-- get language of given buffer +-- @param optional buffer number or current buffer +-- @returns language string of buffer +function M.get_buf_lang(bufnr) + bufnr = bufnr or api.nvim_get_current_buf() + return M.ft_to_lang(api.nvim_buf_get_option(bufnr, "ft")) +end + return M |
