Bram Moolenaar wrote (Fri, Oct 31, 2014 at 01:03:59PM +0100):
> The only bit that I don't like is having to change all color schemes
> to add the highlight link. Can't this be done by default? Instead of
> specifying colors that are initially equal to NonText, link
> EndOfBuffer to NonText when initializing the colors.
You're right, and it was only one line that had to be changed in the
patch. Now EndOfBuffer gets linked to NonText when the built-in colors
get initialized.
--
Github: http://github.com/mhinz | Twitter: http://twitter.com/_mhinz_
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff -r bfecd68c04dd runtime/doc/options.txt
--- a/runtime/doc/options.txt Fri Oct 31 19:51:36 2014 +0100
+++ b/runtime/doc/options.txt Sun Nov 02 14:10:18 2014 +0100
@@ -3853,17 +3853,16 @@
*'highlight'* *'hl'*
'highlight' 'hl' string (default (as a single string):
- "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,
- c:VertSplit, t:Title,v:Visual,
- w:WarningMsg,W:WildMenu,
- f:Folded,F:FoldColumn,A:DiffAdd,
- C:DiffChange,D:DiffDelete,T:DiffText,
- >:SignColumn,B:SpellBad,P:SpellCap,
- R:SpellRare,L:SpellLocal,-:Conceal,
- +:Pmenu,=:PmenuSel,
+ "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,w:WarningMsg,W:WildMenu,f:Folded,
+ F:FoldColumn,A:DiffAdd,C:DiffChange,
+ D:DiffDelete,T:DiffText,>:SignColumn,
+ B:SpellBad,P:SpellCap,R:SpellRare,
+ L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
x:PmenuSbar,X:PmenuThumb")
global
{not in Vi}
@@ -3872,7 +3871,8 @@
first character in a pair gives the occasion, the second the mode to
use for that occasion. The occasions are:
|hl-SpecialKey| 8 Meta and special keys listed with ":map"
- |hl-NonText| @ '~' and '@' at the end of the window and
+ |hl-EndOfBuffer| ~ lines after the last line in the buffer
+ |hl-NonText| @ '@' at the end of the window and
characters from 'showbreak'
|hl-Directory| d directories in CTRL-D listing and other special
things in listings
diff -r bfecd68c04dd runtime/doc/syntax.txt
--- a/runtime/doc/syntax.txt Fri Oct 31 19:51:36 2014 +0100
+++ b/runtime/doc/syntax.txt Sun Nov 02 14:10:18 2014 +0100
@@ -4761,6 +4761,8 @@
DiffDelete diff mode: Deleted line |diff.txt|
*hl-DiffText*
DiffText diff mode: Changed text within a changed line |diff.txt|
+ *hl-EndofBuffer*
+EndOfBuffer lines after the last line in the buffer
*hl-ErrorMsg*
ErrorMsg error messages on the command line
*hl-VertSplit*
@@ -4789,10 +4791,10 @@
*hl-MoreMsg*
MoreMsg |more-prompt|
*hl-NonText*
-NonText '~' and '@' at the end of the window, characters from
- 'showbreak' and other characters that do not really exist in
- the text (e.g., ">" displayed when a double-wide character
- doesn't fit at the end of the line).
+NonText '@' at the end of the window, characters from 'showbreak'
+ and other characters that do not really exist in the text
+ (e.g., ">" displayed when a double-wide character doesn't
+ fit at the end of the line).
*hl-Normal*
Normal normal text
*hl-Pmenu*
diff -r bfecd68c04dd runtime/doc/tags
--- a/runtime/doc/tags Fri Oct 31 19:51:36 2014 +0100
+++ b/runtime/doc/tags Sun Nov 02 14:10:18 2014 +0100
@@ -6380,6 +6380,7 @@
hl-DiffDelete syntax.txt /*hl-DiffDelete*
hl-DiffText syntax.txt /*hl-DiffText*
hl-Directory syntax.txt /*hl-Directory*
+hl-EndofBuffer syntax.txt /*hl-EndofBuffer*
hl-ErrorMsg syntax.txt /*hl-ErrorMsg*
hl-FoldColumn syntax.txt /*hl-FoldColumn*
hl-Folded syntax.txt /*hl-Folded*
diff -r bfecd68c04dd runtime/syntax/vim.vim
--- a/runtime/syntax/vim.vim Fri Oct 31 19:51:36 2014 +0100
+++ b/runtime/syntax/vim.vim Sun Nov 02 14:10:18 2014 +0100
@@ -68,7 +68,7 @@
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
" Default highlighting groups {{{2
-syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
+syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
syn match vimHLGroup contained "Conceal"
syn case match
diff -r bfecd68c04dd src/option.c
--- a/src/option.c Fri Oct 31 19:51:36 2014 +0100
+++ b/src/option.c Sun Nov 02 14:10:18 2014 +0100
@@ -469,7 +469,7 @@
#if defined(FEAT_DIFF) || defined(FEAT_FOLDING) || defined(FEAT_SPELL) \
|| defined(FEAT_VERTSPLIT) || defined(FEAT_CLIPBOARD) \
|| defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) || defined(FEAT_CONCEAL)
-# 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,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"
+# 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"
#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
diff -r bfecd68c04dd src/screen.c
--- a/src/screen.c Fri Oct 31 19:51:36 2014 +0100
+++ b/src/screen.c Sun Nov 02 14:10:18 2014 +0100
@@ -2151,7 +2151,7 @@
/* make sure the rest of the screen is blank */
/* put '~'s on rows that aren't part of the file. */
- win_draw_end(wp, '~', ' ', row, wp->w_height, HLF_AT);
+ win_draw_end(wp, '~', ' ', row, wp->w_height, HLF_EOB);
}
/* Reset the type of redrawing required, the window has been updated. */
diff -r bfecd68c04dd src/syntax.c
--- a/src/syntax.c Fri Oct 31 19:51:36 2014 +0100
+++ b/src/syntax.c Sun Nov 02 14:10:18 2014 +0100
@@ -6756,6 +6756,7 @@
"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_VERTSPLIT
CENT("VertSplit term=reverse cterm=reverse",
"VertSplit term=reverse cterm=reverse gui=reverse"),
diff -r bfecd68c04dd src/vim.h
--- a/src/vim.h Fri Oct 31 19:51:36 2014 +0100
+++ b/src/vim.h Sun Nov 02 14:10:18 2014 +0100
@@ -1342,7 +1342,8 @@
{
HLF_8 = 0 /* Meta & special keys listed with ":map", text that is
displayed different from what it is */
- , HLF_AT /* @ and ~ characters at end of screen, characters that
+ , HLF_EOB /* after the last line in the buffer */
+ , HLF_AT /* @ characters at end of screen, characters that
don't really exist in the text */
, HLF_D /* directories in CTRL-D listing */
, HLF_E /* error messages */
@@ -1389,7 +1390,7 @@
/* The HL_FLAGS must be in the same order as the HLF_ enums!
* When changing this also adjust the default for 'highlight'. */
-#define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \
+#define HL_FLAGS {'8', '~', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \
'n', 'N', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \
'B', 'P', 'R', 'L', \