5555#define EX_LOCK_OK 0x1000000 // command can be executed when textlock is
5656 // set; when missing disallows editing another
5757 // buffer when curbuf_lock is set
58+ #define EX_NONWHITE_OK 0x2000000 // command can be followed by non-white
5859
5960#define EX_FILES (EX_XFILE | EX_EXTRA) // multiple extra files allowed
6061#define EX_FILE1 (EX_FILES | EX_NOSPC) // 1 file, defaults to current file
@@ -632,7 +633,7 @@ EXCMD(CMD_function, "function", ex_function,
632633 EX_EXTRA |EX_BANG |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
633634 ADDR_NONE ),
634635EXCMD (CMD_global , "global" , ex_global ,
635- EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_EXTRA |EX_DFLALL |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
636+ EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_EXTRA |EX_DFLALL |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
636637 ADDR_LINES ),
637638EXCMD (CMD_goto , "goto" , ex_goto ,
638639 EX_RANGE |EX_COUNT |EX_TRLBAR |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
@@ -1277,7 +1278,7 @@ EXCMD(CMD_rviminfo, "rviminfo", ex_viminfo,
12771278 EX_BANG |EX_FILE1 |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
12781279 ADDR_NONE ),
12791280EXCMD (CMD_substitute , "substitute" , ex_substitute ,
1280- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK ,
1281+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
12811282 ADDR_LINES ),
12821283EXCMD (CMD_sNext , "sNext" , ex_previous ,
12831284 EX_EXTRA |EX_RANGE |EX_COUNT |EX_BANG |EX_CMDARG |EX_ARGOPT |EX_TRLBAR ,
@@ -1652,7 +1653,7 @@ EXCMD(CMD_update, "update", ex_update,
16521653 EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_FILE1 |EX_ARGOPT |EX_DFLALL |EX_TRLBAR ,
16531654 ADDR_LINES ),
16541655EXCMD (CMD_vglobal , "vglobal" , ex_global ,
1655- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_DFLALL |EX_CMDWIN |EX_LOCK_OK ,
1656+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_DFLALL |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
16561657 ADDR_LINES ),
16571658EXCMD (CMD_var , "var" , ex_var ,
16581659 EX_EXTRA |EX_NOTRLCOM |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
@@ -1792,16 +1793,16 @@ EXCMD(CMD_z, "z", ex_z,
17921793
17931794// commands that don't start with a letter
17941795EXCMD (CMD_bang , "!" , ex_bang ,
1795- EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_FILES |EX_CMDWIN |EX_LOCK_OK ,
1796+ EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_FILES |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
17961797 ADDR_LINES ),
17971798EXCMD (CMD_pound , "#" , ex_print ,
17981799 EX_RANGE |EX_WHOLEFOLD |EX_COUNT |EX_FLAGS |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
17991800 ADDR_LINES ),
18001801EXCMD (CMD_and , "&" , ex_substitute ,
1801- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
1802+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY | EX_NONWHITE_OK ,
18021803 ADDR_LINES ),
18031804EXCMD (CMD_star , "*" , ex_at ,
1804- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
1805+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
18051806 ADDR_LINES ),
18061807EXCMD (CMD_lshift , "<" , ex_operators ,
18071808 EX_RANGE |EX_WHOLEFOLD |EX_COUNT |EX_FLAGS |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
@@ -1813,7 +1814,7 @@ EXCMD(CMD_rshift, ">", ex_operators,
18131814 EX_RANGE |EX_WHOLEFOLD |EX_COUNT |EX_FLAGS |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
18141815 ADDR_LINES ),
18151816EXCMD (CMD_at , "@" , ex_at ,
1816- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
1817+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
18171818 ADDR_LINES ),
18181819EXCMD (CMD_block , "{{{{{{{{" , ex_block , // not found normally
18191820 0 ,
@@ -1822,7 +1823,7 @@ EXCMD(CMD_endblock, "}", ex_endblock,
18221823 EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
18231824 ADDR_NONE ),
18241825EXCMD (CMD_tilde , "~" , ex_substitute ,
1825- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
1826+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY | EX_NONWHITE_OK ,
18261827 ADDR_LINES ),
18271828
18281829// commands that start with an uppercase letter
0 commit comments