diff options
Diffstat (limited to 'nvim/lua/plugins/treesitter')
| -rwxr-xr-x | nvim/lua/plugins/treesitter/init.lua | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/nvim/lua/plugins/treesitter/init.lua b/nvim/lua/plugins/treesitter/init.lua new file mode 100755 index 0000000..c50393b --- /dev/null +++ b/nvim/lua/plugins/treesitter/init.lua @@ -0,0 +1,26 @@ +require("nvim-treesitter").setup() + +vim.api.nvim_create_autocmd("FileType", { + pattern = "*", + callback = function(args) + local lang = vim.treesitter.language.get_lang(args.match) + + if not lang or lang == "nix" then + return + end + + if vim.treesitter.language.add(lang) then + vim.treesitter.start(args.buf, lang) + return + end + + local available = require("nvim-treesitter").get_available() + + if vim.tbl_contains(available, lang) then + require("nvim-treesitter").install({ lang }):wait(30000) + if vim.treesitter.language.add(lang) then + vim.treesitter.start(args.buf, lang) + end + end + end, +}) |
