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,2 +0,0 @@
|
|||||||
-- Use treesitter for Python indenting since regex indenting is broken
|
|
||||||
vim.opt.indentexpr = 'nvim_treesitter#indent()'
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
'davidmh/mdx.nvim',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,107 +1,108 @@
|
|||||||
return {
|
return {
|
||||||
'nvim-treesitter/nvim-treesitter',
|
{
|
||||||
branch = 'master',
|
'romus204/tree-sitter-manager.nvim',
|
||||||
dependencies = {
|
lazy = false,
|
||||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
config = function()
|
||||||
{ 'nvim-treesitter/nvim-treesitter-context', opts = {} },
|
require('tree-sitter-manager').setup({
|
||||||
-- TODO: Fork this and add CMake support
|
-- Enable core highlighting for every installed parser.
|
||||||
-- TODO: Add shell support (sh/bash/zsh if/for/while/etc)
|
highlight = true,
|
||||||
'RRethy/nvim-treesitter-endwise',
|
ensure_installed = {
|
||||||
'danymat/neogen',
|
'asm',
|
||||||
},
|
'bash',
|
||||||
build = ':TSUpdate',
|
'c',
|
||||||
config = function()
|
'cmake',
|
||||||
require('nvim-treesitter').setup()
|
'cpp',
|
||||||
require('nvim-treesitter.configs').setup({
|
'css',
|
||||||
sync_install = false,
|
'csv',
|
||||||
highlight = { enable = true },
|
'cuda',
|
||||||
indent = { enable = false },
|
'diff',
|
||||||
|
'disassembly',
|
||||||
-- List of languages that must be available
|
'dockerfile',
|
||||||
ensure_installed = {
|
'dot',
|
||||||
'asm',
|
'doxygen',
|
||||||
'bash',
|
'git_config',
|
||||||
'c',
|
'git_rebase',
|
||||||
'cmake',
|
'gitattributes',
|
||||||
'cpp',
|
'gitignore',
|
||||||
'css',
|
'glsl',
|
||||||
'csv',
|
'go',
|
||||||
'cuda',
|
'gpg',
|
||||||
'diff',
|
'hlsl',
|
||||||
'disassembly',
|
'html',
|
||||||
'dockerfile',
|
'ini',
|
||||||
'dot',
|
'javascript',
|
||||||
'doxygen',
|
'jq',
|
||||||
'git_config',
|
'json',
|
||||||
'git_rebase',
|
'julia',
|
||||||
'gitattributes',
|
'llvm',
|
||||||
'gitignore',
|
'lua',
|
||||||
'glsl',
|
'make',
|
||||||
'go',
|
'markdown',
|
||||||
'gpg',
|
'markdown_inline',
|
||||||
'hlsl',
|
'meson',
|
||||||
'html',
|
'mlir',
|
||||||
'ini',
|
'ninja',
|
||||||
'javascript',
|
'objc',
|
||||||
'jq',
|
'objdump',
|
||||||
'json',
|
'printf',
|
||||||
'julia',
|
'proto',
|
||||||
'llvm',
|
'python',
|
||||||
'lua',
|
'query',
|
||||||
'make',
|
'regex',
|
||||||
'markdown',
|
'requirements',
|
||||||
'markdown_inline',
|
'rst',
|
||||||
'meson',
|
'ssh_config',
|
||||||
'ninja',
|
'strace',
|
||||||
'objc',
|
'tablegen',
|
||||||
'objdump',
|
'tmux',
|
||||||
'printf',
|
'toml',
|
||||||
'proto',
|
'vim',
|
||||||
'python',
|
'vimdoc',
|
||||||
'query',
|
'xml',
|
||||||
'regex',
|
'yaml',
|
||||||
'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',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
})
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
require('neogen').setup({ snippet_engine = 'luasnip' })
|
{
|
||||||
vim.keymap.set('n', '<leader>d', require('neogen').generate,
|
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||||
{ desc = 'Generate documentation' })
|
branch = 'main',
|
||||||
end
|
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',
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ vim.keymap.set('n', '<leader>gw', function()
|
|||||||
end, { desc = 'Format whole file with gw' })
|
end, { desc = 'Format whole file with gw' })
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>fm', function()
|
vim.keymap.set('n', '<leader>fm', function()
|
||||||
if vim.o.foldexpr == 'nvim_treesitter#foldexpr()' then
|
if vim.o.foldexpr == 'v:lua.vim.treesitter.foldexpr()' then
|
||||||
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
vim.opt.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ vim.opt.joinspaces = false
|
|||||||
-- Set fold level to something high
|
-- Set fold level to something high
|
||||||
vim.opt.foldlevel = 20
|
vim.opt.foldlevel = 20
|
||||||
vim.opt.foldmethod = 'expr'
|
vim.opt.foldmethod = 'expr'
|
||||||
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
vim.opt.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
||||||
vim.opt.foldtext = ''
|
vim.opt.foldtext = ''
|
||||||
vim.opt.fillchars = { fold = ' ' }
|
vim.opt.fillchars = { fold = ' ' }
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,3 @@
|
|||||||
-- Customise LSP UI
|
|
||||||
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(
|
|
||||||
vim.lsp.handlers.hover, {
|
|
||||||
border = 'rounded',
|
|
||||||
title = 'Hover',
|
|
||||||
}
|
|
||||||
)
|
|
||||||
vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(
|
|
||||||
vim.lsp.handlers.signature_help, {
|
|
||||||
border = 'rounded',
|
|
||||||
title = 'Signature Help',
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
-- Customise diagnostic UI
|
-- Customise diagnostic UI
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
float = {
|
float = {
|
||||||
|
|||||||
Reference in New Issue
Block a user