diff options
Diffstat (limited to '.config/nvim/lua/plugins/mini-ai.lua')
| -rw-r--r-- | .config/nvim/lua/plugins/mini-ai.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/mini-ai.lua b/.config/nvim/lua/plugins/mini-ai.lua new file mode 100644 index 0000000..3e625fd --- /dev/null +++ b/.config/nvim/lua/plugins/mini-ai.lua @@ -0,0 +1,27 @@ +return { + 'echasnovski/mini.ai', + event = 'VeryLazy', + opts = function() + local ai = require('mini.ai') + return { + n_lines = 500, + custom_textobjects = { + o = ai.gen_spec.treesitter({ -- code block + a = { '@block.outer', '@conditional.outer', '@loop.outer' }, + i = { '@block.inner', '@conditional.inner', '@loop.inner' }, + }), + f = ai.gen_spec.treesitter({ a = '@function.outer', i = '@function.inner' }), -- function + c = ai.gen_spec.treesitter({ a = '@class.outer', i = '@class.inner' }), -- class + t = { '<([%p%w]-)%f[^<%w][^<>]->.-</%1>', '^<.->().*()</[^/]->$' }, -- tags + d = { '%f[%d]%d+' }, -- digits + e = { -- Word with case + { '%u[%l%d]+%f[^%l%d]', '%f[%S][%l%d]+%f[^%l%d]', '%f[%P][%l%d]+%f[^%l%d]', '^[%l%d]+%f[^%l%d]' }, + '^().*()$', + }, + -- g = LazyVim.mini.ai_buffer, -- buffer + u = ai.gen_spec.function_call(), -- u for "Usage" + U = ai.gen_spec.function_call({ name_pattern = '[%w_]' }), -- without dot in function name + }, + } + end, +} |
