@@ -16,6 +16,7 @@ require('nvim-treesitter-textobjects').setup({
1616})
1717
1818local select = require (' nvim-treesitter-textobjects.select' )
19+
1920for _ , mode in ipairs ({ ' x' , ' o' }) do
2021 vim .keymap .set (mode , ' am' , function ()
2122 select .select_textobject (' @function.outer' , ' textobjects' )
125126
126127-- move
127128local move = require (' nvim-treesitter-textobjects.move' )
129+
128130vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ]m' , function ()
129131 move .goto_next_start (' @function.outer' )
130132end )
@@ -393,19 +395,20 @@ vim.keymap.set({ 'n', 'x', 'o' }, '[[E', function()
393395 move .goto_previous_end (' @scopename.inner' )
394396end )
395397
398+ -- repeat
399+ local ts_repeat_move = require (' nvim-treesitter-textobjects.repeatable_move' )
400+
396401-- Repeat movement with ; and ,
397402-- ensure ; goes forward and , goes backward regardless of the last direction
398- -- vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move_next, { expr = true })
399- -- vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_previous, { expr = true })
400-
401- local repeat_move = require (' nvim-treesitter-textobjects.repeatable_move' )
403+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ;' , ts_repeat_move .repeat_last_move_next )
404+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ,' , ts_repeat_move .repeat_last_move_previous )
402405
403406-- vim way: ; goes to the direction you were moving.
404- vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ;' , repeat_move .repeat_last_move , { expr = true } )
405- vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ,' , repeat_move .repeat_last_move_opposite , { expr = true } )
407+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ;' , ts_repeat_move .repeat_last_move )
408+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' ,' , ts_repeat_move .repeat_last_move_opposite )
406409
407410-- Optionally, make builtin f, F, t, T also repeatable with ; and ,
408- vim .keymap .set ({ ' n' , ' x' , ' o' }, ' f' , repeat_move .builtin_f_expr , { expr = true })
409- vim .keymap .set ({ ' n' , ' x' , ' o' }, ' F' , repeat_move .builtin_F_expr , { expr = true })
410- vim .keymap .set ({ ' n' , ' x' , ' o' }, ' t' , repeat_move .builtin_t_expr , { expr = true })
411- vim .keymap .set ({ ' n' , ' x' , ' o' }, ' T' , repeat_move .builtin_T_expr , { expr = true })
411+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' f' , ts_repeat_move .builtin_f_expr , { expr = true })
412+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' F' , ts_repeat_move .builtin_F_expr , { expr = true })
413+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' t' , ts_repeat_move .builtin_t_expr , { expr = true })
414+ vim .keymap .set ({ ' n' , ' x' , ' o' }, ' T' , ts_repeat_move .builtin_T_expr , { expr = true })
0 commit comments