|  | @ -1,100 +0,0 @@ | 
														
													
														
															
																|  |  | return { |  |  |  | 
														
													
														
															
																|  |  | lazy = false, |  |  |  | 
														
													
														
															
																|  |  | enabled = true, |  |  |  | 
														
													
														
															
																|  |  | dependencies = { "nvim-treesitter/nvim-treesitter" }, |  |  |  | 
														
													
														
															
																|  |  | config = function() |  |  |  | 
														
													
														
															
																|  |  | require("nvim-treesitter.configs").setup({ |  |  |  | 
														
													
														
															
																|  |  | incremental_selection = { |  |  |  | 
														
													
														
															
																|  |  | enable = true, |  |  |  | 
														
													
														
															
																|  |  | keymaps = { |  |  |  | 
														
													
														
															
																|  |  | -- mappings for incremental selection (visual mappings) |  |  |  | 
														
													
														
															
																|  |  | init_selection = "gnn", -- maps in normal mode to init the node/scope selection |  |  |  | 
														
													
														
															
																|  |  | node_incremental = "grn", -- increment to the upper named parent |  |  |  | 
														
													
														
															
																|  |  | scope_incremental = "grc", -- increment to the upper scope (as defined in locals.scm) |  |  |  | 
														
													
														
															
																|  |  | node_decremental = "grm", -- decrement to the previous node |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  |  |  |  |  | 
														
													
														
															
																|  |  | textobjects = { |  |  |  | 
														
													
														
															
																|  |  | -- syntax-aware textobjects |  |  |  | 
														
													
														
															
																|  |  | enable = true, |  |  |  | 
														
													
														
															
																|  |  | lsp_interop = { |  |  |  | 
														
													
														
															
																|  |  | enable = true, |  |  |  | 
														
													
														
															
																|  |  | peek_definition_code = { |  |  |  | 
														
													
														
															
																|  |  | ["af"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["if"] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | keymaps = { |  |  |  | 
														
													
														
															
																|  |  | ["iL"] = { |  |  |  | 
														
													
														
															
																|  |  | -- you can define your own textobjects directly here |  |  |  | 
														
													
														
															
																|  |  | go = "(function_definition) @function", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | -- or you use the queries from supported languages with textobjects.scm |  |  |  | 
														
													
														
															
																|  |  | ["af"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["if"] = "@function.inner", |  |  |  | 
														
													
														
															
																|  |  | ["aC"] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | ["iC"] = "@class.inner", |  |  |  | 
														
													
														
															
																|  |  | ["ac"] = "@conditional.outer", |  |  |  | 
														
													
														
															
																|  |  | ["ic"] = "@conditional.inner", |  |  |  | 
														
													
														
															
																|  |  | ["ae"] = "@block.outer", |  |  |  | 
														
													
														
															
																|  |  | ["ie"] = "@block.inner", |  |  |  | 
														
													
														
															
																|  |  | ["al"] = "@loop.outer", |  |  |  | 
														
													
														
															
																|  |  | ["il"] = "@loop.inner", |  |  |  | 
														
													
														
															
																|  |  | ["is"] = "@statement.inner", |  |  |  | 
														
													
														
															
																|  |  | ["as"] = "@statement.outer", |  |  |  | 
														
													
														
															
																|  |  | ["ad"] = "@comment.outer", |  |  |  | 
														
													
														
															
																|  |  | ["am"] = "@call.outer", |  |  |  | 
														
													
														
															
																|  |  | ["im"] = "@call.inner", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | move = { |  |  |  | 
														
													
														
															
																|  |  | enable = true, |  |  |  | 
														
													
														
															
																|  |  | set_jumps = true, -- whether to set jumps in the jumplist |  |  |  | 
														
													
														
															
																|  |  | goto_next_start = { |  |  |  | 
														
													
														
															
																|  |  | ["]m"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["]]"] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | goto_next_end = { |  |  |  | 
														
													
														
															
																|  |  | ["]M"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["]["] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | goto_previous_start = { |  |  |  | 
														
													
														
															
																|  |  | ["[m"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["[["] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | goto_previous_end = { |  |  |  | 
														
													
														
															
																|  |  | ["[M"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["[]"] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | select = { |  |  |  | 
														
													
														
															
																|  |  | enable = true, |  |  |  | 
														
													
														
															
																|  |  | keymaps = { |  |  |  | 
														
													
														
															
																|  |  | -- You can use the capture groups defined in textobjects.scm |  |  |  | 
														
													
														
															
																|  |  | ["af"] = "@function.outer", |  |  |  | 
														
													
														
															
																|  |  | ["if"] = "@function.inner", |  |  |  | 
														
													
														
															
																|  |  | ["ac"] = "@class.outer", |  |  |  | 
														
													
														
															
																|  |  | ["ic"] = "@class.inner", |  |  |  | 
														
													
														
															
																|  |  | -- Or you can define your own textobjects like this |  |  |  | 
														
													
														
															
																|  |  | ["iF"] = { |  |  |  | 
														
													
														
															
																|  |  | python = "(function_definition) @function", |  |  |  | 
														
													
														
															
																|  |  | cpp = "(function_definition) @function", |  |  |  | 
														
													
														
															
																|  |  | c = "(function_definition) @function", |  |  |  | 
														
													
														
															
																|  |  | java = "(method_declaration) @function", |  |  |  | 
														
													
														
															
																|  |  | go = "(method_declaration) @function", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | swap = { |  |  |  | 
														
													
														
															
																|  |  | enable = true, |  |  |  | 
														
													
														
															
																|  |  | swap_next = { |  |  |  | 
														
													
														
															
																|  |  | ["<leader>a"] = "@parameter.inner", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | swap_previous = { |  |  |  | 
														
													
														
															
																|  |  | ["<leader>A"] = "@parameter.inner", |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }, |  |  |  | 
														
													
														
															
																|  |  | }) |  |  |  | 
														
													
														
															
																|  |  | end, |  |  |  | 
														
													
														
															
																|  |  | } |  |  |  |