On Sun, Nov 02, 2014 at 09:55:07PM +0100, Bram Moolenaar wrote:
>
> Marco Hinz wrote:
>
> > 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.
>
> Thanks for the update. I'll add it in the todo list.
Updated patch to build against 7.4.2152.
Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB
--
--
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 --git i/runtime/doc/options.txt w/runtime/doc/options.txt
index 16002dd..c44e1af 100644
--- i/runtime/doc/options.txt
+++ w/runtime/doc/options.txt
@@ -3945,17 +3945,16 @@ A jump table for the options with a short description can be found at |Q_op|.
*'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}
@@ -3964,7 +3963,8 @@ A jump table for the options with a short description can be found at |Q_op|.
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 --git i/runtime/doc/syntax.txt w/runtime/doc/syntax.txt
index 20af7ce..bbb1b00 100644
--- i/runtime/doc/syntax.txt
+++ w/runtime/doc/syntax.txt
@@ -4868,6 +4868,9 @@ DiffChange diff mode: Changed line |diff.txt|
DiffDelete diff mode: Deleted line |diff.txt|
*hl-DiffText*
DiffText diff mode: Changed text within a changed line |diff.txt|
+ *hl-EndofBuffer*
+EndOfBuffer filler lines (~) after the last line in the buffer.
+ By default, this is highlighted like |hl-NonText|.
*hl-ErrorMsg*
ErrorMsg error messages on the command line
*hl-VertSplit*
@@ -4896,10 +4899,10 @@ ModeMsg 'showmode' message (e.g., "-- INSERT --")
*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 --git i/src/option.c w/src/option.c
index b9b59ee..a57cf98 100644
--- i/src/option.c
+++ w/src/option.c
@@ -468,7 +468,7 @@ struct vimoption
#if defined(FEAT_DIFF) || defined(FEAT_FOLDING) || defined(FEAT_SPELL) \
|| defined(FEAT_WINDOWS) || 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 --git i/src/screen.c w/src/screen.c
index f8d283f..4bd2192 100644
--- i/src/screen.c
+++ w/src/screen.c
@@ -2203,7 +2203,7 @@ win_update(win_T *wp)
/* 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 --git i/src/syntax.c w/src/syntax.c
index 0face62..5c170bf 100644
--- i/src/syntax.c
+++ w/src/syntax.c
@@ -6789,6 +6789,7 @@ static char *(highlight_init_both[]) =
"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"),
diff --git i/src/vim.h w/src/vim.h
index 398fcc5..40bc6b0 100644
--- i/src/vim.h
+++ w/src/vim.h
@@ -1362,7 +1362,8 @@ typedef enum
{
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 */
@@ -1409,7 +1410,7 @@ typedef enum
/* 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', \