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 = { ['df'] = '@function.outer', ['dF'] = '@class.outer', }, }, }, }) vim.treesitter.language.register('groovy', 'java') require('nvim-treesitter.install').prefer_git = true end }