├── LICENSE.md
├── README.md
└── colors
└── NeoSolarized.vim
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2011 Ethan Schoonover
4 | Copyright (c) 2016 iCyMind
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NeoSolarized
2 | Another solarized color theme for truecolor neovim / vim.
3 | 
4 | 
5 | Fork from [vim-colors-solarized](https://github.com/altercation/vim-colors-solarized), Features:
6 | - truecolor support for neovim/vim terminal, and works well in Gvim/MacVim.
7 | - define color for neovim's embed terminal.
8 | - define color for [Neomake](https://github.com/neomake/neomake), [GitGutter](https://github.com/airblade/vim-gitgutter), [ALE](https://github.com/w0rp/ale)
9 |
10 | ## Requirements
11 | - A [terminal](https://gist.github.com/XVilka/8346728) which supports truecolor
12 | - neovim or Gvim/MacVim or vim ≥ 7.4.1799
13 | - The following line in your `init.vim` or `.vimrc` file:
14 |
15 | ```vim
16 | set termguicolors
17 | ```
18 |
19 | ## Installation
20 | - Manual install
21 | Move NeoSolarized.vim to your vim RunTimePath directory:
22 |
23 | ```bash
24 | cd NeoSolarized/colors
25 | mv NeoSolarized.vim ~/.config/nvim/colors/
26 | ```
27 | or for vim
28 | ```bash
29 | cd NeoSolarized/colors
30 | mv NeoSolarized.vim ~/.vim/colors/
31 | ```
32 | - Plugin managers: [vim-plug](https://github.com/junegunn/vim-plug):
33 | - Add `Plug 'overcache/NeoSolarized'` to your `init.vim` or `.vimrc` file.
34 | - Run `:PlugInstall` after resourcing/relaunching.
35 |
36 | After the installation, configure it as your colorscheme by putting the following line into your `init.vim` or `.vimrc` file:
37 | ```vim
38 | colorscheme NeoSolarized
39 | ```
40 | ## Options
41 | Some options of the original solarized theme were removed or renamed to avoid config conflicts.
42 | Make sure to put configuration before the line `colorscheme NeoSolarized` in `init.vim` or `.vimrc`.
43 |
44 | ```vim
45 | " Default value is "normal", Setting this option to "high" or "low" does use the
46 | " same Solarized palette but simply shifts some values up or down in order to
47 | " expand or compress the tonal range displayed.
48 | let g:neosolarized_contrast = "normal"
49 |
50 | " Special characters such as trailing whitespace, tabs, newlines, when displayed
51 | " using ":set list" can be set to one of three levels depending on your needs.
52 | " Default value is "normal". Provide "high" and "low" options.
53 | let g:neosolarized_visibility = "normal"
54 |
55 | " I make vertSplitBar a transparent background color. If you like the origin
56 | " solarized vertSplitBar style more, set this value to 0.
57 | let g:neosolarized_vertSplitBgTrans = 1
58 |
59 | " If you wish to enable/disable NeoSolarized from displaying bold, underlined
60 | " or italicized" typefaces, simply assign 1 or 0 to the appropriate variable.
61 | " Default values:
62 | let g:neosolarized_bold = 1
63 | let g:neosolarized_underline = 1
64 | let g:neosolarized_italic = 0
65 |
66 | " Used to enable/disable "bold as bright" in Neovim terminal. If colors of bold
67 | " text output by commands like `ls` aren't what you expect, you might want to
68 | " try disabling this option. Default value:
69 | let g:neosolarized_termBoldAsBright = 1
70 | ```
71 |
72 |
73 | To enable the dark version of the theme add the line
74 | ```vim
75 | set background=dark
76 | ```
77 | For more information check out the documentation in `NeoSolarized.vim`.
78 |
79 |
80 | ## More info
81 | ### Plugins used in the screenshot
82 |
83 | - [NERDTree](https://github.com/scrooloose/nerdtree)
84 | - [vim-airline](https://github.com/vim-airline/vim-airline)
85 | - [neomake](https://github.com/neomake/neomake)
86 | - [vim-gitgutter](https://github.com/airblade/vim-gitgutter) (make sure you have: `let g:gitgutter_override_sign_column_highlight = 0` in your init.vim/.vimrc)
87 | - [vim-signature](https://github.com/kshenoy/vim-signature)
88 |
89 | ### Truecolor test
90 | You can run this script to test if your terminal is supported. If the colors blend smoothly like: , then you know that you have True Color support.
91 | ```bash
92 | awk 'BEGIN{
93 | s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
94 | for (colnum = 0; colnum<77; colnum++) {
95 | r = 255-(colnum*255/76);
96 | g = (colnum*510/76);
97 | b = (colnum*255/76);
98 | if (g>255) g = 510-g;
99 | printf "\033[48;2;%d;%d;%dm", r,g,b;
100 | printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
101 | printf "%s\033[0m", substr(s,colnum+1,1);
102 | }
103 | printf "\n";
104 | }'
105 | ```
106 | ### Tmux
107 | You may need the same hack to make vim work well in tmux. Put these lines into your .vimrc:
108 | ```vim
109 | set t_8f=^[[38;2;%lu;%lu;%lum
110 | set t_8b=^[[48;2;%lu;%lu;%lum
111 | ```
112 | The '^[' represent the escape char. You should press Ctrl-v + Esc to input actual escape. If the ^[ is two characters (^ and [), it's wrong. If it is one character, it's okay. When you delete the character with backspace, you will find that ^[ is deleted at once. Please also check
113 | :help c_CTRL-V (and :help i_CTRL-V).
114 | check [issue](https://github.com/vim/vim/issues/993#issuecomment-241676971) and [issue](https://github.com/vim/vim/issues/981#issuecomment-242893385) for more information.
115 |
116 |
117 | neovim works perfect without this config. If you encounter a color issue using tmux, make sure that:
118 | - you are using the latest version of tmux (v2.2)
119 | - your $TERM variable is set to "xterm-256color"
120 | - add the line below to your .tmux.conf file:
121 |
122 | ```tmux
123 | set-option -ga terminal-overrides ",xterm-256color:Tc"
124 | ```
125 |
126 | See this [article](https://deductivelabs.com/blog/tech/using-true-color-vim-tmux/) for more details on tmux.
127 |
--------------------------------------------------------------------------------
/colors/NeoSolarized.vim:
--------------------------------------------------------------------------------
1 | " Name: NeoSolarized: Colorscheme for truecolor vim
2 | " Author: iCyMind
3 | " URL: https://github.com/iCyMind/NeoSolarized
4 | " License: MIT
5 | " Modified: Wed Jun 12 18:41:42 PDT 2016
6 |
7 | " Usage "{{{
8 | "
9 | " ---------------------------------------------------------------------
10 | " ABOUT:
11 | " ---------------------------------------------------------------------
12 | " Solarized is a carefully designed selective contrast colorscheme with dual
13 | " light and dark modes that runs in both GUI, 256 and 16 color modes.
14 | "
15 | " But the origin solarized does not support truecolor terminal. NeoSolarized
16 | " is a fixed colorscheme for neovim/vim which running in truecolor supported
17 | " terminal.
18 | "
19 | " ---------------------------------------------------------------------
20 | " OPTIONS:
21 | " ---------------------------------------------------------------------
22 | " Font styles:
23 | " g:neosolarized_bold
24 | " g:neosolarized_italic
25 | " g:neosolarized_underline
26 | "
27 | " Appearance:
28 | " g:neosolarized_contrast
29 | " g:neosolarized_diffmode
30 | " g:neosolarized_termBoldAsBright
31 | " g:neosolarized_termtrans
32 | " g:neosolarized_vertSplitBgTrans
33 | " g:neosolarized_visibility
34 | "
35 | " ---------------------------------------------------------------------
36 | " INSTALLATION:
37 | " ---------------------------------------------------------------------
38 | " move the NeoSolarized.vim to your VIMRUNTIME by manual or plugin manager
39 | "
40 | " MODIFY VIMRC:
41 | "
42 | " After either Option 1 or Option 2 above, put the following two lines in your
43 | " .vimrc:
44 | "
45 | " syntax enable
46 | " set background=dark
47 | " colorscheme NeoSolarized
48 | "
49 | " or, for the light background mode of Solarized:
50 | "
51 | " syntax enable
52 | " set background=light
53 | " colorscheme NeoSolarized
54 | "
55 | " I like to have a different background in GUI and terminal modes, so I can use
56 | " the following if-then. However, I find vim's background autodetection to be
57 | " pretty good and, at least with MacVim, I can leave this background value
58 | " assignment out entirely and get the same results.
59 | "
60 | " if has('gui_running')
61 | " set background=light
62 | " else
63 | " set background=dark
64 | " endif
65 | "
66 | " See the Solarized homepage at http://ethanschoonover.com/solarized for
67 | " screenshots which will help you select either the light or dark background.
68 | "
69 | " ---------------------------------------------------------------------
70 | " COLOR VALUES
71 | " ---------------------------------------------------------------------
72 | " Download palettes and files from: http://ethanschoonover.com/solarized
73 | "
74 | " L\*a\*b values are canonical (White D65, Reference D50), other values are
75 | " matched in sRGB space.
76 | "
77 | " SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB
78 | " --------- ------- ---- ------- ----------- ---------- ----------- -----------
79 | " base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
80 | " base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
81 | " base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46
82 | " base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51
83 | " base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
84 | " base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
85 | " base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93
86 | " base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
87 | " yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
88 | " orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
89 | " red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
90 | " magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
91 | " violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
92 | " blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
93 | " cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
94 | " green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
95 | "
96 | " ---------------------------------------------------------------------
97 | " COLORSCHEME HACKING
98 | " ---------------------------------------------------------------------
99 | "
100 | " Useful commands for testing colorschemes:
101 | " :source $VIMRUNTIME/syntax/hitest.vim
102 | " :help highlight-groups
103 | " :help cterm-colors
104 | " :help group-name
105 | "
106 | " Useful links for developing colorschemes:
107 | " http://www.vim.org/scripts/script.php?script_id=2937
108 | " http://vimcasts.org/episodes/creating-colorschemes-for-vim/
109 | " http://www.frexx.de/xterm-256-notes/"
110 | "
111 | " }}}
112 |
113 | " Default option values"{{{
114 | " ---------------------------------------------------------------------
115 |
116 | " Font styles:
117 | let g:neosolarized_bold = get(g:, "neosolarized_bold", 1)
118 | let g:neosolarized_italic = get(g:, "neosolarized_italic", 0)
119 | let g:neosolarized_underline = get(g:, "neosolarized_underline", 1)
120 |
121 | " Appearance:
122 | let g:neosolarized_contrast = get(g:, "neosolarized_contrast", "normal")
123 | let g:neosolarized_diffmode = get(g:, "neosolarized_diffmode", "normal")
124 | let g:neosolarized_termBoldAsBright = get(g:, "neosolarized_termBoldAsBright", 1)
125 | let g:neosolarized_termtrans = get(g:, "neosolarized_termtrans", 0)
126 | let g:neosolarized_visibility = get(g:, "neosolarized_visibility", "normal")
127 | let g:neosolarized_vertSplitBgTrans = get(g:, "neosolarized_vertSplitBgTrans", 1)
128 |
129 | "}}}
130 |
131 | " Colorscheme initialization "{{{
132 | " ---------------------------------------------------------------------
133 | hi clear
134 | if exists("syntax_on")
135 | syntax reset
136 | endif
137 | let colors_name = "NeoSolarized"
138 |
139 | "}}}
140 |
141 | " GUI & CSApprox hexadecimal palettes"{{{
142 | " ---------------------------------------------------------------------
143 | "
144 | " Set gui and terminal at the same time.
145 | let s:gui_mode = "gui"
146 | let s:gui_base03 = "#002b36"
147 | let s:gui_base02 = "#073642"
148 | let s:gui_base01 = "#586e75"
149 | let s:gui_base00 = "#657b83"
150 | let s:gui_base0 = "#839496"
151 | let s:gui_base1 = "#93a1a1"
152 | let s:gui_base2 = "#eee8d5"
153 | let s:gui_base3 = "#fdf6e3"
154 | let s:gui_yellow = "#b58900"
155 | let s:gui_orange = "#cb4b16"
156 | let s:gui_red = "#dc322f"
157 | let s:gui_magenta = "#d33682"
158 | let s:gui_violet = "#6c71c4"
159 | let s:gui_blue = "#268bd2"
160 | let s:gui_cyan = "#2aa198"
161 | let s:gui_green = "#719e07" "experimental
162 | "let s:green = "#859900" "original
163 |
164 | let s:term_mode = "cterm"
165 | let s:term_base03 = "8"
166 | let s:term_base02 = "0"
167 | let s:term_base01 = "10"
168 | let s:term_base00 = "11"
169 | let s:term_base0 = "12"
170 | let s:term_base1 = "14"
171 | let s:term_base2 = "7"
172 | let s:term_base3 = "15"
173 | let s:term_yellow = "3"
174 | let s:term_orange = "9"
175 | let s:term_red = "1"
176 | let s:term_magenta = "5"
177 | let s:term_violet = "13"
178 | let s:term_blue = "4"
179 | let s:term_cyan = "6"
180 | let s:term_green = "2"
181 |
182 | "}}}
183 |
184 | " Formatting options and null values for passthrough effect "{{{
185 | " ---------------------------------------------------------------------
186 | let s:gui_none = "NONE"
187 | let s:term_none = "NONE"
188 | let s:n = "NONE"
189 | let s:c = ",undercurl"
190 | let s:r = ",reverse"
191 | let s:s = ",standout"
192 | let s:ou = ""
193 | let s:ob = ""
194 | "}}}
195 |
196 | " Background value based on termtrans setting "{{{
197 | " ---------------------------------------------------------------------
198 | if (has("gui_running") || g:neosolarized_termtrans == 0)
199 | let s:gui_back = s:gui_base03
200 | let s:term_back = s:term_base03
201 | else
202 | let s:gui_back = "NONE"
203 | let s:term_back = "NONE"
204 | endif
205 | "}}}
206 |
207 | " Alternate light scheme "{{{
208 | " ---------------------------------------------------------------------
209 | if &background == "light"
210 | " GUI
211 | let s:gui_temp03 = s:gui_base03
212 | let s:gui_temp02 = s:gui_base02
213 | let s:gui_temp01 = s:gui_base01
214 | let s:gui_temp00 = s:gui_base00
215 | let s:gui_base03 = s:gui_base3
216 | let s:gui_base02 = s:gui_base2
217 | let s:gui_base01 = s:gui_base1
218 | let s:gui_base00 = s:gui_base0
219 | let s:gui_base0 = s:gui_temp00
220 | let s:gui_base1 = s:gui_temp01
221 | let s:gui_base2 = s:gui_temp02
222 | let s:gui_base3 = s:gui_temp03
223 | if (s:gui_back != "NONE")
224 | let s:gui_back = s:gui_base03
225 | endif
226 |
227 | " terminal
228 | let s:term_temp03 = s:term_base03
229 | let s:term_temp02 = s:term_base02
230 | let s:term_temp01 = s:term_base01
231 | let s:term_temp00 = s:term_base00
232 | let s:term_base03 = s:term_base3
233 | let s:term_base02 = s:term_base2
234 | let s:term_base01 = s:term_base1
235 | let s:term_base00 = s:term_base0
236 | let s:term_base0 = s:term_temp00
237 | let s:term_base1 = s:term_temp01
238 | let s:term_base2 = s:term_temp02
239 | let s:term_base3 = s:term_temp03
240 | if (s:term_back != "NONE")
241 | let s:term_back = s:term_base03
242 | endif
243 | endif
244 | "}}}
245 |
246 | " Optional contrast schemes "{{{
247 | " ---------------------------------------------------------------------
248 | if g:neosolarized_contrast == "high"
249 | let s:gui_base01 = s:gui_base00
250 | let s:gui_base00 = s:gui_base0
251 | let s:gui_base0 = s:gui_base1
252 | let s:gui_base1 = s:gui_base2
253 | let s:gui_base2 = s:gui_base3
254 | let s:gui_back = s:gui_back
255 |
256 | let s:term_base01 = s:term_base00
257 | let s:term_base00 = s:term_base0
258 | let s:term_base0 = s:term_base1
259 | let s:term_base1 = s:term_base2
260 | let s:term_base2 = s:term_base3
261 | let s:term_back = s:term_back
262 | endif
263 | if g:neosolarized_contrast == "low"
264 | let s:gui_back = s:gui_base02
265 | let s:term_back = s:term_base02
266 | let s:ou = ",underline"
267 | endif
268 | "}}}
269 |
270 | " Overrides dependent on user specified values and environment "{{{
271 | " ---------------------------------------------------------------------
272 | if (g:neosolarized_bold == 0 || &t_Co == 8 )
273 | let s:b = ""
274 | let s:bb = ",bold"
275 | else
276 | let s:b = ",bold"
277 | let s:bb = ""
278 | endif
279 |
280 | if g:neosolarized_underline == 0
281 | let s:u = ""
282 | else
283 | let s:u = ",underline"
284 | endif
285 |
286 | if g:neosolarized_italic == 0
287 | let s:i = ""
288 | else
289 | let s:i = ",italic"
290 | endif
291 | "}}}
292 |
293 | " Highlighting primitives"{{{
294 | " ---------------------------------------------------------------------
295 |
296 | exe "let s:bg_none = ' " . "guibg=".s:gui_none . " ctermbg=".s:term_none . "'"
297 | exe "let s:bg_back = ' " . "guibg=".s:gui_back . " ctermbg=".s:term_back . "'"
298 | exe "let s:bg_base03 = ' " . "guibg=".s:gui_base03 . " ctermbg=".s:term_base03 . "'"
299 | exe "let s:bg_base02 = ' " . "guibg=".s:gui_base02 . " ctermbg=".s:term_base02 . "'"
300 | exe "let s:bg_base01 = ' " . "guibg=".s:gui_base01 . " ctermbg=".s:term_base01 . "'"
301 | exe "let s:bg_base00 = ' " . "guibg=".s:gui_base00 . " ctermbg=".s:term_base00 . "'"
302 | exe "let s:bg_base0 = ' " . "guibg=".s:gui_base0 . " ctermbg=".s:term_base0 . "'"
303 | exe "let s:bg_base1 = ' " . "guibg=".s:gui_base1 . " ctermbg=".s:term_base1 . "'"
304 | exe "let s:bg_base2 = ' " . "guibg=".s:gui_base2 . " ctermbg=".s:term_base2 . "'"
305 | exe "let s:bg_base3 = ' " . "guibg=".s:gui_base3 . " ctermbg=".s:term_base3 . "'"
306 | exe "let s:bg_green = ' " . "guibg=".s:gui_green . " ctermbg=".s:term_green . "'"
307 | exe "let s:bg_yellow = ' " . "guibg=".s:gui_yellow . " ctermbg=".s:term_yellow . "'"
308 | exe "let s:bg_orange = ' " . "guibg=".s:gui_orange . " ctermbg=".s:term_orange . "'"
309 | exe "let s:bg_red = ' " . "guibg=".s:gui_red . " ctermbg=".s:term_red . "'"
310 | exe "let s:bg_magenta = ' " . "guibg=".s:gui_magenta . " ctermbg=".s:term_magenta . "'"
311 | exe "let s:bg_violet = ' " . "guibg=".s:gui_violet . " ctermbg=".s:term_violet . "'"
312 | exe "let s:bg_blue = ' " . "guibg=".s:gui_blue . " ctermbg=".s:term_blue . "'"
313 | exe "let s:bg_cyan = ' " . "guibg=".s:gui_cyan . " ctermbg=".s:term_cyan . "'"
314 |
315 | exe "let s:fg_none = ' " . "guifg=".s:gui_none . " ctermfg=".s:term_none . "'"
316 | exe "let s:fg_back = ' " . "guifg=".s:gui_back . " ctermfg=".s:term_back . "'"
317 | exe "let s:fg_base03 = ' " . "guifg=".s:gui_base03 . " ctermfg=".s:term_base03 . "'"
318 | exe "let s:fg_base02 = ' " . "guifg=".s:gui_base02 . " ctermfg=".s:term_base02 . "'"
319 | exe "let s:fg_base01 = ' " . "guifg=".s:gui_base01 . " ctermfg=".s:term_base01 . "'"
320 | exe "let s:fg_base00 = ' " . "guifg=".s:gui_base00 . " ctermfg=".s:term_base00 . "'"
321 | exe "let s:fg_base0 = ' " . "guifg=".s:gui_base0 . " ctermfg=".s:term_base0 . "'"
322 | exe "let s:fg_base1 = ' " . "guifg=".s:gui_base1 . " ctermfg=".s:term_base1 . "'"
323 | exe "let s:fg_base2 = ' " . "guifg=".s:gui_base2 . " ctermfg=".s:term_base2 . "'"
324 | exe "let s:fg_base3 = ' " . "guifg=".s:gui_base3 . " ctermfg=".s:term_base3 . "'"
325 | exe "let s:fg_green = ' " . "guifg=".s:gui_green . " ctermfg=".s:term_green . "'"
326 | exe "let s:fg_yellow = ' " . "guifg=".s:gui_yellow . " ctermfg=".s:term_yellow . "'"
327 | exe "let s:fg_orange = ' " . "guifg=".s:gui_orange . " ctermfg=".s:term_orange . "'"
328 | exe "let s:fg_red = ' " . "guifg=".s:gui_red . " ctermfg=".s:term_red . "'"
329 | exe "let s:fg_magenta = ' " . "guifg=".s:gui_magenta . " ctermfg=".s:term_magenta . "'"
330 | exe "let s:fg_violet = ' " . "guifg=".s:gui_violet . " ctermfg=".s:term_violet . "'"
331 | exe "let s:fg_blue = ' " . "guifg=".s:gui_blue . " ctermfg=".s:term_blue . "'"
332 | exe "let s:fg_cyan = ' " . "guifg=".s:gui_cyan . " ctermfg=".s:term_cyan . "'"
333 |
334 | exe "let s:fmt_none = ' " . "gui=NONE" . " cterm=NONE" . "'"
335 | exe "let s:fmt_bold = ' " . "gui=NONE".s:b . " cterm=NONE".s:b . "'"
336 | exe "let s:fmt_bldi = ' " . "gui=NONE".s:b . " cterm=NONE".s:b . "'"
337 | exe "let s:fmt_undr = ' " . "gui=NONE".s:u . " cterm=NONE".s:u . "'"
338 | exe "let s:fmt_undb = ' " . "gui=NONE".s:u.s:b . " cterm=NONE".s:u.s:b . "'"
339 | exe "let s:fmt_undi = ' " . "gui=NONE".s:u . " cterm=NONE".s:u . "'"
340 | exe "let s:fmt_uopt = ' " . "gui=NONE".s:ou . " cterm=NONE".s:ou . "'"
341 | exe "let s:fmt_curl = ' " . "gui=NONE".s:c . " cterm=NONE".s:c . "'"
342 | exe "let s:fmt_ital = ' " . "gui=NONE".s:i . " cterm=NONE".s:i . "'"
343 | exe "let s:fmt_stnd = ' " . "gui=NONE".s:s . " cterm=NONE".s:s . "'"
344 | exe "let s:fmt_revr = ' " . "gui=NONE".s:r . " cterm=NONE".s:r . "'"
345 | exe "let s:fmt_revb = ' " . "gui=NONE".s:r.s:b . " cterm=NONE".s:r.s:b . "'"
346 | " revbb (reverse bold for bright colors) is only set to actual bold in low
347 | " color terminals (t_co=8, such as OS X Terminal.app) and should only be used
348 | " with colors 8-15.
349 | exe "let s:fmt_revbb = ' " . "gui=NONE".s:r.s:bb . " cterm=NONE".s:r.s:bb . "'"
350 | exe "let s:fmt_revbbu = ' " . "gui=NONE".s:r.s:bb.s:u . " cterm=NONE".s:r.s:bb.s:u . "'"
351 |
352 | if has("gui_running") || has("termguicolors") && &termguicolors
353 | exe "let s:sp_none = ' guisp=" . s:gui_none . "'"
354 | exe "let s:sp_back = ' guisp=" . s:gui_back . "'"
355 | exe "let s:sp_base03 = ' guisp=" . s:gui_base03 . "'"
356 | exe "let s:sp_base02 = ' guisp=" . s:gui_base02 . "'"
357 | exe "let s:sp_base01 = ' guisp=" . s:gui_base01 . "'"
358 | exe "let s:sp_base00 = ' guisp=" . s:gui_base00 . "'"
359 | exe "let s:sp_base0 = ' guisp=" . s:gui_base0 . "'"
360 | exe "let s:sp_base1 = ' guisp=" . s:gui_base1 . "'"
361 | exe "let s:sp_base2 = ' guisp=" . s:gui_base2 . "'"
362 | exe "let s:sp_base3 = ' guisp=" . s:gui_base3 . "'"
363 | exe "let s:sp_green = ' guisp=" . s:gui_green . "'"
364 | exe "let s:sp_yellow = ' guisp=" . s:gui_yellow . "'"
365 | exe "let s:sp_orange = ' guisp=" . s:gui_orange . "'"
366 | exe "let s:sp_red = ' guisp=" . s:gui_red . "'"
367 | exe "let s:sp_magenta = ' guisp=" . s:gui_magenta . "'"
368 | exe "let s:sp_violet = ' guisp=" . s:gui_violet . "'"
369 | exe "let s:sp_blue = ' guisp=" . s:gui_blue . "'"
370 | exe "let s:sp_cyan = ' guisp=" . s:gui_cyan . "'"
371 | else
372 | let s:sp_none = ""
373 | let s:sp_back = ""
374 | let s:sp_base03 = ""
375 | let s:sp_base02 = ""
376 | let s:sp_base01 = ""
377 | let s:sp_base00 = ""
378 | let s:sp_base0 = ""
379 | let s:sp_base1 = ""
380 | let s:sp_base2 = ""
381 | let s:sp_base3 = ""
382 | let s:sp_green = ""
383 | let s:sp_yellow = ""
384 | let s:sp_orange = ""
385 | let s:sp_red = ""
386 | let s:sp_magenta = ""
387 | let s:sp_violet = ""
388 | let s:sp_blue = ""
389 | let s:sp_cyan = ""
390 | endif
391 |
392 | "}}}
393 |
394 | " Basic highlighting"{{{
395 | " ---------------------------------------------------------------------
396 | " note that link syntax to avoid duplicate configuration doesn't work with the
397 | " exe compiled formats
398 |
399 | exe "hi! Normal" .s:fmt_none .s:fg_base0 .s:bg_back
400 |
401 | exe "hi! Comment" .s:fmt_ital .s:fg_base01 .s:bg_none
402 | " *Comment any comment
403 |
404 | exe "hi! Constant" .s:fmt_none .s:fg_cyan .s:bg_none
405 | " *Constant any constant
406 | " String a string constant: "this is a string"
407 | " Character a character constant: 'c', '\n'
408 | " Number a number constant: 234, 0xff
409 | " Boolean a boolean constant: TRUE, false
410 | " Float a floating point constant: 2.3e10
411 |
412 | exe "hi! Identifier" .s:fmt_none .s:fg_blue .s:bg_none
413 | " *Identifier any variable name
414 | " Function function name (also: methods for classes)
415 | "
416 | exe "hi! Statement" .s:fmt_none .s:fg_green .s:bg_none
417 | " *Statement any statement
418 | " Conditional if, then, else, endif, switch, etc.
419 | " Repeat for, do, while, etc.
420 | " Label case, default, etc.
421 | " Operator "sizeof", "+", "*", etc.
422 | " Keyword any other keyword
423 | " Exception try, catch, throw
424 |
425 | exe "hi! PreProc" .s:fmt_none .s:fg_orange .s:bg_none
426 | " *PreProc generic Preprocessor
427 | " Include preprocessor #include
428 | " Define preprocessor #define
429 | " Macro same as Define
430 | " PreCondit preprocessor #if, #else, #endif, etc.
431 |
432 | exe "hi! Type" .s:fmt_none .s:fg_yellow .s:bg_none
433 | " *Type int, long, char, etc.
434 | " StorageClass static, register, volatile, etc.
435 | " Structure struct, union, enum, etc.
436 | " Typedef A typedef
437 |
438 | exe "hi! Special" .s:fmt_none .s:fg_red .s:bg_none
439 | " *Special any special symbol
440 | " SpecialChar special character in a constant
441 | " Tag you can use CTRL-] on this
442 | " Delimiter character that needs attention
443 | " SpecialComment special things inside a comment
444 | " Debug debugging statements
445 |
446 | exe "hi! Underlined" .s:fmt_none .s:fg_violet .s:bg_none
447 | " *Underlined text that stands out, HTML links
448 |
449 | exe "hi! Ignore" .s:fmt_none .s:fg_none .s:bg_none
450 | " *Ignore left blank, hidden |hl-Ignore|
451 |
452 | exe "hi! Error" .s:fmt_bold .s:fg_red .s:bg_none
453 | " *Error any erroneous construct
454 |
455 | exe "hi! Todo" .s:fmt_bold .s:fg_magenta.s:bg_none
456 | " *Todo anything that needs extra attention; mostly the
457 | " keywords TODO FIXME and XXX
458 | "
459 | "}}}
460 |
461 | " Extended highlighting "{{{
462 | " ---------------------------------------------------------------------
463 | if (g:neosolarized_visibility=="high")
464 | exe "hi! SpecialKey" .s:fmt_revr .s:fg_red .s:bg_none
465 | exe "hi! NonText" .s:fmt_bold .s:fg_red .s:bg_none
466 | elseif (g:neosolarized_visibility=="low")
467 | exe "hi! SpecialKey" .s:fmt_bold .s:fg_base02 .s:bg_none
468 | exe "hi! NonText" .s:fmt_bold .s:fg_base02 .s:bg_none
469 | else
470 | exe "hi! SpecialKey" .s:fmt_bold .s:fg_base00 .s:bg_base02
471 | exe "hi! NonText" .s:fmt_bold .s:fg_base00 .s:bg_none
472 | endif
473 | exe "hi! StatusLine" .s:fmt_none .s:fg_base1 .s:bg_base02 .s:fmt_revbb
474 | exe "hi! StatusLineNC" .s:fmt_none .s:fg_base00 .s:bg_base02 .s:fmt_revbb
475 | exe "hi! Visual" .s:fmt_none .s:fg_base01 .s:bg_base03 .s:fmt_revbb
476 | exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none
477 | exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none
478 | exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none
479 | exe "hi! Search" .s:fmt_revr .s:fg_yellow .s:bg_none
480 | exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none
481 | exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none
482 | exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02
483 | exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none
484 | if (g:neosolarized_vertSplitBgTrans == 1)
485 | exe "hi! VertSplit" .s:fmt_none .s:fg_base00 .s:bg_none
486 | else
487 | exe "hi! VertSplit" .s:fmt_none .s:fg_base00 .s:bg_base00
488 | endif
489 | exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none
490 | exe "hi! VisualNOS" .s:fmt_stnd .s:fg_none .s:bg_base02 .s:fmt_revbb
491 | exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none
492 | exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02 .s:fmt_revbb
493 | exe "hi! Folded" .s:fmt_bold .s:fg_base0 .s:bg_base02 .s:sp_base03
494 | exe "hi! FoldColumn" .s:fmt_none .s:fg_base0 .s:bg_base02
495 |
496 | if (g:neosolarized_diffmode=="high")
497 | exe "hi! DiffAdd" .s:fmt_revr .s:fg_green .s:bg_none
498 | exe "hi! DiffChange" .s:fmt_revr .s:fg_yellow .s:bg_none
499 | exe "hi! DiffDelete" .s:fmt_revr .s:fg_red .s:bg_none
500 | exe "hi! DiffText" .s:fmt_revr .s:fg_blue .s:bg_none
501 | elseif (g:neosolarized_diffmode=="low")
502 | exe "hi! DiffAdd" .s:fmt_undr .s:fg_green .s:bg_none .s:sp_green
503 | exe "hi! DiffChange" .s:fmt_undr .s:fg_yellow .s:bg_none .s:sp_yellow
504 | exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_none
505 | exe "hi! DiffText" .s:fmt_undr .s:fg_blue .s:bg_none .s:sp_blue
506 | else " normal
507 | exe "hi! DiffAdd" .s:fmt_bold .s:fg_green .s:bg_base02 .s:sp_green
508 | exe "hi! DiffChange" .s:fmt_bold .s:fg_yellow .s:bg_base02 .s:sp_yellow
509 | exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_base02
510 | exe "hi! DiffText" .s:fmt_bold .s:fg_blue .s:bg_base02 .s:sp_blue
511 | endif
512 |
513 | exe "hi! SignColumn" .s:fmt_none .s:fg_base0 .s:bg_none
514 | exe "hi! Conceal" .s:fmt_none .s:fg_blue .s:bg_none
515 | exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red
516 | exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet
517 | exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan
518 | exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow
519 | exe "hi! Pmenu" .s:fmt_none .s:fg_base0 .s:bg_base02 .s:fmt_revbb
520 | exe "hi! PmenuSel" .s:fmt_none .s:fg_base01 .s:bg_base2 .s:fmt_revbb
521 | exe "hi! PmenuSbar" .s:fmt_none .s:fg_base2 .s:bg_base0 .s:fmt_revbb
522 | exe "hi! PmenuThumb" .s:fmt_none .s:fg_base0 .s:bg_base03 .s:fmt_revbb
523 | exe "hi! TabLine" .s:fmt_none .s:fg_base0 .s:bg_base02 .s:sp_base0
524 | exe "hi! TabLineFill" .s:fmt_none .s:fg_base0 .s:bg_base02 .s:sp_base0
525 | exe "hi! TabLineSel" .s:fmt_none .s:fg_base01 .s:bg_base2 .s:sp_base0 .s:fmt_revr
526 | exe "hi! CursorColumn" .s:fmt_none .s:fg_none .s:bg_base02
527 | exe "hi! CursorLine" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1
528 | exe "hi! CursorLineNr" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1
529 | exe "hi! ColorColumn" .s:fmt_none .s:fg_none .s:bg_base02
530 | exe "hi! Cursor" .s:fmt_none .s:fg_base03 .s:bg_base0
531 | hi! link lCursor Cursor
532 | exe "hi! MatchParen" .s:fmt_bold .s:fg_red .s:bg_base01
533 |
534 | "}}}
535 |
536 | " vim syntax highlighting "{{{
537 | " ---------------------------------------------------------------------
538 | "exe "hi! vimLineComment" . s:fg_base01 .s:bg_none .s:fmt_ital
539 | "hi! link vimComment Comment
540 | "hi! link vimLineComment Comment
541 | hi! link vimVar Identifier
542 | hi! link vimFunc Function
543 | hi! link vimUserFunc Function
544 | hi! link helpSpecial Special
545 | hi! link vimSet Normal
546 | hi! link vimSetEqual Normal
547 | exe "hi! vimCommentString" .s:fmt_none .s:fg_violet .s:bg_none
548 | exe "hi! vimCommand" .s:fmt_none .s:fg_yellow .s:bg_none
549 | exe "hi! vimCmdSep" .s:fmt_bold .s:fg_blue .s:bg_none
550 | exe "hi! helpExample" .s:fmt_none .s:fg_base1 .s:bg_none
551 | exe "hi! helpOption" .s:fmt_none .s:fg_cyan .s:bg_none
552 | exe "hi! helpNote" .s:fmt_none .s:fg_magenta.s:bg_none
553 | exe "hi! helpVim" .s:fmt_none .s:fg_magenta.s:bg_none
554 | exe "hi! helpHyperTextJump" .s:fmt_undr .s:fg_blue .s:bg_none
555 | exe "hi! helpHyperTextEntry".s:fmt_none .s:fg_green .s:bg_none
556 | exe "hi! vimIsCommand" .s:fmt_none .s:fg_base00 .s:bg_none
557 | exe "hi! vimSynMtchOpt" .s:fmt_none .s:fg_yellow .s:bg_none
558 | exe "hi! vimSynType" .s:fmt_none .s:fg_cyan .s:bg_none
559 | exe "hi! vimHiLink" .s:fmt_none .s:fg_blue .s:bg_none
560 | exe "hi! vimHiGroup" .s:fmt_none .s:fg_blue .s:bg_none
561 | exe "hi! vimGroup" .s:fmt_undb .s:fg_blue .s:bg_none
562 | "}}}
563 |
564 | " diff highlighting "{{{
565 | " ---------------------------------------------------------------------
566 | hi! link diffAdded Statement
567 | hi! link diffLine Identifier
568 | "}}}
569 |
570 | " git & gitcommit highlighting "{{{
571 | "git
572 | "exe "hi! gitDateHeader"
573 | "exe "hi! gitIdentityHeader"
574 | "exe "hi! gitIdentityKeyword"
575 | "exe "hi! gitNotesHeader"
576 | "exe "hi! gitReflogHeader"
577 | "exe "hi! gitKeyword"
578 | "exe "hi! gitIdentity"
579 | "exe "hi! gitEmailDelimiter"
580 | "exe "hi! gitEmail"
581 | "exe "hi! gitDate"
582 | "exe "hi! gitMode"
583 | "exe "hi! gitHashAbbrev"
584 | "exe "hi! gitHash"
585 | "exe "hi! gitReflogMiddle"
586 | "exe "hi! gitReference"
587 | "exe "hi! gitStage"
588 | "exe "hi! gitType"
589 | "exe "hi! gitDiffAdded"
590 | "exe "hi! gitDiffRemoved"
591 | "gitcommit
592 | "exe "hi! gitcommitSummary"
593 | exe "hi! gitcommitComment" .s:fmt_ital .s:fg_base01 .s:bg_none
594 | hi! link gitcommitUntracked gitcommitComment
595 | hi! link gitcommitDiscarded gitcommitComment
596 | hi! link gitcommitSelected gitcommitComment
597 | exe "hi! gitcommitUnmerged" .s:fmt_bold .s:fg_green .s:bg_none
598 | exe "hi! gitcommitOnBranch" .s:fmt_bold .s:fg_base01 .s:bg_none
599 | exe "hi! gitcommitBranch" .s:fmt_bold .s:fg_magenta .s:bg_none
600 | hi! link gitcommitNoBranch gitcommitBranch
601 | exe "hi! gitcommitDiscardedType".s:fmt_none .s:fg_red .s:bg_none
602 | exe "hi! gitcommitSelectedType" .s:fmt_none .s:fg_green .s:bg_none
603 | "exe "hi! gitcommitUnmergedType"
604 | "exe "hi! gitcommitType"
605 | "exe "hi! gitcommitNoChanges"
606 | "exe "hi! gitcommitHeader"
607 | exe "hi! gitcommitHeader" .s:fmt_none .s:fg_base01 .s:bg_none
608 | exe "hi! gitcommitUntrackedFile".s:fmt_bold .s:fg_cyan .s:bg_none
609 | exe "hi! gitcommitDiscardedFile".s:fmt_bold .s:fg_red .s:bg_none
610 | exe "hi! gitcommitSelectedFile" .s:fmt_bold .s:fg_green .s:bg_none
611 | exe "hi! gitcommitUnmergedFile" .s:fmt_bold .s:fg_yellow .s:bg_none
612 | exe "hi! gitcommitFile" .s:fmt_bold .s:fg_base0 .s:bg_none
613 | hi! link gitcommitDiscardedArrow gitcommitDiscardedFile
614 | hi! link gitcommitSelectedArrow gitcommitSelectedFile
615 | hi! link gitcommitUnmergedArrow gitcommitUnmergedFile
616 | "exe "hi! gitcommitArrow"
617 | "exe "hi! gitcommitOverflow"
618 | "exe "hi! gitcommitBlank"
619 | " }}}
620 | "
621 | " html highlighting "{{{
622 | " ---------------------------------------------------------------------
623 | exe "hi! htmlTag" .s:fmt_none .s:fg_base01 .s:bg_none
624 | exe "hi! htmlEndTag" .s:fmt_none .s:fg_base01 .s:bg_none
625 | exe "hi! htmlTagN" .s:fmt_bold .s:fg_base1 .s:bg_none
626 | exe "hi! htmlTagName" .s:fmt_bold .s:fg_blue .s:bg_none
627 | exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue .s:bg_none
628 | exe "hi! htmlArg" .s:fmt_none .s:fg_base00 .s:bg_none
629 | exe "hi! javaScript" .s:fmt_none .s:fg_yellow .s:bg_none
630 | "}}}
631 |
632 | " perl highlighting "{{{
633 | " ---------------------------------------------------------------------
634 | exe "hi! perlHereDoc" . s:fg_base1 .s:bg_back .s:fmt_none
635 | exe "hi! perlVarPlain" . s:fg_yellow .s:bg_back .s:fmt_none
636 | exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none
637 |
638 | "}}}
639 |
640 | " tex highlighting "{{{
641 | " ---------------------------------------------------------------------
642 | exe "hi! texStatement" . s:fg_cyan .s:bg_back .s:fmt_none
643 | exe "hi! texMathZoneX" . s:fg_yellow .s:bg_back .s:fmt_none
644 | exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none
645 | exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none
646 | exe "hi! texRefLabel" . s:fg_yellow .s:bg_back .s:fmt_none
647 | "}}}
648 |
649 | " ruby highlighting "{{{
650 | " ---------------------------------------------------------------------
651 | exe "hi! rubyDefine" . s:fg_base1 .s:bg_back .s:fmt_bold
652 | "rubyInclude
653 | "rubySharpBang
654 | "rubyAccess
655 | "rubyPredefinedVariable
656 | "rubyBoolean
657 | "rubyClassVariable
658 | "rubyBeginEnd
659 | "rubyRepeatModifier
660 | "hi! link rubyArrayDelimiter Special " [ , , ]
661 | "rubyCurlyBlock { , , }
662 |
663 | "hi! link rubyClass Keyword
664 | "hi! link rubyModule Keyword
665 | "hi! link rubyKeyword Keyword
666 | "hi! link rubyOperator Operator
667 | "hi! link rubyIdentifier Identifier
668 | "hi! link rubyInstanceVariable Identifier
669 | "hi! link rubyGlobalVariable Identifier
670 | "hi! link rubyClassVariable Identifier
671 | "hi! link rubyConstant Type
672 | "}}}
673 |
674 | " haskell syntax highlighting"{{{
675 | " ---------------------------------------------------------------------
676 | " For use with syntax/haskell.vim : Haskell Syntax File
677 | " http://www.vim.org/scripts/script.php?script_id=3034
678 | " See also Steffen Siering's github repository:
679 | " http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim
680 | " ---------------------------------------------------------------------
681 | "
682 | " Treat True and False specially, see the plugin referenced above
683 | let hs_highlight_boolean=1
684 | " highlight delims, see the plugin referenced above
685 | let hs_highlight_delimiters=1
686 |
687 | exe "hi! cPreCondit". s:fg_orange.s:bg_none .s:fmt_none
688 |
689 | exe "hi! VarId" . s:fg_blue .s:bg_none .s:fmt_none
690 | exe "hi! ConId" . s:fg_yellow .s:bg_none .s:fmt_none
691 | exe "hi! hsImport" . s:fg_magenta.s:bg_none .s:fmt_none
692 | exe "hi! hsString" . s:fg_base00 .s:bg_none .s:fmt_none
693 |
694 | exe "hi! hsStructure" . s:fg_cyan .s:bg_none .s:fmt_none
695 | exe "hi! hs_hlFunctionName" . s:fg_blue .s:bg_none
696 | exe "hi! hsStatement" . s:fg_cyan .s:bg_none .s:fmt_none
697 | exe "hi! hsImportLabel" . s:fg_cyan .s:bg_none .s:fmt_none
698 | exe "hi! hs_OpFunctionName" . s:fg_yellow .s:bg_none .s:fmt_none
699 | exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none .s:fmt_none
700 | exe "hi! hsVarSym" . s:fg_cyan .s:bg_none .s:fmt_none
701 | exe "hi! hsType" . s:fg_yellow .s:bg_none .s:fmt_none
702 | exe "hi! hsTypedef" . s:fg_cyan .s:bg_none .s:fmt_none
703 | exe "hi! hsModuleName" . s:fg_green .s:bg_none .s:fmt_undr
704 | exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none .s:fmt_none
705 | hi! link hsImportParams Delimiter
706 | hi! link hsDelimTypeExport Delimiter
707 | hi! link hsModuleStartLabel hsStructure
708 | hi! link hsModuleWhereLabel hsModuleStartLabel
709 |
710 | " following is for the haskell-conceal plugin
711 | " the first two items don't have an impact, but better safe
712 | exe "hi! hsNiceOperator" . s:fg_cyan .s:bg_none .s:fmt_none
713 | exe "hi! hsniceoperator" . s:fg_cyan .s:bg_none .s:fmt_none
714 |
715 | "}}}
716 |
717 | " pandoc markdown syntax highlighting "{{{
718 | " ---------------------------------------------------------------------
719 |
720 | "PandocHiLink pandocNormalBlock
721 | exe "hi! pandocTitleBlock" .s:fg_blue .s:bg_none .s:fmt_none
722 | exe "hi! pandocTitleBlockTitle" .s:fg_blue .s:bg_none .s:fmt_bold
723 | exe "hi! pandocTitleComment" .s:fg_blue .s:bg_none .s:fmt_bold
724 | exe "hi! pandocComment" .s:fg_base01 .s:bg_none .s:fmt_ital
725 | exe "hi! pandocVerbatimBlock" .s:fg_yellow .s:bg_none .s:fmt_none
726 | hi! link pandocVerbatimBlockDeep pandocVerbatimBlock
727 | hi! link pandocCodeBlock pandocVerbatimBlock
728 | hi! link pandocCodeBlockDelim pandocVerbatimBlock
729 | exe "hi! pandocBlockQuote" .s:fg_blue .s:bg_none .s:fmt_none
730 | exe "hi! pandocBlockQuoteLeader1" .s:fg_blue .s:bg_none .s:fmt_none
731 | exe "hi! pandocBlockQuoteLeader2" .s:fg_cyan .s:bg_none .s:fmt_none
732 | exe "hi! pandocBlockQuoteLeader3" .s:fg_yellow .s:bg_none .s:fmt_none
733 | exe "hi! pandocBlockQuoteLeader4" .s:fg_red .s:bg_none .s:fmt_none
734 | exe "hi! pandocBlockQuoteLeader5" .s:fg_base0 .s:bg_none .s:fmt_none
735 | exe "hi! pandocBlockQuoteLeader6" .s:fg_base01 .s:bg_none .s:fmt_none
736 | exe "hi! pandocListMarker" .s:fg_magenta.s:bg_none .s:fmt_none
737 | exe "hi! pandocListReference" .s:fg_magenta.s:bg_none .s:fmt_undr
738 |
739 | " Definitions
740 | " ---------------------------------------------------------------------
741 | let s:fg_pdef = s:fg_violet
742 | exe "hi! pandocDefinitionBlock" .s:fg_pdef .s:bg_none .s:fmt_none
743 | exe "hi! pandocDefinitionTerm" .s:fg_pdef .s:bg_none .s:fmt_stnd
744 | exe "hi! pandocDefinitionIndctr" .s:fg_pdef .s:bg_none .s:fmt_bold
745 | exe "hi! pandocEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_ital
746 | exe "hi! pandocEmphasisNestedDefinition" .s:fg_pdef .s:bg_none .s:fmt_bldi
747 | exe "hi! pandocStrongEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_bold
748 | exe "hi! pandocStrongEmphasisNestedDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
749 | exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
750 | exe "hi! pandocStrikeoutDefinition" .s:fg_pdef .s:bg_none .s:fmt_revr
751 | exe "hi! pandocVerbatimInlineDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
752 | exe "hi! pandocSuperscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
753 | exe "hi! pandocSubscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
754 |
755 | " Tables
756 | " ---------------------------------------------------------------------
757 | let s:fg_ptable = s:fg_blue
758 | exe "hi! pandocTable" .s:fg_ptable.s:bg_none .s:fmt_none
759 | exe "hi! pandocTableStructure" .s:fg_ptable.s:bg_none .s:fmt_none
760 | hi! link pandocTableStructureTop pandocTableStructre
761 | hi! link pandocTableStructureEnd pandocTableStructre
762 | exe "hi! pandocTableZebraLight" .s:fg_ptable.s:bg_base03.s:fmt_none
763 | exe "hi! pandocTableZebraDark" .s:fg_ptable.s:bg_base02.s:fmt_none
764 | exe "hi! pandocEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_ital
765 | exe "hi! pandocEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
766 | exe "hi! pandocStrongEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bold
767 | exe "hi! pandocStrongEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
768 | exe "hi! pandocStrongEmphasisEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
769 | exe "hi! pandocStrikeoutTable" .s:fg_ptable.s:bg_none .s:fmt_revr
770 | exe "hi! pandocVerbatimInlineTable" .s:fg_ptable.s:bg_none .s:fmt_none
771 | exe "hi! pandocSuperscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none
772 | exe "hi! pandocSubscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none
773 |
774 | " Headings
775 | " ---------------------------------------------------------------------
776 | let s:fg_phead = s:fg_orange
777 | exe "hi! pandocHeading" .s:fg_phead .s:bg_none.s:fmt_bold
778 | exe "hi! pandocHeadingMarker" .s:fg_yellow.s:bg_none.s:fmt_bold
779 | exe "hi! pandocEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
780 | exe "hi! pandocEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
781 | exe "hi! pandocStrongEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bold
782 | exe "hi! pandocStrongEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
783 | exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi
784 | exe "hi! pandocStrikeoutHeading" .s:fg_phead .s:bg_none.s:fmt_revr
785 | exe "hi! pandocVerbatimInlineHeading" .s:fg_phead .s:bg_none.s:fmt_bold
786 | exe "hi! pandocSuperscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold
787 | exe "hi! pandocSubscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold
788 |
789 | " Links
790 | " ---------------------------------------------------------------------
791 | exe "hi! pandocLinkDelim" .s:fg_base01 .s:bg_none .s:fmt_none
792 | exe "hi! pandocLinkLabel" .s:fg_blue .s:bg_none .s:fmt_undr
793 | exe "hi! pandocLinkText" .s:fg_blue .s:bg_none .s:fmt_undb
794 | exe "hi! pandocLinkURL" .s:fg_base00 .s:bg_none .s:fmt_undr
795 | exe "hi! pandocLinkTitle" .s:fg_base00 .s:bg_none .s:fmt_undi
796 | exe "hi! pandocLinkTitleDelim" .s:fg_base01 .s:bg_none .s:fmt_undi .s:sp_base00
797 | exe "hi! pandocLinkDefinition" .s:fg_cyan .s:bg_none .s:fmt_undr .s:sp_base00
798 | exe "hi! pandocLinkDefinitionID" .s:fg_blue .s:bg_none .s:fmt_bold
799 | exe "hi! pandocImageCaption" .s:fg_violet .s:bg_none .s:fmt_undb
800 | exe "hi! pandocFootnoteLink" .s:fg_green .s:bg_none .s:fmt_undr
801 | exe "hi! pandocFootnoteDefLink" .s:fg_green .s:bg_none .s:fmt_bold
802 | exe "hi! pandocFootnoteInline" .s:fg_green .s:bg_none .s:fmt_undb
803 | exe "hi! pandocFootnote" .s:fg_green .s:bg_none .s:fmt_none
804 | exe "hi! pandocCitationDelim" .s:fg_magenta.s:bg_none .s:fmt_none
805 | exe "hi! pandocCitation" .s:fg_magenta.s:bg_none .s:fmt_none
806 | exe "hi! pandocCitationID" .s:fg_magenta.s:bg_none .s:fmt_undr
807 | exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none
808 |
809 | " Main Styles
810 | " ---------------------------------------------------------------------
811 | exe "hi! pandocStyleDelim" .s:fg_base01 .s:bg_none .s:fmt_none
812 | exe "hi! pandocEmphasis" .s:fg_base0 .s:bg_none .s:fmt_ital
813 | exe "hi! pandocEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi
814 | exe "hi! pandocStrongEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bold
815 | exe "hi! pandocStrongEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi
816 | exe "hi! pandocStrongEmphasisEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bldi
817 | exe "hi! pandocStrikeout" .s:fg_base01 .s:bg_none .s:fmt_revr
818 | exe "hi! pandocVerbatimInline" .s:fg_yellow .s:bg_none .s:fmt_none
819 | exe "hi! pandocSuperscript" .s:fg_violet .s:bg_none .s:fmt_none
820 | exe "hi! pandocSubscript" .s:fg_violet .s:bg_none .s:fmt_none
821 |
822 | exe "hi! pandocRule" .s:fg_blue .s:bg_none .s:fmt_bold
823 | exe "hi! pandocRuleLine" .s:fg_blue .s:bg_none .s:fmt_bold
824 | exe "hi! pandocEscapePair" .s:fg_red .s:bg_none .s:fmt_bold
825 | exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none
826 | exe "hi! pandocNonBreakingSpace" . s:fg_red .s:bg_none .s:fmt_revr
827 | hi! link pandocEscapedCharacter pandocEscapePair
828 | hi! link pandocLineBreak pandocEscapePair
829 |
830 | " Embedded Code
831 | " ---------------------------------------------------------------------
832 | exe "hi! pandocMetadataDelim" .s:fg_base01 .s:bg_none .s:fmt_none
833 | exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_none
834 | exe "hi! pandocMetadataKey" .s:fg_blue .s:bg_none .s:fmt_none
835 | exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_bold
836 | hi! link pandocMetadataTitle pandocMetadata
837 |
838 | "}}}
839 |
840 | " neomake highlighting "{{{
841 | " ---------------------------------------------------------------------
842 | exe "hi! NeomakeErrorSign" . s:fg_orange .s:bg_none .s:fmt_none
843 | exe "hi! NeomakeWarningSign" . s:fg_yellow .s:bg_none .s:fmt_none
844 | exe "hi! NeomakeMessageSign" . s:fg_cyan .s:bg_none .s:fmt_none
845 | exe "hi! NeomakeNeomakeInfoSign" . s:fg_green .s:bg_none .s:fmt_none
846 |
847 | "}}}
848 |
849 | " gitgutter highlighting "{{{
850 | " ---------------------------------------------------------------------
851 | exe "hi! GitGutterAdd" . s:fg_green .s:bg_none .s:fmt_none
852 | exe "hi! GitGutterChange" . s:fg_yellow .s:bg_none .s:fmt_none
853 | exe "hi! GitGutterDelete" . s:fg_red .s:bg_none .s:fmt_none
854 | exe "hi! GitGutterChangeDelete" . s:fg_red .s:bg_none .s:fmt_none
855 | " }}}"
856 |
857 | " signify highlighting "{{{
858 | " ---------------------------------------------------------------------
859 | exe "hi! SignifySignAdd" . s:fg_green .s:bg_none .s:fmt_none
860 | exe "hi! SignifySignChange" . s:fg_yellow .s:bg_none .s:fmt_none
861 | exe "hi! SignifySignDelete" . s:fg_red .s:bg_none .s:fmt_none
862 | exe "hi! SignifySignChangeDelete" . s:fg_red .s:bg_none .s:fmt_none
863 | " }}}"
864 |
865 | " ALE highlighting "{{{
866 | " ---------------------------------------------------------------------
867 | exe "hi! ALEErrorSign" . s:fg_orange .s:bg_none .s:fmt_none
868 | exe "hi! ALEWarningSign" . s:fg_yellow .s:bg_none .s:fmt_none
869 | " }}}"
870 |
871 | " NeoVim terminal buffer colours "{{{
872 | " ---------------------------------------------------------------------
873 | let g:terminal_color_0 = s:gui_base03
874 | let g:terminal_color_1 = s:gui_red
875 | let g:terminal_color_2 = s:gui_green
876 | let g:terminal_color_3 = s:gui_yellow
877 | let g:terminal_color_4 = s:gui_blue
878 | let g:terminal_color_5 = s:gui_magenta
879 | let g:terminal_color_6 = s:gui_cyan
880 | let g:terminal_color_7 = s:gui_base2
881 |
882 | if g:neosolarized_termBoldAsBright == 1
883 | let g:terminal_color_8 = s:gui_base02
884 | let g:terminal_color_9 = s:gui_orange
885 | let g:terminal_color_10 = s:gui_base01
886 | let g:terminal_color_11 = s:gui_base00
887 | let g:terminal_color_12 = s:gui_base0
888 | let g:terminal_color_13 = s:gui_violet
889 | let g:terminal_color_14 = s:gui_base1
890 | let g:terminal_color_15 = s:gui_base3
891 | else
892 | let g:terminal_color_8 = g:terminal_color_0
893 | let g:terminal_color_9 = g:terminal_color_1
894 | let g:terminal_color_10 = g:terminal_color_2
895 | let g:terminal_color_11 = g:terminal_color_3
896 | let g:terminal_color_12 = g:terminal_color_4
897 | let g:terminal_color_13 = g:terminal_color_5
898 | let g:terminal_color_14 = g:terminal_color_6
899 | let g:terminal_color_15 = g:terminal_color_7
900 | endif
901 | "}}}
902 |
903 | " Utility autocommand "{{{
904 | " ---------------------------------------------------------------------
905 | " In cases where Solarized is initialized inside a terminal vim session and
906 | " then transferred to a gui session via the command `:gui`, the gui vim process
907 | " does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui`
908 | " related code that sets gui specific values isn't executed.
909 | "
910 | " Currently, Solarized sets only the cterm or gui values for the colorscheme
911 | " depending on gui or terminal mode. It's possible that, if the following
912 | " autocommand method is deemed excessively poor form, that approach will be
913 | " used again and the autocommand below will be dropped.
914 | "
915 | " However it seems relatively benign in this case to include the autocommand
916 | " here. It fires only in cases where vim is transferring from terminal to gui
917 | " mode (detected with the script scope s:vmode variable). It also allows for
918 | " other potential terminal customizations that might make gui mode suboptimal.
919 | "
920 | autocmd GUIEnter * if (has('gui_running')) | exe "colorscheme " . g:colors_name | endif
921 | "}}}
922 |
923 | " License "{{{
924 | " ---------------------------------------------------------------------
925 | "
926 | " Copyright (c) 2011 Ethan Schoonover
927 | " Copyright (c) 2016 iCyMind
928 | "
929 | " Permission is hereby granted, free of charge, to any person obtaining a copy
930 | " of this software and associated documentation files (the "Software"), to deal
931 | " in the Software without restriction, including without limitation the rights
932 | " to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
933 | " copies of the Software, and to permit persons to whom the Software is
934 | " furnished to do so, subject to the following conditions:
935 | "
936 | " The above copyright notice and this permission notice shall be included in
937 | " all copies or substantial portions of the Software.
938 | "
939 | " THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
940 | " IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
941 | " FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
942 | " AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
943 | " LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
944 | " OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
945 | " THE SOFTWARE.
946 | "
947 | " vim: set foldmethod=marker foldlevel=0:
948 | "}}}
949 |
--------------------------------------------------------------------------------