int col = gui.col;
#ifdef FEAT_SIGN_ICONS
int draw_sign = FALSE;
+ char_u extra[18];
# ifdef FEAT_NETBEANS_INTG
int multi_sign = FALSE;
# endif
multi_sign = TRUE;
# endif
/* draw spaces instead */
- s = (char_u *)" ";
+ if (*curwin->w_p_scl == 'n' && *(curwin->w_p_scl + 1) == 'u' &&
+ (curwin->w_p_nu || curwin->w_p_rnu))
+ {
+ sprintf((char *)extra, "%*c ", number_width(curwin), ' ');
+ s = extra;
+ }
+ else
+ s = (char_u *)" ";
if (len == 1 && col > 0)
--col;
- len = 2;
+ len = (int)STRLEN(s);
draw_sign = TRUE;
highlight_mask = 0;
}
if (gui.in_use && icon_sign != 0)
{
// Use the image in this position.
- *c_extrap = SIGN_BYTE;
- *c_finalp = NUL;
+ if (nrcol)
+ {
+ *c_extrap = NUL;
+ sprintf((char *)extra, "%-*c ", number_width(wp), SIGN_BYTE);
+ *pp_extra = extra;
+ *n_extrap = (int)STRLEN(*pp_extra);
+ }
+ else
+ *c_extrap = SIGN_BYTE;
# ifdef FEAT_NETBEANS_INTG
if (buf_signcount(wp->w_buffer, lnum) > 1)
{
- *c_extrap = MULTISIGN_BYTE;
- *c_finalp = NUL;
+ if (nrcol)
+ {
+ *c_extrap = NUL;
+ sprintf((char *)extra, "%-*c ", number_width(wp),
+ MULTISIGN_BYTE);
+ *pp_extra = extra;
+ *n_extrap = (int)STRLEN(*pp_extra);
+ }
+ else
+ *c_extrap = MULTISIGN_BYTE;
}
# endif
+ *c_finalp = NUL;
*char_attrp = icon_sign;
}
else
{
if (nrcol)
{
- sprintf((char *)extra, "%-*s ", number_width(wp),
+ sprintf((char *)extra, "%*s ", number_width(wp),
*pp_extra);
*pp_extra = extra;
}
" Enable number column. Check whether sign is displayed in the number column
set number
redraw!
- call assert_equal("=> 01234", s:ScreenLine(1, 1, 9))
+ call assert_equal(" => 01234", s:ScreenLine(1, 1, 9))
" Disable sign column. Make sure line number is displayed
set signcolumn=no