feat(treesitter): Change to new rainbow
Change to new rainbow plugin, also make config more robust to plugin issues.
This commit is contained in:
parent
73f9fd1526
commit
6677e197e9
|
|
@ -1,4 +1,6 @@
|
||||||
if not pcall(require, 'nvim-treesitter') then
|
local ok = pcall(require, 'nvim-treesitter')
|
||||||
|
|
||||||
|
if not ok then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -18,12 +20,6 @@ local config = {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
rainbow = {
|
|
||||||
enable = true,
|
|
||||||
extended_mode = true,
|
|
||||||
max_file_lines = nil
|
|
||||||
},
|
|
||||||
|
|
||||||
incremental_selection = {
|
incremental_selection = {
|
||||||
enable = true,
|
enable = true,
|
||||||
keymaps = {
|
keymaps = {
|
||||||
|
|
@ -35,3 +31,84 @@ local config = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: redefined-local -- Readability/conciseness over correctness.
|
||||||
|
local ok, ts_rainbow = pcall(require, 'ts-rainbow')
|
||||||
|
|
||||||
|
if ok then
|
||||||
|
local rainbow = {
|
||||||
|
enable = true,
|
||||||
|
query = {
|
||||||
|
'rainbow-parens',
|
||||||
|
html = 'rainbow-tags',
|
||||||
|
latex = 'rainbow-blocks'
|
||||||
|
},
|
||||||
|
strategy = ts_rainbow.strategy.global
|
||||||
|
}
|
||||||
|
|
||||||
|
config.rainbow = rainbow
|
||||||
|
end
|
||||||
|
|
||||||
|
if pcall(require,'nvim-treesitter-textobjects') then
|
||||||
|
local 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>df"] = { query = "@function.outer", desc = "Peek function definition"},
|
||||||
|
["<leader>dF"] = { query = "@class.outer", desc = "Peek class definition"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
config.textobjects = textobjects
|
||||||
|
end
|
||||||
|
|
||||||
|
require('nvim-treesitter.configs').setup(config)
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ return require('packer').startup(function(use)
|
||||||
use {'nvim-treesitter/nvim-treesitter',
|
use {'nvim-treesitter/nvim-treesitter',
|
||||||
run = ':TSUpdate'
|
run = ':TSUpdate'
|
||||||
}
|
}
|
||||||
use {'p00f/nvim-ts-rainbow',
|
use {'HiPhish/nvim-ts-rainbow2',
|
||||||
requires = 'nvim-treesitter/nvim-treesitter'}
|
requires = 'nvim-treesitter/nvim-treesitter'}
|
||||||
use {'nvim-treesitter/nvim-treesitter-textobjects',
|
use {'nvim-treesitter/nvim-treesitter-textobjects',
|
||||||
requires = 'nvim-treesitter/nvim-treesitter'}
|
requires = 'nvim-treesitter/nvim-treesitter'}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user