[gtksourceview] vim: fix repeat with count (3.)
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] vim: fix repeat with count (3.)
- Date: Tue, 23 Nov 2021 14:57:51 +0000 (UTC)
commit efaa8cc22e7e0dd6e60404a61c8c2f4560591f78
Author: Christian Hergert <chergert redhat com>
Date: Tue Nov 23 08:57:12 2021 -0600
vim: fix repeat with count (3.)
gtksourceview/vim/gtksourcevimnormal.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/gtksourceview/vim/gtksourcevimnormal.c b/gtksourceview/vim/gtksourcevimnormal.c
index 81c2d8fc..50df356c 100644
--- a/gtksourceview/vim/gtksourcevimnormal.c
+++ b/gtksourceview/vim/gtksourcevimnormal.c
@@ -625,9 +625,17 @@ key_handler_command (GtkSourceVimNormal *self,
case GDK_KEY_period:
if (self->repeat != NULL)
{
- gtk_source_vim_state_repeat (self->repeat);
+ GtkSourceBuffer *buffer = gtk_source_vim_state_get_buffer
(GTK_SOURCE_VIM_STATE (self), NULL, NULL);
+ int count = MAX (1, self->count);
+
+ gtk_text_buffer_begin_user_action (GTK_TEXT_BUFFER (buffer));
+ for (int i = 0; i < count && self->repeat != NULL; i++)
+ gtk_source_vim_state_repeat (self->repeat);
+ gtk_text_buffer_end_user_action (GTK_TEXT_BUFFER (buffer));
+
gtk_source_vim_normal_clear (self);
keep_on_char (self);
+
return TRUE;
}
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]