From 9a07d9c43d1fa336e8241fc765b21db9bf260771 Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 7 Apr 2025 09:52:02 -0400 Subject: [PATCH] update treesitter plugin --- .../lua/aleidk/plugins/treesitter.lua | 89 +++---------------- 1 file changed, 12 insertions(+), 77 deletions(-) diff --git a/config/nvim_unstable/lua/aleidk/plugins/treesitter.lua b/config/nvim_unstable/lua/aleidk/plugins/treesitter.lua index e281176..c677f4f 100644 --- a/config/nvim_unstable/lua/aleidk/plugins/treesitter.lua +++ b/config/nvim_unstable/lua/aleidk/plugins/treesitter.lua @@ -1,84 +1,19 @@ return { - -- Highlight, edit, and navigate code "nvim-treesitter/nvim-treesitter", event = { "BufReadPost", "BufNewFile", "BufWritePre", "VeryLazy" }, dependencies = { - "nvim-treesitter/nvim-treesitter-textobjects", - "JoosepAlviste/nvim-ts-context-commentstring", - "nvim-treesitter/nvim-treesitter-context", - { "windwp/nvim-ts-autotag", opts = {} }, + { + "JoosepAlviste/nvim-ts-context-commentstring", + opts = { + enable_autocmd = false, + }, + }, + { "nvim-treesitter/nvim-treesitter-context" }, }, build = ":TSUpdate", - config = function() - ---@diagnostic disable-next-line: missing-fields - require("nvim-treesitter.configs").setup({ - -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!) - auto_install = true, - highlight = { enable = true }, - indent = { enable = true }, - incremental_selection = { - enable = true, - }, - textobjects = { - select = { - enable = true, - lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ["aa"] = "@parameter.outer", - ["ia"] = "@parameter.inner", - ["af"] = "@function.outer", - ["if"] = "@function.inner", - ["ac"] = "@class.outer", - ["ic"] = "@class.inner", - }, - }, - move = { - enable = true, - set_jumps = true, -- whether to set jumps in the jumplist - goto_previous = { -- current or last start of object - ["[["] = { query = "@local.scope", query_group = "locals", desc = "Next scope" }, - ["[f"] = "@function.outer", - ["[c"] = "@class.outer", - }, - goto_next = { -- next object end - ["]]"] = { query = "@local.scope", query_group = "locals", desc = "Next scope" }, - ["]f"] = "@function.outer", -- current function end - ["]c"] = "@class.outer", - }, - }, - swap = { - enable = true, - swap_next = { - ["ln"] = "@parameter.inner", - }, - swap_previous = { - ["lN"] = "@parameter.inner", - }, - }, - }, - -- autotag = { enable = true }, - }) - - require('ts_context_commentstring').setup { - enable_autocmd = false, - } - - local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" - - -- Repeat movement with ; and , - -- ensure , goes forward and ; goes backward regardless of the last direction - vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_next) - vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move_previous) - - -- Optionally, make builtin f, F, t, T also repeatable with ; and , - vim.keymap.set({ "n", "x", "o" }, "f", ts_repeat_move.builtin_f_expr, { expr = true }) - vim.keymap.set({ "n", "x", "o" }, "F", ts_repeat_move.builtin_F_expr, { expr = true }) - vim.keymap.set({ "n", "x", "o" }, "t", ts_repeat_move.builtin_t_expr, { expr = true }) - vim.keymap.set({ "n", "x", "o" }, "T", ts_repeat_move.builtin_T_expr, { expr = true }) - - vim.keymap.set("n", "[u", function() - require("treesitter-context").go_to_context() - end, { silent = true, noremap = true, desc = "Go up when context is out of view" }) - end, + opts = { + auto_install = true, + highlight = { enable = true }, + indent = { enable = true }, + }, }