mirror of https://github.com/amix/vimrc.git
Feature/vim indent guides (#608)
parent
1717536b95
commit
ff31be3f45
@ -0,0 +1 @@ |
||||
doc/tags |
@ -0,0 +1,111 @@ |
||||
# Indent Guides |
||||
Indent Guides is a plugin for visually displaying indent levels in Vim. |
||||
|
||||
<img src="http://i.imgur.com/ONgoj.png" width="448" height="448" alt="" /> |
||||
|
||||
## Features: |
||||
* Can detect both tab and space indent styles. |
||||
* Automatically inspects your colorscheme and picks appropriate colors (gVim only). |
||||
* Will highlight indent levels with alternating colors. |
||||
* Full support for gVim and basic support for Terminal Vim. |
||||
* Seems to work on Windows gVim 7.3 (haven't done any extensive tests though). |
||||
* Customizable size for indent guides, eg. skinny guides (soft-tabs only). |
||||
* Customizable start indent level. |
||||
* Highlight support for files with a mixture of tab and space indent styles. |
||||
|
||||
## Requirements |
||||
* Vim 7.2+ |
||||
|
||||
## Installation |
||||
To install the plugin copy `autoload`, `plugin`, `doc` directories into your `.vim` directory. |
||||
|
||||
### Pathogen |
||||
If you have [Pathogen](http://www.vim.org/scripts/script.php?script_id=2332) installed, clone this repo into a subdirectory of your `.vim/bundle` directory like so: |
||||
|
||||
```bash |
||||
cd ~/.vim/bundle |
||||
git clone git://github.com/nathanaelkane/vim-indent-guides.git |
||||
``` |
||||
|
||||
### Vundle |
||||
If you have [Vundle](https://github.com/VundleVim/Vundle.vim) installed, add the following line to your `~/.vimrc` in the appropriate spot (see the Vundle.vim README for help): |
||||
|
||||
```vim |
||||
Plugin 'nathanaelkane/vim-indent-guides' |
||||
``` |
||||
|
||||
and then run the following command from inside Vim: |
||||
|
||||
```vim |
||||
:PluginInstall |
||||
``` |
||||
|
||||
## Usage |
||||
The default mapping to toggle the plugin is `<Leader>ig`. |
||||
|
||||
You can also use the following commands inside Vim: |
||||
|
||||
```vim |
||||
:IndentGuidesEnable |
||||
:IndentGuidesDisable |
||||
:IndentGuidesToggle |
||||
``` |
||||
|
||||
If you would like to have indent guides enabled by default, you can add the following to your `~/.vimrc`: |
||||
|
||||
```vim |
||||
let g:indent_guides_enable_on_vim_startup = 1 |
||||
``` |
||||
|
||||
### gVim |
||||
**This plugin should work with gVim out of the box, no configuration needed.** It will automatically inspect your colorscheme and pick appropriate colors. |
||||
|
||||
### Setting custom indent colors |
||||
Here's an example of how to define custom colors instead of using the ones the plugin automatically generates for you. Add this to your `.vimrc` file: |
||||
|
||||
```vim |
||||
let g:indent_guides_auto_colors = 0 |
||||
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=red ctermbg=3 |
||||
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green ctermbg=4 |
||||
``` |
||||
|
||||
Alternatively you can add the following lines to your colorscheme file. |
||||
|
||||
```vim |
||||
hi IndentGuidesOdd guibg=red ctermbg=3 |
||||
hi IndentGuidesEven guibg=green ctermbg=4 |
||||
``` |
||||
|
||||
### Terminal Vim |
||||
At the moment Terminal Vim only has basic support. This means is that colors won't be automatically calculated based on your colorscheme. Instead, some preset colors are used depending on whether `background` is set to `dark` or `light`. |
||||
|
||||
When `set background=dark` is used, the following highlight colors will be defined: |
||||
|
||||
```vim |
||||
hi IndentGuidesOdd ctermbg=black |
||||
hi IndentGuidesEven ctermbg=darkgrey |
||||
``` |
||||
|
||||
Alternatively, when `set background=light` is used, the following highlight colors will be defined: |
||||
|
||||
```vim |
||||
hi IndentGuidesOdd ctermbg=white |
||||
hi IndentGuidesEven ctermbg=lightgrey |
||||
``` |
||||
|
||||
If for some reason it's incorrectly defining light highlight colors instead of dark ones or vice versa, the first thing you should check is that the `background` value is being set correctly for your colorscheme. Sometimes it's best to manually set the `background` value in your `.vimrc`, for example: |
||||
|
||||
```vim |
||||
colorscheme desert256 |
||||
set background=dark |
||||
``` |
||||
|
||||
Alternatively you can manually setup the highlight colors yourself, see `:help indent_guides_auto_colors` for an example. |
||||
|
||||
## Help |
||||
`:help indent-guides` |
||||
|
||||
## Screenshots |
||||
<img src="http://i.imgur.com/7tMBl.png" width="448" height="448" alt="" /> |
||||
<img src="http://i.imgur.com/EvrqK.png" width="448" height="448" alt="" /> |
||||
<img src="http://i.imgur.com/hHqp2.png" width="448" height="448" alt="" /> |
@ -0,0 +1,879 @@ |
||||
" Author: Nate Kane <nathanaelkane AT gmail DOT com> |
||||
" Homepage: http://github.com/nathanaelkane/vim-indent-guides |
||||
|
||||
" |
||||
" Return hex string equivalent to given decimal string or number. |
||||
" |
||||
" Example: color_helper#dec_to_hex(255, 2) |
||||
" Returns: 'FF' |
||||
" |
||||
" Example: color_helper#dec_to_hex(255, 5) |
||||
" Returns: '000FF' |
||||
" |
||||
function! color_helper#dec_to_hex(arg, padding) |
||||
return toupper(printf('%0' . a:padding . 'x', a:arg + 0)) |
||||
endfunction |
||||
|
||||
" |
||||
" Return number equivalent to given hex string ('0x' is optional). |
||||
" |
||||
" Example: color_helper#hex_to_dec('FF') |
||||
" Returns: 255 |
||||
" |
||||
" Example: color_helper#hex_to_dec('88') |
||||
" Returns: 136 |
||||
" |
||||
" Example: color_helper#hex_to_dec('00') |
||||
" Returns: 0 |
||||
" |
||||
function! color_helper#hex_to_dec(arg) |
||||
return (a:arg =~? '^0x') ? a:arg + 0 : ('0x'.a:arg) + 0 |
||||
endfunction |
||||
|
||||
" |
||||
" Converts a given hex color string into an rgb list (eg. [red, green, blue]). |
||||
" |
||||
" Example: color_helper#hex_color_to_rgb('#0088FF') |
||||
" Returns: [0, 136, 255] |
||||
" |
||||
function! color_helper#hex_color_to_rgb(hex_color) |
||||
let l:rgb = [] |
||||
|
||||
if a:hex_color =~ g:indent_guides_color_hex_pattern |
||||
let l:red = color_helper#hex_to_dec(strpart(a:hex_color, 1, 2)) |
||||
let l:green = color_helper#hex_to_dec(strpart(a:hex_color, 3, 2)) |
||||
let l:blue = color_helper#hex_to_dec(strpart(a:hex_color, 5, 2)) |
||||
let l:rgb = [l:red, l:green, l:blue] |
||||
end |
||||
|
||||
return l:rgb |
||||
endfunction |
||||
|
||||
" |
||||
" Converts a given rgb list (eg. [red, green, blue]) into a hex color string. |
||||
" |
||||
" Example: color_helper#rgb_color_to_hex([0, 136, 255]) |
||||
" Returns: '#0088FF' |
||||
" |
||||
function! color_helper#rgb_color_to_hex(rgb_color) |
||||
let l:hex_color = '#' |
||||
let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[0], 2) " red |
||||
let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[1], 2) " green |
||||
let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[2], 2) " blue |
||||
|
||||
return l:hex_color |
||||
endfunction |
||||
|
||||
" |
||||
" Returns a ligtened color using the given color and the percent to lighten it |
||||
" by. |
||||
" |
||||
" Example: color_helper#hex_color_lighten('#000000', 0.10) |
||||
" Returns: '#191919' |
||||
" |
||||
function! color_helper#hex_color_lighten(color, percent) |
||||
let l:rgb = color_helper#hex_color_to_rgb(a:color) |
||||
let l:rgb_lightened = [] |
||||
|
||||
for i in l:rgb |
||||
call add(l:rgb_lightened, float2nr(i + ((255 - i) * a:percent))) |
||||
endfor |
||||
|
||||
return color_helper#rgb_color_to_hex(l:rgb_lightened) |
||||
endfunction |
||||
|
||||
" |
||||
" Returns a darkened color using the given color and the percent to darken it |
||||
" by. |
||||
" |
||||
" Example: color_helper#hex_color_darken('#FFFFFF', 0.10) |
||||
" Returns: '#E5E5E5' |
||||
" |
||||
function! color_helper#hex_color_darken(color, percent) |
||||
let l:rgb = color_helper#hex_color_to_rgb(a:color) |
||||
let l:rgb_darkened = [] |
||||
|
||||
for i in l:rgb |
||||
call add(l:rgb_darkened, float2nr(i * (1 - a:percent))) |
||||
endfor |
||||
|
||||
return color_helper#rgb_color_to_hex(l:rgb_darkened) |
||||
endfunction |
||||
|
||||
" |
||||
" Returns a hex color code for the given color name. |
||||
" |
||||
" Example: color_helper#color_name_to_hex('darkslategray') |
||||
" Returns: '#2F4F4F' |
||||
" |
||||
function! color_helper#color_name_to_hex(color_name) |
||||
let l:hex_code = '' |
||||
let l:color_name = tolower(a:color_name) |
||||
|
||||
let l:color_list = { |
||||
\ 'alice blue' : '#F0F8FF', |
||||
\ 'aliceblue' : '#F0F8FF', |
||||
\ 'antique white' : '#FAEBD7', |
||||
\ 'antiquewhite' : '#FAEBD7', |
||||
\ 'antiquewhite1' : '#FFEFDB', |
||||
\ 'antiquewhite2' : '#EEDFCC', |
||||
\ 'antiquewhite3' : '#CDC0B0', |
||||
\ 'antiquewhite4' : '#8B8378', |
||||
\ 'aquamarine' : '#7FFFD4', |
||||
\ 'aquamarine1' : '#7FFFD4', |
||||
\ 'aquamarine2' : '#76EEC6', |
||||
\ 'aquamarine3' : '#66CDAA', |
||||
\ 'aquamarine4' : '#458B74', |
||||
\ 'azure' : '#F0FFFF', |
||||
\ 'azure1' : '#F0FFFF', |
||||
\ 'azure2' : '#E0EEEE', |
||||
\ 'azure3' : '#C1CDCD', |
||||
\ 'azure4' : '#838B8B', |
||||
\ 'beige' : '#F5F5DC', |
||||
\ 'bisque' : '#FFE4C4', |
||||
\ 'bisque1' : '#FFE4C4', |
||||
\ 'bisque2' : '#EED5B7', |
||||
\ 'bisque3' : '#CDB79E', |
||||
\ 'bisque4' : '#8B7D6B', |
||||
\ 'black' : '#000000', |
||||
\ 'blanched almond' : '#FFEBCD', |
||||
\ 'blanchedalmond' : '#FFEBCD', |
||||
\ 'blue violet' : '#8A2BE2', |
||||
\ 'blue' : '#0000FF', |
||||
\ 'blue1' : '#0000FF', |
||||
\ 'blue2' : '#0000EE', |
||||
\ 'blue3' : '#0000CD', |
||||
\ 'blue4' : '#00008B', |
||||
\ 'blueviolet' : '#8A2BE2', |
||||
\ 'brown' : '#A52A2A', |
||||
\ 'brown1' : '#FF4040', |
||||
\ 'brown2' : '#EE3B3B', |
||||
\ 'brown3' : '#CD3333', |
||||
\ 'brown4' : '#8B2323', |
||||
\ 'burlywood' : '#DEB887', |
||||
\ 'burlywood1' : '#FFD39B', |
||||
\ 'burlywood2' : '#EEC591', |
||||
\ 'burlywood3' : '#CDAA7D', |
||||
\ 'burlywood4' : '#8B7355', |
||||
\ 'cadet blue' : '#5F9EA0', |
||||
\ 'cadetblue' : '#5F9EA0', |
||||
\ 'cadetblue1' : '#98F5FF', |
||||
\ 'cadetblue2' : '#8EE5EE', |
||||
\ 'cadetblue3' : '#7AC5CD', |
||||
\ 'cadetblue4' : '#53868B', |
||||
\ 'chartreuse' : '#7FFF00', |
||||
\ 'chartreuse1' : '#7FFF00', |
||||
\ 'chartreuse2' : '#76EE00', |
||||
\ 'chartreuse3' : '#66CD00', |
||||
\ 'chartreuse4' : '#458B00', |
||||
\ 'chocolate' : '#D2691E', |
||||
\ 'chocolate1' : '#FF7F24', |
||||
\ 'chocolate2' : '#EE7621', |
||||
\ 'chocolate3' : '#CD661D', |
||||
\ 'chocolate4' : '#8B4513', |
||||
\ 'coral' : '#FF7F50', |
||||
\ 'coral1' : '#FF7256', |
||||
\ 'coral2' : '#EE6A50', |
||||
\ 'coral3' : '#CD5B45', |
||||
\ 'coral4' : '#8B3E2F', |
||||
\ 'cornflower blue' : '#6495ED', |
||||
\ 'cornflowerblue' : '#6495ED', |
||||
\ 'cornsilk' : '#FFF8DC', |
||||
\ 'cornsilk1' : '#FFF8DC', |
||||
\ 'cornsilk2' : '#EEE8CD', |
||||
\ 'cornsilk3' : '#CDC8B1', |
||||
\ 'cornsilk4' : '#8B8878', |
||||
\ 'cyan' : '#00FFFF', |
||||
\ 'cyan1' : '#00FFFF', |
||||
\ 'cyan2' : '#00EEEE', |
||||
\ 'cyan3' : '#00CDCD', |
||||
\ 'cyan4' : '#008B8B', |
||||
\ 'dark blue' : '#00008B', |
||||
\ 'dark cyan' : '#008B8B', |
||||
\ 'dark goldenrod' : '#B8860B', |
||||
\ 'dark gray' : '#A9A9A9', |
||||
\ 'dark green' : '#006400', |
||||
\ 'dark grey' : '#A9A9A9', |
||||
\ 'dark khaki' : '#BDB76B', |
||||
\ 'dark magenta' : '#8B008B', |
||||
\ 'dark olive green' : '#556B2F', |
||||
\ 'dark orange' : '#FF8C00', |
||||
\ 'dark orchid' : '#9932CC', |
||||
\ 'dark red' : '#8B0000', |
||||
\ 'dark salmon' : '#E9967A', |
||||
\ 'dark sea green' : '#8FBC8F', |
||||
\ 'dark slate blue' : '#483D8B', |
||||
\ 'dark slate gray' : '#2F4F4F', |
||||
\ 'dark slate grey' : '#2F4F4F', |
||||
\ 'dark turquoise' : '#00CED1', |
||||
\ 'dark violet' : '#9400D3', |
||||
\ 'dark yellow' : '#BBBB00', |
||||
\ 'darkblue' : '#00008B', |
||||
\ 'darkcyan' : '#008B8B', |
||||
\ 'darkgoldenrod' : '#B8860B', |
||||
\ 'darkgoldenrod1' : '#FFB90F', |
||||
\ 'darkgoldenrod2' : '#EEAD0E', |
||||
\ 'darkgoldenrod3' : '#CD950C', |
||||
\ 'darkgoldenrod4' : '#8B6508', |
||||
\ 'darkgray' : '#A9A9A9', |
||||
\ 'darkgreen' : '#006400', |
||||
\ 'darkgrey' : '#A9A9A9', |
||||
\ 'darkkhaki' : '#BDB76B', |
||||
\ 'darkmagenta' : '#8B008B', |
||||
\ 'darkolivegreen' : '#556B2F', |
||||
\ 'darkolivegreen1' : '#CAFF70', |
||||
\ 'darkolivegreen2' : '#BCEE68', |
||||
\ 'darkolivegreen3' : '#A2CD5A', |
||||
\ 'darkolivegreen4' : '#6E8B3D', |
||||
\ 'darkorange' : '#FF8C00', |
||||
\ 'darkorange1' : '#FF7F00', |
||||
\ 'darkorange2' : '#EE7600', |
||||
\ 'darkorange3' : '#CD6600', |
||||
\ 'darkorange4' : '#8B4500', |
||||
\ 'darkorchid' : '#9932CC', |
||||
\ 'darkorchid1' : '#BF3EFF', |
||||
\ 'darkorchid2' : '#B23AEE', |
||||
\ 'darkorchid3' : '#9A32CD', |
||||
\ 'darkorchid4' : '#68228B', |
||||
\ 'darkred' : '#8B0000', |
||||
\ 'darksalmon' : '#E9967A', |
||||
\ 'darkseagreen' : '#8FBC8F', |
||||
\ 'darkseagreen1' : '#C1FFC1', |
||||
\ 'darkseagreen2' : '#B4EEB4', |
||||
\ 'darkseagreen3' : '#9BCD9B', |
||||
\ 'darkseagreen4' : '#698B69', |
||||
\ 'darkslateblue' : '#483D8B', |
||||
\ 'darkslategray' : '#2F4F4F', |
||||
\ 'darkslategray1' : '#97FFFF', |
||||
\ 'darkslategray2' : '#8DEEEE', |
||||
\ 'darkslategray3' : '#79CDCD', |
||||
\ 'darkslategray4' : '#528B8B', |
||||
\ 'darkslategrey' : '#2F4F4F', |
||||
\ 'darkturquoise' : '#00CED1', |
||||
\ 'darkviolet' : '#9400D3', |
||||
\ 'darkyellow' : '#BBBB00', |
||||
\ 'deep pink' : '#FF1493', |
||||
\ 'deep sky blue' : '#00BFFF', |
||||
\ 'deeppink' : '#FF1493', |
||||
\ 'deeppink1' : '#FF1493', |
||||
\ 'deeppink2' : '#EE1289', |
||||
\ 'deeppink3' : '#CD1076', |
||||
\ 'deeppink4' : '#8B0A50', |
||||
\ 'deepskyblue' : '#00BFFF', |
||||
\ 'deepskyblue1' : '#00BFFF', |
||||
\ 'deepskyblue2' : '#00B2EE', |
||||
\ 'deepskyblue3' : '#009ACD', |
||||
\ 'deepskyblue4' : '#00688B', |
||||
\ 'dim gray' : '#696969', |
||||
\ 'dim grey' : '#696969', |
||||
\ 'dimgray' : '#696969', |
||||
\ 'dimgrey' : '#696969', |
||||
\ 'dodger blue' : '#1E90FF', |
||||
\ 'dodgerblue' : '#1E90FF', |
||||
\ 'dodgerblue1' : '#1E90FF', |
||||
\ 'dodgerblue2' : '#1C86EE', |
||||
\ 'dodgerblue3' : '#1874CD', |
||||
\ 'dodgerblue4' : '#104E8B', |
||||
\ 'firebrick' : '#B22222', |
||||
\ 'firebrick1' : '#FF3030', |
||||
\ 'firebrick2' : '#EE2C2C', |
||||
\ 'firebrick3' : '#CD2626', |
||||
\ 'firebrick4' : '#8B1A1A', |
||||
\ 'floral white' : '#FFFAF0', |
||||
\ 'floralwhite' : '#FFFAF0', |
||||
\ 'forest green' : '#228B22', |
||||
\ 'forestgreen' : '#228B22', |
||||
\ 'gainsboro' : '#DCDCDC', |
||||
\ 'ghost white' : '#F8F8FF', |
||||
\ 'ghostwhite' : '#F8F8FF', |
||||
\ 'gold' : '#FFD700', |
||||
\ 'gold1' : '#FFD700', |
||||
\ 'gold2' : '#EEC900', |
||||
\ 'gold3' : '#CDAD00', |
||||
\ 'gold4' : '#8B7500', |
||||
\ 'goldenrod' : '#DAA520', |
||||
\ 'goldenrod1' : '#FFC125', |
||||
\ 'goldenrod2' : '#EEB422', |
||||
\ 'goldenrod3' : '#CD9B1D', |
||||
\ 'goldenrod4' : '#8B6914', |
||||
\ 'gray' : '#BEBEBE', |
||||
\ 'gray0' : '#000000', |
||||
\ 'gray1' : '#030303', |
||||
\ 'gray10' : '#1A1A1A', |
||||
\ 'gray100' : '#FFFFFF', |
||||
\ 'gray11' : '#1C1C1C', |
||||
\ 'gray12' : '#1F1F1F', |
||||
\ 'gray13' : '#212121', |
||||
\ 'gray14' : '#242424', |
||||
\ 'gray15' : '#262626', |
||||
\ 'gray16' : '#292929', |
||||
\ 'gray17' : '#2B2B2B', |
||||
\ 'gray18' : '#2E2E2E', |
||||
\ 'gray19' : '#303030', |
||||
\ 'gray2' : '#050505', |
||||
\ 'gray20' : '#333333', |
||||
\ 'gray21' : '#363636', |
||||
\ 'gray22' : '#383838', |
||||
\ 'gray23' : '#3B3B3B', |
||||
\ 'gray24' : '#3D3D3D', |
||||
\ 'gray25' : '#404040', |
||||
\ 'gray26' : '#424242', |
||||
\ 'gray27' : '#454545', |
||||
\ 'gray28' : '#474747', |
||||
\ 'gray29' : '#4A4A4A', |
||||
\ 'gray3' : '#080808', |
||||
\ 'gray30' : '#4D4D4D', |
||||
\ 'gray31' : '#4F4F4F', |
||||
\ 'gray32' : '#525252', |
||||
\ 'gray33' : '#545454', |
||||
\ 'gray34' : '#575757', |
||||
\ 'gray35' : '#595959', |
||||
\ 'gray36' : '#5C5C5C', |
||||
\ 'gray37' : '#5E5E5E', |
||||
\ 'gray38' : '#616161', |
||||
\ 'gray39' : '#636363', |
||||
\ 'gray4' : '#0A0A0A', |
||||
\ 'gray40' : '#666666', |
||||
\ 'gray41' : '#696969', |
||||
\ 'gray42' : '#6B6B6B', |
||||
\ 'gray43' : '#6E6E6E', |
||||
\ 'gray44' : '#707070', |
||||
\ 'gray45' : '#737373', |
||||
\ 'gray46' : '#757575', |
||||
\ 'gray47' : '#787878', |
||||
\ 'gray48' : '#7A7A7A', |
||||
\ 'gray49' : '#7D7D7D', |
||||
\ 'gray5' : '#0D0D0D', |
||||
\ 'gray50' : '#7F7F7F', |
||||
\ 'gray51' : '#828282', |
||||
\ 'gray52' : '#858585', |
||||
\ 'gray53' : '#878787', |
||||
\ 'gray54' : '#8A8A8A', |
||||
\ 'gray55' : '#8C8C8C', |
||||
\ 'gray56' : '#8F8F8F', |
||||
\ 'gray57' : '#919191', |
||||
\ 'gray58' : '#949494', |
||||
\ 'gray59' : '#969696', |
||||
\ 'gray6' : '#0F0F0F', |
||||
\ 'gray60' : '#999999', |
||||
\ 'gray61' : '#9C9C9C', |
||||
\ 'gray62' : '#9E9E9E', |
||||
\ 'gray63' : '#A1A1A1', |
||||
\ 'gray64' : '#A3A3A3', |
||||
\ 'gray65' : '#A6A6A6', |
||||
\ 'gray66' : '#A8A8A8', |
||||
\ 'gray67' : '#ABABAB', |
||||
\ 'gray68' : '#ADADAD', |
||||
\ 'gray69' : '#B0B0B0', |
||||
\ 'gray7' : '#121212', |
||||
\ 'gray70' : '#B3B3B3', |
||||
\ 'gray71' : '#B5B5B5', |
||||
\ 'gray72' : '#B8B8B8', |
||||
\ 'gray73' : '#BABABA', |
||||
\ 'gray74' : '#BDBDBD', |
||||
\ 'gray75' : '#BFBFBF', |
||||
\ 'gray76' : '#C2C2C2', |
||||
\ 'gray77' : '#C4C4C4', |
||||
\ 'gray78' : '#C7C7C7', |
||||
\ 'gray79' : '#C9C9C9', |
||||
\ 'gray8' : '#141414', |
||||
\ 'gray80' : '#CCCCCC', |
||||
\ 'gray81' : '#CFCFCF', |
||||
\ 'gray82' : '#D1D1D1', |
||||
\ 'gray83' : '#D4D4D4', |
||||
\ 'gray84' : '#D6D6D6', |
||||
\ 'gray85' : '#D9D9D9', |
||||
\ 'gray86' : '#DBDBDB', |
||||
\ 'gray87' : '#DEDEDE', |
||||
\ 'gray88' : '#E0E0E0', |
||||
\ 'gray89' : '#E3E3E3', |
||||
\ 'gray9' : '#171717', |
||||
\ 'gray90' : '#E5E5E5', |
||||
\ 'gray91' : '#E8E8E8', |
||||
\ 'gray92' : '#EBEBEB', |
||||
\ 'gray93' : '#EDEDED', |
||||
\ 'gray94' : '#F0F0F0', |
||||
\ 'gray95' : '#F2F2F2', |
||||
\ 'gray96' : '#F5F5F5', |
||||
\ 'gray97' : '#F7F7F7', |
||||
\ 'gray98' : '#FAFAFA', |
||||
\ 'gray99' : '#FCFCFC', |
||||
\ 'green yellow' : '#ADFF2F', |
||||
\ 'green' : '#00FF00', |
||||
\ 'green1' : '#00FF00', |
||||
\ 'green2' : '#00EE00', |
||||
\ 'green3' : '#00CD00', |
||||
\ 'green4' : '#008B00', |
||||
\ 'greenyellow' : '#ADFF2F', |
||||
\ 'grey' : '#BEBEBE', |
||||
\ 'grey0' : '#000000', |
||||
\ 'grey1' : '#030303', |
||||
\ 'grey10' : '#1A1A1A', |
||||
\ 'grey100' : '#FFFFFF', |
||||
\ 'grey11' : '#1C1C1C', |
||||
\ 'grey12' : '#1F1F1F', |
||||
\ 'grey13' : '#212121', |
||||
\ 'grey14' : '#242424', |
||||
\ 'grey15' : '#262626', |
||||
\ 'grey16' : '#292929', |
||||
\ 'grey17' : '#2B2B2B', |
||||
\ 'grey18' : '#2E2E2E', |
||||
\ 'grey19' : '#303030', |
||||
\ 'grey2' : '#050505', |
||||
\ 'grey20' : '#333333', |
||||
\ 'grey21' : '#363636', |
||||
\ 'grey22' : '#383838', |
||||
\ 'grey23' : '#3B3B3B', |
||||
\ 'grey24' : '#3D3D3D', |
||||
\ 'grey25' : '#404040', |
||||
\ 'grey26' : '#424242', |
||||
\ 'grey27' : '#454545', |
||||
\ 'grey28' : '#474747', |
||||
\ 'grey29' : '#4A4A4A', |
||||
\ 'grey3' : '#080808', |
||||
\ 'grey30' : '#4D4D4D', |
||||
\ 'grey31' : '#4F4F4F', |
||||
\ 'grey32' : '#525252', |
||||
\ 'grey33' : '#545454', |
||||
\ 'grey34' : '#575757', |
||||
\ 'grey35' : '#595959', |
||||
\ 'grey36' : '#5C5C5C', |
||||
\ 'grey37' : '#5E5E5E', |
||||
\ 'grey38' : '#616161', |
||||
\ 'grey39' : '#636363', |
||||
\ 'grey4' : '#0A0A0A', |
||||
\ 'grey40' : '#666666', |
||||
\ 'grey41' : '#696969', |
||||
\ 'grey42' : '#6B6B6B', |
||||
\ 'grey43' : '#6E6E6E', |
||||
\ 'grey44' : '#707070', |
||||
\ 'grey45' : '#737373', |
||||
\ 'grey46' : '#757575', |
||||
\ 'grey47' : '#787878', |
||||
\ 'grey48' : '#7A7A7A', |
||||
\ 'grey49' : '#7D7D7D', |
||||
\ 'grey5' : '#0D0D0D', |
||||
\ 'grey50' : '#7F7F7F', |
||||
\ 'grey51' : '#828282', |
||||
\ 'grey52' : '#858585', |
||||
\ 'grey53' : '#878787', |
||||
\ 'grey54' : '#8A8A8A', |
||||
\ 'grey55' : '#8C8C8C', |
||||
\ 'grey56' : '#8F8F8F', |
||||
\ 'grey57' : '#919191', |
||||
\ 'grey58' : '#949494', |
||||
\ 'grey59' : '#969696', |
||||
\ 'grey6' : '#0F0F0F', |
||||
\ 'grey60' : '#999999', |
||||
\ 'grey61' : '#9C9C9C', |
||||
\ 'grey62' : '#9E9E9E', |
||||
\ 'grey63' : '#A1A1A1', |
||||
\ 'grey64' : '#A3A3A3', |
||||
\ 'grey65' : '#A6A6A6', |
||||
\ 'grey66' : '#A8A8A8', |
||||
\ 'grey67' : '#ABABAB', |
||||
\ 'grey68' : '#ADADAD', |
||||
\ 'grey69' : '#B0B0B0', |
||||
\ 'grey7' : '#121212', |
||||
\ 'grey70' : '#B3B3B3', |
||||
\ 'grey71' : '#B5B5B5', |
||||
\ 'grey72' : '#B8B8B8', |
||||
\ 'grey73' : '#BABABA', |
||||
\ 'grey74' : '#BDBDBD', |
||||
\ 'grey75' : '#BFBFBF', |
||||
\ 'grey76' : '#C2C2C2', |
||||
\ 'grey77' : '#C4C4C4', |
||||
\ 'grey78' : '#C7C7C7', |
||||
\ 'grey79' : '#C9C9C9', |
||||
\ 'grey8' : '#141414', |
||||
\ 'grey80' : '#CCCCCC', |
||||
\ 'grey81' : '#CFCFCF', |
||||
\ 'grey82' : '#D1D1D1', |
||||
\ 'grey83' : '#D4D4D4', |
||||
\ 'grey84' : '#D6D6D6', |
||||
\ 'grey85' : '#D9D9D9', |
||||
\ 'grey86' : '#DBDBDB', |
||||
\ 'grey87' : '#DEDEDE', |
||||
\ 'grey88' : '#E0E0E0', |
||||
\ 'grey89' : '#E3E3E3', |
||||
\ 'grey9' : '#171717', |
||||
\ 'grey90' : '#E5E5E5', |
||||
\ 'grey91' : '#E8E8E8', |
||||
\ 'grey92' : '#EBEBEB', |
||||
\ 'grey93' : '#EDEDED', |
||||
\ 'grey94' : '#F0F0F0', |
||||
\ 'grey95' : '#F2F2F2', |
||||
\ 'grey96' : '#F5F5F5', |
||||
\ 'grey97' : '#F7F7F7', |
||||
\ 'grey98' : '#FAFAFA', |
||||
\ 'grey99' : '#FCFCFC', |
||||
\ 'honeydew' : '#F0FFF0', |
||||
\ 'honeydew1' : '#F0FFF0', |
||||
\ 'honeydew2' : '#E0EEE0', |
||||
\ 'honeydew3' : '#C1CDC1', |
||||
\ 'honeydew4' : '#838B83', |
||||
\ 'hot pink' : '#FF69B4', |
||||
\ 'hotpink' : '#FF69B4', |
||||
\ 'hotpink1' : '#FF6EB4', |
||||
\ 'hotpink2' : '#EE6AA7', |
||||
\ 'hotpink3' : '#CD6090', |
||||
\ 'hotpink4' : '#8B3A62', |
||||
\ 'indian red' : '#CD5C5C', |
||||
\ 'indianred' : '#CD5C5C', |
||||
\ 'indianred1' : '#FF6A6A', |
||||
\ 'indianred2' : '#EE6363', |
||||
\ 'indianred3' : '#CD5555', |
||||
\ 'indianred4' : '#8B3A3A', |
||||
\ 'ivory' : '#FFFFF0', |
||||
\ 'ivory1' : '#FFFFF0', |
||||
\ 'ivory2' : '#EEEEE0', |
||||
\ 'ivory3' : '#CDCDC1', |
||||
\ 'ivory4' : '#8B8B83', |
||||
\ 'khaki' : '#F0E68C', |
||||
\ 'khaki1' : '#FFF68F', |
||||
\ 'khaki2' : '#EEE685', |
||||
\ 'khaki3' : '#CDC673', |
||||
\ 'khaki4' : '#8B864E', |
||||
\ 'lavender blush' : '#FFF0F5', |
||||
\ 'lavender' : '#E6E6FA', |
||||
\ 'lavenderblush' : '#FFF0F5', |
||||
\ 'lavenderblush1' : '#FFF0F5', |
||||
\ 'lavenderblush2' : '#EEE0E5', |
||||
\ 'lavenderblush3' : '#CDC1C5', |
||||
\ 'lavenderblush4' : '#8B8386', |
||||
\ 'lawn green' : '#7CFC00', |
||||
\ 'lawngreen' : '#7CFC00', |
||||
\ 'lemon chiffon' : '#FFFACD', |
||||
\ 'lemonchiffon' : '#FFFACD', |
||||
\ 'lemonchiffon1' : '#FFFACD', |
||||
\ 'lemonchiffon2' : '#EEE9BF', |
||||
\ 'lemonchiffon3' : '#CDC9A5', |
||||
\ 'lemonchiffon4' : '#8B8970', |
||||
\ 'light blue' : '#ADD8E6', |
||||
\ 'light coral' : '#F08080', |
||||
\ 'light cyan' : '#E0FFFF', |
||||
\ 'light goldenrod yellow' : '#FAFAD2', |
||||
\ 'light goldenrod' : '#EEDD82', |
||||
\ 'light gray' : '#D3D3D3', |
||||
\ 'light green' : '#90EE90', |
||||
\ 'light grey' : '#D3D3D3', |
||||
\ 'light magenta' : '#FFBBFF', |
||||
\ 'light pink' : '#FFB6C1', |
||||
\ 'light red' : '#FFBBBB', |
||||
\ 'light salmon' : '#FFA07A', |
||||
\ 'light sea green' : '#20B2AA', |
||||
\ 'light sky blue' : '#87CEFA', |
||||
\ 'light slate blue' : '#8470FF', |
||||
\ 'light slate gray' : '#778899', |
||||
\ 'light slate grey' : '#778899', |
||||
\ 'light steel blue' : '#B0C4DE', |
||||
\ 'light yellow' : '#FFFFE0', |
||||
\ 'lightblue' : '#ADD8E6', |
||||
\ 'lightblue1' : '#BFEFFF', |
||||
\ 'lightblue2' : '#B2DFEE', |
||||
\ 'lightblue3' : '#9AC0CD', |
||||
\ 'lightblue4' : '#68838B', |
||||
\ 'lightcoral' : '#F08080', |
||||
\ 'lightcyan' : '#E0FFFF', |
||||
\ 'lightcyan1' : '#E0FFFF', |
||||
\ 'lightcyan2' : '#D1EEEE', |
||||
\ 'lightcyan3' : '#B4CDCD', |
||||
\ 'lightcyan4' : '#7A8B8B', |
||||
\ 'lightgoldenrod' : '#EEDD82', |
||||
\ 'lightgoldenrod1' : '#FFEC8B', |
||||
\ 'lightgoldenrod2' : '#EEDC82', |
||||
\ 'lightgoldenrod3' : '#CDBE70', |
||||
\ 'lightgoldenrod4' : '#8B814C', |
||||
\ 'lightgoldenrodyellow' : '#FAFAD2', |
||||
\ 'lightgray' : '#D3D3D3', |
||||
\ 'lightgreen' : '#90EE90', |
||||
\ 'lightgrey' : '#D3D3D3', |
||||
\ 'lightmagenta' : '#FFBBFF', |
||||
\ 'lightpink' : '#FFB6C1', |
||||
\ 'lightpink1' : '#FFAEB9', |
||||
\ 'lightpink2' : '#EEA2AD', |
||||
\ 'lightpink3' : '#CD8C95', |
||||
\ 'lightpink4' : '#8B5F65', |
||||
\ 'lightred' : '#FFBBBB', |
||||
\ 'lightsalmon' : '#FFA07A', |
||||
\ 'lightsalmon1' : '#FFA07A', |
||||
\ 'lightsalmon2' : '#EE9572', |
||||
\ 'lightsalmon3' : '#CD8162', |
||||
\ 'lightsalmon4' : '#8B5742', |
||||
\ 'lightseagreen' : '#20B2AA', |
||||
\ 'lightskyblue' : '#87CEFA', |
||||
\ 'lightskyblue1' : '#B0E2FF', |
||||
\ 'lightskyblue2' : '#A4D3EE', |
||||
\ 'lightskyblue3' : '#8DB6CD', |
||||
\ 'lightskyblue4' : '#607B8B', |
||||
\ 'lightslateblue' : '#8470FF', |
||||
\ 'lightslategray' : '#778899', |
||||
\ 'lightslategrey' : '#778899', |
||||
\ 'lightsteelblue' : '#B0C4DE', |
||||
\ 'lightsteelblue1' : '#CAE1FF', |
||||
\ 'lightsteelblue2' : '#BCD2EE', |
||||
\ 'lightsteelblue3' : '#A2B5CD', |
||||
\ 'lightsteelblue4' : '#6E7B8B', |
||||
\ 'lightyellow' : '#FFFFE0', |
||||
\ 'lightyellow1' : '#FFFFE0', |
||||
\ 'lightyellow2' : '#EEEED1', |
||||
\ 'lightyellow3' : '#CDCDB4', |
||||
\ 'lightyellow4' : '#8B8B7A', |
||||
\ 'lime green' : '#32CD32', |
||||
\ 'limegreen' : '#32CD32', |
||||
\ 'linen' : '#FAF0E6', |
||||
\ 'magenta' : '#FF00FF', |
||||
\ 'magenta1' : '#FF00FF', |
||||
\ 'magenta2' : '#EE00EE', |
||||
\ 'magenta3' : '#CD00CD', |
||||
\ 'magenta4' : '#8B008B', |
||||
\ 'maroon' : '#B03060', |
||||
\ 'maroon1' : '#FF34B3', |
||||
\ 'maroon2' : '#EE30A7', |
||||
\ 'maroon3' : '#CD2990', |
||||
\ 'maroon4' : '#8B1C62', |
||||
\ 'medium aquamarine' : '#66CDAA', |
||||
\ 'medium blue' : '#0000CD', |
||||
\ 'medium orchid' : '#BA55D3', |
||||
\ 'medium purple' : '#9370DB', |
||||
\ 'medium sea green' : '#3CB371', |
||||
\ 'medium slate blue' : '#7B68EE', |
||||
\ 'medium spring green' : '#00FA9A', |
||||
\ 'medium turquoise' : '#48D1CC', |
||||
\ 'medium violet red' : '#C71585', |
||||
\ 'mediumaquamarine' : '#66CDAA', |
||||
\ 'mediumblue' : '#0000CD', |
||||
\ 'mediumorchid' : '#BA55D3', |
||||
\ 'mediumorchid1' : '#E066FF', |
||||
\ 'mediumorchid2' : '#D15FEE', |
||||
\ 'mediumorchid3' : '#B452CD', |
||||
\ 'mediumorchid4' : '#7A378B', |
||||
\ 'mediumpurple' : '#9370DB', |
||||
\ 'mediumpurple1' : '#AB82FF', |
||||
\ 'mediumpurple2' : '#9F79EE', |
||||
\ 'mediumpurple3' : '#8968CD', |
||||
\ 'mediumpurple4' : '#5D478B', |
||||
\ 'mediumseagreen' : '#3CB371', |
||||
\ 'mediumslateblue' : '#7B68EE', |
||||
\ 'mediumspringgreen' : '#00FA9A', |
||||
\ 'mediumturquoise' : '#48D1CC', |
||||
\ 'mediumvioletred' : '#C71585', |
||||
\ 'midnight blue' : '#191970', |
||||
\ 'midnightblue' : '#191970', |
||||
\ 'mint cream' : '#F5FFFA', |
||||
\ 'mintcream' : '#F5FFFA', |
||||
\ 'misty rose' : '#FFE4E1', |
||||
\ 'mistyrose' : '#FFE4E1', |
||||
\ 'mistyrose1' : '#FFE4E1', |
||||
\ 'mistyrose2' : '#EED5D2', |
||||
\ 'mistyrose3' : '#CDB7B5', |
||||
\ 'mistyrose4' : '#8B7D7B', |
||||
\ 'moccasin' : '#FFE4B5', |
||||
\ 'navajo white' : '#FFDEAD', |
||||
\ 'navajowhite' : '#FFDEAD', |
||||
\ 'navajowhite1' : '#FFDEAD', |
||||
\ 'navajowhite2' : '#EECFA1', |
||||
\ 'navajowhite3' : '#CDB38B', |
||||
\ 'navajowhite4' : '#8B795E', |
||||
\ 'navy blue' : '#000080', |
||||
\ 'navy' : '#000080', |
||||
\ 'navyblue' : '#000080', |
||||
\ 'old lace' : '#FDF5E6', |
||||
\ 'oldlace' : '#FDF5E6', |
||||
\ 'olive drab' : '#6B8E23', |
||||
\ 'olivedrab' : '#6B8E23', |
||||
\ 'olivedrab1' : '#C0FF3E', |
||||
\ 'olivedrab2' : '#B3EE3A', |
||||
\ 'olivedrab3' : '#9ACD32', |
||||
\ 'olivedrab4' : '#698B22', |
||||
\ 'orange red' : '#FF4500', |
||||
\ 'orange' : '#FFA500', |
||||
\ 'orange1' : '#FFA500', |
||||
\ 'orange2' : '#EE9A00', |
||||
\ 'orange3' : '#CD8500', |
||||
\ 'orange4' : '#8B5A00', |
||||
\ 'orangered' : '#FF4500', |
||||
\ 'orangered1' : '#FF4500', |
||||
\ 'orangered2' : '#EE4000', |
||||
\ 'orangered3' : '#CD3700', |
||||
\ 'orangered4' : '#8B2500', |
||||
\ 'orchid' : '#DA70D6', |
||||
\ 'orchid1' : '#FF83FA', |
||||
\ 'orchid2' : '#EE7AE9', |
||||
\ 'orchid3' : '#CD69C9', |
||||
\ 'orchid4' : '#8B4789', |
||||
\ 'pale goldenrod' : '#EEE8AA', |
||||
\ 'pale green' : '#98FB98', |
||||
\ 'pale turquoise' : '#AFEEEE', |
||||
\ 'pale violet red' : '#DB7093', |
||||
\ 'palegoldenrod' : '#EEE8AA', |
||||
\ 'palegreen' : '#98FB98', |
||||
\ 'palegreen1' : '#9AFF9A', |
||||
\ 'palegreen2' : '#90EE90', |
||||
\ 'palegreen3' : '#7CCD7C', |
||||
\ 'palegreen4' : '#548B54', |
||||
\ 'paleturquoise' : '#AFEEEE', |
||||
\ 'paleturquoise1' : '#BBFFFF', |
||||
\ 'paleturquoise2' : '#AEEEEE', |
||||
\ 'paleturquoise3' : '#96CDCD', |
||||
\ 'paleturquoise4' : '#668B8B', |
||||
\ 'palevioletred' : '#DB7093', |
||||
\ 'palevioletred1' : '#FF82AB', |
||||
\ 'palevioletred2' : '#EE799F', |
||||
\ 'palevioletred3' : '#CD6889', |
||||
\ 'palevioletred4' : '#8B475D', |
||||
\ 'papaya whip' : '#FFEFD5', |
||||
\ 'papayawhip' : '#FFEFD5', |
||||
\ 'peach puff' : '#FFDAB9', |
||||
\ 'peachpuff' : '#FFDAB9', |
||||
\ 'peachpuff1' : '#FFDAB9', |
||||
\ 'peachpuff2' : '#EECBAD', |
||||
\ 'peachpuff3' : '#CDAF95', |
||||
\ 'peachpuff4' : '#8B7765', |
||||
\ 'peru' : '#CD853F', |
||||
\ 'pink' : '#FFC0CB', |
||||
\ 'pink1' : '#FFB5C5', |
||||
\ 'pink2' : '#EEA9B8', |
||||
\ 'pink3' : '#CD919E', |
||||
\ 'pink4' : '#8B636C', |
||||
\ 'plum' : '#DDA0DD', |
||||
\ 'plum1' : '#FFBBFF', |
||||
\ 'plum2' : '#EEAEEE', |
||||
\ 'plum3' : '#CD96CD', |
||||
\ 'plum4' : '#8B668B', |
||||
\ 'powder blue' : '#B0E0E6', |
||||
\ 'powderblue' : '#B0E0E6', |
||||
\ 'purple' : '#A020F0', |
||||
\ 'purple1' : '#9B30FF', |
||||
\ 'purple2' : '#912CEE', |
||||
\ 'purple3' : '#7D26CD', |
||||
\ 'purple4' : '#551A8B', |
||||
\ 'red' : '#FF0000', |
||||
\ 'red1' : '#FF0000', |
||||
\ 'red2' : '#EE0000', |
||||
\ 'red3' : '#CD0000', |
||||
\ 'red4' : '#8B0000', |
||||
\ 'rosy brown' : '#BC8F8F', |
||||
\ 'rosybrown' : '#BC8F8F', |
||||
\ 'rosybrown1' : '#FFC1C1', |
||||
\ 'rosybrown2' : '#EEB4B4', |
||||
\ 'rosybrown3' : '#CD9B9B', |
||||
\ 'rosybrown4' : '#8B6969', |
||||
\ 'royal blue' : '#4169E1', |
||||
\ 'royalblue' : '#4169E1', |
||||
\ 'royalblue1' : '#4876FF', |
||||
\ 'royalblue2' : '#436EEE', |
||||
\ 'royalblue3' : '#3A5FCD', |
||||
\ 'royalblue4' : '#27408B', |
||||
\ 'saddle brown' : '#8B4513', |
||||
\ 'saddlebrown' : '#8B4513', |
||||
\ 'salmon' : '#FA8072', |
||||
\ 'salmon1' : '#FF8C69', |
||||
\ 'salmon2' : '#EE8262', |
||||
\ 'salmon3' : '#CD7054', |
||||
\ 'salmon4' : '#8B4C39', |
||||
\ 'sandy brown' : '#F4A460', |
||||
\ 'sandybrown' : '#F4A460', |
||||
\ 'sea green' : '#2E8B57', |
||||
\ 'seagreen' : '#2E8B57', |
||||
\ 'seagreen1' : '#54FF9F', |
||||
\ 'seagreen2' : '#4EEE94', |
||||
\ 'seagreen3' : '#43CD80', |
||||
\ 'seagreen4' : '#2E8B57', |
||||
\ 'seashell' : '#FFF5EE', |
||||
\ 'seashell1' : '#FFF5EE', |
||||
\ 'seashell2' : '#EEE5DE', |
||||
\ 'seashell3' : '#CDC5BF', |
||||
\ 'seashell4' : '#8B8682', |
||||
\ 'sienna' : '#A0522D', |
||||
\ 'sienna1' : '#FF8247', |
||||
\ 'sienna2' : '#EE7942', |
||||
\ 'sienna3' : '#CD6839', |
||||
\ 'sienna4' : '#8B4726', |
||||
\ 'sky blue' : '#87CEEB', |
||||
\ 'skyblue' : '#87CEEB', |
||||
\ 'skyblue1' : '#87CEFF', |
||||
\ 'skyblue2' : '#7EC0EE', |
||||
\ 'skyblue3' : '#6CA6CD', |
||||
\ 'skyblue4' : '#4A708B', |
||||
\ 'slate blue' : '#6A5ACD', |
||||
\ 'slate gray' : '#708090', |
||||
\ 'slate grey' : '#708090', |
||||
\ 'slateblue' : '#6A5ACD', |
||||
\ 'slateblue1' : '#836FFF', |
||||
\ 'slateblue2' : '#7A67EE', |
||||
\ 'slateblue3' : '#6959CD', |
||||
\ 'slateblue4' : '#473C8B', |
||||
\ 'slategray' : '#708090', |
||||
\ 'slategray1' : '#C6E2FF', |
||||
\ 'slategray2' : '#B9D3EE', |
||||
\ 'slategray3' : '#9FB6CD', |
||||
\ 'slategray4' : '#6C7B8B', |
||||
\ 'slategrey' : '#708090', |
||||
\ 'snow' : '#FFFAFA', |
||||
\ 'snow1' : '#FFFAFA', |
||||
\ 'snow2' : '#EEE9E9', |
||||
\ 'snow3' : '#CDC9C9', |
||||
\ 'snow4' : '#8B8989', |
||||
\ 'spring green' : '#00FF7F', |
||||
\ 'springgreen' : '#00FF7F', |
||||
\ 'springgreen1' : '#00FF7F', |
||||
\ 'springgreen2' : '#00EE76', |
||||
\ 'springgreen3' : '#00CD66', |
||||
\ 'springgreen4' : '#008B45', |
||||
\ 'steel blue' : '#4682B4', |
||||
\ 'steelblue' : '#4682B4', |
||||
\ 'steelblue1' : '#63B8FF', |
||||
\ 'steelblue2' : '#5CACEE', |
||||
\ 'steelblue3' : '#4F94CD', |
||||
\ 'steelblue4' : '#36648B', |
||||
\ 'tan' : '#D2B48C', |
||||
\ 'tan1' : '#FFA54F', |
||||
\ 'tan2' : '#EE9A49', |
||||
\ 'tan3' : '#CD853F', |
||||
\ 'tan4' : '#8B5A2B', |
||||
\ 'thistle' : '#D8BFD8', |
||||
\ 'thistle1' : '#FFE1FF', |
||||
\ 'thistle2' : '#EED2EE', |
||||
\ 'thistle3' : '#CDB5CD', |
||||
\ 'thistle4' : '#8B7B8B', |
||||
\ 'tomato' : '#FF6347', |
||||
\ 'tomato1' : '#FF6347', |
||||
\ 'tomato2' : '#EE5C42', |
||||
\ 'tomato3' : '#CD4F39', |
||||
\ 'tomato4' : '#8B3626', |
||||
\ 'turquoise' : '#40E0D0', |
||||
\ 'turquoise1' : '#00F5FF', |
||||
\ 'turquoise2' : '#00E5EE', |
||||
\ 'turquoise3' : '#00C5CD', |
||||
\ 'turquoise4' : '#00868B', |
||||
\ 'violet red' : '#D02090', |
||||
\ 'violet' : '#EE82EE', |
||||
\ 'violetred' : '#D02090', |
||||
\ 'violetred1' : '#FF3E96', |
||||
\ 'violetred2' : '#EE3A8C', |
||||
\ 'violetred3' : '#CD3278', |
||||
\ 'violetred4' : '#8B2252', |
||||
\ 'wheat' : '#F5DEB3', |
||||
\ 'wheat1' : '#FFE7BA', |
||||
\ 'wheat2' : '#EED8AE', |
||||
\ 'wheat3' : '#CDBA96', |
||||
\ 'wheat4' : '#8B7E66', |
||||
\ 'white smoke' : '#F5F5F5', |
||||
\ 'white' : '#FFFFFF', |
||||
\ 'whitesmoke' : '#F5F5F5', |
||||
\ 'yellow green' : '#9ACD32', |
||||
\ 'yellow' : '#FFFF00', |
||||
\ 'yellow1' : '#FFFF00', |
||||
\ 'yellow2' : '#EEEE00', |
||||
\ 'yellow3' : '#CDCD00', |
||||
\ 'yellow4' : '#8B8B00', |
||||
\ 'yellowgreen' : '#9ACD32', |
||||
\} |
||||
|
||||
if has_key(l:color_list, l:color_name) |
||||
let l:hex_code = l:color_list[l:color_name] |
||||
endif |
||||
|
||||
return l:hex_code |
||||
endfunction |
@ -0,0 +1,286 @@ |
||||
" Author: Nate Kane <nathanaelkane AT gmail DOT com> |
||||
" Homepage: http://github.com/nathanaelkane/vim-indent-guides |
||||
|
||||
" |
||||
" Toggles the indent guides on and off. |
||||
" |
||||
function! indent_guides#toggle() |
||||
call indent_guides#init_matches() |
||||
|
||||
if empty(w:indent_guides_matches) |
||||
call indent_guides#enable() |
||||
else |
||||
call indent_guides#disable() |
||||
endif |
||||
endfunction |
||||
|
||||
" |
||||
" Called from autocmds, keeps indent guides enabled or disabled when entering |
||||
" other buffers and windows. |
||||
" |
||||
function! indent_guides#process_autocmds() |
||||
if g:indent_guides_autocmds_enabled |
||||
call indent_guides#enable() |
||||
else |
||||
call indent_guides#disable() |
||||
end |
||||
endfunction |
||||
|
||||
" |
||||
" Enables the indent guides for the current buffer and any other buffer upon |
||||
" entering it. |
||||
" |
||||
function! indent_guides#enable() |
||||
let g:indent_guides_autocmds_enabled = 1 |
||||
|
||||
if &diff || indent_guides#exclude_filetype() |
||||
call indent_guides#clear_matches() |
||||
return |
||||
end |
||||
|
||||
call indent_guides#init_script_vars() |
||||
call indent_guides#highlight_colors() |
||||
call indent_guides#clear_matches() |
||||
|
||||
" loop through each indent level and define a highlight pattern |
||||
" will automagically figure out whether to use tabs or spaces |
||||
for l:level in range(s:start_level, s:indent_levels) |
||||
let l:group = 'IndentGuides' . ((l:level % 2 == 0) ? 'Even' : 'Odd') |
||||
let l:column_start = (l:level - 1) * s:indent_size + 1 |
||||
|
||||
" define the higlight patterns and add to matches list |
||||
if g:indent_guides_space_guides |
||||
let l:soft_pattern = indent_guides#indent_highlight_pattern(g:indent_guides_soft_pattern, l:column_start, s:guide_size) |
||||
call add(w:indent_guides_matches, matchadd(l:group, l:soft_pattern)) |
||||
end |
||||
if g:indent_guides_tab_guides |
||||
let l:hard_pattern = indent_guides#indent_highlight_pattern('\t', l:column_start, s:indent_size) |
||||
call add(w:indent_guides_matches, matchadd(l:group, l:hard_pattern)) |
||||
end |
||||
endfor |
||||
endfunction |
||||
|
||||
" |
||||
" Disables the indent guides for the current buffer and any other buffer upon |
||||
" entering it. |
||||
" |
||||
function! indent_guides#disable() |
||||
let g:indent_guides_autocmds_enabled = 0 |
||||
call indent_guides#clear_matches() |
||||
endfunction |
||||
|
||||
" |
||||
" Clear all highlight matches for the current window. |
||||
" |
||||
function! indent_guides#clear_matches() |
||||
call indent_guides#init_matches() |
||||
if !empty(w:indent_guides_matches) |
||||
let l:index = 0 |
||||
for l:match_id in w:indent_guides_matches |
||||
try |
||||
call matchdelete(l:match_id) |
||||
catch /E803:/ |
||||
" Do nothing |
||||
endtry |
||||
call remove(w:indent_guides_matches, l:index) |
||||
let l:index += l:index |
||||
endfor |
||||
endif |
||||
endfunction |
||||
|
||||
" |
||||
" Automagically calculates and defines the indent highlight colors. |
||||
" |
||||
function! indent_guides#highlight_colors() |
||||
if s:auto_colors |
||||
if has('gui_running') || has('nvim') |
||||
call indent_guides#gui_highlight_colors() |
||||
else |
||||
call indent_guides#basic_highlight_colors() |
||||
endif |
||||
endif |
||||
endfunction |
||||
|
||||
" |
||||
" Defines some basic indent highlight colors that work for Terminal Vim and |
||||
" gVim when colors can't be automatically calculated. |
||||
" |
||||
function! indent_guides#basic_highlight_colors() |
||||
let l:cterm_colors = (&g:background == 'dark') ? ['darkgrey', 'black'] : ['lightgrey', 'white'] |
||||
let l:gui_colors = (&g:background == 'dark') ? ['grey15', 'grey30'] : ['grey70', 'grey85'] |
||||
|
||||
exe 'hi IndentGuidesEven guibg=' . l:gui_colors[0] . ' guifg=' . l:gui_colors[1] . ' ctermbg=' . l:cterm_colors[0] . ' ctermfg=' . l:cterm_colors[1] |
||||
exe 'hi IndentGuidesOdd guibg=' . l:gui_colors[1] . ' guifg=' . l:gui_colors[0] . ' ctermbg=' . l:cterm_colors[1] . ' ctermfg=' . l:cterm_colors[0] |
||||
endfunction |
||||
|
||||
" |
||||
" Automagically calculates and defines the indent highlight colors for gui |
||||
" vim. |
||||
" |
||||
function! indent_guides#gui_highlight_colors() |
||||
let l:hi_normal_guibg = '' |
||||
|
||||
" capture the backgroud color from the normal highlight |
||||
if s:hi_normal =~ s:color_hex_bg_pat |
||||
" hex color code is being used, eg. '#FFFFFF' |
||||
let l:hi_normal_guibg = matchstr(s:hi_normal, s:color_hex_bg_pat) |
||||
|
||||
elseif s:hi_normal =~ s:color_name_bg_pat |
||||
" color name is being used, eg. 'white' |
||||
let l:color_name = matchstr(s:hi_normal, s:color_name_bg_pat) |
||||
let l:hi_normal_guibg = color_helper#color_name_to_hex(l:color_name) |
||||
|
||||
else |
||||
" background color could not be detected, default to basic colors |
||||
call indent_guides#basic_highlight_colors() |
||||
endif |
||||
|
||||
if l:hi_normal_guibg =~ s:color_hex_pat |
||||
" calculate the highlight background colors |
||||
let l:hi_odd_bg = indent_guides#lighten_or_darken_color(l:hi_normal_guibg) |
||||
let l:hi_even_bg = indent_guides#lighten_or_darken_color(l:hi_odd_bg) |
||||
|
||||
" define the new highlights |
||||
exe 'hi IndentGuidesOdd guibg=' . l:hi_odd_bg . ' guifg=' . l:hi_even_bg |
||||
exe 'hi IndentGuidesEven guibg=' . l:hi_even_bg . ' guifg=' . l:hi_odd_bg |
||||
end |
||||
endfunction |
||||
|
||||
" |
||||
" Takes a color and darkens or lightens it depending on whether a dark or light |
||||
" colorscheme is being used. |
||||
" |
||||
function! indent_guides#lighten_or_darken_color(color) |
||||
let l:new_color = '' |
||||
|
||||
if (&g:background == 'dark') |
||||
let l:new_color = color_helper#hex_color_lighten(a:color, s:change_percent) |
||||
else |
||||
let l:new_color = color_helper#hex_color_darken (a:color, s:change_percent) |
||||
endif |
||||
|
||||
return l:new_color |
||||
endfunction |
||||
|
||||
" |
||||
" Define default highlights. |
||||
" |
||||
function! indent_guides#define_default_highlights() |
||||
hi default clear IndentGuidesOdd |
||||
hi default clear IndentGuidesEven |
||||
endfunction |
||||
|
||||
" |
||||
" Init the w:indent_guides_matches variable. |
||||
" |
||||
function! indent_guides#init_matches() |
||||
let w:indent_guides_matches = exists('w:indent_guides_matches') ? w:indent_guides_matches : [] |
||||
endfunction |
||||
|
||||
" |
||||
" We need to initialize these vars every time a buffer is entered while the |
||||
" plugin is enabled. |
||||
" |
||||
function! indent_guides#init_script_vars() |
||||
if &l:shiftwidth > 0 && &l:expandtab |
||||
let s:indent_size = &l:shiftwidth |
||||
else |
||||
let s:indent_size = &l:tabstop |
||||
endif |
||||
let s:guide_size = indent_guides#calculate_guide_size() |
||||
let s:hi_normal = indent_guides#capture_highlight('Normal') |
||||
|
||||
" remove 'font=<value>' from the s:hi_normal string (only seems to happen on Vim startup in Windows) |
||||
let s:hi_normal = substitute(s:hi_normal, ' font=[A-Za-z0-9:]\+', "", "") |
||||
|
||||
" shortcuts to the global variables - this makes the code easier to read |
||||
let s:debug = g:indent_guides_debug |
||||
let s:indent_levels = g:indent_guides_indent_levels |
||||
let s:auto_colors = g:indent_guides_auto_colors |
||||
let s:color_hex_pat = g:indent_guides_color_hex_pattern |
||||
let s:color_hex_bg_pat = g:indent_guides_color_hex_guibg_pattern |
||||
let s:color_name_bg_pat = g:indent_guides_color_name_guibg_pattern |
||||
let s:start_level = g:indent_guides_start_level |
||||
|
||||
" str2float not available in vim versions <= 7.1 |
||||
if has('float') |
||||
let s:change_percent = g:indent_guides_color_change_percent / str2float('100.0') |
||||
else |
||||
let s:change_percent = g:indent_guides_color_change_percent / 100.0 |
||||
endif |
||||
|
||||
if s:debug |
||||
echo 's:indent_size = ' . s:indent_size |
||||
echo 's:guide_size = ' . s:guide_size |
||||
echo 's:hi_normal = ' . s:hi_normal |
||||
echo 's:indent_levels = ' . s:indent_levels |
||||
echo 's:auto_colors = ' . s:auto_colors |
||||
echo 's:change_percent = ' . string(s:change_percent) |
||||
echo 's:color_hex_pat = ' . s:color_hex_pat |
||||
echo 's:color_hex_bg_pat = ' . s:color_hex_bg_pat |
||||
echo 's:color_name_bg_pat = ' . s:color_name_bg_pat |
||||
echo 's:start_level = ' . s:start_level |
||||
endif |
||||
endfunction |
||||
|
||||
" |
||||
" Calculate the indent guide size. Ensures the guide size is less than or |
||||
" equal to the actual indent size, otherwise some weird things can occur. |
||||
" |
||||
" NOTE: Currently, this only works when soft-tabs are being used. |
||||
" |
||||
function! indent_guides#calculate_guide_size() |
||||
let l:guide_size = g:indent_guides_guide_size |
||||
|
||||
if l:guide_size == 0 || l:guide_size > s:indent_size |
||||
let l:guide_size = s:indent_size |
||||
endif |
||||
|
||||
return l:guide_size |
||||
endfunction |
||||
|
||||
" |
||||
" Captures and returns the output of highlight group definitions. |
||||
" |
||||
" Example: indent_guides#capture_highlight('normal') |
||||
" Returns: 'Normal xxx guifg=#323232 guibg=#ffffff' |
||||
" |
||||
function! indent_guides#capture_highlight(group_name) |
||||
redir => l:output |
||||
exe "silent hi " . a:group_name |
||||
redir END |
||||
|
||||
let l:output = substitute(l:output, "\n", "", "") |
||||
return l:output |
||||
endfunction |
||||
|
||||
" |
||||
" Returns a regex pattern for highlighting an indent level. |
||||
" |
||||
" Example: indent_guides#indent_highlight_pattern(' ', 1, 4) |
||||
" Returns: /^ *\%1v\zs *\%5v\ze/ |
||||
" |
||||
" Example: indent_guides#indent_highlight_pattern('\s', 5, 2) |
||||
" Returns: /^\s*\%5v\zs\s*\%7v\ze/ |
||||
" |
||||
" Example: indent_guides#indent_highlight_pattern('\t', 9, 2) |
||||
" Returns: /^\t*\%9v\zs\t*\%11v\ze/ |
||||
" |
||||
function! indent_guides#indent_highlight_pattern(indent_pattern, column_start, indent_size) |
||||
let l:pattern = '^' . a:indent_pattern . '*\%' . a:column_start . 'v\zs' |
||||
let l:pattern .= a:indent_pattern . '*\%' . (a:column_start + a:indent_size) . 'v' |
||||
let l:pattern .= '\ze' |
||||
return l:pattern |
||||
endfunction |
||||
|
||||
" |
||||
" Detect if any of the buffer filetypes should be excluded. |
||||
" |
||||
function! indent_guides#exclude_filetype() |
||||
for ft in split(&ft, '\.') |
||||
if index(g:indent_guides_exclude_filetypes, ft) > -1 |
||||
return 1 |
||||
end |
||||
endfor |
||||
return 0 |
||||
endfunction |
@ -0,0 +1,351 @@ |
||||
*indent_guides.txt* A plugin for visually displaying indent levels in Vim. |
||||
|
||||
*indent-guides* |
||||
____ __ __ ______ _ __ |
||||
/ _/____ ____/ /___ ____ / /_ / ____/__ __(_)____/ /___ _____ |
||||
/ / / __ \/ __ // _ \/ __ \/ __/ / / __ / / / / // __ // _ \/ ___/ |
||||
_/ / / / / / /_/ // __/ / / / /_ / /_/ // /_/ / // /_/ // __(__ ) |
||||
/___//_/ /_/\__,_/ \___/_/ /_/\__/ \____/ \__,_/_/ \__,_/ \___/____/ |
||||
|
||||
|
||||
Author: Nate Kane <nathanaelkane AT gmail DOT com> |
||||
Version: 1.7 |
||||
Last Change: 07 Mar 2013 |
||||
|
||||
============================================================================== |
||||
CONTENTS *indent-guides-contents* |
||||
|
||||
1. Introduction.......................... |indent-guides-introduction| |
||||
2. Commands.............................. |indent-guides-commands| |
||||
3. Options............................... |indent-guides-options| |
||||
4. Mappings.............................. |indent-guides-mappings| |
||||
5. Terminal Vim.......................... |indent-guides-terminal-vim| |
||||
6. About................................. |indent-guides-about| |
||||
7. Changelog............................. |indent-guides-changelog| |
||||
8. License............................... |indent-guides-license| |
||||
|
||||
============================================================================== |
||||
1. INTRODUCTION *indent-guides-introduction* |
||||
|
||||
Indent Guides is a plugin for visually displaying indent levels in Vim. |
||||
|
||||
This plugin should work with gVim out of the box, no configuration needed. |
||||
|
||||
Features:~ |
||||
* Can detect both tab and space indent styles. |
||||
* Automatically inspects your colorscheme and picks appropriate colors (gVim |
||||
only). |
||||
* Will highlight indent levels with alternating colors. |
||||
* Full support for gVim and basic support for Terminal Vim. |
||||
* Seems to work on Windows gVim 7.3 (haven't done any extensive tests |
||||
though). |
||||
* Customizable size for indent guides, eg. skinny guides (soft-tabs only). |
||||
* Customizable start indent level. |
||||
* Highlight support for files with a mixture of tab and space indent styles. |
||||
|
||||
============================================================================== |
||||
2. COMMANDS *indent-guides-commands* |
||||
|
||||
------------------------------------------------------------------------------ |
||||
:IndentGuidesToggle *:IndentGuidesToggle* |
||||
Toggles the indent guides on and off. |
||||
|
||||
------------------------------------------------------------------------------ |
||||
:IndentGuidesEnable *:IndentGuidesEnable* |
||||
Enables the indent guides for the current buffer and any other buffer upon |
||||
entering it. |
||||
|
||||
------------------------------------------------------------------------------ |
||||
:IndentGuidesDisable *:IndentGuidesDisable* |
||||
Disables the indent guides for the current buffer and any other buffer upon |
||||
entering it. |
||||
|
||||
============================================================================== |
||||
3. OPTIONS *indent-guides-options* |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_indent_levels'* |
||||
Use this option to control how many indent levels to display guides for. |
||||
|
||||
Default: 30. Values: integer. |
||||
> |
||||
let g:indent_guides_indent_levels = 30 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_auto_colors'* |
||||
Use this option to control whether or not the plugin automatically calculates |
||||
the highlight colors. Will use the current colorscheme's background color as a |
||||
base color. |
||||
|
||||
Default: 1. Values: 0 or 1. |
||||
> |
||||
let g:indent_guides_auto_colors = 1 |
||||
< |
||||
|
||||
If you set this option to 0, be sure to manually define some highlight colors |
||||
in an autocmd. |
||||
> |
||||
let g:indent_guides_auto_colors = 0 |
||||
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=red ctermbg=3 |
||||
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green ctermbg=4 |
||||
< |
||||
|
||||
Alternatively you can add the following lines to your colorscheme file. |
||||
> |
||||
hi IndentGuidesOdd guibg=red ctermbg=3 |
||||
hi IndentGuidesEven guibg=green ctermbg=4 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_color_change_percent'* |
||||
Use this option to control the percent at which the highlight colors will be |
||||
lightened or darkened. |
||||
|
||||
Default: 10 (10%). Values: between 0 and 100. |
||||
> |
||||
let g:indent_guides_color_change_percent = 10 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_guide_size'* |
||||
Use this option to customize the size of the indent guide. By default the |
||||
value is set to 0, which will set the guide size to be the same as the |
||||
|shiftwidth|. Setting this value to be larger than the |shiftwidth| is essentially |
||||
the same as setting it to 0. |
||||
|
||||
A common use of this setting is to create skinny indent guides, which look |
||||
great with a |shiftwidth| of 4 or more. |
||||
|
||||
NOTE: This option only works for soft-tabs (spaces) and not hard-tabs. |
||||
|
||||
Default: 0. Values: between 0 and |shiftwidth|. |
||||
> |
||||
let g:indent_guides_guide_size = 1 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_start_level'* |
||||
Use this option to control which indent level to start showing guides from. |
||||
|
||||
Default: 1. Values: between 1 and g:|indent_guides_indent_levels|. |
||||
> |
||||
let g:indent_guides_start_level = 2 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_space_guides'* |
||||
Use this option to control whether the plugin considers spaces as indention. |
||||
|
||||
Default: 1. Values: 0 or 1. |
||||
> |
||||
let g:indent_guides_space_guides = 0 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_tab_guides'* |
||||
Use this option to control whether the plugin considers tabs as indention. |
||||
|
||||
Default: 1. Values: 0 or 1. |
||||
> |
||||
let g:indent_guides_tab_guides = 0 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_soft_pattern'* |
||||
Use this option to explicitly specify a pattern for soft indentation. For |
||||
example to match spaces only in the beginning of line use ' ' pattern. |
||||
|
||||
Default: '\s'. Values: Vim regexp. |
||||
> |
||||
let g:indent_guides_soft_pattern = ' ' |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_enable_on_vim_startup'* |
||||
Use this option to control whether the plugin is enabled on Vim startup. |
||||
|
||||
Default: 0. Values: 0 or 1. |
||||
> |
||||
let g:indent_guides_enable_on_vim_startup = 0 |
||||
< |
||||
|
||||
------------------------------------------------------------------------------ |
||||
*'indent_guides_exclude_filetypes'* |
||||
Use this option to specify a list of filetypes to disable the plugin for. |
||||
|
||||
Default: ['help']. Values: list of strings. |
||||
> |
||||
let g:indent_guides_exclude_filetypes = ['help', 'nerdtree'] |
||||