From 73c7b978ce11fa518040387f22a7cd95e7dda0fa Mon Sep 17 00:00:00 2001 From: Dmitry O Date: Wed, 24 Apr 2024 20:29:26 +0200 Subject: [PATCH] moved textobjects to treesitter configs call --- init.lua | 45 +++++++++++++++++++++++++++++++++ lua/custom/plugins/init.lua | 50 ------------------------------------- 2 files changed, 45 insertions(+), 50 deletions(-) diff --git a/init.lua b/init.lua index 6337300b..090bb89a 100644 --- a/init.lua +++ b/init.lua @@ -861,6 +861,7 @@ require('lazy').setup({ }, { -- Highlight, edit, and navigate code 'nvim-treesitter/nvim-treesitter', + dependencies = { 'nvim-treesitter/nvim-treesitter-textobjects' }, build = ':TSUpdate', opts = { ensure_installed = { 'bash', 'c', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' }, @@ -874,6 +875,50 @@ require('lazy').setup({ additional_vim_regex_highlighting = { 'ruby' }, }, indent = { enable = true, disable = { 'ruby' } }, + textobjects = { + select = { + enable = true, + + -- Automatically jump forward to textobj, similar to targets.vim + lookahead = true, + + 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', + -- You can optionally set descriptions to the mappings (used in the desc parameter of + -- nvim_buf_set_keymap) which plugins like which-key display + ['ic'] = { query = '@class.inner', desc = 'Select inner part of a class region' }, + -- You can also use captures from other query groups like `locals.scm` + ['as'] = { query = '@scope', query_group = 'locals', desc = 'Select language scope' }, + }, + -- You can choose the select mode (default is charwise 'v') + -- + -- Can also be a function which gets passed a table with the keys + -- * query_string: eg '@function.inner' + -- * method: eg 'v' or 'o' + -- and should return the mode ('v', 'V', or '') or a table + -- mapping query_strings to modes. + selection_modes = { + ['@parameter.outer'] = 'v', -- charwise + ['@function.outer'] = 'V', -- linewise + ['@class.outer'] = 'V', -- for blockwise but i changed it + }, + -- If you set this to `true` (default is `false`) then any textobject is + -- extended to include preceding or succeeding whitespace. Succeeding + -- whitespace has priority in order to act similarly to eg the built-in + -- `ap`. + -- + -- Can also be a function which gets passed a table with the keys + -- * query_string: eg '@function.inner' + -- * selection_mode: eg 'v' + -- and should return true or false + include_surrounding_whitespace = false, + }, + }, }, config = function(_, opts) -- [[ Configure Treesitter ]] See `:help nvim-treesitter` diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index a61ef61a..70fe5069 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -34,56 +34,6 @@ return { -- there were come ctrl+hjkl stuff here but i don't think i need it, use alt+arrows }, }, - { - 'nvim-treesitter/nvim-treesitter-textobjects', - dependencies = { 'nvim-treesitter/nvim-treesitter' }, - config = function() - require('nvim-treesitter.configs').setup { - textobjects = { - select = { - enable = true, - - -- Automatically jump forward to textobj, similar to targets.vim - lookahead = true, - - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ['af'] = '@function.outer', - ['if'] = '@function.inner', - ['ac'] = '@class.outer', - -- You can optionally set descriptions to the mappings (used in the desc parameter of - -- nvim_buf_set_keymap) which plugins like which-key display - ['ic'] = { query = '@class.inner', desc = 'Select inner part of a class region' }, - -- You can also use captures from other query groups like `locals.scm` - ['as'] = { query = '@scope', query_group = 'locals', desc = 'Select language scope' }, - }, - -- You can choose the select mode (default is charwise 'v') - -- - -- Can also be a function which gets passed a table with the keys - -- * query_string: eg '@function.inner' - -- * method: eg 'v' or 'o' - -- and should return the mode ('v', 'V', or '') or a table - -- mapping query_strings to modes. - selection_modes = { - ['@parameter.outer'] = 'v', -- charwise - ['@function.outer'] = 'V', -- linewise - ['@class.outer'] = 'V', -- for blockwise but i changed it - }, - -- If you set this to `true` (default is `false`) then any textobject is - -- extended to include preceding or succeeding whitespace. Succeeding - -- whitespace has priority in order to act similarly to eg the built-in - -- `ap`. - -- - -- Can also be a function which gets passed a table with the keys - -- * query_string: eg '@function.inner' - -- * selection_mode: eg 'v' - -- and should return true or false - include_surrounding_whitespace = false, - }, - }, - } - end, - }, { 'nvim-tree/nvim-tree.lua', version = '*',