nvim/lua/plugins/treesitter.lua

56 lines
1.7 KiB
Lua

return {
'nvim-treesitter/nvim-treesitter',
version = '*',
build = ':TSUpdate',
config = function()
require('nvim-treesitter.install').compilers = { 'gcc' }
require('nvim-treesitter.configs').setup({
ensure_installed = 'all',
modules = {},
sync_install = true,
auto_install = false,
ignore_install = {},
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
}