From 39efa9d37e9374023550a98b5dcb9dced682a8dd Mon Sep 17 00:00:00 2001 From: Mohammad Reza Karimi Date: Mon, 5 Jan 2026 10:12:54 -0500 Subject: updates --- nvim/dot-config/nvim-final/plugin/treesitter.lua | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 nvim/dot-config/nvim-final/plugin/treesitter.lua (limited to 'nvim/dot-config/nvim-final/plugin/treesitter.lua') diff --git a/nvim/dot-config/nvim-final/plugin/treesitter.lua b/nvim/dot-config/nvim-final/plugin/treesitter.lua new file mode 100644 index 0000000..1fb4503 --- /dev/null +++ b/nvim/dot-config/nvim-final/plugin/treesitter.lua @@ -0,0 +1,42 @@ +local disabled = {} +local ft_lang_map = {} + +vim.api.nvim_create_autocmd("FileType", { + group = vim.api.nvim_create_augroup("treesitter_highlight_augroup", {clear = true}), + callback = function(ev) + local buf = ev.buf + if vim.api.nvim_buf_is_loaded(buf) then + local ft = vim.bo[buf].filetype + if not disabled[ft] then + if ft_lang_map[ft] then + vim.treesitter.language.register(ft_lang_map[ft], ft) + ft_lang_map[ft] = nil + end + local parser = vim.treesitter.get_parser(buf, nil, { error = false }) + if parser == nil then + disabled[ft] = true + else + if not vim.treesitter.highlighter.active[buf] then + vim.treesitter.highlighter.new(parser) + end + end + end + end + --(when (vim.api.nvim_buf_is_loaded buf) + -- (let [ft (. vim.bo buf :filetype)] + -- (when (not (. disabled ft)) + -- (case (. ft-lang-map ft) + -- lang (do + -- (vim.treesitter.language.register lang ft) + -- (tset ft-lang-map ft nil))) + -- (case (vim.treesitter.get_parser buf nil {:error false}) + -- nil (tset disabled ft true) + -- parser (do + -- (when (not (. vim.treesitter.highlighter.active buf)) + -- (vim.treesitter.highlighter.new parser)) + -- (when (vim.treesitter.query.get ft :folds) + -- (set vim.wo.foldmethod :expr) + -- (set vim.wo.foldexpr "v:lua.vim.treesitter.foldexpr()"))))))))) + + end +}) -- cgit v1.2.3-71-gdd5e