Skip to content

Commit

Permalink
feat: migrate from treesitter textobjects to mini.ai
Browse files Browse the repository at this point in the history
  • Loading branch information
RayGuo-ergou committed Jan 19, 2025
1 parent 321f832 commit 00a3545
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 12 deletions.
18 changes: 18 additions & 0 deletions nvim/lua/ergou/plugins/mini-nvim.lua
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,22 @@ return {
}
end,
},
{
'echasnovski/mini.ai',
opts = function()
local spec_treesitter = require('mini.ai').gen_spec.treesitter
return {
custom_textobjects = {
-- HACK: for html tags, see: https://github.com/echasnovski/mini.nvim/issues/110#issuecomment-1212277863
t = spec_treesitter({ a = '@function.outer', i = '@function.inner' }),
a = spec_treesitter({ a = '@parameter.outer', i = '@parameter.inner' }),
A = spec_treesitter({ a = '@assignment.outer', i = '@assignment.inner' }),
f = spec_treesitter({ a = '@function.outer', i = '@function.inner' }),
c = spec_treesitter({ a = '@call.outer', i = '@call.inner' }),
l = spec_treesitter({ a = '@loop.outer', i = '@loop.inner' }),
i = spec_treesitter({ a = '@conditional.outer', i = '@conditional.inner' }),
},
}
end,
},
}
25 changes: 13 additions & 12 deletions nvim/lua/ergou/plugins/nvim-treesitter.lua
Original file line number Diff line number Diff line change
Expand Up @@ -117,19 +117,20 @@ return {
enable = true,
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
keymaps = {
-- use mini.ai
-- You can use the capture groups defined in textobjects.scm
['aa'] = '@parameter.outer',
['ia'] = '@parameter.inner',
['aA'] = '@assignment.outer',
['iA'] = '@assignment.inner',
['af'] = '@function.outer',
['if'] = '@function.inner',
['ac'] = '@call.outer',
['ic'] = '@call.inner',
['al'] = '@loop.outer',
['il'] = '@loop.inner',
['ai'] = '@conditional.outer',
['ii'] = '@conditional.inner',
-- ['aa'] = '@parameter.outer',
-- ['ia'] = '@parameter.inner',
-- ['aA'] = '@assignment.outer',
-- ['iA'] = '@assignment.inner',
-- ['af'] = '@function.outer',
-- ['if'] = '@function.inner',
-- ['ac'] = '@call.outer',
-- ['ic'] = '@call.inner',
-- ['al'] = '@loop.outer',
-- ['il'] = '@loop.inner',
-- ['ai'] = '@conditional.outer',
-- ['ii'] = '@conditional.inner',
},
},
move = {
Expand Down

0 comments on commit 00a3545

Please sign in to comment.