diff --git a/lua/kickstart/plugins/treesitter.lua b/lua/kickstart/plugins/treesitter.lua index a723681..9c6fe27 100644 --- a/lua/kickstart/plugins/treesitter.lua +++ b/lua/kickstart/plugins/treesitter.lua @@ -4,6 +4,7 @@ return { lazy = false, build = ':TSUpdate', branch = 'main', + -- [[ Configure Treesitter ]] See `:help nvim-treesitter-intro` config = function() local parsers = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' } require('nvim-treesitter').install(parsers) @@ -12,9 +13,20 @@ return { local buf, filetype = args.buf, args.match local language = vim.treesitter.language.get_lang(filetype) - if not vim.tbl_contains(parsers, language) then return end + if not language then return end - vim.treesitter.start() + -- check if parser exists and load it + if not vim.treesitter.language.add(language) then return end + -- enables syntax highlighting and other treesitter features + vim.treesitter.start(buf, language) + + -- enables treesitter based folds + -- for more info on folds see `:help folds` + -- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()' + -- vim.wo.foldmethod = 'expr' + + -- enables treesitter based indentation + vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end, }) end,