mirror of
https://github.com/neovim/neovim.git
synced 2025-09-15 15:58:17 +00:00
'cpoptions': Remove "*" flag #2554
The "*" flag in 'cpoptions' makes the command :* execute the contents of a register. Removed because 1. the same functionality exists as :@ 2. it hides :* as a useful command-line shortcut for :'<,'> 3. unlike :@ it cannot be used with the * register Helped-by: Michael Reed <m.reed@mykolab.com>
This commit is contained in:

committed by
Michael Reed

parent
1721e115b4
commit
001209a2fe
@@ -703,10 +703,7 @@ Visual Mode and Range *v_:*
|
|||||||
history for repeating a command on different Visually selected
|
history for repeating a command on different Visually selected
|
||||||
lines.
|
lines.
|
||||||
When Visual mode was already ended, a short way to use the
|
When Visual mode was already ended, a short way to use the
|
||||||
Visual area for a range is `:*`. This requires that "*" does
|
Visual area for a range is `:*`.
|
||||||
not appear in 'cpo', see |cpo-star|. Otherwise you will have
|
|
||||||
to type `:'<,'>`
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. Ex command-line flags *ex-flags*
|
5. Ex command-line flags *ex-flags*
|
||||||
|
@@ -1064,7 +1064,6 @@ tag command action ~
|
|||||||
|:!!| :!! repeat last ":!" command
|
|:!!| :!! repeat last ":!" command
|
||||||
|:#| :# same as ":number"
|
|:#| :# same as ":number"
|
||||||
|:&| :& repeat last ":substitute"
|
|:&| :& repeat last ":substitute"
|
||||||
|:star| :* execute contents of a register
|
|
||||||
|:<| :< shift lines one 'shiftwidth' left
|
|:<| :< shift lines one 'shiftwidth' left
|
||||||
|:=| := print the cursor line number
|
|:=| := print the cursor line number
|
||||||
|:>| :> shift lines one 'shiftwidth' right
|
|:>| :> shift lines one 'shiftwidth' right
|
||||||
|
@@ -1936,9 +1936,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
+ When included, a ":write file" command will reset the
|
+ When included, a ":write file" command will reset the
|
||||||
'modified' flag of the buffer, even though the buffer
|
'modified' flag of the buffer, even though the buffer
|
||||||
itself may still be different from its file.
|
itself may still be different from its file.
|
||||||
*cpo-star*
|
|
||||||
* Use ":*" in the same way as ":@". When not included,
|
|
||||||
":*" is an alias for ":'<,'>", select the Visual area.
|
|
||||||
*cpo-<*
|
*cpo-<*
|
||||||
< Disable the recognition of special key codes in |<>|
|
< Disable the recognition of special key codes in |<>|
|
||||||
form in mappings, abbreviations, and the "to" part of
|
form in mappings, abbreviations, and the "to" part of
|
||||||
|
@@ -128,14 +128,12 @@ q Stops recording.
|
|||||||
*@@* *E748*
|
*@@* *E748*
|
||||||
@@ Repeat the previous @{0-9a-z":*} [count] times.
|
@@ Repeat the previous @{0-9a-z":*} [count] times.
|
||||||
|
|
||||||
:[addr]*{0-9a-z".=+} *:@* *:star*
|
*:@*
|
||||||
:[addr]@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} as an Ex
|
:[addr]@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} as an Ex
|
||||||
command. First set cursor at line [addr] (default is
|
command. First set cursor at line [addr] (default is
|
||||||
current line). When the last line in the register does
|
current line). When the last line in the register does
|
||||||
not have a <CR> it will be added automatically when
|
not have a <CR> it will be added automatically when
|
||||||
the 'e' flag is present in 'cpoptions'.
|
the 'e' flag is present in 'cpoptions'.
|
||||||
Note that the ":*" command is only recognized when the
|
|
||||||
'*' flag is present in 'cpoptions'.
|
|
||||||
For ":@=" the last used expression is used. The
|
For ":@=" the last used expression is used. The
|
||||||
result of evaluating the expression is executed as an
|
result of evaluating the expression is executed as an
|
||||||
Ex command.
|
Ex command.
|
||||||
|
@@ -4833,18 +4833,18 @@ int find_help_tags(char_u *arg, int *num_matches, char_u ***matches, int keep_la
|
|||||||
{
|
{
|
||||||
char_u *s, *d;
|
char_u *s, *d;
|
||||||
int i;
|
int i;
|
||||||
static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*",
|
static char *(mtable[]) = {"*", "g*", "[*", "]*",
|
||||||
"/*", "/\\*", "\"*", "**",
|
"/*", "/\\*", "\"*", "**",
|
||||||
"cpo-*", "/\\(\\)", "/\\%(\\)",
|
"/\\(\\)", "/\\%(\\)",
|
||||||
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
||||||
"/\\?", "/\\z(\\)", "\\=", ":s\\=",
|
"/\\?", "/\\z(\\)", "\\=", ":s\\=",
|
||||||
"[count]", "[quotex]", "[range]",
|
"[count]", "[quotex]", "[range]",
|
||||||
"[pattern]", "\\|", "\\%$",
|
"[pattern]", "\\|", "\\%$",
|
||||||
"s/\\~", "s/\\U", "s/\\L",
|
"s/\\~", "s/\\U", "s/\\L",
|
||||||
"s/\\1", "s/\\2", "s/\\3", "s/\\9"};
|
"s/\\1", "s/\\2", "s/\\3", "s/\\9"};
|
||||||
static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
|
static char *(rtable[]) = {"star", "gstar", "[star", "]star",
|
||||||
"/star", "/\\\\star", "quotestar", "starstar",
|
"/star", "/\\\\star", "quotestar", "starstar",
|
||||||
"cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)",
|
"/\\\\(\\\\)", "/\\\\%(\\\\)",
|
||||||
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
||||||
"/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
|
"/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
|
||||||
"\\[count]", "\\[quotex]", "\\[range]",
|
"\\[count]", "\\[quotex]", "\\[range]",
|
||||||
|
@@ -3136,13 +3136,6 @@ return {
|
|||||||
addr_type=ADDR_LINES,
|
addr_type=ADDR_LINES,
|
||||||
func='do_sub',
|
func='do_sub',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
command='*',
|
|
||||||
enum='CMD_star',
|
|
||||||
flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN),
|
|
||||||
addr_type=ADDR_LINES,
|
|
||||||
func='ex_at',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
command='<',
|
command='<',
|
||||||
enum='CMD_lshift',
|
enum='CMD_lshift',
|
||||||
|
@@ -1489,8 +1489,9 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
|||||||
|
|
||||||
cmd = ea.cmd;
|
cmd = ea.cmd;
|
||||||
ea.cmd = skip_range(ea.cmd, NULL);
|
ea.cmd = skip_range(ea.cmd, NULL);
|
||||||
if (*ea.cmd == '*' && vim_strchr(p_cpo, CPO_STAR) == NULL)
|
if (*ea.cmd == '*') {
|
||||||
ea.cmd = skipwhite(ea.cmd + 1);
|
ea.cmd = skipwhite(ea.cmd + 1);
|
||||||
|
}
|
||||||
p = find_command(&ea, NULL);
|
p = find_command(&ea, NULL);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1605,7 +1606,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
|||||||
++ea.addr_count;
|
++ea.addr_count;
|
||||||
}
|
}
|
||||||
/* '*' - visual area */
|
/* '*' - visual area */
|
||||||
else if (*ea.cmd == '*' && vim_strchr(p_cpo, CPO_STAR) == NULL) {
|
else if (*ea.cmd == '*') {
|
||||||
pos_T *fp;
|
pos_T *fp;
|
||||||
|
|
||||||
if (ea.addr_type != ADDR_LINES) {
|
if (ea.addr_type != ADDR_LINES) {
|
||||||
@@ -2373,7 +2374,7 @@ static char_u *find_command(exarg_T *eap, int *full)
|
|||||||
++p;
|
++p;
|
||||||
|
|
||||||
/* check for non-alpha command */
|
/* check for non-alpha command */
|
||||||
if (p == eap->cmd && vim_strchr((char_u *)"@*!=><&~#", *p) != NULL)
|
if (p == eap->cmd && vim_strchr((char_u *)"@!=><&~#", *p) != NULL)
|
||||||
++p;
|
++p;
|
||||||
len = (int)(p - eap->cmd);
|
len = (int)(p - eap->cmd);
|
||||||
if (*eap->cmd == 'd' && (p[-1] == 'l' || p[-1] == 'p')) {
|
if (*eap->cmd == 'd' && (p[-1] == 'l' || p[-1] == 'p')) {
|
||||||
@@ -4096,11 +4097,10 @@ void separate_nextcmd(exarg_T *eap)
|
|||||||
(void)skip_expr(&p);
|
(void)skip_expr(&p);
|
||||||
}
|
}
|
||||||
/* Check for '"': start of comment or '|': next command */
|
/* Check for '"': start of comment or '|': next command */
|
||||||
/* :@" and :*" do not start a comment!
|
/* :@" does not start a comment!
|
||||||
* :redir @" doesn't either. */
|
* :redir @" doesn't either. */
|
||||||
else if ((*p == '"' && !(eap->argt & NOTRLCOM)
|
else if ((*p == '"' && !(eap->argt & NOTRLCOM)
|
||||||
&& ((eap->cmdidx != CMD_at && eap->cmdidx != CMD_star)
|
&& (eap->cmdidx != CMD_at || p != eap->arg)
|
||||||
|| p != eap->arg)
|
|
||||||
&& (eap->cmdidx != CMD_redir
|
&& (eap->cmdidx != CMD_redir
|
||||||
|| p != eap->arg + 1 || p[-1] != '@'))
|
|| p != eap->arg + 1 || p[-1] != '@'))
|
||||||
|| *p == '|' || *p == '\n') {
|
|| *p == '|' || *p == '\n') {
|
||||||
@@ -7144,20 +7144,20 @@ static void ex_join(exarg_T *eap)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ":[addr]@r" or ":[addr]*r": execute register
|
* ":[addr]@r": execute register
|
||||||
*/
|
*/
|
||||||
static void ex_at(exarg_T *eap)
|
static void ex_at(exarg_T *eap)
|
||||||
{
|
{
|
||||||
int c;
|
|
||||||
int prev_len = typebuf.tb_len;
|
int prev_len = typebuf.tb_len;
|
||||||
|
|
||||||
curwin->w_cursor.lnum = eap->line2;
|
curwin->w_cursor.lnum = eap->line2;
|
||||||
|
|
||||||
|
// Get the register name. No name means use the previous one.
|
||||||
/* get the register name. No name means to use the previous one */
|
int c = *eap->arg;
|
||||||
c = *eap->arg;
|
if (c == NUL) {
|
||||||
if (c == NUL || (c == '*' && *eap->cmd == '*'))
|
|
||||||
c = '@';
|
c = '@';
|
||||||
|
}
|
||||||
|
|
||||||
/* Put the register in the typeahead buffer with the "silent" flag. */
|
/* Put the register in the typeahead buffer with the "silent" flag. */
|
||||||
if (do_execreg(c, TRUE, vim_strchr(p_cpo, CPO_EXECBUF) != NULL, TRUE)
|
if (do_execreg(c, TRUE, vim_strchr(p_cpo, CPO_EXECBUF) != NULL, TRUE)
|
||||||
== FAIL) {
|
== FAIL) {
|
||||||
|
@@ -126,7 +126,6 @@
|
|||||||
#define CPO_DOLLAR '$'
|
#define CPO_DOLLAR '$'
|
||||||
#define CPO_FILTER '!'
|
#define CPO_FILTER '!'
|
||||||
#define CPO_MATCH '%'
|
#define CPO_MATCH '%'
|
||||||
#define CPO_STAR '*' /* ":*" means ":@" */
|
|
||||||
#define CPO_PLUS '+' /* ":write file" resets 'modified' */
|
#define CPO_PLUS '+' /* ":write file" resets 'modified' */
|
||||||
#define CPO_MINUS '-' /* "9-" fails at and before line 9 */
|
#define CPO_MINUS '-' /* "9-" fails at and before line 9 */
|
||||||
#define CPO_SPECI '<' /* don't recognize <> in mappings */
|
#define CPO_SPECI '<' /* don't recognize <> in mappings */
|
||||||
@@ -143,9 +142,9 @@
|
|||||||
* cursor would not move */
|
* cursor would not move */
|
||||||
/* default values for Vim, Vi and POSIX */
|
/* default values for Vim, Vi and POSIX */
|
||||||
#define CPO_VIM "aABceFs"
|
#define CPO_VIM "aABceFs"
|
||||||
#define CPO_VI "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%*-+<>;"
|
#define CPO_VI "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%-+<>;"
|
||||||
#define CPO_ALL \
|
#define CPO_ALL \
|
||||||
"aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%*-+<>#{|&/\\.;"
|
"aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%-+<>#{|&/\\.;"
|
||||||
|
|
||||||
/* characters for p_ww option: */
|
/* characters for p_ww option: */
|
||||||
#define WW_ALL "bshl<>[],~"
|
#define WW_ALL "bshl<>[],~"
|
||||||
|
Reference in New Issue
Block a user