about summary refs log tree commit diff
path: root/Src/Zle/comp.h
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-10-19 14:50:40 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-10-19 14:50:40 +0000
commit2e12135906bdedc6adaf6be60e1770f72da33751 (patch)
treee2594eb43ae65e10b3f850eb52c56d4a4be57f84 /Src/Zle/comp.h
parent30b4434af8b30883039d334ab575e3fc0250fd06 (diff)
downloadzsh-2e12135906bdedc6adaf6be60e1770f72da33751.tar.gz
zsh-2e12135906bdedc6adaf6be60e1770f72da33751.tar.xz
zsh-2e12135906bdedc6adaf6be60e1770f72da33751.zip
manual/8333
Diffstat (limited to 'Src/Zle/comp.h')
-rw-r--r--Src/Zle/comp.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/Src/Zle/comp.h b/Src/Zle/comp.h
index 091b04476..8b31d97fa 100644
--- a/Src/Zle/comp.h
+++ b/Src/Zle/comp.h
@@ -197,6 +197,8 @@ struct cmgroup {
     LinkList lfmatches;		/* list of matches without fignore */
     LinkList lallccs;		/* list of used compctls */
     int num;			/* number of this group */
+    int nbrbeg;			/* number of opened braces */
+    int nbrend;			/* number of closed braces */
     /* The following is collected/used during listing. */
     int dcount;			/* number of matches to list in columns */
     int cols;			/* number of columns */
@@ -229,8 +231,8 @@ struct cmatch {
     char *disp;			/* string to display (compadd -d) */
     char autoq;			/* closing quote to add automatically */
     int flags;			/* see CMF_* below */
-    int brpl;			/* the place where to put the brace prefix */
-    int brsl;			/* ...and the suffix */
+    int *brpl;			/* places where to put the brace prefixes */
+    int *brsl;			/* ...and the suffixes */
     char *rems;			/* when to remove the suffix */
     char *remf;			/* shell function to call for suffix-removal */
     int qipl;			/* length of quote-prefix */
@@ -356,6 +358,19 @@ struct cldata {
 typedef void (*CLPrintFunc)(Cmgroup, Cmatch *, int, int, int, int,
 			    char *, struct stat *);
 
+/* Information about one brace run. */
+
+typedef struct brinfo *Brinfo;
+
+struct brinfo {
+    Brinfo next;		/* next in list */
+    Brinfo prev;		/* previous (only for closing braces) */
+    char *str;			/* the string to insert */
+    int pos;			/* original position */
+    int qpos;			/* original position, with quoting */
+    int curpos;			/* position for current match */
+};
+
 /* Data given to hooks. */
 
 typedef struct chdata *Chdata;