summaryrefslogtreecommitdiff
path: root/Src/Zle/zle.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/zle.h')
-rw-r--r--Src/Zle/zle.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/Src/Zle/zle.h b/Src/Zle/zle.h
index e9b14281d..8f92e5611 100644
--- a/Src/Zle/zle.h
+++ b/Src/Zle/zle.h
@@ -284,6 +284,20 @@ struct change {
#define CH_NEXT (1<<0) /* next structure is also part of this change */
#define CH_PREV (1<<1) /* previous structure is also part of this change */
+/* vi change handling for vi-repeat-change */
+
+/*
+ * Examination of the code suggests vichgbuf is consistently tied
+ * to raw byte input, so it is left as a character array rather
+ * than turned into wide characters. In particular, when we replay
+ * it we use ungetbytes().
+ */
+struct vichange {
+ struct modifier mod; /* value of zmod associated with vi change */
+ char *buf; /* bytes for keys that make up the vi command */
+ int bufsz, bufptr; /* allocated and in use sizes of buf */
+};
+
/* known thingies */
#define Th(X) (&thingies[X])