summaryrefslogtreecommitdiffstats
path: root/nvim/lua/plugins/treesitter/init.lua
diff options
context:
space:
mode:
authorcoast <coasteen@proton.me>2026-10-13 05:03:11 +0330
committercoast <coasteen@proton.me>2026-10-13 05:03:11 +0330
commit8c5c2d270fd0f3bbc276e3b1cc28fc1dfae3fa59 (patch)
treea18e4d6016c4df3ca97e017b9f9d351398e950da /nvim/lua/plugins/treesitter/init.lua
downloadcoast-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-xnvim/lua/plugins/treesitter/init.lua26
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,
+})