[gtksourceview/wip/chergert/vim: 266/293] improve cursor location w/ replace-one




commit e0a08eebbf7941ecc72f8d8f9cb73d73058b7b5d
Author: Christian Hergert <chergert redhat com>
Date:   Wed Nov 3 15:56:45 2021 -0700

    improve cursor location w/ replace-one

 gtksourceview/vim/gtk-source-vim-command.c | 8 ++++++++
 1 file changed, 8 insertions(+)
---
diff --git a/gtksourceview/vim/gtk-source-vim-command.c b/gtksourceview/vim/gtk-source-vim-command.c
index 5bde1700..187cc0da 100644
--- a/gtksourceview/vim/gtk-source-vim-command.c
+++ b/gtksourceview/vim/gtk-source-vim-command.c
@@ -409,6 +409,14 @@ gtk_source_vim_command_replace_one (GtkSourceVimCommand *self)
        gtk_text_buffer_insert (GTK_TEXT_BUFFER (buffer), &iter, new_text, -1);
        gtk_text_buffer_end_user_action (GTK_TEXT_BUFFER (buffer));
 
+       if (self->motion != NULL &&
+           !gtk_source_vim_motion_is_linewise (self->motion))
+       {
+               gtk_text_iter_backward_char (&iter);
+               gtk_source_vim_state_select (GTK_SOURCE_VIM_STATE (self), &iter, &iter);
+               self->ignore_mark = TRUE;
+       }
+
        g_free (text);
        g_free (new_text);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]