From 40214960508cb232adbe5cee99241b3bf1395f03 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 22:56:57 +0200 Subject: [PATCH] Add treesitter indentation --- init.lua | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index c95e83cb..a35d52fc 100644 --- a/init.lua +++ b/init.lua @@ -882,6 +882,7 @@ require('lazy').setup({ 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) @@ -890,9 +891,20 @@ require('lazy').setup({ 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,