]> granicus.if.org Git - vim/commitdiff
patch 8.0.0941: existing color schemes don't like StatusLineTerm v8.0.0941
authorBram Moolenaar <Bram@vim.org>
Mon, 14 Aug 2017 20:35:08 +0000 (22:35 +0200)
committerBram Moolenaar <Bram@vim.org>
Mon, 14 Aug 2017 20:35:08 +0000 (22:35 +0200)
Problem:    Existing color schemes don't work well with StatusLineTerm.
Solution:   Don't use "reverse", use fg and bg colors.  Also add
            StatusLineTermNC.

src/globals.h
src/option.c
src/screen.c
src/syntax.c
src/version.c
src/vim.h

index 5c2f3f19948f8877ff007974068e8131d761934e..7f2875b05e62bd4fbde56be41c3005bdc52aab22 100644 (file)
@@ -364,6 +364,7 @@ EXTERN int  highlight_user[9];              /* User[1-9] attributes */
 EXTERN int     highlight_stlnc[9];             /* On top of user */
 #  ifdef FEAT_TERMINAL
 EXTERN int     highlight_stlterm[9];           /* On top of user */
+EXTERN int     highlight_stltermnc[9];         /* On top of user */
 #  endif
 # endif
 #endif
index 55f0ad137101e2538aa5a5669ec4362629951878..1877b7e47f6e70c2f055afddc6d7e31f06dcedab 100644 (file)
@@ -481,7 +481,7 @@ struct vimoption
        || defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) \
        || defined(FEAT_CONCEAL) || defined(FEAT_QUICKFIX) \
        || defined(FEAT_TERMINAL)
-# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,$:StatusLineTerm"
+# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC"
 #else
 # define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,t:Title,v:Visual,w:WarningMsg,W:WildMenu,>:SignColumn,*:TabLine,#:TabLineSel,_:TabLineFill"
 #endif
