summaryrefslogtreecommitdiff
path: root/lua/nvim-treesitter/parsers.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-treesitter/parsers.lua')
-rw-r--r--lua/nvim-treesitter/parsers.lua12
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