mirror of
https://github.com/vim/vim
synced 2025-04-02 16:06:45 +02:00
patch 7.4.1799
Problem: 'guicolors' is a confusing option name. Solution: Use 'termguicolors' instead. (Hirohito Higashi)
This commit is contained in:
parent
bb82762907
commit
61be73bb0f
17 changed files with 153 additions and 148 deletions
|
@ -3477,18 +3477,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'guicolors'* *'gcol'*
|
||||
'guicolors' 'gcol' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the
|
||||
|+termtruecolor| feature}
|
||||
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
||||
the terminal (thus using 24-bit color). Requires a ISO-8613-3
|
||||
compatible terminal.
|
||||
If setting this option does not work (produces a colorless UI)
|
||||
reading |xterm-true-color| might help.
|
||||
|
||||
*'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
|
||||
'guicursor' 'gcr' string (default "n-v-c:block-Cursor/lCursor,
|
||||
ve:ver35-Cursor,
|
||||
|
@ -7551,6 +7539,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||
:set encoding=utf-8
|
||||
< You need to do this when your system has no locale support for UTF-8.
|
||||
|
||||
*'termguicolors'* *'tgc'*
|
||||
'termguicolors' 'tgc' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the
|
||||
|+termguicolors| feature}
|
||||
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
||||
the terminal (thus using 24-bit color). Requires a ISO-8613-3
|
||||
compatible terminal.
|
||||
If setting this option does not work (produces a colorless UI)
|
||||
reading |xterm-true-color| might help.
|
||||
|
||||
*'terse'* *'noterse'*
|
||||
'terse' boolean (default off)
|
||||
global
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
*term.txt* For Vim version 7.4. Last change: 2016 Apr 21
|
||||
*term.txt* For Vim version 7.4. Last change: 2016 Apr 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
@ -302,7 +302,6 @@ Added by Vim (there are no standard codes for these):
|
|||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||
see |'ambiwidth'|
|
||||
t_RB request terminal background color *t_RB* *'t_RB'*
|
||||
see |'ambiwidth'|
|
||||
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
||||
|xterm-true-color|
|
||||
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|
||||
|
@ -425,19 +424,23 @@ Vim has started, the escape sequences may not be recognized anymore.
|
|||
|
||||
*xterm-true-color*
|
||||
Vim supports using true colors in the terminal (taken from |highlight-guifg|
|
||||
and |highlight-guibg|), given that terminal supports this. To make this
|
||||
work, 'guicolors' option needs to be set.
|
||||
and |highlight-guibg|), given that the terminal supports this. To make this
|
||||
work the 'termguicolors' option needs to be set.
|
||||
|
||||
Sometimes setting 'guicolors' is not enough and one has to set the |t_8f| and
|
||||
|t_8b| options explicitly. Default values of these options are
|
||||
`^[[38;2;%lu;%lu;%lum` and `^[[48;2;%lu;%lu;%lum` (replace `^[` with real
|
||||
escape) respectively, but it is only set when `$TERM` is `xterm`. Some
|
||||
terminals accept the same sequences, but with all semicolons replaced by
|
||||
colons (this is actually more compatible, but less widely supported). These
|
||||
options contain printf strings, with |printf()| (actually, its C equivalent
|
||||
hence `l` modifier) invoked with the t_ option value and three unsigned long
|
||||
integers that may have any value between 0 and 255 (inclusive) representing
|
||||
red, green and blue colors respectively.
|
||||
Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
|
||||
and |t_8b| options explicitly. Default values of these options are
|
||||
"^[[38;2;%lu;%lu;%lum" and "^[[48;2;%lu;%lu;%lum" respectively, but it is only
|
||||
set when `$TERM` is `xterm`. Some terminals accept the same sequences, but
|
||||
with all semicolons replaced by colons (this is actually more compatible, but
|
||||
less widely supported): >
|
||||
set t_8f=^[[38:2:%lu:%lu:%lum
|
||||
set t_8b=^[[48:2:%lu:%lu:%lum
|
||||
(replace `^[` with real escape)
|
||||
|
||||
These options contain printf strings, with |printf()| (actually, its C
|
||||
equivalent hence `l` modifier) invoked with the t_ option value and three
|
||||
unsigned long integers that may have any value between 0 and 255 (inclusive)
|
||||
representing red, green and blue colors respectively.
|
||||
|
||||
*xterm-resize*
|
||||
Window resizing with xterm only works if the allowWindowOps resource is
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
*various.txt* For Vim version 7.4. Last change: 2016 Mar 20
|
||||
*various.txt* For Vim version 7.4. Last change: 2016 Apr 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
@ -424,7 +424,7 @@ m *+tcl* Tcl interface |tcl|
|
|||
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
|
||||
*+terminfo* uses |terminfo| instead of termcap
|
||||
N *+termresponse* support for |t_RV| and |v:termresponse|
|
||||
m *+termtruecolor* 24-bit color in xterm-compatible terminals support
|
||||
B *+termguicolors* 24-bit color in xterm-compatible terminals support
|
||||
N *+textobjects* |text-objects| selection
|
||||
*+tgetent* non-Unix only: able to use external termcap
|
||||
N *+timers* the |timer_start()| function
|
||||
|
|
|
@ -44,24 +44,24 @@ highlight default link dircolorsExtension Identifier
|
|||
highlight default link dircolorsEscape Special
|
||||
|
||||
function! s:set_guicolors() abort
|
||||
let s:guicolors = {}
|
||||
let s:termguicolors = {}
|
||||
|
||||
let s:guicolors[0] = "Black"
|
||||
let s:guicolors[1] = "DarkRed"
|
||||
let s:guicolors[2] = "DarkGreen"
|
||||
let s:guicolors[3] = "DarkYellow"
|
||||
let s:guicolors[4] = "DarkBlue"
|
||||
let s:guicolors[5] = "DarkMagenta"
|
||||
let s:guicolors[6] = "DarkCyan"
|
||||
let s:guicolors[7] = "Gray"
|
||||
let s:guicolors[8] = "DarkGray"
|
||||
let s:guicolors[9] = "Red"
|
||||
let s:guicolors[10] = "Green"
|
||||
let s:guicolors[11] = "Yellow"
|
||||
let s:guicolors[12] = "Blue"
|
||||
let s:guicolors[13] = "Magenta"
|
||||
let s:guicolors[14] = "Cyan"
|
||||
let s:guicolors[15] = "White"
|
||||
let s:termguicolors[0] = "Black"
|
||||
let s:termguicolors[1] = "DarkRed"
|
||||
let s:termguicolors[2] = "DarkGreen"
|
||||
let s:termguicolors[3] = "DarkYellow"
|
||||
let s:termguicolors[4] = "DarkBlue"
|
||||
let s:termguicolors[5] = "DarkMagenta"
|
||||
let s:termguicolors[6] = "DarkCyan"
|
||||
let s:termguicolors[7] = "Gray"
|
||||
let s:termguicolors[8] = "DarkGray"
|
||||
let s:termguicolors[9] = "Red"
|
||||
let s:termguicolors[10] = "Green"
|
||||
let s:termguicolors[11] = "Yellow"
|
||||
let s:termguicolors[12] = "Blue"
|
||||
let s:termguicolors[13] = "Magenta"
|
||||
let s:termguicolors[14] = "Cyan"
|
||||
let s:termguicolors[15] = "White"
|
||||
|
||||
let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"]
|
||||
|
||||
|
@ -70,7 +70,7 @@ function! s:set_guicolors() abort
|
|||
for r in xterm_palette
|
||||
for g in xterm_palette
|
||||
for b in xterm_palette
|
||||
let s:guicolors[cur_col] = '#' . r . g . b
|
||||
let s:termguicolors[cur_col] = '#' . r . g . b
|
||||
let cur_col += 1
|
||||
endfor
|
||||
endfor
|
||||
|
@ -78,14 +78,14 @@ function! s:set_guicolors() abort
|
|||
|
||||
for i in range(24)
|
||||
let g = i * 0xa + 8
|
||||
let s:guicolors[i + 232] = '#' . g . g . g
|
||||
let s:termguicolors[i + 232] = '#' . g . g . g
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:get_hi_str(color, place) abort
|
||||
if a:color >= 0 && a:color <= 255
|
||||
if has('gui_running')
|
||||
return ' gui' . a:place . '=' . s:guicolors[a:color]
|
||||
return ' gui' . a:place . '=' . s:termguicolors[a:color]
|
||||
elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88
|
||||
return ' cterm' . a:place . '=' . a:color
|
||||
endif
|
||||
|
|
|
@ -14042,15 +14042,15 @@ f_has(typval_T *argvars, typval_T *rettv)
|
|||
"tcl",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
"termguicolors",
|
||||
#endif
|
||||
#ifdef TERMINFO
|
||||
"terminfo",
|
||||
#endif
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
"termresponse",
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
"termtruecolor",
|
||||
#endif
|
||||
#ifdef FEAT_TEXTOBJ
|
||||
"textobjects",
|
||||
#endif
|
||||
|
@ -20019,7 +20019,7 @@ f_synIDattr(typval_T *argvars UNUSED, typval_T *rettv)
|
|||
}
|
||||
else
|
||||
{
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
if (USE_24BIT)
|
||||
modec = 'g';
|
||||
else
|
||||
|
|
|
@ -815,10 +815,10 @@
|
|||
#endif
|
||||
|
||||
/*
|
||||
* +termtruecolor 'guicolor' option.
|
||||
* +termguicolors 'termguicolors' option.
|
||||
*/
|
||||
#if (defined(FEAT_BIG) && defined(FEAT_SYN_HL)) && !defined(ALWAYS_USE_GUI)
|
||||
# define FEAT_TERMTRUECOLOR
|
||||
# define FEAT_TERMGUICOLORS
|
||||
#endif
|
||||
|
||||
/* Mac specific thing: Codewarrior interface. */
|
||||
|
|
|
@ -369,7 +369,7 @@ EXTERN char_u *use_gvimrc INIT(= NULL); /* "-U" cmdline argument */
|
|||
EXTERN int cterm_normal_fg_color INIT(= 0);
|
||||
EXTERN int cterm_normal_fg_bold INIT(= 0);
|
||||
EXTERN int cterm_normal_bg_color INIT(= 0);
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
EXTERN long_u cterm_normal_fg_gui_color INIT(= INVALCOLOR);
|
||||
EXTERN long_u cterm_normal_bg_gui_color INIT(= INVALCOLOR);
|
||||
#endif
|
||||
|
|
|
@ -307,7 +307,7 @@ prt_get_attr(
|
|||
pattr->underline = (highlight_has_attr(hl_id, HL_UNDERLINE, modec) != NULL);
|
||||
pattr->undercurl = (highlight_has_attr(hl_id, HL_UNDERCURL, modec) != NULL);
|
||||
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
if (USE_24BIT)
|
||||
{
|
||||
bg_color = highlight_gui_color_rgb(hl_id, FALSE);
|
||||
|
|
24
src/option.c
24
src/option.c
|
@ -1303,15 +1303,6 @@ static struct vimoption options[] =
|
|||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)NULL, (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"guicolors", "gcol", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
(char_u *)&p_guicolors, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)FALSE}
|
||||
#else
|
||||
(char_u*)NULL, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)FALSE}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"guicursor", "gcr", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
|
||||
|
@ -2623,6 +2614,15 @@ static struct vimoption options[] =
|
|||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"termguicolors", "tgc", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
(char_u *)&p_tgc, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)FALSE}
|
||||
#else
|
||||
(char_u*)NULL, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)FALSE}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"terse", NULL, P_BOOL|P_VI_DEF,
|
||||
|
@ -8364,9 +8364,9 @@ set_bool_option(
|
|||
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
/* 'guicolors' */
|
||||
else if ((int *)varp == &p_guicolors)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
/* 'termguicolors' */
|
||||
else if ((int *)varp == &p_tgc)
|
||||
{
|
||||
# ifdef FEAT_GUI
|
||||
if (!gui.in_use && !gui.starting)
|
||||
|
|
|
@ -527,9 +527,6 @@ EXTERN char_u *p_popt; /* 'printoptions' */
|
|||
EXTERN char_u *p_header; /* 'printheader' */
|
||||
#endif
|
||||
EXTERN int p_prompt; /* 'prompt' */
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
EXTERN int p_guicolors; /* 'guicolors' */
|
||||
#endif
|
||||
#ifdef FEAT_GUI
|
||||
EXTERN char_u *p_guifont; /* 'guifont' */
|
||||
# ifdef FEAT_XFONTSET
|
||||
|
@ -843,6 +840,9 @@ EXTERN int p_tbidi; /* 'termbidi' */
|
|||
#ifdef FEAT_MBYTE
|
||||
EXTERN char_u *p_tenc; /* 'termencoding' */
|
||||
#endif
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
EXTERN int p_tgc; /* 'termguicolors' */
|
||||
#endif
|
||||
EXTERN int p_terse; /* 'terse' */
|
||||
EXTERN int p_ta; /* 'textauto' */
|
||||
EXTERN int p_to; /* 'tildeop' */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* term.c */
|
||||
guicolor_T termtrue_mch_get_color(char_u *name);
|
||||
guicolor_T termtrue_get_color(char_u *name);
|
||||
long_u termtrue_mch_get_rgb(guicolor_T color);
|
||||
guicolor_T termgui_mch_get_color(char_u *name);
|
||||
guicolor_T termgui_get_color(char_u *name);
|
||||
long_u termgui_mch_get_rgb(guicolor_T color);
|
||||
int set_termname(char_u *term);
|
||||
void set_mouse_termcode(int n, char_u *s);
|
||||
void del_mouse_termcode(int n);
|
||||
|
|
32
src/screen.c
32
src/screen.c
|
@ -7840,12 +7840,12 @@ screen_start_highlight(int attr)
|
|||
if ((attr & HL_BOLD) && T_MD != NULL) /* bold */
|
||||
out_str(T_MD);
|
||||
else if (aep != NULL && cterm_normal_fg_bold &&
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
(p_guicolors ?
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
(p_tgc ?
|
||||
(aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR):
|
||||
#endif
|
||||
(t_colors > 1 && aep->ae_u.cterm.fg_color)
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
)
|
||||
#endif
|
||||
)
|
||||
|
@ -7868,8 +7868,8 @@ screen_start_highlight(int attr)
|
|||
*/
|
||||
if (aep != NULL)
|
||||
{
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
if (p_guicolors)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (p_tgc)
|
||||
{
|
||||
if (aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR)
|
||||
term_fg_rgb_color(aep->ae_u.cterm.fg_rgb);
|
||||
|
@ -7931,13 +7931,13 @@ screen_stop_highlight(void)
|
|||
*/
|
||||
aep = syn_cterm_attr2entry(screen_attr);
|
||||
if (aep != NULL &&
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
(p_guicolors ?
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
(p_tgc ?
|
||||
(aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR ||
|
||||
aep->ae_u.cterm.bg_rgb != (long_u)INVALCOLOR):
|
||||
#endif
|
||||
(aep->ae_u.cterm.fg_color || aep->ae_u.cterm.bg_color)
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
)
|
||||
#endif
|
||||
)
|
||||
|
@ -7988,8 +7988,8 @@ screen_stop_highlight(void)
|
|||
if (do_ME || (screen_attr & (HL_BOLD | HL_INVERSE)))
|
||||
out_str(T_ME);
|
||||
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
if (p_guicolors)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (p_tgc)
|
||||
{
|
||||
if (cterm_normal_fg_gui_color != (long_u)INVALCOLOR)
|
||||
term_fg_rgb_color(cterm_normal_fg_gui_color);
|
||||
|
@ -8025,8 +8025,8 @@ reset_cterm_colors(void)
|
|||
if (IS_CTERM)
|
||||
{
|
||||
/* set Normal cterm colors */
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
if (p_guicolors ?
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (p_tgc ?
|
||||
(cterm_normal_fg_gui_color != (long_u)INVALCOLOR
|
||||
|| cterm_normal_bg_gui_color != (long_u)INVALCOLOR):
|
||||
(cterm_normal_fg_color > 0 || cterm_normal_bg_color > 0))
|
||||
|
@ -8959,8 +8959,8 @@ can_clear(char_u *p)
|
|||
#ifdef FEAT_GUI
|
||||
|| gui.in_use
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
|| (p_guicolors && cterm_normal_bg_gui_color != (long_u)INVALCOLOR)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
|| (p_tgc && cterm_normal_bg_gui_color != (long_u)INVALCOLOR)
|
||||
#endif
|
||||
|| cterm_normal_bg_color == 0 || *T_UT != NUL));
|
||||
}
|
||||
|
@ -10293,8 +10293,8 @@ draw_tabline(void)
|
|||
#ifdef FEAT_GUI
|
||||
&& !gui.in_use
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
&& !p_guicolors
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
&& !p_tgc
|
||||
#endif
|
||||
);
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@ typedef struct file_buffer buf_T; /* forward declaration */
|
|||
# include <X11/Intrinsic.h>
|
||||
# endif
|
||||
# define guicolor_T long_u /* avoid error in prototypes and
|
||||
* make FEAT_TERMTRUECOLOR work */
|
||||
* make FEAT_TERMGUICOLORS work */
|
||||
# define INVALCOLOR ((guicolor_T)0x1ffffff)
|
||||
#endif
|
||||
|
||||
|
@ -913,7 +913,7 @@ typedef struct attr_entry
|
|||
/* These colors need to be > 8 bits to hold 256. */
|
||||
short_u fg_color; /* foreground color number */
|
||||
short_u bg_color; /* background color number */
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
long_u fg_rgb; /* foreground color RGB */
|
||||
long_u bg_rgb; /* background color RGB */
|
||||
# endif
|
||||
|
|
66
src/syntax.c
66
src/syntax.c
|
@ -34,7 +34,7 @@ struct hl_group
|
|||
int sg_cterm_bg; /* terminal bg color number + 1 */
|
||||
int sg_cterm_attr; /* Screen attr for color term mode */
|
||||
/* for when using the GUI */
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
guicolor_T sg_gui_fg; /* GUI foreground color handle */
|
||||
guicolor_T sg_gui_bg; /* GUI background color handle */
|
||||
#endif
|
||||
|
@ -99,7 +99,7 @@ static int syn_list_header(int did_header, int outlen, int id);
|
|||
static int hl_has_settings(int idx, int check_link);
|
||||
static void highlight_clear(int idx);
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
static void gui_do_one_color(int idx, int do_menu, int do_tooltip);
|
||||
static guicolor_T color_name2handle(char_u *name);
|
||||
#endif
|
||||
|
@ -7337,7 +7337,7 @@ do_highlight(
|
|||
for (idx = 0; idx < highlight_ga.ga_len; ++idx)
|
||||
highlight_clear(idx);
|
||||
init_highlight(TRUE, TRUE);
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
if (USE_24BIT)
|
||||
highlight_gui_started();
|
||||
#endif
|
||||
|
@ -7792,14 +7792,14 @@ do_highlight(
|
|||
if (!init)
|
||||
HL_TABLE()[idx].sg_set |= SG_GUI;
|
||||
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
/* In GUI guifg colors are only used when recognized */
|
||||
i = color_name2handle(arg);
|
||||
if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0
|
||||
# ifdef FEAT_GUI
|
||||
|| !(USE_24BIT)
|
||||
# else
|
||||
|| !p_guicolors
|
||||
|| !p_tgc
|
||||
# endif
|
||||
)
|
||||
{
|
||||
|
@ -7810,7 +7810,7 @@ do_highlight(
|
|||
HL_TABLE()[idx].sg_gui_fg_name = vim_strsave(arg);
|
||||
else
|
||||
HL_TABLE()[idx].sg_gui_fg_name = NULL;
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
# ifdef FEAT_GUI_X11
|
||||
if (is_menu_group)
|
||||
gui.menu_fg_pixel = i;
|
||||
|
@ -7835,7 +7835,7 @@ do_highlight(
|
|||
if (!init)
|
||||
HL_TABLE()[idx].sg_set |= SG_GUI;
|
||||
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
/* In GUI guifg colors are only used when recognized */
|
||||
i = color_name2handle(arg);
|
||||
if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !USE_24BIT)
|
||||
|
@ -7847,7 +7847,7 @@ do_highlight(
|
|||
HL_TABLE()[idx].sg_gui_bg_name = vim_strsave(arg);
|
||||
else
|
||||
HL_TABLE()[idx].sg_gui_bg_name = NULL;
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
# ifdef FEAT_GUI_X11
|
||||
if (is_menu_group)
|
||||
gui.menu_bg_pixel = i;
|
||||
|
@ -8008,7 +8008,7 @@ do_highlight(
|
|||
* and/or "fg", which have been changed now.
|
||||
*/
|
||||
#endif
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
if (USE_24BIT)
|
||||
highlight_gui_started();
|
||||
#endif
|
||||
|
@ -8080,7 +8080,7 @@ restore_cterm_colors(void)
|
|||
cterm_normal_fg_color = 0;
|
||||
cterm_normal_fg_bold = 0;
|
||||
cterm_normal_bg_color = 0;
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
cterm_normal_fg_gui_color = INVALCOLOR;
|
||||
cterm_normal_bg_gui_color = INVALCOLOR;
|
||||
# endif
|
||||
|
@ -8134,7 +8134,7 @@ highlight_clear(int idx)
|
|||
vim_free(HL_TABLE()[idx].sg_gui_sp_name);
|
||||
HL_TABLE()[idx].sg_gui_sp_name = NULL;
|
||||
#endif
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
HL_TABLE()[idx].sg_gui_fg = INVALCOLOR;
|
||||
HL_TABLE()[idx].sg_gui_bg = INVALCOLOR;
|
||||
#endif
|
||||
|
@ -8158,7 +8158,7 @@ highlight_clear(int idx)
|
|||
#endif
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
/*
|
||||
* Set the normal foreground and background colors according to the "Normal"
|
||||
* highlighting group. For X11 also set "Menu", "Scrollbar", and
|
||||
|
@ -8168,7 +8168,7 @@ highlight_clear(int idx)
|
|||
set_normal_colors(void)
|
||||
{
|
||||
#ifdef FEAT_GUI
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
if (gui.in_use)
|
||||
# endif
|
||||
{
|
||||
|
@ -8210,7 +8210,7 @@ set_normal_colors(void)
|
|||
# endif
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
# ifdef FEAT_GUI
|
||||
else
|
||||
# endif
|
||||
|
@ -8473,7 +8473,7 @@ hl_do_font(
|
|||
|
||||
#endif /* FEAT_GUI */
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
/*
|
||||
* Return the handle for a color name.
|
||||
* Returns INVALCOLOR when failed.
|
||||
|
@ -8486,31 +8486,31 @@ color_name2handle(char_u *name)
|
|||
|
||||
if (STRICMP(name, "fg") == 0 || STRICMP(name, "foreground") == 0)
|
||||
{
|
||||
#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
|
||||
#if defined(FEAT_TERMGUICOLORS) && defined(FEAT_GUI)
|
||||
if (gui.in_use)
|
||||
#endif
|
||||
#ifdef FEAT_GUI
|
||||
return gui.norm_pixel;
|
||||
#endif
|
||||
#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
|
||||
#if defined(FEAT_TERMGUICOLORS) && defined(FEAT_GUI)
|
||||
else
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
return cterm_normal_fg_gui_color;
|
||||
#endif
|
||||
}
|
||||
if (STRICMP(name, "bg") == 0 || STRICMP(name, "background") == 0)
|
||||
{
|
||||
#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
|
||||
#if defined(FEAT_TERMGUICOLORS) && defined(FEAT_GUI)
|
||||
if (gui.in_use)
|
||||
#endif
|
||||
#ifdef FEAT_GUI
|
||||
return gui.back_pixel;
|
||||
#endif
|
||||
#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
|
||||
#if defined(FEAT_TERMGUICOLORS) && defined(FEAT_GUI)
|
||||
else
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
return cterm_normal_bg_gui_color;
|
||||
#endif
|
||||
}
|
||||
|
@ -8595,7 +8595,7 @@ get_attr_entry(garray_T *table, attrentry_T *aep)
|
|||
== taep->ae_u.cterm.fg_color
|
||||
&& aep->ae_u.cterm.bg_color
|
||||
== taep->ae_u.cterm.bg_color
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
&& aep->ae_u.cterm.fg_rgb
|
||||
== taep->ae_u.cterm.fg_rgb
|
||||
&& aep->ae_u.cterm.bg_rgb
|
||||
|
@ -8667,7 +8667,7 @@ get_attr_entry(garray_T *table, attrentry_T *aep)
|
|||
{
|
||||
taep->ae_u.cterm.fg_color = aep->ae_u.cterm.fg_color;
|
||||
taep->ae_u.cterm.bg_color = aep->ae_u.cterm.bg_color;
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
taep->ae_u.cterm.fg_rgb = aep->ae_u.cterm.fg_rgb;
|
||||
taep->ae_u.cterm.bg_rgb = aep->ae_u.cterm.bg_rgb;
|
||||
#endif
|
||||
|
@ -8787,7 +8787,7 @@ hl_combine_attr(int char_attr, int prim_attr)
|
|||
new_en.ae_u.cterm.fg_color = spell_aep->ae_u.cterm.fg_color;
|
||||
if (spell_aep->ae_u.cterm.bg_color > 0)
|
||||
new_en.ae_u.cterm.bg_color = spell_aep->ae_u.cterm.bg_color;
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (spell_aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR)
|
||||
new_en.ae_u.cterm.fg_rgb = spell_aep->ae_u.cterm.fg_rgb;
|
||||
if (spell_aep->ae_u.cterm.bg_rgb != (long_u)INVALCOLOR)
|
||||
|
@ -9056,7 +9056,7 @@ highlight_color(
|
|||
return NULL;
|
||||
if (modec == 'g')
|
||||
{
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
# ifdef FEAT_GUI
|
||||
/* return font name */
|
||||
if (font)
|
||||
|
@ -9115,7 +9115,7 @@ highlight_color(
|
|||
#endif
|
||||
|
||||
#if (defined(FEAT_SYN_HL) \
|
||||
&& (defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)) \
|
||||
&& (defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)) \
|
||||
&& defined(FEAT_PRINTER)) || defined(PROTO)
|
||||
/*
|
||||
* Return color name of highlight group "id" as RGB value.
|
||||
|
@ -9255,7 +9255,7 @@ set_hl_attr(
|
|||
* highlighting attributes, need to allocate an attr number.
|
||||
*/
|
||||
if (sgp->sg_cterm_fg == 0 && sgp->sg_cterm_bg == 0
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
&& sgp->sg_gui_fg == INVALCOLOR
|
||||
&& sgp->sg_gui_bg == INVALCOLOR
|
||||
# endif
|
||||
|
@ -9266,7 +9266,7 @@ set_hl_attr(
|
|||
at_en.ae_attr = sgp->sg_cterm;
|
||||
at_en.ae_u.cterm.fg_color = sgp->sg_cterm_fg;
|
||||
at_en.ae_u.cterm.bg_color = sgp->sg_cterm_bg;
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
at_en.ae_u.cterm.fg_rgb = GUI_MCH_GET_RGB(sgp->sg_gui_fg);
|
||||
at_en.ae_u.cterm.bg_rgb = GUI_MCH_GET_RGB(sgp->sg_gui_bg);
|
||||
# endif
|
||||
|
@ -9420,7 +9420,7 @@ syn_add_group(char_u *name)
|
|||
vim_memset(&(HL_TABLE()[highlight_ga.ga_len]), 0, sizeof(struct hl_group));
|
||||
HL_TABLE()[highlight_ga.ga_len].sg_name = name;
|
||||
HL_TABLE()[highlight_ga.ga_len].sg_name_u = vim_strsave_up(name);
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
HL_TABLE()[highlight_ga.ga_len].sg_gui_bg = INVALCOLOR;
|
||||
HL_TABLE()[highlight_ga.ga_len].sg_gui_fg = INVALCOLOR;
|
||||
# ifdef FEAT_GUI
|
||||
|
@ -9518,7 +9518,7 @@ syn_get_final_id(int hl_id)
|
|||
return hl_id;
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
/*
|
||||
* Call this function just after the GUI has started.
|
||||
* It finds the font and color handles for the highlighting groups.
|
||||
|
@ -9529,8 +9529,8 @@ highlight_gui_started(void)
|
|||
int idx;
|
||||
|
||||
/* First get the colors from the "Normal" and "Menu" group, if set */
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
if (USE_24BIT)
|
||||
# endif
|
||||
set_normal_colors();
|
||||
|
@ -9551,7 +9551,7 @@ gui_do_one_color(
|
|||
int didit = FALSE;
|
||||
|
||||
# ifdef FEAT_GUI
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
if (gui.in_use)
|
||||
# endif
|
||||
if (HL_TABLE()[idx].sg_font_name != NULL)
|
||||
|
|
20
src/term.c
20
src/term.c
|
@ -77,7 +77,7 @@ struct builtin_term
|
|||
static struct builtin_term *find_builtin_term(char_u *name);
|
||||
static void parse_builtin_tcap(char_u *s);
|
||||
static void term_color(char_u *s, int n);
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
static void term_rgb_color(char_u *s, long_u rgb);
|
||||
#endif
|
||||
static void gather_termleader(void);
|
||||
|
@ -859,7 +859,7 @@ static struct builtin_term builtin_termcaps[] =
|
|||
{(int)KS_CRV, IF_EB("\033[>c", ESC_STR "[>c")},
|
||||
{(int)KS_RBG, IF_EB("\033]11;?\007", ESC_STR "]11;?\007")},
|
||||
{(int)KS_U7, IF_EB("\033[6n", ESC_STR "[6n")},
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
/* These are printf strings, not terminal codes. */
|
||||
{(int)KS_8F, IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")},
|
||||
{(int)KS_8B, IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")},
|
||||
|
@ -1265,21 +1265,21 @@ static struct builtin_term builtin_termcaps[] =
|
|||
|
||||
}; /* end of builtin_termcaps */
|
||||
|
||||
#if defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
|
||||
#if defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
guicolor_T
|
||||
termtrue_mch_get_color(char_u *name)
|
||||
termgui_mch_get_color(char_u *name)
|
||||
{
|
||||
return gui_get_color_cmn(name);
|
||||
}
|
||||
|
||||
guicolor_T
|
||||
termtrue_get_color(char_u *name)
|
||||
termgui_get_color(char_u *name)
|
||||
{
|
||||
guicolor_T t;
|
||||
|
||||
if (*name == NUL)
|
||||
return INVALCOLOR;
|
||||
t = termtrue_mch_get_color(name);
|
||||
t = termgui_mch_get_color(name);
|
||||
|
||||
if (t == INVALCOLOR)
|
||||
EMSG2(_("E254: Cannot allocate color %s"), name);
|
||||
|
@ -1287,9 +1287,9 @@ termtrue_get_color(char_u *name)
|
|||
}
|
||||
|
||||
long_u
|
||||
termtrue_mch_get_rgb(guicolor_T color)
|
||||
termgui_mch_get_rgb(guicolor_T color)
|
||||
{
|
||||
return (long_u) color;
|
||||
return (long_u)color;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -2645,7 +2645,7 @@ term_color(char_u *s, int n)
|
|||
OUT_STR(tgoto((char *)s, 0, n));
|
||||
}
|
||||
|
||||
#if defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
|
||||
#if defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
void
|
||||
term_fg_rgb_color(long_u rgb)
|
||||
{
|
||||
|
@ -6053,7 +6053,7 @@ update_tcap(int attr)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
static int
|
||||
hex_digit(int c)
|
||||
{
|
||||
|
|
|
@ -602,6 +602,11 @@ static char *(features[]) =
|
|||
#else
|
||||
"-tcl",
|
||||
#endif
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
"+termguicolors",
|
||||
#else
|
||||
"-termguicolors",
|
||||
#endif
|
||||
#if defined(UNIX) || defined(__EMX__)
|
||||
/* only Unix (or OS/2 with EMX!) can have terminfo instead of termcap */
|
||||
# ifdef TERMINFO
|
||||
|
@ -621,11 +626,6 @@ static char *(features[]) =
|
|||
#else
|
||||
"-termresponse",
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
"+termtruecolor",
|
||||
#else
|
||||
"-termtruecolor",
|
||||
#endif
|
||||
#ifdef FEAT_TEXTOBJ
|
||||
"+textobjects",
|
||||
#else
|
||||
|
@ -753,6 +753,8 @@ static char *(features[]) =
|
|||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1799,
|
||||
/**/
|
||||
1798,
|
||||
/**/
|
||||
|
|
16
src/vim.h
16
src/vim.h
|
@ -1559,21 +1559,21 @@ typedef UINT32_TYPEDEF UINT32_T;
|
|||
#define MSG_PUTS_LONG_ATTR(s, a) msg_puts_long_attr((char_u *)(s), (a))
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# define GUI_FUNCTION(f) (gui.in_use ? gui_##f : termtrue_##f)
|
||||
# define USE_24BIT (gui.in_use || p_guicolors)
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
# define GUI_FUNCTION(f) (gui.in_use ? gui_##f : termgui_##f)
|
||||
# define USE_24BIT (gui.in_use || p_tgc)
|
||||
# else
|
||||
# define GUI_FUNCTION(f) gui_##f
|
||||
# define USE_24BIT gui.in_use
|
||||
# endif
|
||||
#else
|
||||
# ifdef FEAT_TERMTRUECOLOR
|
||||
# define GUI_FUNCTION(f) termtrue_##f
|
||||
# define USE_24BIT p_guicolors
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
# define GUI_FUNCTION(f) termgui_##f
|
||||
# define USE_24BIT p_tgc
|
||||
# endif
|
||||
#endif
|
||||
#ifdef FEAT_TERMTRUECOLOR
|
||||
# define IS_CTERM (t_colors > 1 || p_guicolors)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
# define IS_CTERM (t_colors > 1 || p_tgc)
|
||||
#else
|
||||
# define IS_CTERM (t_colors > 1)
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue