vim: start using treesitter
This commit is contained in:
parent
f41a8a426e
commit
5196475113
3 changed files with 98 additions and 3 deletions
|
@ -25,6 +25,6 @@ plugin.setup {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>tt', '<cmd>NvimTreeToggle<cr>')
|
vim.keymap.set('n', '<leader>nn', '<cmd>NvimTreeToggle<cr>')
|
||||||
vim.keymap.set('n', '<leader>tf', '<cmd>NvimTreeFindFileToggle<cr>')
|
vim.keymap.set('n', '<leader>nf', '<cmd>NvimTreeFindFileToggle<cr>')
|
||||||
|
|
||||||
|
|
89
config/nvim/after/plugin/treesitter.lua
Normal file
89
config/nvim/after/plugin/treesitter.lua
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
local ok, configs = pcall(require, 'nvim-treesitter.configs')
|
||||||
|
if not ok then return end
|
||||||
|
|
||||||
|
configs.setup {
|
||||||
|
ensure_installed = {
|
||||||
|
'bash',
|
||||||
|
'c',
|
||||||
|
'cpp',
|
||||||
|
'haskell',
|
||||||
|
'help',
|
||||||
|
'html',
|
||||||
|
'javascript',
|
||||||
|
'latex',
|
||||||
|
'lua',
|
||||||
|
'make',
|
||||||
|
'markdown',
|
||||||
|
'python',
|
||||||
|
'toml',
|
||||||
|
'vim',
|
||||||
|
'yaml',
|
||||||
|
},
|
||||||
|
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
disable = {
|
||||||
|
'help',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
incremental_selection = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
init_selection = '<CR>', -- mapped in normal mode
|
||||||
|
node_incremental = '<CR>', -- mapped in visual mode
|
||||||
|
node_decremental = '<BS>', -- mapped in visual mode
|
||||||
|
scope_incremental = nil, -- disbaled, normally mapped in visual mode
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
refactor = {
|
||||||
|
highlight_definitions = { enable = true },
|
||||||
|
highlight_current_scope = { enable = false },
|
||||||
|
|
||||||
|
smart_rename = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
smart_rename = 'grr',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
navigation = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
goto_definition = 'gd', -- default: 'gnd'
|
||||||
|
list_definitions = nil, -- disabled, default: 'gnD'
|
||||||
|
list_definitions_toc = 'gO',
|
||||||
|
goto_next_usage = '<a-*>',
|
||||||
|
goto_previous_usage = '<a-#>',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
textobjects = {
|
||||||
|
select = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
['ab'] = '@block.outer',
|
||||||
|
['ib'] = '@block.inner',
|
||||||
|
['ac'] = '@conditional.outer',
|
||||||
|
['ic'] = '@conditional.inner',
|
||||||
|
['af'] = '@function.outer',
|
||||||
|
['if'] = '@function.inner',
|
||||||
|
['al'] = '@loop.outer',
|
||||||
|
['il'] = '@loop.inner',
|
||||||
|
['aa'] = '@parameter.outer',
|
||||||
|
['ia'] = '@parameter.inner',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
playground = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>tp', '<cmd>TSPlaygroundToggle<cr>')
|
||||||
|
vim.keymap.set('n', '<leader>th', '<cmd>TSHighlightCapturesUnderCursor<cr>')
|
||||||
|
vim.keymap.set('n', '<leader>tn', '<cmd>TSNodeUnderCursor<cr>')
|
||||||
|
|
|
@ -40,11 +40,17 @@ packer.startup(function(use)
|
||||||
use 'ntpeters/vim-better-whitespace'
|
use 'ntpeters/vim-better-whitespace'
|
||||||
use 'godlygeek/tabular'
|
use 'godlygeek/tabular'
|
||||||
use 'tpope/vim-commentary'
|
use 'tpope/vim-commentary'
|
||||||
use 'mg979/vim-visual-multi'
|
-- use 'mg979/vim-visual-multi'
|
||||||
|
|
||||||
-- git --------------------------------------------------------------------
|
-- git --------------------------------------------------------------------
|
||||||
use 'tpope/vim-fugitive'
|
use 'tpope/vim-fugitive'
|
||||||
|
|
||||||
|
-- Treesitter -------------------------------------------------------------
|
||||||
|
use 'nvim-treesitter/nvim-treesitter'
|
||||||
|
use 'nvim-treesitter/nvim-treesitter-refactor'
|
||||||
|
use 'nvim-treesitter/nvim-treesitter-textobjects'
|
||||||
|
use 'nvim-treesitter/playground'
|
||||||
|
|
||||||
-- Filetypes --------------------------------------------------------------
|
-- Filetypes --------------------------------------------------------------
|
||||||
use 'elzr/vim-json'
|
use 'elzr/vim-json'
|
||||||
use 'keith/swift.vim'
|
use 'keith/swift.vim'
|
||||||
|
|
Loading…
Add table
Reference in a new issue