nvim/lua/plugins/treesitter.lua
2023-06-30 14:00:50 +02:00

52 lines
1.6 KiB
Lua

return {
'nvim-treesitter/nvim-treesitter',
version = '*',
build = ':TSUpdate',
config = function()
require('nvim-treesitter.install').compilers = {'clang'}
require('nvim-treesitter.configs').setup({
ensure_installed = 'all',
highlight = {
enable = true,
additional_vim_regex_highlighting = {'markdown'}
},
rainbow = {
enable = true,
extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean
max_file_lines = nil, -- Do not enable for files with more than n lines, int
-- colors = {}, -- table of hex strings
-- termcolors = {} -- table of colour name strings
},
indent = {
enable = false -- maybe buggy
},
textobjects = {
select = {
enable = true,
-- Automatically jump forward to textobj, similar to targets.vim
lookahead = true,
keymaps = {
-- You can use the capture groups defined in textobjects.scm
['af'] = '@function.outer',
['if'] = '@function.inner',
['ac'] = '@class.outer',
['ic'] = '@class.inner',
},
},
lsp_interop = {
enable = true,
border = 'none',
peek_definition_code = {
['<leader>df'] = '@function.outer',
['<leader>dF'] = '@class.outer',
},
},
},
})
vim.treesitter.language.register('groovy', 'java')
require('nvim-treesitter.install').prefer_git = true
end
}