Mercurial > vim
diff src/sign.c @ 17440:a5874fdc8f3a v8.1.1718
patch 8.1.1718: popup menu highlighting does not look good
commit https://github.com/vim/vim/commit/cb5ff34c1b8a89fcdb86653ab18d0aa53f665642
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 20 16:51:19 2019 +0200
patch 8.1.1718: popup menu highlighting does not look good
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 20 Jul 2019 17:00:08 +0200 |
parents | 9843fbfa0ee5 |
children | 121bdff812b4 |
line wrap: on
line diff
--- 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 *b /* * 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 { 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, typva if (name == NULL) return; - if (sign_undefine_by_name(name) == OK) + if (sign_undefine_by_name(name, TRUE) == OK) rettv->vval.v_number = 0; } }