mirror of
https://github.com/vim/vim.git
synced 2025-08-29 20:33:37 -04:00
updated for version 7.3.596
Problem: Can't remove all signs for a file or buffer. Solution: Support "*" for the sign id. (Christian Brabandt)
This commit is contained in:
parent
773c1ef81b
commit
f65e5667df
@ -153,8 +153,14 @@ REMOVING SIGNS *:sign-unplace* *E159*
|
|||||||
Remove the previously placed sign {id} from file {fname}.
|
Remove the previously placed sign {id} from file {fname}.
|
||||||
See remark above about {fname} |:sign-fname|.
|
See remark above about {fname} |:sign-fname|.
|
||||||
|
|
||||||
|
:sign unplace * file={fname}
|
||||||
|
Remove all placed signs in file {fname}.
|
||||||
|
|
||||||
:sign unplace {id} buffer={nr}
|
:sign unplace {id} buffer={nr}
|
||||||
Same, but use buffer {nr}.
|
Remove the previously placed sign {id} from buffer {nr}.
|
||||||
|
|
||||||
|
:sign unplace * buffer={nr}
|
||||||
|
Remove all placed signs in buffer {nr}.
|
||||||
|
|
||||||
:sign unplace {id}
|
:sign unplace {id}
|
||||||
Remove the previously placed sign {id} from all files it
|
Remove the previously placed sign {id} from all files it
|
||||||
|
@ -57,7 +57,6 @@ static void clear_wininfo __ARGS((buf_T *buf));
|
|||||||
|
|
||||||
#if defined(FEAT_SIGNS)
|
#if defined(FEAT_SIGNS)
|
||||||
static void insert_sign __ARGS((buf_T *buf, signlist_T *prev, signlist_T *next, int id, linenr_T lnum, int typenr));
|
static void insert_sign __ARGS((buf_T *buf, signlist_T *prev, signlist_T *next, int id, linenr_T lnum, int typenr));
|
||||||
static void buf_delete_signs __ARGS((buf_T *buf));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||||
@ -5537,7 +5536,7 @@ buf_signcount(buf, lnum)
|
|||||||
/*
|
/*
|
||||||
* Delete signs in buffer "buf".
|
* Delete signs in buffer "buf".
|
||||||
*/
|
*/
|
||||||
static void
|
void
|
||||||
buf_delete_signs(buf)
|
buf_delete_signs(buf)
|
||||||
buf_T *buf;
|
buf_T *buf;
|
||||||
{
|
{
|
||||||
|
@ -6997,6 +6997,16 @@ ex_sign(eap)
|
|||||||
lnum = atoi((char *)arg);
|
lnum = atoi((char *)arg);
|
||||||
arg = skiptowhite(arg);
|
arg = skiptowhite(arg);
|
||||||
}
|
}
|
||||||
|
else if (STRNCMP(arg, "*", 1) == 0 && idx == SIGNCMD_UNPLACE)
|
||||||
|
{
|
||||||
|
if (id != -1)
|
||||||
|
{
|
||||||
|
EMSG(_(e_invarg));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
id = -2;
|
||||||
|
arg = skiptowhite(arg + 1);
|
||||||
|
}
|
||||||
else if (STRNCMP(arg, "name=", 5) == 0)
|
else if (STRNCMP(arg, "name=", 5) == 0)
|
||||||
{
|
{
|
||||||
arg += 5;
|
arg += 5;
|
||||||
@ -7033,7 +7043,7 @@ ex_sign(eap)
|
|||||||
{
|
{
|
||||||
EMSG2(_("E158: Invalid buffer name: %s"), arg);
|
EMSG2(_("E158: Invalid buffer name: %s"), arg);
|
||||||
}
|
}
|
||||||
else if (id <= 0)
|
else if (id <= 0 && !(idx == SIGNCMD_UNPLACE && id == -2))
|
||||||
{
|
{
|
||||||
if (lnum >= 0 || sign_name != NULL)
|
if (lnum >= 0 || sign_name != NULL)
|
||||||
EMSG(_(e_invarg));
|
EMSG(_(e_invarg));
|
||||||
@ -7074,11 +7084,17 @@ ex_sign(eap)
|
|||||||
}
|
}
|
||||||
else if (idx == SIGNCMD_UNPLACE)
|
else if (idx == SIGNCMD_UNPLACE)
|
||||||
{
|
{
|
||||||
/* ":sign unplace {id} file={fname}" */
|
|
||||||
if (lnum >= 0 || sign_name != NULL)
|
if (lnum >= 0 || sign_name != NULL)
|
||||||
EMSG(_(e_invarg));
|
EMSG(_(e_invarg));
|
||||||
|
else if (id == -2)
|
||||||
|
{
|
||||||
|
/* ":sign unplace * file={fname}" */
|
||||||
|
redraw_buf_later(buf, NOT_VALID);
|
||||||
|
buf_delete_signs(buf);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/* ":sign unplace {id} file={fname}" */
|
||||||
lnum = buf_delsign(buf, id);
|
lnum = buf_delsign(buf, id);
|
||||||
update_debug_sign(buf, lnum);
|
update_debug_sign(buf, lnum);
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ int buf_findsign __ARGS((buf_T *buf, int id));
|
|||||||
int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
|
int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
|
||||||
int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
|
int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
|
||||||
int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
|
int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
|
||||||
|
void buf_delete_signs __ARGS((buf_T *buf));
|
||||||
void buf_delete_all_signs __ARGS((void));
|
void buf_delete_all_signs __ARGS((void));
|
||||||
void sign_list_placed __ARGS((buf_T *rbuf));
|
void sign_list_placed __ARGS((buf_T *rbuf));
|
||||||
void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
|
void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
|
||||||
|
@ -714,6 +714,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
596,
|
||||||
/**/
|
/**/
|
||||||
595,
|
595,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user