summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormhsn <mail@mhsn.net>2026-05-22 14:10:43 +0100
committermhsn <mail@mhsn.net>2026-05-22 14:10:43 +0100
commit7a5a639ad0841dc15baed2be60e094361974577d (patch)
treed1860fa97834778993a13d9a8682b58fe0fe8b20
parentd1554c7b6b086f968c76008622b6cd265d8bf757 (diff)
downloaddotfiles-7a5a639ad0841dc15baed2be60e094361974577d.tar.gz
dotfiles-7a5a639ad0841dc15baed2be60e094361974577d.zip
fix nvim-treesitter
-rw-r--r--.config/nvim/init.lua30
1 files changed, 20 insertions, 10 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 6062ecc..d366eb4 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -26,7 +26,8 @@ vim.pack.add({
{ src = "https://git.mhsn.net/lain.vim" },
{ src = "https://github.com/neovim/nvim-lspconfig" },
{ src = "https://github.com/mason-org/mason.nvim" },
- { src = "https://github.com/nvim-treesitter/nvim-treesitter" },
+ { src = "https://github.com/mason-org/mason-lspconfig.nvim" },
+ { src = "https://github.com/nvim-treesitter/nvim-treesitter", version = 'main' },
{ src = "https://github.com/nvim-mini/mini.nvim" },
{ src = "https://github.com/creativenull/efmls-configs-nvim" },
})
@@ -42,17 +43,11 @@ require("mini.icons").setup({ style = "ascii" })
require("mini.pick").setup()
require("mini.surround").setup()
require("mini.completion").setup({ window = { info = { height = 80, width = 80 } } })
-require("nvim-treesitter.configs").setup({
- ensure_installed = { "lua", "python", "rust", "typst" },
- sync_install = false,
- auto_install = true,
- ignore_install = {},
- modules = {},
- highlight = { enable = true },
-})
-- LSPs
-vim.lsp.enable({ "clangd", "lua_ls", "rust_analyzer", "ty", "tinymist", "zls" })
+lsps = { "clangd", "lua_ls", "rust_analyzer", "ty", "tinymist", "zls", "efm" }
+vim.lsp.enable(lsps)
+require("mason-lspconfig").setup({ ensure_installed = lsps })
-- LSP configs
vim.lsp.config("lua_ls", { settings = { Lua = { workspace = { library = vim.api.nvim_get_runtime_file("", true) } } } })
@@ -93,3 +88,18 @@ vim.api.nvim_create_autocmd("BufWritePost", {
vim.lsp.buf.format({ name = "efm" })
end,
})
+
+-- automatically install treesitter parsers
+vim.api.nvim_create_autocmd("FileType", {
+ callback = function(args)
+ local ft = args.match
+ local ts = require("nvim-treesitter")
+
+ if vim.iter(ts.get_installed()):find(ft) then
+ return
+ elseif vim.iter(ts.get_available()):find(ft) then
+ ts.install(ft)
+ end
+
+ end,
+})