-
Notifications
You must be signed in to change notification settings - Fork 246
Description
Is your feature request related to a problem? Please describe.
When using repeat_last_moveon operation pending mode, after triggeringbuiltin_f_expr
or builtin_t_expr, it operates on one character less that it would be expected to.
Taking this snippet as an exemple:
vim.keymap.set({ 'n', 'x', 'o' }, ';', ts_repeat_move.repeat_last_move)If the user presses f(, returns to the first character and presses d;, it would result on:
({ 'n', 'x', 'o' }, ';', ts_repeat_move.repeat_last_move)t(_d; would result on:
t({ 'n', 'x', 'o' }, ';', ts_repeat_move.repeat_last_move)Describe the solution you'd like
For f(_d;, it would be expected to behave, as:
{ 'n', 'x', 'o' }, ';', ts_repeat_move.repeat_last_move)and for t(_d;:
({ 'n', 'x', 'o' }, ';', ts_repeat_move.repeat_last_move)Additional context
This diverges from the way it works in core nvim and is inconsistent with F, T,
and visual selection behavior.
As far as i can tell, this is only reproducible when repeating moves from builtin_f_expr and
builtin_t_expr on operation pending mode, not with builtin_F_expr and builtin_T_expr.