diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-05-07 20:01:16 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-05-07 20:01:16 +0100 |
commit | 249591057b4840785c50e41dd850efb8a8faf435 (patch) | |
tree | e9ba171529cf753e7aab0ec9adf5be3fedc17d00 /src/map.c | |
parent | 9ff7d717aa3176de5c61de340deb93f41c7780fc (diff) |
patch 8.2.4911: the mode #defines are not clearly namedv8.2.4911
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
Diffstat (limited to 'src/map.c')
-rw-r--r-- | src/map.c | 189 |
1 files changed, 97 insertions, 92 deletions
@@ -31,7 +31,7 @@ static int maphash_valid = FALSE; * Returns a value between 0 and 255, index in maphash. * Put Normal/Visual mode mappings mostly separately from Insert/Cmdline mode. */ -#define MAP_HASH(mode, c1) (((mode) & (NORMAL + VISUAL + SELECTMODE + OP_PENDING + TERMINAL)) ? (c1) : ((c1) ^ 0x80)) +#define MAP_HASH(mode, c1) (((mode) & (MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING | MODE_TERMINAL)) ? (c1) : ((c1) ^ 0x80)) /* * Get the start of the hashed map list for "state" and first character "c". @@ -101,32 +101,33 @@ map_mode_to_chars(int mode) ga_init2(&mapmode, 1, 7); - if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) + if ((mode & (MODE_INSERT | MODE_CMDLINE)) == (MODE_INSERT | MODE_CMDLINE)) ga_append(&mapmode, '!'); // :map! - else if (mode & INSERT) + else if (mode & MODE_INSERT) ga_append(&mapmode, 'i'); // :imap - else if (mode & LANGMAP) + else if (mode & MODE_LANGMAP) ga_append(&mapmode, 'l'); // :lmap - else if (mode & CMDLINE) + else if (mode & MODE_CMDLINE) ga_append(&mapmode, 'c'); // :cmap - else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING)) - == NORMAL + VISUAL + SELECTMODE + OP_PENDING) + else if ((mode + & (MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING)) + == (MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING)) ga_append(&mapmode, ' '); // :map else { - if (mode & NORMAL) + if (mode & MODE_NORMAL) ga_append(&mapmode, 'n'); // :nmap - if (mode & OP_PENDING) + if (mode & MODE_OP_PENDING) ga_append(&mapmode, 'o'); // :omap - if (mode & TERMINAL) + if (mode & MODE_TERMINAL) ga_append(&mapmode, 't'); // :tmap - if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) + if ((mode & (MODE_VISUAL | MODE_SELECT)) == (MODE_VISUAL | MODE_SELECT)) ga_append(&mapmode, 'v'); // :vmap else { - if (mode & VISUAL) + if (mode & MODE_VISUAL) ga_append(&mapmode, 'x'); // :xmap - if (mode & SELECTMODE) + if (mode & MODE_SELECT) ga_append(&mapmode, 's'); // :smap } } @@ -297,21 +298,21 @@ map_add( * arg is pointer to any arguments. Note: arg cannot be a read-only string, * it will be modified. * - * for :map mode is NORMAL + VISUAL + SELECTMODE + OP_PENDING - * for :map! mode is INSERT + CMDLINE - * for :cmap mode is CMDLINE - * for :imap mode is INSERT - * for :lmap mode is LANGMAP - * for :nmap mode is NORMAL - * for :vmap mode is VISUAL + SELECTMODE - * for :xmap mode is VISUAL - * for :smap mode is SELECTMODE - * for :omap mode is OP_PENDING - * for :tmap mode is TERMINAL + * for :map mode is MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING + * for :map! mode is MODE_INSERT | MODE_CMDLINE + * for :cmap mode is MODE_CMDLINE + * for :imap mode is MODE_INSERT + * for :lmap mode is MODE_LANGMAP + * for :nmap mode is MODE_NORMAL + * for :vmap mode is MODE_VISUAL | MODE_SELECT + * for :xmap mode is MODE_VISUAL + * for :smap mode is MODE_SELECT + * for :omap mode is MODE_OP_PENDING + * for :tmap mode is MODE_TERMINAL * - * for :abbr mode is INSERT + CMDLINE - * for :iabbr mode is INSERT - * for :cabbr mode is CMDLINE + * for :abbr mode is MODE_INSERT | MODE_CMDLINE + * for :iabbr mode is MODE_INSERT + * for :cabbr mode is MODE_CMDLINE * * Return 0 for success * 1 for invalid arguments @@ -872,30 +873,31 @@ get_map_mode(char_u **cmdp, int forceit) p = *cmdp; modec = *p++; if (modec == 'i') - mode = INSERT; // :imap + mode = MODE_INSERT; // :imap else if (modec == 'l') - mode = LANGMAP; // :lmap + mode = MODE_LANGMAP; // :lmap else if (modec == 'c') - mode = CMDLINE; // :cmap + mode = MODE_CMDLINE; // :cmap else if (modec == 'n' && *p != 'o') // avoid :noremap - mode = NORMAL; // :nmap + mode = MODE_NORMAL; // :nmap else if (modec == 'v') - mode = VISUAL + SELECTMODE; // :vmap + mode = MODE_VISUAL | MODE_SELECT; // :vmap else if (modec == 'x') - mode = VISUAL; // :xmap + mode = MODE_VISUAL; // :xmap else if (modec == 's') - mode = SELECTMODE; // :smap + mode = MODE_SELECT; // :smap else if (modec == 'o') - mode = OP_PENDING; // :omap + mode = MODE_OP_PENDING; // :omap else if (modec == 't') - mode = TERMINAL; // :tmap + mode = MODE_TERMINAL; // :tmap else { --p; if (forceit) - mode = INSERT + CMDLINE; // :map ! + mode = MODE_INSERT | MODE_CMDLINE; // :map ! else - mode = VISUAL + SELECTMODE + NORMAL + OP_PENDING;// :map + mode = MODE_VISUAL | MODE_SELECT | MODE_NORMAL | MODE_OP_PENDING; + // :map } *cmdp = p; @@ -1002,21 +1004,21 @@ mode_str2flags(char_u *modechars) int mode = 0; if (vim_strchr(modechars, 'n') != NULL) - mode |= NORMAL; + mode |= MODE_NORMAL; if (vim_strchr(modechars, 'v') != NULL) - mode |= VISUAL + SELECTMODE; + mode |= MODE_VISUAL | MODE_SELECT; if (vim_strchr(modechars, 'x') != NULL) - mode |= VISUAL; + mode |= MODE_VISUAL; if (vim_strchr(modechars, 's') != NULL) - mode |= SELECTMODE; + mode |= MODE_SELECT; if (vim_strchr(modechars, 'o') != NULL) - mode |= OP_PENDING; + mode |= MODE_OP_PENDING; if (vim_strchr(modechars, 'i') != NULL) - mode |= INSERT; + mode |= MODE_INSERT; if (vim_strchr(modechars, 'l') != NULL) - mode |= LANGMAP; + mode |= MODE_LANGMAP; if (vim_strchr(modechars, 'c') != NULL) - mode |= CMDLINE; + mode |= MODE_CMDLINE; return mode; } @@ -1192,9 +1194,10 @@ set_context_in_map_cmd( expand_mapmodes = get_map_mode(&cmd, forceit || isabbrev); else { - expand_mapmodes = INSERT + CMDLINE; + expand_mapmodes = MODE_INSERT | MODE_CMDLINE; if (!isabbrev) - expand_mapmodes += VISUAL + SELECTMODE + NORMAL + OP_PENDING; + expand_mapmodes += MODE_VISUAL | MODE_SELECT | MODE_NORMAL + | MODE_OP_PENDING; } expand_isabbrev = isabbrev; xp->xp_context = EXPAND_MAPPINGS; @@ -1864,75 +1867,76 @@ makemap( cmd = "map"; switch (mp->m_mode) { - case NORMAL + VISUAL + SELECTMODE + OP_PENDING: + case MODE_NORMAL | MODE_VISUAL | MODE_SELECT + | MODE_OP_PENDING: break; - case NORMAL: + case MODE_NORMAL: c1 = 'n'; break; - case VISUAL: + case MODE_VISUAL: c1 = 'x'; break; - case SELECTMODE: + case MODE_SELECT: c1 = 's'; break; - case OP_PENDING: + case MODE_OP_PENDING: c1 = 'o'; break; - case NORMAL + VISUAL: + case MODE_NORMAL | MODE_VISUAL: c1 = 'n'; c2 = 'x'; break; - case NORMAL + SELECTMODE: + case MODE_NORMAL | MODE_SELECT: c1 = 'n'; c2 = 's'; break; - case NORMAL + OP_PENDING: + case MODE_NORMAL | MODE_OP_PENDING: c1 = 'n'; c2 = 'o'; break; - case VISUAL + SELECTMODE: + case MODE_VISUAL | MODE_SELECT: c1 = 'v'; break; - case VISUAL + OP_PENDING: + case MODE_VISUAL | MODE_OP_PENDING: c1 = 'x'; c2 = 'o'; break; - case SELECTMODE + OP_PENDING: + case MODE_SELECT | MODE_OP_PENDING: c1 = 's'; c2 = 'o'; break; - case NORMAL + VISUAL + SELECTMODE: + case MODE_NORMAL | MODE_VISUAL | MODE_SELECT: c1 = 'n'; c2 = 'v'; break; - case NORMAL + VISUAL + OP_PENDING: + case MODE_NORMAL | MODE_VISUAL | MODE_OP_PENDING: c1 = 'n'; c2 = 'x'; c3 = 'o'; break; - case NORMAL + SELECTMODE + OP_PENDING: + case MODE_NORMAL | MODE_SELECT | MODE_OP_PENDING: c1 = 'n'; c2 = 's'; c3 = 'o'; break; - case VISUAL + SELECTMODE + OP_PENDING: + case MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING: c1 = 'v'; c2 = 'o'; break; - case CMDLINE + INSERT: + case MODE_CMDLINE | MODE_INSERT: if (!abbr) cmd = "map!"; break; - case CMDLINE: + case MODE_CMDLINE: c1 = 'c'; break; - case INSERT: + case MODE_INSERT: c1 = 'i'; break; - case LANGMAP: + case MODE_LANGMAP: c1 = 'l'; break; - case TERMINAL: + case MODE_TERMINAL: c1 = 't'; break; default: @@ -2495,9 +2499,10 @@ get_map_mode_string(char_u *mode_string, int abbr) int mode = 0; int tmode; int modec; - const int MASK_V = VISUAL + SELECTMODE; - const int MASK_MAP = VISUAL + SELECTMODE + NORMAL + OP_PENDING; - const int MASK_BANG = INSERT + CMDLINE; + const int MASK_V = MODE_VISUAL | MODE_SELECT; + const int MASK_MAP = MODE_VISUAL | MODE_SELECT | MODE_NORMAL + | MODE_OP_PENDING; + const int MASK_BANG = MODE_INSERT | MODE_CMDLINE; if (*p == NUL) p = (char_u *)" "; // compatibility @@ -2505,14 +2510,14 @@ get_map_mode_string(char_u *mode_string, int abbr) { switch (modec) { - case 'i': tmode = INSERT; break; - case 'l': tmode = LANGMAP; break; - case 'c': tmode = CMDLINE; break; - case 'n': tmode = NORMAL; break; - case 'x': tmode = VISUAL; break; - case 's': tmode = SELECTMODE; break; - case 'o': tmode = OP_PENDING; break; - case 't': tmode = TERMINAL; break; + case 'i': tmode = MODE_INSERT; break; + case 'l': tmode = MODE_LANGMAP; break; + case 'c': tmode = MODE_CMDLINE; break; + case 'n': tmode = MODE_NORMAL; break; + case 'x': tmode = MODE_VISUAL; break; + case 's': tmode = MODE_SELECT; break; + case 'o': tmode = MODE_OP_PENDING; break; + case 't': tmode = MODE_TERMINAL; break; case 'v': tmode = MASK_V; break; case '!': tmode = MASK_BANG; break; case ' ': tmode = MASK_MAP; break; @@ -2672,7 +2677,7 @@ f_mapset(typval_T *argvars, typval_T *rettv UNUSED) #if defined(MSWIN) || defined(MACOS_X) -# define VIS_SEL (VISUAL+SELECTMODE) // abbreviation +# define VIS_SEL (MODE_VISUAL | MODE_SELECT) // abbreviation /* * Default mappings for some often used keys. @@ -2688,9 +2693,9 @@ struct initmap static struct initmap initmappings[] = { // paste, copy and cut - {(char_u *)"<S-Insert> \"*P", NORMAL}, + {(char_u *)"<S-Insert> \"*P", MODE_NORMAL}, {(char_u *)"<S-Insert> \"-d\"*P", VIS_SEL}, - {(char_u *)"<S-Insert> <C-R><C-O>*", INSERT+CMDLINE}, + {(char_u *)"<S-Insert> <C-R><C-O>*", MODE_INSERT | MODE_CMDLINE}, {(char_u *)"<C-Insert> \"*y", VIS_SEL}, {(char_u *)"<S-Del> \"*d", VIS_SEL}, {(char_u *)"<C-Del> \"*d", VIS_SEL}, @@ -2703,24 +2708,24 @@ static struct initmap initmappings[] = // Use the Windows (CUA) keybindings. (Console) static struct initmap cinitmappings[] = { - {(char_u *)"\316w <C-Home>", NORMAL+VIS_SEL}, - {(char_u *)"\316w <C-Home>", INSERT+CMDLINE}, - {(char_u *)"\316u <C-End>", NORMAL+VIS_SEL}, - {(char_u *)"\316u <C-End>", INSERT+CMDLINE}, + {(char_u *)"\316w <C-Home>", MODE_NORMAL | VIS_SEL}, + {(char_u *)"\316w <C-Home>", MODE_INSERT | MODE_CMDLINE}, + {(char_u *)"\316u <C-End>", MODE_NORMAL | VIS_SEL}, + {(char_u *)"\316u <C-End>", MODE_INSERT | MODE_CMDLINE}, // paste, copy and cut # ifdef FEAT_CLIPBOARD - {(char_u *)"\316\324 \"*P", NORMAL}, // SHIFT-Insert is "*P + {(char_u *)"\316\324 \"*P", MODE_NORMAL}, // SHIFT-Insert is "*P {(char_u *)"\316\324 \"-d\"*P", VIS_SEL}, // SHIFT-Insert is "-d"*P - {(char_u *)"\316\324 \022\017*", INSERT}, // SHIFT-Insert is ^R^O* + {(char_u *)"\316\324 \022\017*", MODE_INSERT}, // SHIFT-Insert is ^R^O* {(char_u *)"\316\325 \"*y", VIS_SEL}, // CTRL-Insert is "*y {(char_u *)"\316\327 \"*d", VIS_SEL}, // SHIFT-Del is "*d {(char_u *)"\316\330 \"*d", VIS_SEL}, // CTRL-Del is "*d {(char_u *)"\030 \"*d", VIS_SEL}, // CTRL-X is "*d # else - {(char_u *)"\316\324 P", NORMAL}, // SHIFT-Insert is P + {(char_u *)"\316\324 P", MODE_NORMAL}, // SHIFT-Insert is P {(char_u *)"\316\324 \"-dP", VIS_SEL}, // SHIFT-Insert is "-dP - {(char_u *)"\316\324 \022\017\"", INSERT}, // SHIFT-Insert is ^R^O" + {(char_u *)"\316\324 \022\017\"", MODE_INSERT}, // SHIFT-Insert is ^R^O" {(char_u *)"\316\325 y", VIS_SEL}, // CTRL-Insert is y {(char_u *)"\316\327 d", VIS_SEL}, // SHIFT-Del is d {(char_u *)"\316\330 d", VIS_SEL}, // CTRL-Del is d @@ -2733,9 +2738,9 @@ static struct initmap initmappings[] = { // Use the Standard MacOS binding. // paste, copy and cut - {(char_u *)"<D-v> \"*P", NORMAL}, + {(char_u *)"<D-v> \"*P", MODE_NORMAL}, {(char_u *)"<D-v> \"-d\"*P", VIS_SEL}, - {(char_u *)"<D-v> <C-R>*", INSERT+CMDLINE}, + {(char_u *)"<D-v> <C-R>*", MODE_INSERT | MODE_CMDLINE}, {(char_u *)"<D-c> \"*y", VIS_SEL}, {(char_u *)"<D-x> \"*d", VIS_SEL}, {(char_u *)"<Backspace> \"-d", VIS_SEL}, |