diff options
| author | Mohammad Reza Karimi <m.r.karimi.j@gmail.com> | 2026-01-05 10:12:54 -0500 |
|---|---|---|
| committer | Mohammad Reza Karimi <m.r.karimi.j@gmail.com> | 2026-01-05 10:12:54 -0500 |
| commit | 39efa9d37e9374023550a98b5dcb9dced682a8dd (patch) | |
| tree | b8b9272b11a1af2d6a1248ce1dd3513899e675b4 /nvim/dot-config/nvim-final/plugin | |
| parent | 06d1242317f7159ccf3014f0a1480e7c56236ebb (diff) | |
updates
Diffstat (limited to 'nvim/dot-config/nvim-final/plugin')
| -rw-r--r-- | nvim/dot-config/nvim-final/plugin/treesitter.lua | 42 |
1 files changed, 42 insertions, 0 deletions
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 +}) |
