diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-07-20 16:51:19 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-07-20 16:51:19 +0200 |
commit | cb5ff34c1b8a89fcdb86653ab18d0aa53f665642 (patch) | |
tree | ba5f73ac45c6598f28588ddc714887c0703fa0f9 /src/sign.c | |
parent | f914a33c9c8ec5c30da684a4a16edad3e0224f0a (diff) | |
download | vim-git-cb5ff34c1b8a89fcdb86653ab18d0aa53f665642.tar.gz |
patch 8.1.1718: popup menu highlighting does not look goodv8.1.1718
Problem: Popup menu highlighting does not look good.
Solution: Highlight the whole window line. Fix that sign line HL is not
displayed in a window with a background color.
Diffstat (limited to 'src/sign.c')
-rw-r--r-- | src/sign.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/sign.c b/src/sign.c index bf238d907..2cec269f9 100644 --- a/src/sign.c +++ b/src/sign.c @@ -1025,10 +1025,19 @@ sign_define_by_name( } /* + * Return TRUE if sign "name" exists. + */ + int +sign_exists_by_name(char_u *name) +{ + return sign_find(name, NULL) != NULL; +} + +/* * Free the sign specified by 'name'. */ int -sign_undefine_by_name(char_u *name) +sign_undefine_by_name(char_u *name, int give_error) { sign_T *sp_prev; sign_T *sp; @@ -1036,7 +1045,8 @@ sign_undefine_by_name(char_u *name) sp = sign_find(name, &sp_prev); if (sp == NULL) { - semsg(_("E155: Unknown sign: %s"), name); + if (give_error) + semsg(_("E155: Unknown sign: %s"), name); return FAIL; } sign_undefine(sp, sp_prev); @@ -1076,7 +1086,7 @@ may_force_numberwidth_recompute(buf_T *buf, int unplace) /* * Place a sign at the specified file location or update a sign. */ - static int + int sign_place( int *sign_id, char_u *sign_group, @@ -1591,7 +1601,7 @@ ex_sign(exarg_T *eap) sign_list_by_name(name); else // ":sign undefine {name}" - sign_undefine_by_name(name); + sign_undefine_by_name(name, TRUE); vim_free(name); return; @@ -2512,7 +2522,7 @@ sign_undefine_multiple(list_T *l, list_T *retlist) { retval = -1; name = tv_get_string_chk(&li->li_tv); - if (name != NULL && (sign_undefine_by_name(name) == OK)) + if (name != NULL && (sign_undefine_by_name(name, TRUE) == OK)) retval = 0; list_append_number(retlist, retval); } @@ -2551,7 +2561,7 @@ f_sign_undefine(typval_T *argvars, typval_T *rettv) if (name == NULL) return; - if (sign_undefine_by_name(name) == OK) + if (sign_undefine_by_name(name, TRUE) == OK) rettv->vval.v_number = 0; } } |