diff options
author | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2016-05-02 07:34:06 +0900 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-05-10 06:04:26 -0400 |
commit | acc5d08b371c9521d63aa4a37cce9ffab451d21d (patch) | |
tree | 394d063dd69bcf8d2f0f24f8a9a8f53982e49950 /runtime | |
parent | a5a1768918286ef3ac4181b45b8b7eafb37767ac (diff) | |
download | rneovim-acc5d08b371c9521d63aa4a37cce9ffab451d21d.tar.gz rneovim-acc5d08b371c9521d63aa4a37cce9ffab451d21d.tar.bz2 rneovim-acc5d08b371c9521d63aa4a37cce9ffab451d21d.zip |
'termguicolors' #4690
TODO: Only works at startup (i.e., in the user's init.vim/vimrc/--cmd),
but it should probably work at any time.
---
patch 7.4.1799
Problem: 'guicolors' is a confusing option name.
Solution: Use 'termguicolors' instead. (Hirohito Higashi)
https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
patch 7.4.1806
Problem: 'termguicolors' option missing from the options window.
Solution: Add the entry.
https://github.com/vim/vim/commit/8e3d1b6326c103cc92f8d07b1161ee5172acf201
patch 7.4.1808
Problem: Using wrong feature name to check for 'termguicolors'.
Solution: Use the right feature name. (Ken Takata)
https://github.com/vim/vim/commit/8a24b794b89916c8074892e7b25121a21f1fa9c9
patch 7.4.1809
Problem: Using wrong short option name for 'termguicolors'.
Solution: Use the option name.
https://github.com/vim/vim/commit/868cfc19bb079a16ca58884b551486566f35419b
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/options.txt | 8 | ||||
-rw-r--r-- | runtime/doc/various.txt | 1 | ||||
-rw-r--r-- | runtime/optwin.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/dircolors.vim | 42 |
4 files changed, 34 insertions, 21 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 84fc2ecfc1..fedacfaea4 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -6420,6 +6420,14 @@ A jump table for the options with a short description can be found at |Q_op|. *'termencoding'* *'tenc'* 'termencoding' 'tenc' Removed. |vim-differences| {Nvim} + *'termguicolors'* *'tgc'* +'termguicolors' 'tgc' boolean (default off) + global + When on, uses |highlight-guifg| and |highlight-guibg| attributes in + the terminal (thus using 24-bit color). Requires a ISO-8613-3 + compatible terminal. + Must be set at startup (in your |init.vim| or |--cmd|). + *'terse'* *'noterse'* 'terse' boolean (default off) global diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 3a2b8115db..af4224993f 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -371,6 +371,7 @@ N *+tablineat* 'tabline' option recognizing %@Func@ items. N *+tag_binary* binary searching in tags file |tag-binary-search| N *+tag_old_static* old method for static tags |tag-old-static| m *+tag_any_white* any white space allowed in tags file |tag-any-white| +B *+termguicolors* 24-bit color in xterm-compatible terminals support *+terminfo* uses |terminfo| instead of termcap N *+termresponse* support for |t_RV| and |v:termresponse| N *+textobjects* |text-objects| selection diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 7050436aab..07dcd31b1b 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -410,6 +410,10 @@ call append("$", "highlight\twhich highlighting to use for various occasions") call <SID>OptionG("hl", &hl) call append("$", "hlsearch\thighlight all matches for the last used search pattern") call <SID>BinOptionG("hls", &hls) +if has("termguicolors") + call append("$", "termguicolors\tuse GUI colors for the terminal") + call <SID>BinOptionG("tgc", &tgc) +endif if has("syntax") call append("$", "cursorcolumn\thighlight the screen column of the cursor") call append("$", "\t(local to window)") diff --git a/runtime/syntax/dircolors.vim b/runtime/syntax/dircolors.vim index c94d720644..1b598c39b5 100644 --- a/runtime/syntax/dircolors.vim +++ b/runtime/syntax/dircolors.vim @@ -44,24 +44,24 @@ highlight default link dircolorsExtension Identifier highlight default link dircolorsEscape Special function! s:set_guicolors() abort - let s:guicolors = {} - - 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 = {} + + 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 |