diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-06-08 17:53:53 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-06-08 17:53:53 +0000 |
commit | bb68ee8db7971b683fba7dd7bf404186872ba7cf (patch) | |
tree | ce1f5ebe661c12386675eb3ca98521280d521a0b /Src/zsh.h | |
parent | 2dcc8627c9f4be547e6e49c76d45bea70c714a71 (diff) | |
download | zsh-bb68ee8db7971b683fba7dd7bf404186872ba7cf.tar.gz zsh-bb68ee8db7971b683fba7dd7bf404186872ba7cf.tar.xz zsh-bb68ee8db7971b683fba7dd7bf404186872ba7cf.zip |
25138(? mailing list stuck): rewrite of completion matching.
Will one day use multibyte/wide characters, doesn't yet.
Diffstat (limited to 'Src/zsh.h')
-rw-r--r-- | Src/zsh.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Src/zsh.h b/Src/zsh.h index e40761199..b5de54bc9 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -1307,6 +1307,48 @@ struct patprog { #define PAT_HAS_EXCLUDP 0x0800 /* (internal): top-level path1~path2. */ #define PAT_LCMATCHUC 0x1000 /* equivalent to setting (#l) */ +/* + * Special match types used in character classes. These + * are represented as tokens, with Meta added. The character + * class is represented as a metafied string, with only these + * tokens special. Note that an active leading "!" or "^" for + * negation is not part of the string but is flagged in the + * surrounding context. + * + * These types are also used in character and equivalence classes + * in completion matching. + * + * This must be kept ordered by the array colon_stuffs in pattern.c. + */ +/* Special value for first definition */ +#define PP_FIRST 1 +/* POSIX-defined types: [:alpha:] etc. */ +#define PP_ALPHA 1 +#define PP_ALNUM 2 +#define PP_ASCII 3 +#define PP_BLANK 4 +#define PP_CNTRL 5 +#define PP_DIGIT 6 +#define PP_GRAPH 7 +#define PP_LOWER 8 +#define PP_PRINT 9 +#define PP_PUNCT 10 +#define PP_SPACE 11 +#define PP_UPPER 12 +#define PP_XDIGIT 13 +/* Zsh additions: [:IDENT:] etc. */ +#define PP_IDENT 14 +#define PP_IFS 15 +#define PP_IFSSPACE 16 +#define PP_WORD 17 +/* Special value for last definition */ +#define PP_LAST 17 + +/* Unknown type. Not used in a valid token. */ +#define PP_UNKWN 18 +/* Range: token followed by the (possibly multibyte) start and end */ +#define PP_RANGE 19 + /* Globbing flags: lower 8 bits gives approx count */ #define GF_LCMATCHUC 0x0100 #define GF_IGNCASE 0x0200 |