Upgrade to v0.12.x, remove nvim-treesitter
Switch to tree-sitter-manager.nvim for managing tree-sitter parsers and queries. Also fixes upgrade issues.
This commit is contained in:
@@ -1,107 +1,108 @@
|
||||
return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
branch = 'master',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
{ 'nvim-treesitter/nvim-treesitter-context', opts = {} },
|
||||
-- TODO: Fork this and add CMake support
|
||||
-- TODO: Add shell support (sh/bash/zsh if/for/while/etc)
|
||||
'RRethy/nvim-treesitter-endwise',
|
||||
'danymat/neogen',
|
||||
},
|
||||
build = ':TSUpdate',
|
||||
config = function()
|
||||
require('nvim-treesitter').setup()
|
||||
require('nvim-treesitter.configs').setup({
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = false },
|
||||
|
||||
-- List of languages that must be available
|
||||
ensure_installed = {
|
||||
'asm',
|
||||
'bash',
|
||||
'c',
|
||||
'cmake',
|
||||
'cpp',
|
||||
'css',
|
||||
'csv',
|
||||
'cuda',
|
||||
'diff',
|
||||
'disassembly',
|
||||
'dockerfile',
|
||||
'dot',
|
||||
'doxygen',
|
||||
'git_config',
|
||||
'git_rebase',
|
||||
'gitattributes',
|
||||
'gitignore',
|
||||
'glsl',
|
||||
'go',
|
||||
'gpg',
|
||||
'hlsl',
|
||||
'html',
|
||||
'ini',
|
||||
'javascript',
|
||||
'jq',
|
||||
'json',
|
||||
'julia',
|
||||
'llvm',
|
||||
'lua',
|
||||
'make',
|
||||
'markdown',
|
||||
'markdown_inline',
|
||||
'meson',
|
||||
'ninja',
|
||||
'objc',
|
||||
'objdump',
|
||||
'printf',
|
||||
'proto',
|
||||
'python',
|
||||
'query',
|
||||
'regex',
|
||||
'requirements',
|
||||
'rst',
|
||||
'ssh_config',
|
||||
'strace',
|
||||
'tablegen',
|
||||
'tmux',
|
||||
'toml',
|
||||
'vim',
|
||||
'vimdoc',
|
||||
'xml',
|
||||
'yaml',
|
||||
},
|
||||
|
||||
-- After opening statements insert end statements
|
||||
endwise = { enable = true },
|
||||
|
||||
-- Text objects using Tree-sitter groups
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true,
|
||||
-- include_surrounding_whitespace = true,
|
||||
keymaps = {
|
||||
-- Class text objects
|
||||
['ac'] = '@class.outer',
|
||||
['ic'] = '@class.inner',
|
||||
-- Function text objects
|
||||
['af'] = '@function.outer',
|
||||
['if'] = '@function.inner',
|
||||
-- Parameter/argument text objects
|
||||
['a,'] = '@parameter.outer',
|
||||
['i,'] = '@parameter.inner',
|
||||
-- Comment text objects
|
||||
['a/'] = '@comment.outer',
|
||||
['i/'] = '@comment.inner',
|
||||
},
|
||||
{
|
||||
'romus204/tree-sitter-manager.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('tree-sitter-manager').setup({
|
||||
-- Enable core highlighting for every installed parser.
|
||||
highlight = true,
|
||||
ensure_installed = {
|
||||
'asm',
|
||||
'bash',
|
||||
'c',
|
||||
'cmake',
|
||||
'cpp',
|
||||
'css',
|
||||
'csv',
|
||||
'cuda',
|
||||
'diff',
|
||||
'disassembly',
|
||||
'dockerfile',
|
||||
'dot',
|
||||
'doxygen',
|
||||
'git_config',
|
||||
'git_rebase',
|
||||
'gitattributes',
|
||||
'gitignore',
|
||||
'glsl',
|
||||
'go',
|
||||
'gpg',
|
||||
'hlsl',
|
||||
'html',
|
||||
'ini',
|
||||
'javascript',
|
||||
'jq',
|
||||
'json',
|
||||
'julia',
|
||||
'llvm',
|
||||
'lua',
|
||||
'make',
|
||||
'markdown',
|
||||
'markdown_inline',
|
||||
'meson',
|
||||
'mlir',
|
||||
'ninja',
|
||||
'objc',
|
||||
'objdump',
|
||||
'printf',
|
||||
'proto',
|
||||
'python',
|
||||
'query',
|
||||
'regex',
|
||||
'requirements',
|
||||
'rst',
|
||||
'ssh_config',
|
||||
'strace',
|
||||
'tablegen',
|
||||
'tmux',
|
||||
'toml',
|
||||
'vim',
|
||||
'vimdoc',
|
||||
'xml',
|
||||
'yaml',
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
require('neogen').setup({ snippet_engine = 'luasnip' })
|
||||
vim.keymap.set('n', '<leader>d', require('neogen').generate,
|
||||
{ desc = 'Generate documentation' })
|
||||
end
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
branch = 'main',
|
||||
config = function()
|
||||
require('nvim-treesitter-textobjects').setup({
|
||||
select = {
|
||||
lookahead = true,
|
||||
},
|
||||
})
|
||||
|
||||
local select = require('nvim-treesitter-textobjects.select')
|
||||
local function map(lhs, query)
|
||||
vim.keymap.set({ 'x', 'o' }, lhs, function()
|
||||
select.select_textobject(query, 'textobjects')
|
||||
end, { desc = 'Select ' .. query })
|
||||
end
|
||||
|
||||
map('ac', '@class.outer') -- Class text objects
|
||||
map('ic', '@class.inner')
|
||||
map('af', '@function.outer') -- Function text objects
|
||||
map('if', '@function.inner')
|
||||
map('a,', '@parameter.outer') -- Parameter/argument text objects
|
||||
map('i,', '@parameter.inner')
|
||||
map('a/', '@comment.outer') -- Comment text objects
|
||||
map('i/', '@comment.inner')
|
||||
end,
|
||||
},
|
||||
|
||||
{ 'nvim-treesitter/nvim-treesitter-context', opts = {} },
|
||||
|
||||
{
|
||||
'danymat/neogen',
|
||||
config = function()
|
||||
require('neogen').setup({ snippet_engine = 'luasnip' })
|
||||
vim.keymap.set('n', '<leader>d', require('neogen').generate,
|
||||
{ desc = 'Generate documentation' })
|
||||
end,
|
||||
},
|
||||
|
||||
'davidmh/mdx.nvim',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user