theonepath.nvim/lua/plugins/configs/treesitter/init.lua
2024-10-02 17:27:37 +01:00

116 lines
2.6 KiB
Lua

return {
ensure_installed = {
'bash',
'c',
'cpp',
'css',
'c_sharp',
'diff',
'git_config',
'git_rebase',
'gitcommit',
'gitignore',
'go',
'gomod',
'html',
'ini',
'javascript',
'jsonnet',
'latex',
'lua',
'luadoc',
'luap',
'make',
'markdown',
'markdown_inline',
'python',
'query',
'regex',
'rust',
'scss',
'toml',
'vim',
'vimdoc',
'yuck',
'yaml',
'zig',
},
auto_install = true,
highlight = {
enable = true,
},
indent = {
enable = true,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = '<CR>',
scope_incremental = '<CR>',
node_incremental = '<TAB>',
node_decremental = '<S-TAB>',
},
},
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
['af'] = { query = '@function.outer', desc = 'Select outer part of function' },
['if'] = { query = '@function.inner', desc = 'Select inner part of function' },
['ac'] = { query = '@class.outer', desc = 'Select outer part of class' },
['ic'] = { query = '@class.inner', desc = 'Select inner part of class' },
},
},
move = {
enable = true,
set_jumps = true,
goto_next_start = {
[']m'] = { query = '@function.outer', desc = 'Next Function start' },
[']]'] = { query = '@class.outer', desc = 'Next class start' },
[']o'] = { query = '@loop.*', desc = 'Next loop component' },
[']z'] = { query = '@fold', query_group = 'folds', desc = 'Next Fold' },
},
goto_next_end = {
[']M'] = { query = '@function.outer', desc = 'Next Function end' },
[']['] = { query = '@class.outer', desc = 'Next class end' },
},
goto_previous_start = {
['[m'] = { query = '@function.outer', desc = 'Previous Function start' },
['[]'] = { query = '@class.outer', desc = 'Previous class start' },
['[o'] = { query = '@loop.*', desc = 'Previous loop component' },
['[z'] = { query = '@fold', query_group = 'folds', desc = 'Previous Fold' },
},
goto_previous_end = {
['[M'] = { query = '@function.outer', desc = 'Previous Function end' },
['[['] = { query = '@class.outer', desc = 'Previous class end' },
},
goto_next = {
[']d'] = { query = '@conditional.*', desc = 'Next Conditional' },
},
goto_previous = {
['[d'] = { query = '@conditional.*', desc = 'previous Conditional' },
},
},
lsp_interop = {
enable = true,
border = 'none',
floating_preview_opts = {},
peek_definition_code = {
['<leader>tsdf'] = { query = '@function.outer', desc = 'Peek function definition' },
['<leader>tsdF'] = { query = '@class.outer', desc = 'Peek class definition' },
},
},
},
}