Squashed 'users/daniel/configs/system/nvim/nvim/' content from commit e088bce
git-subtree-dir: users/daniel/configs/system/nvim/nvim git-subtree-split: e088bce2bd90c0b5c35d13a8615a55455b96294d
This commit is contained in:
97
lua/plugins/treesitter.lua
Normal file
97
lua/plugins/treesitter.lua
Normal file
@@ -0,0 +1,97 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
"windwp/nvim-ts-autotag",
|
||||
},
|
||||
event = "User AstroFile",
|
||||
cmd = {
|
||||
"TSBufDisable",
|
||||
"TSBufEnable",
|
||||
"TSBufToggle",
|
||||
"TSDisable",
|
||||
"TSEnable",
|
||||
"TSToggle",
|
||||
"TSInstall",
|
||||
"TSInstallInfo",
|
||||
"TSInstallSync",
|
||||
"TSModuleInfo",
|
||||
"TSUninstall",
|
||||
"TSUpdate",
|
||||
"TSUpdateSync",
|
||||
},
|
||||
build = ":TSUpdate",
|
||||
opts = {
|
||||
autotag = { enable = true },
|
||||
context_commentstring = { enable = true, enable_autocmd = false },
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = function(_, bufnr) return vim.api.nvim_buf_line_count(bufnr) > 10000 end,
|
||||
},
|
||||
incremental_selection = { enable = true },
|
||||
indent = { enable = true },
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
["ak"] = "@block.outer",
|
||||
["ik"] = "@block.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["a?"] = "@conditional.outer",
|
||||
["i?"] = "@conditional.inner",
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["al"] = "@loop.outer",
|
||||
["il"] = "@loop.inner",
|
||||
["aa"] = "@parameter.outer",
|
||||
["ia"] = "@parameter.inner",
|
||||
},
|
||||
},
|
||||
move = {
|
||||
enable = true,
|
||||
set_jumps = true,
|
||||
goto_next_start = {
|
||||
["]k"] = { query = "@block.outer", desc = "Next block start" },
|
||||
["]c"] = { query = "@class.outer", desc = "Next class start" },
|
||||
["]f"] = { query = "@function.outer", desc = "Next function start" },
|
||||
["]a"] = { query = "@parameter.outer", desc = "Next parameter start" },
|
||||
},
|
||||
goto_next_end = {
|
||||
["]k"] = { query = "@block.outer", desc = "Next block end" },
|
||||
["]c"] = { query = "@class.outer", desc = "Next class end" },
|
||||
["]f"] = { query = "@function.outer", desc = "Next function end" },
|
||||
["]a"] = { query = "@parameter.outer", desc = "Next parameter end" },
|
||||
},
|
||||
goto_previous_start = {
|
||||
["[k"] = { query = "@block.outer", desc = "Previous block start" },
|
||||
["[c"] = { query = "@class.outer", desc = "Previous class start" },
|
||||
["[f"] = { query = "@function.outer", desc = "Previous function start" },
|
||||
["[a"] = { query = "@parameter.outer", desc = "Previous parameter start" },
|
||||
},
|
||||
goto_previous_end = {
|
||||
["[K"] = { query = "@block.outer", desc = "Previous block end" },
|
||||
["[C"] = { query = "@class.outer", desc = "Previous class end" },
|
||||
["[F"] = { query = "@function.outer", desc = "Previous function end" },
|
||||
["[A"] = { query = "@parameter.outer", desc = "Previous parameter end" },
|
||||
},
|
||||
},
|
||||
swap = {
|
||||
enable = true,
|
||||
swap_next = {
|
||||
[">k"] = { query = "@block.outer", desc = "Swap next block" },
|
||||
[">f"] = { query = "@function.outer", desc = "Swap next function" },
|
||||
[">a"] = { query = "@parameter.inner", desc = "Swap next parameter" },
|
||||
},
|
||||
swap_previous = {
|
||||
["<k"] = { query = "@block.outer", desc = "Swap previous block" },
|
||||
["<f"] = { query = "@function.outer", desc = "Swap previous function" },
|
||||
["<a"] = { query = "@parameter.inner", desc = "Swap previous parameter" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = require "plugins.configs.nvim-treesitter",
|
||||
}
|
||||
Reference in New Issue
Block a user