index 05a170989550d9e1a257ecdc176dea8ee383aac4..55440f4a98bfcb99f790f49459844ece7fe37da0 100644 (file)
@@ -7258,6 +7258,9 @@ win_redr_custom(
            curattr = syn_id2attr(-hltab[n].userhl);
 #ifdef FEAT_WINDOWS
 # ifdef FEAT_TERMINAL
+       else if (wp != NULL && wp != curwin && bt_terminal(wp->w_buffer)
+                                                  && wp->w_status_height != 0)
+           curattr = highlight_stltermnc[hltab[n].userhl - 1];
        else if (wp != NULL && bt_terminal(wp->w_buffer)
                                                   && wp->w_status_height != 0)
            curattr = highlight_stlterm[hltab[n].userhl - 1];
@@ -10724,11 +10727,16 @@ fillchar_status(int *attr, win_T *wp)
 #ifdef FEAT_TERMINAL
     if (bt_terminal(wp->w_buffer))
     {
-       *attr = HL_ATTR(HLF_ST);
        if (wp == curwin)
+       {
+           *attr = HL_ATTR(HLF_ST);
            fill = fill_stl;
+       }
        else
+       {
+           *attr = HL_ATTR(HLF_STNC);
            fill = fill_stlnc;
+       }
     }
     else
 #endif
index c0cd80b357a382bc314d08c5d058fd867eb09882..637a45012c41492b5835a014126ff46524425666 100644 (file)
@@ -6873,230 +6873,237 @@ syntime_report(void)
 #else
 # define CENT(a, b) a
 #endif
-static char *(highlight_init_both[]) =
-    {
-       CENT("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White",
-            "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"),
-       CENT("IncSearch term=reverse cterm=reverse",
-            "IncSearch term=reverse cterm=reverse gui=reverse"),
-       CENT("ModeMsg term=bold cterm=bold",
-            "ModeMsg term=bold cterm=bold gui=bold"),
-       CENT("NonText term=bold ctermfg=Blue",
-            "NonText term=bold ctermfg=Blue gui=bold guifg=Blue"),
-       CENT("StatusLine term=reverse,bold cterm=reverse,bold",
-            "StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold"),
-       CENT("StatusLineNC term=reverse cterm=reverse",
-            "StatusLineNC term=reverse cterm=reverse gui=reverse"),
-#ifdef FEAT_TERMINAL
-       CENT("StatusLineTerm term=reverse cterm=reverse ctermFg=DarkGreen",
-            "StatusLineTerm term=reverse cterm=reverse ctermFg=DarkGreen gui=reverse guifg=DarkGreen"),
-#endif
-       "default link EndOfBuffer NonText",
+static char *(highlight_init_both[]) = {
+    CENT("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White",
+        "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"),
+    CENT("IncSearch term=reverse cterm=reverse",
+        "IncSearch term=reverse cterm=reverse gui=reverse"),
+    CENT("ModeMsg term=bold cterm=bold",
+        "ModeMsg term=bold cterm=bold gui=bold"),
+    CENT("NonText term=bold ctermfg=Blue",
+        "NonText term=bold ctermfg=Blue gui=bold guifg=Blue"),
+    CENT("StatusLine term=reverse,bold cterm=reverse,bold",
+        "StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold"),
+    CENT("StatusLineNC term=reverse cterm=reverse",
+        "StatusLineNC term=reverse cterm=reverse gui=reverse"),
+    "default link EndOfBuffer NonText",
 #ifdef FEAT_WINDOWS
-       CENT("VertSplit term=reverse cterm=reverse",
-            "VertSplit term=reverse cterm=reverse gui=reverse"),
+    CENT("VertSplit term=reverse cterm=reverse",
+        "VertSplit term=reverse cterm=reverse gui=reverse"),
 #endif
 #ifdef FEAT_CLIPBOARD
-       CENT("VisualNOS term=underline,bold cterm=underline,bold",
-            "VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold"),
+    CENT("VisualNOS term=underline,bold cterm=underline,bold",
+        "VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold"),
 #endif
 #ifdef FEAT_DIFF
-       CENT("DiffText term=reverse cterm=bold ctermbg=Red",
-            "DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red"),
+    CENT("DiffText term=reverse cterm=bold ctermbg=Red",
+        "DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red"),
 #endif
 #ifdef FEAT_INS_EXPAND
-       CENT("PmenuSbar ctermbg=Grey",
-            "PmenuSbar ctermbg=Grey guibg=Grey"),
+    CENT("PmenuSbar ctermbg=Grey",
+        "PmenuSbar ctermbg=Grey guibg=Grey"),
 #endif
 #ifdef FEAT_WINDOWS
-       CENT("TabLineSel term=bold cterm=bold",
-            "TabLineSel term=bold cterm=bold gui=bold"),
-       CENT("TabLineFill term=reverse cterm=reverse",
-            "TabLineFill term=reverse cterm=reverse gui=reverse"),
+    CENT("TabLineSel term=bold cterm=bold",
+        "TabLineSel term=bold cterm=bold gui=bold"),
+    CENT("TabLineFill term=reverse cterm=reverse",
+        "TabLineFill term=reverse cterm=reverse gui=reverse"),
 #endif
 #ifdef FEAT_GUI
-       "Cursor guibg=fg guifg=bg",
-       "lCursor guibg=fg guifg=bg", /* should be different, but what? */
-#endif
-       "default link QuickFixLine Search",
-       NULL
-    };
-
-static char *(highlight_init_light[]) =
-    {
-       CENT("Directory term=bold ctermfg=DarkBlue",
-            "Directory term=bold ctermfg=DarkBlue guifg=Blue"),
-       CENT("LineNr term=underline ctermfg=Brown",
-            "LineNr term=underline ctermfg=Brown guifg=Brown"),
-       CENT("CursorLineNr term=bold ctermfg=Brown",
-            "CursorLineNr term=bold ctermfg=Brown gui=bold guifg=Brown"),
-       CENT("MoreMsg term=bold ctermfg=DarkGreen",
-            "MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
-       CENT("Question term=standout ctermfg=DarkGreen",
-            "Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
-       CENT("Search term=reverse ctermbg=Yellow ctermfg=NONE",
-            "Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE"),
+    "Cursor guibg=fg guifg=bg",
+    "lCursor guibg=fg guifg=bg", /* should be different, but what? */
+#endif
+    "default link QuickFixLine Search",
+    NULL
+};
+
+/* Default colors only used with a light background. */
+static char *(highlight_init_light[]) = {
+    CENT("Directory term=bold ctermfg=DarkBlue",
+        "Directory term=bold ctermfg=DarkBlue guifg=Blue"),
+    CENT("LineNr term=underline ctermfg=Brown",
+        "LineNr term=underline ctermfg=Brown guifg=Brown"),
+    CENT("CursorLineNr term=bold ctermfg=Brown",
+        "CursorLineNr term=bold ctermfg=Brown gui=bold guifg=Brown"),
+    CENT("MoreMsg term=bold ctermfg=DarkGreen",
+        "MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
+    CENT("Question term=standout ctermfg=DarkGreen",
+        "Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
+    CENT("Search term=reverse ctermbg=Yellow ctermfg=NONE",
+        "Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE"),
 #ifdef FEAT_SPELL
-       CENT("SpellBad term=reverse ctermbg=LightRed",
-            "SpellBad term=reverse ctermbg=LightRed guisp=Red gui=undercurl"),
-       CENT("SpellCap term=reverse ctermbg=LightBlue",
-            "SpellCap term=reverse ctermbg=LightBlue guisp=Blue gui=undercurl"),
-       CENT("SpellRare term=reverse ctermbg=LightMagenta",
-            "SpellRare term=reverse ctermbg=LightMagenta guisp=Magenta gui=undercurl"),
-       CENT("SpellLocal term=underline ctermbg=Cyan",
-            "SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl"),
+    CENT("SpellBad term=reverse ctermbg=LightRed",
+        "SpellBad term=reverse ctermbg=LightRed guisp=Red gui=undercurl"),
+    CENT("SpellCap term=reverse ctermbg=LightBlue",
+        "SpellCap term=reverse ctermbg=LightBlue guisp=Blue gui=undercurl"),
+    CENT("SpellRare term=reverse ctermbg=LightMagenta",
+        "SpellRare term=reverse ctermbg=LightMagenta guisp=Magenta gui=undercurl"),
+    CENT("SpellLocal term=underline ctermbg=Cyan",
+        "SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl"),
 #endif
 #ifdef FEAT_INS_EXPAND
-       CENT("PmenuThumb ctermbg=Black",
-            "PmenuThumb ctermbg=Black guibg=Black"),
-       CENT("Pmenu ctermbg=LightMagenta ctermfg=Black",
-            "Pmenu ctermbg=LightMagenta ctermfg=Black guibg=LightMagenta"),
-       CENT("PmenuSel ctermbg=LightGrey ctermfg=Black",
-            "PmenuSel ctermbg=LightGrey ctermfg=Black guibg=Grey"),
-#endif
-       CENT("SpecialKey term=bold ctermfg=DarkBlue",
-            "SpecialKey term=bold ctermfg=DarkBlue guifg=Blue"),
-       CENT("Title term=bold ctermfg=DarkMagenta",
-            "Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta"),
-       CENT("WarningMsg term=standout ctermfg=DarkRed",
-            "WarningMsg term=standout ctermfg=DarkRed guifg=Red"),
+    CENT("PmenuThumb ctermbg=Black",
+        "PmenuThumb ctermbg=Black guibg=Black"),
+    CENT("Pmenu ctermbg=LightMagenta ctermfg=Black",
+        "Pmenu ctermbg=LightMagenta ctermfg=Black guibg=LightMagenta"),
+    CENT("PmenuSel ctermbg=LightGrey ctermfg=Black",
+        "PmenuSel ctermbg=LightGrey ctermfg=Black guibg=Grey"),
+#endif
+    CENT("SpecialKey term=bold ctermfg=DarkBlue",
+        "SpecialKey term=bold ctermfg=DarkBlue guifg=Blue"),
+    CENT("Title term=bold ctermfg=DarkMagenta",
+        "Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta"),
+    CENT("WarningMsg term=standout ctermfg=DarkRed",
+        "WarningMsg term=standout ctermfg=DarkRed guifg=Red"),
 #ifdef FEAT_WILDMENU
-       CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
-            "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
+    CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
+        "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
 #endif
 #ifdef FEAT_FOLDING
-       CENT("Folded term=standout ctermbg=Grey ctermfg=DarkBlue",
-            "Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue"),
-       CENT("FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
-            "FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
+    CENT("Folded term=standout ctermbg=Grey ctermfg=DarkBlue",
+        "Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue"),
+    CENT("FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+        "FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
 #endif
 #ifdef FEAT_SIGNS
-       CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
-            "SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
+    CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+        "SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
 #endif
-       CENT("Visual term=reverse",
-            "Visual term=reverse guibg=LightGrey"),
+    CENT("Visual term=reverse",
+        "Visual term=reverse guibg=LightGrey"),
 #ifdef FEAT_DIFF
-       CENT("DiffAdd term=bold ctermbg=LightBlue",
-            "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
-       CENT("DiffChange term=bold ctermbg=LightMagenta",
-            "DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta"),
-       CENT("DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan",
-            "DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan"),
+    CENT("DiffAdd term=bold ctermbg=LightBlue",
+        "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
+    CENT("DiffChange term=bold ctermbg=LightMagenta",
+        "DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta"),
+    CENT("DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan",
+        "DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan"),
 #endif
 #ifdef FEAT_WINDOWS
-       CENT("TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey",
-            "TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey gui=underline guibg=LightGrey"),
+    CENT("TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey",
+        "TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey gui=underline guibg=LightGrey"),
 #endif
 #ifdef FEAT_SYN_HL
-       CENT("CursorColumn term=reverse ctermbg=LightGrey",
-            "CursorColumn term=reverse ctermbg=LightGrey guibg=Grey90"),
-       CENT("CursorLine term=underline cterm=underline",
-            "CursorLine term=underline cterm=underline guibg=Grey90"),
-       CENT("ColorColumn term=reverse ctermbg=LightRed",
-            "ColorColumn term=reverse ctermbg=LightRed guibg=LightRed"),
+    CENT("CursorColumn term=reverse ctermbg=LightGrey",
+        "CursorColumn term=reverse ctermbg=LightGrey guibg=Grey90"),
+    CENT("CursorLine term=underline cterm=underline",
+        "CursorLine term=underline cterm=underline guibg=Grey90"),
+    CENT("ColorColumn term=reverse ctermbg=LightRed",
+        "ColorColumn term=reverse ctermbg=LightRed guibg=LightRed"),
 #endif
 #ifdef FEAT_CONCEAL
-       CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
-            "Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
+    CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
+        "Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
 #endif
 #ifdef FEAT_AUTOCMD
-       CENT("MatchParen term=reverse ctermbg=Cyan",
-            "MatchParen term=reverse ctermbg=Cyan guibg=Cyan"),
+    CENT("MatchParen term=reverse ctermbg=Cyan",
+        "MatchParen term=reverse ctermbg=Cyan guibg=Cyan"),
 #endif
 #ifdef FEAT_GUI
-       "Normal gui=NONE",
-#endif
-       NULL
-    };
-
-static char *(highlight_init_dark[]) =
-    {
-       CENT("Directory term=bold ctermfg=LightCyan",
-            "Directory term=bold ctermfg=LightCyan guifg=Cyan"),
-       CENT("LineNr term=underline ctermfg=Yellow",
-            "LineNr term=underline ctermfg=Yellow guifg=Yellow"),
-       CENT("CursorLineNr term=bold ctermfg=Yellow",
-            "CursorLineNr term=bold ctermfg=Yellow gui=bold guifg=Yellow"),
-       CENT("MoreMsg term=bold ctermfg=LightGreen",
-            "MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen"),
-       CENT("Question term=standout ctermfg=LightGreen",
-            "Question term=standout ctermfg=LightGreen gui=bold guifg=Green"),
-       CENT("Search term=reverse ctermbg=Yellow ctermfg=Black",
-            "Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
-       CENT("SpecialKey term=bold ctermfg=LightBlue",
-            "SpecialKey term=bold ctermfg=LightBlue guifg=Cyan"),
+    "Normal gui=NONE",
+#endif
+#ifdef FEAT_TERMINAL
+    CENT("StatusLineTerm term=reverse,bold cterm=bold ctermfg=White ctermbg=DarkGreen",
+        "StatusLineTerm term=reverse,bold cterm=bold ctermfg=White ctermbg=DarkGreen gui=bold guifg=bg guibg=DarkGreen"),
+    CENT("StatusLineTermNC term=reverse ctermfg=White ctermbg=DarkGreen",
+        "StatusLineTermNC term=reverse ctermfg=White ctermbg=DarkGreen guifg=bg guibg=DarkGreen"),
+#endif
+    NULL
+};
+
+/* Default colors only used with a dark background. */
+static char *(highlight_init_dark[]) = {
+    CENT("Directory term=bold ctermfg=LightCyan",
+        "Directory term=bold ctermfg=LightCyan guifg=Cyan"),
+    CENT("LineNr term=underline ctermfg=Yellow",
+        "LineNr term=underline ctermfg=Yellow guifg=Yellow"),
+    CENT("CursorLineNr term=bold ctermfg=Yellow",
+        "CursorLineNr term=bold ctermfg=Yellow gui=bold guifg=Yellow"),
+    CENT("MoreMsg term=bold ctermfg=LightGreen",
+        "MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen"),
+    CENT("Question term=standout ctermfg=LightGreen",
+        "Question term=standout ctermfg=LightGreen gui=bold guifg=Green"),
+    CENT("Search term=reverse ctermbg=Yellow ctermfg=Black",
+        "Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
+    CENT("SpecialKey term=bold ctermfg=LightBlue",
+        "SpecialKey term=bold ctermfg=LightBlue guifg=Cyan"),
 #ifdef FEAT_SPELL
-       CENT("SpellBad term=reverse ctermbg=Red",
-            "SpellBad term=reverse ctermbg=Red guisp=Red gui=undercurl"),
-       CENT("SpellCap term=reverse ctermbg=Blue",
-            "SpellCap term=reverse ctermbg=Blue guisp=Blue gui=undercurl"),
-       CENT("SpellRare term=reverse ctermbg=Magenta",
-            "SpellRare term=reverse ctermbg=Magenta guisp=Magenta gui=undercurl"),
-       CENT("SpellLocal term=underline ctermbg=Cyan",
-            "SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl"),
+    CENT("SpellBad term=reverse ctermbg=Red",
+        "SpellBad term=reverse ctermbg=Red guisp=Red gui=undercurl"),
+    CENT("SpellCap term=reverse ctermbg=Blue",
+        "SpellCap term=reverse ctermbg=Blue guisp=Blue gui=undercurl"),
+    CENT("SpellRare term=reverse ctermbg=Magenta",
+        "SpellRare term=reverse ctermbg=Magenta guisp=Magenta gui=undercurl"),
+    CENT("SpellLocal term=underline ctermbg=Cyan",
+        "SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl"),
 #endif
 #ifdef FEAT_INS_EXPAND
-       CENT("PmenuThumb ctermbg=White",
-            "PmenuThumb ctermbg=White guibg=White"),
-       CENT("Pmenu ctermbg=Magenta ctermfg=Black",
-            "Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
-       CENT("PmenuSel ctermbg=Black ctermfg=DarkGrey",
-            "PmenuSel ctermbg=Black ctermfg=DarkGrey guibg=DarkGrey"),
-#endif
-       CENT("Title term=bold ctermfg=LightMagenta",
-            "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
-       CENT("WarningMsg term=standout ctermfg=LightRed",
-            "WarningMsg term=standout ctermfg=LightRed guifg=Red"),
+    CENT("PmenuThumb ctermbg=White",
+        "PmenuThumb ctermbg=White guibg=White"),
+    CENT("Pmenu ctermbg=Magenta ctermfg=Black",
+        "Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
+    CENT("PmenuSel ctermbg=Black ctermfg=DarkGrey",
+        "PmenuSel ctermbg=Black ctermfg=DarkGrey guibg=DarkGrey"),
+#endif
+    CENT("Title term=bold ctermfg=LightMagenta",
+        "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
+    CENT("WarningMsg term=standout ctermfg=LightRed",
+        "WarningMsg term=standout ctermfg=LightRed guifg=Red"),
 #ifdef FEAT_WILDMENU
-       CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
-            "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
+    CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
+        "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
 #endif
 #ifdef FEAT_FOLDING
-       CENT("Folded term=standout ctermbg=DarkGrey ctermfg=Cyan",
-            "Folded term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan"),
-       CENT("FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
-            "FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
+    CENT("Folded term=standout ctermbg=DarkGrey ctermfg=Cyan",
+        "Folded term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan"),
+    CENT("FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+        "FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
 #endif
 #ifdef FEAT_SIGNS
-       CENT("SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
-            "SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
+    CENT("SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+        "SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
 #endif
-       CENT("Visual term=reverse",
-            "Visual term=reverse guibg=DarkGrey"),
+    CENT("Visual term=reverse",
+        "Visual term=reverse guibg=DarkGrey"),
 #ifdef FEAT_DIFF
-       CENT("DiffAdd term=bold ctermbg=DarkBlue",
-            "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
-       CENT("DiffChange term=bold ctermbg=DarkMagenta",
-            "DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta"),
-       CENT("DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan",
-            "DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan"),
+    CENT("DiffAdd term=bold ctermbg=DarkBlue",
+        "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
+    CENT("DiffChange term=bold ctermbg=DarkMagenta",
+        "DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta"),
+    CENT("DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan",
+        "DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan"),
 #endif
 #ifdef FEAT_WINDOWS
-       CENT("TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey",
-            "TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey gui=underline guibg=DarkGrey"),
+    CENT("TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey",
+        "TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey gui=underline guibg=DarkGrey"),
 #endif
 #ifdef FEAT_SYN_HL
-       CENT("CursorColumn term=reverse ctermbg=DarkGrey",
-            "CursorColumn term=reverse ctermbg=DarkGrey guibg=Grey40"),
-       CENT("CursorLine term=underline cterm=underline",
-            "CursorLine term=underline cterm=underline guibg=Grey40"),
-       CENT("ColorColumn term=reverse ctermbg=DarkRed",
-            "ColorColumn term=reverse ctermbg=DarkRed guibg=DarkRed"),
+    CENT("CursorColumn term=reverse ctermbg=DarkGrey",
+        "CursorColumn term=reverse ctermbg=DarkGrey guibg=Grey40"),
+    CENT("CursorLine term=underline cterm=underline",
+        "CursorLine term=underline cterm=underline guibg=Grey40"),
+    CENT("ColorColumn term=reverse ctermbg=DarkRed",
+        "ColorColumn term=reverse ctermbg=DarkRed guibg=DarkRed"),
 #endif
 #ifdef FEAT_AUTOCMD
-       CENT("MatchParen term=reverse ctermbg=DarkCyan",
-            "MatchParen term=reverse ctermbg=DarkCyan guibg=DarkCyan"),
+    CENT("MatchParen term=reverse ctermbg=DarkCyan",
+        "MatchParen term=reverse ctermbg=DarkCyan guibg=DarkCyan"),
 #endif
 #ifdef FEAT_CONCEAL
-       CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
-            "Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
+    CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
+        "Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
 #endif
 #ifdef FEAT_GUI
-       "Normal gui=NONE",
+    "Normal gui=NONE",
 #endif
-       NULL
-    };
+#ifdef FEAT_TERMINAL
+    CENT("StatusLineTerm term=reverse,bold cterm=bold ctermfg=Black ctermbg=LightGreen",
+        "StatusLineTerm term=reverse,bold cterm=bold ctermfg=Black ctermbg=LightGreen gui=bold guifg=bg guibg=LightGreen"),
+    CENT("StatusLineTermNC term=reverse ctermfg=Black ctermbg=LightGreen",
+        "StatusLineTermNC term=reverse ctermfg=Black ctermbg=LightGreen guifg=bg guibg=LightGreen"),
+#endif
+    NULL
+};
 
     void
 init_highlight(
@@ -9788,7 +9795,7 @@ gui_do_one_color(
 
 #if defined(USER_HIGHLIGHT) && defined(FEAT_STL_OPT)
 /*
- * Apply difference between User[1-9] and HLF_S to HLF_SNC or HLF_ST.
+ * Apply difference between User[1-9] and HLF_S to HLF_SNC, HLF_ST or HLF_STNC.
  */
     static void
 combine_stl_hlt(
@@ -9877,6 +9884,7 @@ highlight_changed(void)
     int                id_S = -1;
 #  ifdef FEAT_TERMINAL
     int                id_ST = -1;
+    int                id_STNC = -1;
 #  endif
     int                hlcnt;
 # endif
@@ -9960,6 +9968,8 @@ highlight_changed(void)
 # ifdef FEAT_TERMINAL
                                else if (hlf == (int)HLF_ST)
                                    id_ST = syn_get_final_id(id);
+                               else if (hlf == (int)HLF_STNC)
+                                   id_STNC = syn_get_final_id(id);
 # endif
                                else if (hlf == (int)HLF_S)
                                    id_S = syn_get_final_id(id);
@@ -9977,22 +9987,23 @@ highlight_changed(void)
 #ifdef USER_HIGHLIGHT
     /* Setup the user highlights
      *
-     * Temporarily utilize 19 more hl entries:
+     * Temporarily utilize 28 more hl entries:
      * 9 for User1-User9 combined with StatusLineNC
      * 9 for User1-User9 combined with StatusLineTerm
+     * 9 for User1-User9 combined with StatusLineTermNC
      * 1 for StatusLine default
      * Have to be in there simultaneously in case of table overflows in
      * get_attr_entry()
      */
 # ifdef FEAT_STL_OPT
-    if (ga_grow(&highlight_ga, 19) == FAIL)
+    if (ga_grow(&highlight_ga, 28) == FAIL)
        return FAIL;
     hlcnt = highlight_ga.ga_len;
     if (id_S == 0)
     {
        /* Make sure id_S is always valid to simplify code below. Use the last
         * entry. */
-       vim_memset(&HL_TABLE()[hlcnt + 18], 0, sizeof(struct hl_group));
+       vim_memset(&HL_TABLE()[hlcnt + 27], 0, sizeof(struct hl_group));
        HL_TABLE()[hlcnt + 18].sg_term = highlight_attr[HLF_S];
        id_S = hlcnt + 19;
     }
@@ -10008,6 +10019,7 @@ highlight_changed(void)
            highlight_stlnc[i] = 0;
 #  ifdef FEAT_TERMINAL
            highlight_stlterm[i] = 0;
+           highlight_stltermnc[i] = 0;
 #  endif
 # endif
        }
@@ -10020,6 +10032,8 @@ highlight_changed(void)
 #  ifdef FEAT_TERMINAL
            combine_stl_hlt(id, id_S, id_ST, hlcnt + 9, i,
                                                    HLF_ST, highlight_stlterm);
+           combine_stl_hlt(id, id_S, id_STNC, hlcnt + 18, i,
+                                               HLF_STNC, highlight_stltermnc);
 #  endif
 # endif
        }
index f399dc780b7a38f1c48b5e3c234d71014559573c..d4617b0fd0a5bc0fed4a01c44e50952794148bfe 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    941,
 /**/
     940,
 /**/
index 23a000eef75ba8fc25426ff96eb83bfc29a65ef5..991c1b78a16998179d852541743bb1c40a1b8fad 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -1437,6 +1437,7 @@ typedef enum
     , HLF_MC       /* 'colorcolumn' */
     , HLF_QFL      /* quickfix window line currently selected */
     , HLF_ST       /* status lines of terminal windows */
+    , HLF_STNC     /* status lines of not-current terminal windows */
     , HLF_COUNT            /* MUST be the last one */
 } hlf_T;
 
@@ -1446,7 +1447,8 @@ typedef enum
                  'n', 'N', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
                  'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \
                  'B', 'P', 'R', 'L', \
-                 '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o', 'q', '$'}
+                 '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o', 'q', \
+                 'z', 'Z'}
 
 /*
  * Boolean constants