diff options
| author | coast <coasteen@proton.me> | 2026-10-13 05:03:11 +0330 |
|---|---|---|
| committer | coast <coasteen@proton.me> | 2026-10-13 05:03:11 +0330 |
| commit | 8c5c2d270fd0f3bbc276e3b1cc28fc1dfae3fa59 (patch) | |
| tree | a18e4d6016c4df3ca97e017b9f9d351398e950da /nvim/lua/plugins/treesitter/init.lua | |
| download | coast-newdot-8c5c2d270fd0f3bbc276e3b1cc28fc1dfae3fa59.tar.gz coast-newdot-8c5c2d270fd0f3bbc276e3b1cc28fc1dfae3fa59.tar.bz2 coast-newdot-8c5c2d270fd0f3bbc276e3b1cc28fc1dfae3fa59.tar.xz coast-newdot-8c5c2d270fd0f3bbc276e3b1cc28fc1dfae3fa59.tar.zst | |
init
Diffstat (limited to 'nvim/lua/plugins/treesitter/init.lua')
| -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, +}) |
