[gtksourceview/wip/chergert/vim] allow const, use ends checks for quotes



commit 6a327d71582726d662f655cb05671d42788ef886
Author: Christian Hergert <chergert redhat com>
Date:   Thu Nov 4 22:45:09 2021 -0700

    allow const, use ends checks for quotes

 gtksourceview/vim/gtk-source-vim-text-object.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)
---
diff --git a/gtksourceview/vim/gtk-source-vim-text-object.c b/gtksourceview/vim/gtk-source-vim-text-object.c
index a0d10744..f9f1d0ac 100644
--- a/gtksourceview/vim/gtk-source-vim-text-object.c
+++ b/gtksourceview/vim/gtk-source-vim-text-object.c
@@ -24,6 +24,7 @@
 #include "gtk-source-vim-motion.h"
 #include "gtk-source-vim-text-object.h"
 
+typedef gboolean (*TextObjectCheck)  (const GtkTextIter *iter);
 typedef gboolean (*TextObjectMotion) (GtkTextIter       *iter);
 typedef void     (*TextObjectExtend) (const GtkTextIter *origin,
                                       GtkTextIter       *inner_begin,
@@ -39,8 +40,8 @@ enum {
 struct _GtkSourceVimTextObject
 {
        GtkSourceVimState parent_instance;
-       TextObjectMotion  ends;
-       TextObjectMotion  starts;
+       TextObjectCheck   ends;
+       TextObjectCheck   starts;
        TextObjectMotion  forward_end;
        TextObjectMotion  backward_start;
        TextObjectExtend  extend;
@@ -50,7 +51,7 @@ struct _GtkSourceVimTextObject
 G_DEFINE_TYPE (GtkSourceVimTextObject, gtk_source_vim_text_object, GTK_SOURCE_TYPE_VIM_STATE)
 
 static gboolean
-gtk_source_vim_iter_always_false (GtkTextIter *iter)
+gtk_source_vim_iter_always_false (const GtkTextIter *iter)
 {
        return FALSE;
 }
@@ -147,8 +148,8 @@ text_object_extend_sentence (const GtkTextIter *origin,
 }
 
 static GtkSourceVimState *
-gtk_source_vim_text_object_new (TextObjectMotion ends,
-                                TextObjectMotion starts,
+gtk_source_vim_text_object_new (TextObjectCheck  ends,
+                                TextObjectCheck  starts,
                                 TextObjectMotion forward_end,
                                 TextObjectMotion backward_start,
                                 TextObjectExtend extend,
@@ -187,9 +188,9 @@ TEXT_OBJECT_CTOR (inner_block_paren, always_false, always_false, forward_block_p
 TEXT_OBJECT_CTOR (inner_block_brace, always_false, always_false, forward_block_brace_end, 
backward_block_brace_start, one, INNER);
 TEXT_OBJECT_CTOR (inner_block_bracket, always_false, always_false, forward_block_bracket_end, 
backward_block_bracket_start, one, INNER);
 TEXT_OBJECT_CTOR (inner_block_lt_gt, always_false, always_false, forward_block_lt_gt_end, 
backward_block_lt_gt_start, one, INNER);
-TEXT_OBJECT_CTOR (inner_quote_double, always_false, always_false, forward_quote_double, 
backward_quote_double, one, INNER);
-TEXT_OBJECT_CTOR (inner_quote_single, always_false, always_false, forward_quote_single, 
backward_quote_single, one, INNER);
-TEXT_OBJECT_CTOR (inner_quote_grave, always_false, always_false, forward_quote_grave, backward_quote_grave, 
one, INNER);
+TEXT_OBJECT_CTOR (inner_quote_double, ends_quote_double, always_false, forward_quote_double, 
backward_quote_double, one, INNER);
+TEXT_OBJECT_CTOR (inner_quote_single, ends_quote_single, always_false, forward_quote_single, 
backward_quote_single, one, INNER);
+TEXT_OBJECT_CTOR (inner_quote_grave, ends_quote_grave, always_false, forward_quote_grave, 
backward_quote_grave, one, INNER);
 
 TEXT_OBJECT_CTOR (a_word, ends_word, starts_word, forward_word_end, backward_word_start, word, A);
 TEXT_OBJECT_CTOR (a_WORD, ends_WORD, starts_WORD, forward_WORD_end, backward_WORD_start, word, A);
@@ -199,9 +200,9 @@ TEXT_OBJECT_CTOR (a_block_paren, always_false, always_false, forward_block_paren
 TEXT_OBJECT_CTOR (a_block_brace, always_false, always_false, forward_block_brace_end, 
backward_block_brace_start, one, A);
 TEXT_OBJECT_CTOR (a_block_bracket, always_false, always_false, forward_block_bracket_end, 
backward_block_bracket_start, one, A);
 TEXT_OBJECT_CTOR (a_block_lt_gt, always_false, always_false, forward_block_lt_gt_end, 
backward_block_lt_gt_start, one, A);
-TEXT_OBJECT_CTOR (a_quote_double, always_false, always_false, forward_quote_double, backward_quote_double, 
one, A);
-TEXT_OBJECT_CTOR (a_quote_single, always_false, always_false, forward_quote_single, backward_quote_single, 
one, A);
-TEXT_OBJECT_CTOR (a_quote_grave, always_false, always_false, forward_quote_grave, backward_quote_grave, one, 
A);
+TEXT_OBJECT_CTOR (a_quote_double, ends_quote_double, always_false, forward_quote_double, 
backward_quote_double, one, A);
+TEXT_OBJECT_CTOR (a_quote_single, ends_quote_single, always_false, forward_quote_single, 
backward_quote_single, one, A);
+TEXT_OBJECT_CTOR (a_quote_grave, ends_quote_grave, always_false, forward_quote_grave, backward_quote_grave, 
one, A);
 
 #undef TEXT_OBJECT_CTOR
 


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