From afa4f2ddf0fecb37914ec37357636abb18013422 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Fri, 25 Jan 2019 17:27:08 +0000 Subject: [PATCH] Use the Diff* highlight groups by default. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change makes the plugin default to using the highlight groups defined by the colorscheme instead of hardcoding its own foreground colours. If you liked the previous colours you can restore them by adding these lines to your vimrc: highlight GitGutterAdd guifg=#009900 guibg= ctermfg=2 ctermb= highlight GitGutterChange guifg=#bbbb00 guibg= ctermfg=3 ctermb= highlight GitGutterDelete guifg=#ff2222 guibg= ctermfg=1 ctermb= – where you should replace and are the background colour of your SignColumn in the gui and the terminal respectively. For example, with the solarized colorscheme and a dark background, guibg=#073642 and ctermbg=0. Closes #545, #560. --- README.mkd | 16 +++++++++++----- autoload/gitgutter/highlight.vim | 13 ++++--------- doc/gitgutter.txt | 7 ++++++- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/README.mkd b/README.mkd index fbee4aa..990a7a6 100644 --- a/README.mkd +++ b/README.mkd @@ -273,13 +273,13 @@ endif To customise the colours, set up the following highlight groups in your colorscheme or `~/.vimrc`: ```viml -GitGutterAdd " an added line -GitGutterChange " a changed line -GitGutterDelete " at least one removed line -GitGutterChangeDelete " a changed line followed by at least one removed line +GitGutterAdd " an added line (default: links to DiffAdd) +GitGutterChange " a changed line (default: links to DiffChange) +GitGutterDelete " at least one removed line (default: links to DiffDelete) +GitGutterChangeDelete " a changed line followed by at least one removed line (default: links to GitGutterChange) ``` -You can either set these with `highlight GitGutterAdd {key}={arg}...` or link them to existing highlight groups with, say, `highlight link GitGutterAdd DiffAdd`. +You can either set these with `highlight GitGutterAdd {key}={arg}...` or link them to existing highlight groups with, say, `highlight link GitGutterAdd MyDiffAdd`. To customise the symbols, add the following to your `~/.vimrc`: @@ -303,6 +303,12 @@ GitGutterDeleteLine " default: links to DiffDelete GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault, i.e. DiffChange ``` +For example, in some colorschemes the `DiffText` highlight group is easier to read than `DiffChange`. You could use it like this: + +```viml +highlight link GitGutterChangeLine DiffText +``` + #### The base of the diff diff --git a/autoload/gitgutter/highlight.vim b/autoload/gitgutter/highlight.vim index b8bc771..62746f7 100644 --- a/autoload/gitgutter/highlight.vim +++ b/autoload/gitgutter/highlight.vim @@ -45,20 +45,15 @@ function! gitgutter#highlight#define_highlights() abort " Highlights used by the signs. - execute "highlight GitGutterAddDefault guifg=#009900 guibg=" . guibg . " ctermfg=2 ctermbg=" . ctermbg - execute "highlight GitGutterChangeDefault guifg=#bbbb00 guibg=" . guibg . " ctermfg=3 ctermbg=" . ctermbg - execute "highlight GitGutterDeleteDefault guifg=#ff2222 guibg=" . guibg . " ctermfg=1 ctermbg=" . ctermbg - highlight default link GitGutterChangeDeleteDefault GitGutterChangeDefault - execute "highlight GitGutterAddInvisible guifg=bg guibg=" . guibg . " ctermfg=" . ctermbg . " ctermbg=" . ctermbg execute "highlight GitGutterChangeInvisible guifg=bg guibg=" . guibg . " ctermfg=" . ctermbg . " ctermbg=" . ctermbg execute "highlight GitGutterDeleteInvisible guifg=bg guibg=" . guibg . " ctermfg=" . ctermbg . " ctermbg=" . ctermbg highlight default link GitGutterChangeDeleteInvisible GitGutterChangeInvisible - highlight default link GitGutterAdd GitGutterAddDefault - highlight default link GitGutterChange GitGutterChangeDefault - highlight default link GitGutterDelete GitGutterDeleteDefault - highlight default link GitGutterChangeDelete GitGutterChangeDeleteDefault + highlight default link GitGutterAdd DiffAdd + highlight default link GitGutterChange DiffChange + highlight default link GitGutterDelete DiffDelete + highlight default link GitGutterChangeDelete GitGutterChange " Highlights used for the whole line. diff --git a/doc/gitgutter.txt b/doc/gitgutter.txt index 49d6d99..87825da 100644 --- a/doc/gitgutter.txt +++ b/doc/gitgutter.txt @@ -438,7 +438,7 @@ colorscheme or |vimrc|: You can either set these with `highlight GitGutterAdd {key}={arg}...` or link them to existing highlight groups with, say: > - highlight link GitGutterAdd DiffAdd + highlight link GitGutterAdd MyDiffAdd < To change the line highlights, set up the following highlight groups in your @@ -450,6 +450,11 @@ colorscheme or |vimrc|: GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault < +For example, to use |hl-DiffText| instead of |hl-DiffChange|: +> + highlight link GitGutterChangeLine DiffChange +< + =============================================================================== FAQ *gitgutter-faq*