diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2024-09-14 13:27:44 +0200 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2024-09-29 15:27:16 +0200 |
| commit | 041d98fe8d892a81ed659c32be5360d4f80e7d18 (patch) | |
| tree | 991483e2cbdfe39bf1304e6de961e1b4890df3f7 /runtime/lua/vim/treesitter.lua | |
| parent | e40314811ec7a123a7fcfa73c7712cdb7a11ddf3 (diff) | |
| download | rneovim-041d98fe8d892a81ed659c32be5360d4f80e7d18.tar.gz rneovim-041d98fe8d892a81ed659c32be5360d4f80e7d18.tar.bz2 rneovim-041d98fe8d892a81ed659c32be5360d4f80e7d18.zip | |
feat(treesitter)!: add default fallback to `ft_to_lang` lookups
Problem: Language names are only registered for filetype<->language
lookups when parsers are actually loaded; this means users cannot rely
on `vim.treesitter.language.get_lang()` or `get_filetypes()` to return
the correct value when language and filetype coincide and always need to
add explicit fallbacks.
Solution: Always return the language name as valid filetype in
`get_filetypes()`, and default to the filetype in `get_lang()`. Document
this behavior.
Diffstat (limited to 'runtime/lua/vim/treesitter.lua')
| -rw-r--r-- | runtime/lua/vim/treesitter.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/treesitter.lua b/runtime/lua/vim/treesitter.lua index c21e0aff07..de52685220 100644 --- a/runtime/lua/vim/treesitter.lua +++ b/runtime/lua/vim/treesitter.lua @@ -95,7 +95,7 @@ function M.get_parser(bufnr, lang, opts) end if not valid_lang(lang) then - lang = M.language.get_lang(vim.bo[bufnr].filetype) or vim.bo[bufnr].filetype + lang = M.language.get_lang(vim.bo[bufnr].filetype) end if not valid_lang(lang) then |