]> git.madduck.net Git - etc/vim.git/blob - colors/artesanal.vim

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Make 'Normal' foreground plain 'black' or 'white' if dimmed colours are enabled.
[etc/vim.git] / colors / artesanal.vim
1 " Name:         Artesanal
2 " Description:  A Vim colorscheme with light and dark variants originally based on Material Design (now strongly modified to my likings).
3 " Author:       Stefan Wimmer <wimstefan@gmail.com>
4 " Maintainer:   Stefan Wimmer <wimstefan@gmail.com>
5 " Website:      https://github.com/wimstefan/vim-artesanal
6 " License:      Vim License (see `:help license`)
7 " Last Updated: Fri 01 May 2020 01:51:52 PM CEST
8
9 " Generated by Colortemplate v2.0.0
10
11 hi clear
12 if exists('syntax_on')
13   syntax reset
14 endif
15
16 let g:colors_name = 'artesanal'
17
18 let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2
19 let s:italics = (&t_ZH != '' && &t_ZH != '\e[7m') || has('gui_running') || has('nvim')
20
21 if (has('termguicolors') && &termguicolors) || has('gui_running')
22   if &background ==# 'dark'
23     let g:terminal_ansi_colors = ['#575c66', '#e84256', '#00bf8a', '#fff176',
24           \ '#6699cc', '#fa75e2', '#00bbcc', '#ffffff', '#121419', '#dc1b33',
25           \ '#008c65', '#e5d85c', '#517aa3', '#f844d8', '#0095a3', '#eff1f4']
26     if has('nvim')
27       let g:terminal_color_0 = '#575c66'
28       let g:terminal_color_1 = '#e84256'
29       let g:terminal_color_2 = '#00bf8a'
30       let g:terminal_color_3 = '#fff176'
31       let g:terminal_color_4 = '#6699cc'
32       let g:terminal_color_5 = '#fa75e2'
33       let g:terminal_color_6 = '#00bbcc'
34       let g:terminal_color_7 = '#ffffff'
35       let g:terminal_color_8 = '#121419'
36       let g:terminal_color_9 = '#dc1b33'
37       let g:terminal_color_10 = '#008c65'
38       let g:terminal_color_11 = '#e5d85c'
39       let g:terminal_color_12 = '#517aa3'
40       let g:terminal_color_13 = '#f844d8'
41       let g:terminal_color_14 = '#0095a3'
42       let g:terminal_color_15 = '#eff1f4'
43     endif
44     if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
45       if &background ==# 'light'
46         if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
47           hi Normal guifg=#000000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
48         else
49           hi Normal guifg=#000000 guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
50         endif
51       elseif !has('gui_running') && &background ==# 'dark'
52         if get(g:, 'artesanal_transparent', 0)
53           hi Normal guifg=#ffffff guibg=NONE guisp=NONE gui=NONE cterm=NONE
54         else
55           hi Normal guifg=#ffffff guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
56         endif
57       endif
58       hi Conceal guifg=#517aa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
59       hi Constant guifg=#008c65 guibg=NONE guisp=NONE gui=NONE cterm=NONE
60       hi Directory guifg=#517aa3 guibg=NONE guisp=NONE gui=bold cterm=bold
61       hi Error guifg=#dc1b33 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
62       hi Function guifg=#0095a3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
63       hi Identifier guifg=#517aa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
64       hi ModeMsg guifg=#517aa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
65       hi MoreMsg guifg=#008c65 guibg=NONE guisp=NONE gui=NONE cterm=NONE
66       hi PreProc guifg=#0095a3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
67       hi Statement guifg=#dc1b33 guibg=NONE guisp=NONE gui=NONE cterm=NONE
68       hi Special guifg=#e5d85c guibg=NONE guisp=NONE gui=NONE cterm=NONE
69       hi Todo guifg=#0095a3 guibg=NONE guisp=NONE gui=reverse cterm=reverse
70       hi WarningMsg guifg=#dc1b33 guibg=NONE guisp=NONE gui=NONE cterm=NONE
71       hi WildMenu guifg=#517aa3 guibg=#455a64 guisp=NONE gui=bold cterm=bold
72     else
73       if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
74         hi Normal guifg=#e4e6eb guibg=NONE guisp=NONE gui=NONE cterm=NONE
75       else
76         hi Normal guifg=#e4e6eb guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
77       endif
78       hi Conceal guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
79       hi Constant guifg=#00bf8a guibg=NONE guisp=NONE gui=NONE cterm=NONE
80       hi Directory guifg=#6699cc guibg=NONE guisp=NONE gui=bold cterm=bold
81       hi Error guifg=#e84256 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
82       hi Function guifg=#00bbcc guibg=NONE guisp=NONE gui=NONE cterm=NONE
83       hi Identifier guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
84       hi ModeMsg guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
85       hi MoreMsg guifg=#00bf8a guibg=NONE guisp=NONE gui=NONE cterm=NONE
86       hi PreProc guifg=#00bbcc guibg=NONE guisp=NONE gui=NONE cterm=NONE
87       hi Statement guifg=#e84256 guibg=NONE guisp=NONE gui=NONE cterm=NONE
88       hi Special guifg=#fff176 guibg=NONE guisp=NONE gui=NONE cterm=NONE
89       hi Todo guifg=#00bbcc guibg=NONE guisp=NONE gui=reverse cterm=reverse
90       hi WarningMsg guifg=#e84256 guibg=NONE guisp=NONE gui=NONE cterm=NONE
91       hi WildMenu guifg=#6699cc guibg=#455a64 guisp=NONE gui=bold cterm=bold
92     endif
93     if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
94       hi CursorLineNr guifg=#fff176 guibg=NONE guisp=NONE gui=NONE cterm=NONE
95       hi FoldColumn guifg=#575c66 guibg=NONE guisp=NONE gui=NONE cterm=NONE
96       hi SignColumn guifg=#cdd2db guibg=NONE guisp=NONE gui=NONE cterm=NONE
97       hi VertSplit guifg=#546e7a guibg=NONE guisp=NONE gui=NONE cterm=NONE
98     else
99       hi CursorLineNr guifg=#fff176 guibg=#37474f guisp=NONE gui=NONE cterm=NONE
100       hi FoldColumn guifg=#575c66 guibg=#37474f guisp=NONE gui=NONE cterm=NONE
101       hi SignColumn guifg=#cdd2db guibg=#37474f guisp=NONE gui=NONE cterm=NONE
102       hi VertSplit guifg=#546e7a guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
103     endif
104     hi ColorColumn guifg=NONE guibg=#37474f guisp=NONE gui=bold cterm=bold
105     hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=bold,reverse ctermfg=NONE ctermbg=NONE cterm=bold,reverse
106     hi CursorColumn guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
107     hi CursorLine guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
108     hi DiffAdd guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
109     hi DiffAdded guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
110     hi DiffChange guifg=#aec0e0 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
111     hi DiffDelete guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
112     hi DiffRemoved guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
113     hi DiffText guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
114     hi EndOfBuffer guifg=#2e3440 guibg=NONE guisp=NONE gui=NONE cterm=NONE
115     hi! link ErrorMsg Error
116     hi Folded guifg=#546e7a guibg=#37474f guisp=NONE gui=italic cterm=italic
117     hi IncSearch guifg=#fff176 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
118     hi LineNr guifg=#546e7a guibg=#37474f guisp=NONE gui=NONE cterm=NONE
119     hi MatchParen guifg=NONE guibg=#455a64 guisp=NONE gui=bold cterm=bold
120     hi NonText guifg=#90a4ae guibg=NONE guisp=NONE gui=NONE cterm=NONE
121     hi Pmenu guifg=#e4e6eb guibg=#455a64 guisp=NONE gui=NONE cterm=NONE
122     hi PmenuSbar guifg=NONE guibg=#455a64 guisp=NONE gui=NONE cterm=NONE
123     hi PmenuSel guifg=#37474f guibg=#cdd2db guisp=NONE gui=bold cterm=bold
124     hi PmenuThumb guifg=NONE guibg=#90a4ae guisp=NONE gui=NONE cterm=NONE
125     hi Question guifg=#e5d85c guibg=NONE guisp=NONE gui=NONE cterm=NONE
126     hi! link QuickFixLine Search
127     hi Search guifg=#ffffa8 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
128     hi SpecialKey guifg=#90a4ae guibg=NONE guisp=NONE gui=NONE cterm=NONE
129     hi SpellBad guifg=#e84256 guibg=NONE guisp=#e84256 gui=italic,undercurl cterm=italic,undercurl
130     hi SpellCap guifg=#6699cc guibg=NONE guisp=#6699cc gui=italic,undercurl cterm=italic,undercurl
131     hi SpellLocal guifg=#00bbcc guibg=NONE guisp=#00bbcc gui=italic,undercurl cterm=italic,undercurl
132     hi SpellRare guifg=#fa75e2 guibg=NONE guisp=#fa75e2 gui=italic,undercurl cterm=italic,undercurl
133     hi StatusLine guifg=#455a64 guibg=#e4e6eb guisp=NONE gui=reverse cterm=reverse
134     hi StatusLineNC guifg=#37474f guibg=#cdd2db guisp=NONE gui=reverse cterm=reverse
135     hi! link StatusLineTerm StatusLine
136     hi! link StatusLineTermNC StatusLineNC
137     hi! link TabLine TabLineFill
138     hi TabLineFill guifg=#cdd2db guibg=#546e7a guisp=NONE gui=NONE cterm=NONE
139     hi TabLineSel guifg=#e4e6eb guibg=#37474f guisp=NONE gui=NONE cterm=NONE
140     hi Title guifg=#eff1f4 guibg=NONE guisp=NONE gui=bold cterm=bold
141     hi Visual guifg=NONE guibg=#37474f guisp=NONE gui=NONE cterm=NONE
142     hi! link VisualNOS Visual
143     hi! link Boolean Constant
144     hi! link Character Constant
145     hi Comment guifg=#b6bdcb guibg=NONE guisp=NONE gui=NONE cterm=NONE
146     hi! link Conditional Statement
147     hi! link Define PreProc
148     hi! link Debug Special
149     hi! link Delimiter Special
150     hi! link Exception Statement
151     hi! link Float Constant
152     hi Ignore guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE
153     hi! link Include PreProc
154     hi! link Keyword Statement
155     hi! link Label Statement
156     hi! link Macro PreProc
157     hi! link Number Constant
158     hi! link Operator Statement
159     hi! link PreCondit PreProc
160     hi! link Repeat Statement
161     hi! link SpecialChar Special
162     hi! link SpecialComment Special
163     hi! link StorageClass Type
164     hi! link String Constant
165     hi! link Structure Type
166     hi! link Tag Special
167     hi Type guifg=#0095a3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
168     hi! link Typedef Type
169     hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
170     hi! link lCursor Cursor
171     hi CursorIM guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
172     hi ToolbarLine guifg=NONE guibg=#546e7a guisp=NONE gui=NONE cterm=NONE
173     hi ToolbarButton guifg=#eff1f4 guibg=#546e7a guisp=NONE gui=bold cterm=bold
174     hi! link iCursor Cursor
175     hi! link vCursor Cursor
176     hi NormalMode guifg=#cdd2db guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
177     hi InsertMode guifg=#6699cc guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
178     hi ReplaceMode guifg=#00bbcc guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
179     hi VisualMode guifg=#fff176 guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
180     hi CommandMode guifg=#fa75e2 guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
181     hi Warnings guifg=#fff176 guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
182     if !s:italics
183       hi CursorColumn gui=bold cterm=bold
184       hi CursorLine gui=bold cterm=bold
185       hi Folded gui=NONE cterm=NONE
186       hi SpellBad gui=undercurl cterm=undercurl
187       hi SpellCap gui=undercurl cterm=undercurl
188       hi SpellLocal gui=undercurl cterm=undercurl
189       hi SpellRare gui=undercurl cterm=undercurl
190     endif
191     if has('nvim')
192       hi! link TermCursor Cursor
193       hi TermCursorNC guifg=#37474f guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
194     endif
195     unlet s:t_Co s:italics
196     finish
197   endif
198   " Light background
199   let g:terminal_ansi_colors = ['#121419', '#971223', '#00814b', '#cc7000',
200         \ '#00409b', '#9a008d', '#007681', '#eff1f4', '#575c66', '#ae1528',
201         \ '#009a5a', '#ff8c00', '#004bb4', '#b300a4', '#008d9a', '#ffffff']
202   if has('nvim')
203     let g:terminal_color_0 = '#121419'
204     let g:terminal_color_1 = '#971223'
205     let g:terminal_color_2 = '#00814b'
206     let g:terminal_color_3 = '#cc7000'
207     let g:terminal_color_4 = '#00409b'
208     let g:terminal_color_5 = '#9a008d'
209     let g:terminal_color_6 = '#007681'
210     let g:terminal_color_7 = '#eff1f4'
211     let g:terminal_color_8 = '#575c66'
212     let g:terminal_color_9 = '#ae1528'
213     let g:terminal_color_10 = '#009a5a'
214     let g:terminal_color_11 = '#ff8c00'
215     let g:terminal_color_12 = '#004bb4'
216     let g:terminal_color_13 = '#b300a4'
217     let g:terminal_color_14 = '#008d9a'
218     let g:terminal_color_15 = '#ffffff'
219   endif
220   if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
221     if &background ==# 'light'
222       if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
223         hi Normal guifg=#000000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
224       else
225         hi Normal guifg=#000000 guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
226       endif
227     elseif !has('gui_running') && &background ==# 'dark'
228       if get(g:, 'artesanal_transparent', 0)
229         hi Normal guifg=#ffffff guibg=NONE guisp=NONE gui=NONE cterm=NONE
230       else
231         hi Normal guifg=#ffffff guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
232       endif
233     endif
234     hi Conceal guifg=#00409b guibg=NONE guisp=NONE gui=NONE cterm=NONE
235     hi Constant guifg=#00814b guibg=NONE guisp=NONE gui=NONE cterm=NONE
236     hi Directory guifg=#00409b guibg=NONE guisp=NONE gui=bold cterm=bold
237     hi Error guifg=#971223 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
238     hi Function guifg=#007681 guibg=NONE guisp=NONE gui=NONE cterm=NONE
239     hi Identifier guifg=#00409b guibg=NONE guisp=NONE gui=NONE cterm=NONE
240     hi ModeMsg guifg=#00409b guibg=NONE guisp=NONE gui=NONE cterm=NONE
241     hi MoreMsg guifg=#00814b guibg=NONE guisp=NONE gui=NONE cterm=NONE
242     hi PreProc guifg=#007681 guibg=NONE guisp=NONE gui=NONE cterm=NONE
243     hi Statement guifg=#971223 guibg=NONE guisp=NONE gui=NONE cterm=NONE
244     hi Special guifg=#cc7000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
245     hi Todo guifg=#007681 guibg=NONE guisp=NONE gui=reverse cterm=reverse
246     hi WarningMsg guifg=#971223 guibg=NONE guisp=NONE gui=NONE cterm=NONE
247     hi WildMenu guifg=#00409b guibg=#cdd2db guisp=NONE gui=bold cterm=bold
248   else
249     if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
250       hi Normal guifg=#37474f guibg=NONE guisp=NONE gui=NONE cterm=NONE
251     else
252       hi Normal guifg=#37474f guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
253     endif
254     hi Conceal guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
255     hi Constant guifg=#009a5a guibg=NONE guisp=NONE gui=NONE cterm=NONE
256     hi Directory guifg=#004bb4 guibg=NONE guisp=NONE gui=bold cterm=bold
257     hi Error guifg=#ae1528 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
258     hi Function guifg=#008d9a guibg=NONE guisp=NONE gui=NONE cterm=NONE
259     hi Identifier guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
260     hi ModeMsg guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
261     hi MoreMsg guifg=#009a5a guibg=NONE guisp=NONE gui=NONE cterm=NONE
262     hi PreProc guifg=#008d9a guibg=NONE guisp=NONE gui=NONE cterm=NONE
263     hi Statement guifg=#ae1528 guibg=NONE guisp=NONE gui=NONE cterm=NONE
264     hi Special guifg=#ff8c00 guibg=NONE guisp=NONE gui=NONE cterm=NONE
265     hi Todo guifg=#008d9a guibg=NONE guisp=NONE gui=reverse cterm=reverse
266     hi WarningMsg guifg=#ae1528 guibg=NONE guisp=NONE gui=NONE cterm=NONE
267     hi WildMenu guifg=#004bb4 guibg=#cdd2db guisp=NONE gui=bold cterm=bold
268   endif
269   if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
270     hi CursorLineNr guifg=#ff8c00 guibg=NONE guisp=NONE gui=NONE cterm=NONE
271     hi FoldColumn guifg=#575c66 guibg=NONE guisp=NONE gui=NONE cterm=NONE
272     hi SignColumn guifg=#455a64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
273     hi VertSplit guifg=#b6bdcb guibg=NONE guisp=NONE gui=NONE cterm=NONE
274   else
275     hi CursorLineNr guifg=#ff8c00 guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
276     hi FoldColumn guifg=#575c66 guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
277     hi SignColumn guifg=#455a64 guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
278     hi VertSplit guifg=#b6bdcb guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
279   endif
280   hi ColorColumn guifg=NONE guibg=#e4e6eb guisp=NONE gui=bold cterm=bold
281   hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=bold,reverse ctermfg=NONE ctermbg=NONE cterm=bold,reverse
282   hi CursorColumn guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
283   hi CursorLine guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
284   hi DiffAdd guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
285   hi DiffAdded guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
286   hi DiffChange guifg=#aec0e0 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
287   hi DiffDelete guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
288   hi DiffRemoved guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
289   hi DiffText guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
290   hi EndOfBuffer guifg=#eff1f4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
291   hi! link ErrorMsg Error
292   hi Folded guifg=#b6bdcb guibg=#e4e6eb guisp=NONE gui=italic cterm=italic
293   hi IncSearch guifg=#ff8c00 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
294   hi LineNr guifg=#b6bdcb guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
295   hi MatchParen guifg=NONE guibg=#cdd2db guisp=NONE gui=bold cterm=bold
296   hi NonText guifg=#9fa8ba guibg=NONE guisp=NONE gui=NONE cterm=NONE
297   hi Pmenu guifg=#37474f guibg=#cdd2db guisp=NONE gui=NONE cterm=NONE
298   hi PmenuSbar guifg=NONE guibg=#cdd2db guisp=NONE gui=NONE cterm=NONE
299   hi PmenuSel guifg=#e4e6eb guibg=#455a64 guisp=NONE gui=bold cterm=bold
300   hi PmenuThumb guifg=NONE guibg=#9fa8ba guisp=NONE gui=NONE cterm=NONE
301   hi Question guifg=#cc7000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
302   hi! link QuickFixLine Search
303   hi Search guifg=#ffc57f guibg=#121419 guisp=NONE gui=reverse cterm=reverse
304   hi SpecialKey guifg=#9fa8ba guibg=NONE guisp=NONE gui=NONE cterm=NONE
305   hi SpellBad guifg=#ae1528 guibg=NONE guisp=#ae1528 gui=italic,undercurl cterm=italic,undercurl
306   hi SpellCap guifg=#004bb4 guibg=NONE guisp=#004bb4 gui=italic,undercurl cterm=italic,undercurl
307   hi SpellLocal guifg=#008d9a guibg=NONE guisp=#008d9a gui=italic,undercurl cterm=italic,undercurl
308   hi SpellRare guifg=#b300a4 guibg=NONE guisp=#b300a4 gui=italic,undercurl cterm=italic,undercurl
309   hi StatusLine guifg=#cdd2db guibg=#37474f guisp=NONE gui=reverse cterm=reverse
310   hi StatusLineNC guifg=#e4e6eb guibg=#455a64 guisp=NONE gui=reverse cterm=reverse
311   hi! link StatusLineTerm StatusLine
312   hi! link StatusLineTermNC StatusLineNC
313   hi! link TabLine TabLineFill
314   hi TabLineFill guifg=#455a64 guibg=#b6bdcb guisp=NONE gui=NONE cterm=NONE
315   hi TabLineSel guifg=#37474f guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
316   hi Title guifg=#2e3440 guibg=NONE guisp=NONE gui=bold cterm=bold
317   hi Visual guifg=NONE guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
318   hi! link VisualNOS Visual
319   hi! link Boolean Constant
320   hi! link Character Constant
321   hi Comment guifg=#546e7a guibg=NONE guisp=NONE gui=NONE cterm=NONE
322   hi! link Conditional Statement
323   hi! link Define PreProc
324   hi! link Debug Special
325   hi! link Delimiter Special
326   hi! link Exception Statement
327   hi! link Float Constant
328   hi Ignore guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE
329   hi! link Include PreProc
330   hi! link Keyword Statement
331   hi! link Label Statement
332   hi! link Macro PreProc
333   hi! link Number Constant
334   hi! link Operator Statement
335   hi! link PreCondit PreProc
336   hi! link Repeat Statement
337   hi! link SpecialChar Special
338   hi! link SpecialComment Special
339   hi! link StorageClass Type
340   hi! link String Constant
341   hi! link Structure Type
342   hi! link Tag Special
343   hi Type guifg=#007681 guibg=NONE guisp=NONE gui=NONE cterm=NONE
344   hi! link Typedef Type
345   hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
346   hi! link lCursor Cursor
347   hi CursorIM guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
348   hi ToolbarLine guifg=NONE guibg=#b6bdcb guisp=NONE gui=NONE cterm=NONE
349   hi ToolbarButton guifg=#2e3440 guibg=#b6bdcb guisp=NONE gui=bold cterm=bold
350   hi! link iCursor Cursor
351   hi! link vCursor Cursor
352   hi NormalMode guifg=#455a64 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
353   hi InsertMode guifg=#004bb4 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
354   hi ReplaceMode guifg=#008d9a guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
355   hi VisualMode guifg=#ff8c00 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
356   hi CommandMode guifg=#b300a4 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
357   hi Warnings guifg=#ff8c00 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
358   if !s:italics
359     hi CursorColumn gui=bold cterm=bold
360     hi CursorLine gui=bold cterm=bold
361     hi Folded gui=NONE cterm=NONE
362     hi SpellBad gui=undercurl cterm=undercurl
363     hi SpellCap gui=undercurl cterm=undercurl
364     hi SpellLocal gui=undercurl cterm=undercurl
365     hi SpellRare gui=undercurl cterm=undercurl
366   endif
367   if has('nvim')
368     hi! link TermCursor Cursor
369     hi TermCursorNC guifg=#e4e6eb guibg=#37474f guisp=NONE gui=NONE cterm=NONE
370   endif
371   unlet s:t_Co s:italics
372   finish
373 endif
374
375 if s:t_Co >= 256
376   if &background ==# 'dark'
377     if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
378       if &background ==# 'light'
379         if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
380           hi Normal ctermfg=16 ctermbg=NONE cterm=NONE
381         else
382           hi Normal ctermfg=16 ctermbg=236 cterm=NONE
383           if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug
384             set background=dark
385           endif
386         endif
387       elseif !has('gui_running') && &background ==# 'dark'
388         if get(g:, 'artesanal_transparent', 0)
389           hi Normal ctermfg=231 ctermbg=NONE cterm=NONE
390         else
391           hi Normal ctermfg=231 ctermbg=236 cterm=NONE
392           if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug
393             set background=dark
394           endif
395         endif
396       endif
397       hi Conceal ctermfg=67 ctermbg=NONE cterm=NONE
398       hi Constant ctermfg=29 ctermbg=NONE cterm=NONE
399       hi Directory ctermfg=67 ctermbg=NONE cterm=bold
400       hi Error ctermfg=160 ctermbg=NONE cterm=bold,reverse
401       hi Function ctermfg=30 ctermbg=NONE cterm=NONE
402       hi Identifier ctermfg=67 ctermbg=NONE cterm=NONE
403       hi ModeMsg ctermfg=67 ctermbg=NONE cterm=NONE
404       hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
405       hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
406       hi Statement ctermfg=160 ctermbg=NONE cterm=NONE
407       hi Special ctermfg=185 ctermbg=NONE cterm=NONE
408       hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
409       hi WarningMsg ctermfg=160 ctermbg=NONE cterm=NONE
410       hi WildMenu ctermfg=67 ctermbg=240 cterm=bold
411     else
412       if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
413         hi Normal ctermfg=254 ctermbg=NONE cterm=NONE
414       else
415         hi Normal ctermfg=254 ctermbg=236 cterm=NONE
416         if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug
417           set background=dark
418         endif
419       endif
420       hi Conceal ctermfg=67 ctermbg=NONE cterm=NONE
421       hi Constant ctermfg=36 ctermbg=NONE cterm=NONE
422       hi Directory ctermfg=67 ctermbg=NONE cterm=bold
423       hi Error ctermfg=167 ctermbg=NONE cterm=bold,reverse
424       hi Function ctermfg=37 ctermbg=NONE cterm=NONE
425       hi Identifier ctermfg=67 ctermbg=NONE cterm=NONE
426       hi ModeMsg ctermfg=67 ctermbg=NONE cterm=NONE
427       hi MoreMsg ctermfg=36 ctermbg=NONE cterm=NONE
428       hi PreProc ctermfg=37 ctermbg=NONE cterm=NONE
429       hi Statement ctermfg=167 ctermbg=NONE cterm=NONE
430       hi Special ctermfg=228 ctermbg=NONE cterm=NONE
431       hi Todo ctermfg=37 ctermbg=NONE cterm=reverse
432       hi WarningMsg ctermfg=167 ctermbg=NONE cterm=NONE
433       hi WildMenu ctermfg=67 ctermbg=240 cterm=bold
434     endif
435     if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
436       hi CursorLineNr ctermfg=228 ctermbg=NONE cterm=NONE
437       hi FoldColumn ctermfg=59 ctermbg=NONE cterm=NONE
438       hi SignColumn ctermfg=252 ctermbg=NONE cterm=NONE
439       hi VertSplit ctermfg=242 ctermbg=NONE cterm=NONE
440     else
441       hi CursorLineNr ctermfg=228 ctermbg=238 cterm=NONE
442       hi FoldColumn ctermfg=59 ctermbg=238 cterm=NONE
443       hi SignColumn ctermfg=252 ctermbg=238 cterm=NONE
444       hi VertSplit ctermfg=242 ctermbg=236 cterm=NONE
445     endif
446     hi ColorColumn ctermfg=NONE ctermbg=238 cterm=bold
447     hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
448     hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
449     hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
450     hi DiffAdd ctermfg=152 ctermbg=233 cterm=reverse
451     hi DiffAdded ctermfg=152 ctermbg=233 cterm=reverse
452     hi DiffChange ctermfg=153 ctermbg=233 cterm=reverse
453     hi DiffDelete ctermfg=181 ctermbg=233 cterm=reverse
454     hi DiffRemoved ctermfg=181 ctermbg=233 cterm=reverse
455     hi DiffText ctermfg=152 ctermbg=233 cterm=reverse
456     hi EndOfBuffer ctermfg=236 ctermbg=NONE cterm=NONE
457     hi! link ErrorMsg Error
458     hi Folded ctermfg=242 ctermbg=238 cterm=NONE
459     hi IncSearch ctermfg=228 ctermbg=233 cterm=reverse
460     hi LineNr ctermfg=242 ctermbg=238 cterm=NONE
461     hi MatchParen ctermfg=NONE ctermbg=240 cterm=bold
462     hi NonText ctermfg=247 ctermbg=NONE cterm=NONE
463     hi Pmenu ctermfg=254 ctermbg=240 cterm=NONE
464     hi PmenuSbar ctermfg=NONE ctermbg=240 cterm=NONE
465     hi PmenuSel ctermfg=238 ctermbg=252 cterm=bold
466     hi PmenuThumb ctermfg=NONE ctermbg=247 cterm=NONE
467     hi Question ctermfg=185 ctermbg=NONE cterm=NONE
468     hi! link QuickFixLine Search
469     hi Search ctermfg=229 ctermbg=233 cterm=reverse
470     hi SpecialKey ctermfg=247 ctermbg=NONE cterm=NONE
471     hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
472     hi SpellCap ctermfg=67 ctermbg=NONE cterm=underline
473     hi SpellLocal ctermfg=37 ctermbg=NONE cterm=underline
474     hi SpellRare ctermfg=206 ctermbg=NONE cterm=underline
475     hi StatusLine ctermfg=240 ctermbg=254 cterm=reverse
476     hi StatusLineNC ctermfg=238 ctermbg=252 cterm=reverse
477     hi! link StatusLineTerm StatusLine
478     hi! link StatusLineTermNC StatusLineNC
479     hi! link TabLine TabLineFill
480     hi TabLineFill ctermfg=252 ctermbg=242 cterm=NONE
481     hi TabLineSel ctermfg=254 ctermbg=238 cterm=NONE
482     hi Title ctermfg=255 ctermbg=NONE cterm=bold
483     hi Visual ctermfg=NONE ctermbg=238 cterm=NONE
484     hi! link VisualNOS Visual
485     hi! link Boolean Constant
486     hi! link Character Constant
487     hi Comment ctermfg=250 ctermbg=NONE cterm=NONE
488     hi! link Conditional Statement
489     hi! link Define PreProc
490     hi! link Debug Special
491     hi! link Delimiter Special
492     hi! link Exception Statement
493     hi! link Float Constant
494     hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
495     hi! link Include PreProc
496     hi! link Keyword Statement
497     hi! link Label Statement
498     hi! link Macro PreProc
499     hi! link Number Constant
500     hi! link Operator Statement
501     hi! link PreCondit PreProc
502     hi! link Repeat Statement
503     hi! link SpecialChar Special
504     hi! link SpecialComment Special
505     hi! link StorageClass Type
506     hi! link String Constant
507     hi! link Structure Type
508     hi! link Tag Special
509     hi Type ctermfg=30 ctermbg=NONE cterm=NONE
510     hi! link Typedef Type
511     hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
512     hi! link lCursor Cursor
513     hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
514     hi ToolbarLine ctermfg=NONE ctermbg=242 cterm=NONE
515     hi ToolbarButton ctermfg=255 ctermbg=242 cterm=bold
516     hi! link iCursor Cursor
517     hi! link vCursor Cursor
518     hi NormalMode ctermfg=252 ctermbg=236 cterm=reverse
519     hi InsertMode ctermfg=67 ctermbg=236 cterm=reverse
520     hi ReplaceMode ctermfg=37 ctermbg=236 cterm=reverse
521     hi VisualMode ctermfg=228 ctermbg=236 cterm=reverse
522     hi CommandMode ctermfg=206 ctermbg=236 cterm=reverse
523     hi Warnings ctermfg=228 ctermbg=236 cterm=reverse
524     if !s:italics
525       hi CursorColumn cterm=bold
526       hi CursorLine cterm=bold
527     endif
528     if has('nvim')
529       hi! link TermCursor Cursor
530       hi TermCursorNC ctermfg=238 ctermbg=254 cterm=NONE
531     endif
532     unlet s:t_Co s:italics
533     finish
534   endif
535   " Light background
536   if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
537     if &background ==# 'light'
538       if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
539         hi Normal ctermfg=16 ctermbg=NONE cterm=NONE
540       else
541         hi Normal ctermfg=16 ctermbg=255 cterm=NONE
542       endif
543     elseif !has('gui_running') && &background ==# 'dark'
544       if get(g:, 'artesanal_transparent', 0)
545         hi Normal ctermfg=231 ctermbg=NONE cterm=NONE
546       else
547         hi Normal ctermfg=231 ctermbg=255 cterm=NONE
548       endif
549     endif
550     hi Conceal ctermfg=25 ctermbg=NONE cterm=NONE
551     hi Constant ctermfg=29 ctermbg=NONE cterm=NONE
552     hi Directory ctermfg=25 ctermbg=NONE cterm=bold
553     hi Error ctermfg=88 ctermbg=NONE cterm=bold,reverse
554     hi Function ctermfg=30 ctermbg=NONE cterm=NONE
555     hi Identifier ctermfg=25 ctermbg=NONE cterm=NONE
556     hi ModeMsg ctermfg=25 ctermbg=NONE cterm=NONE
557     hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
558     hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
559     hi Statement ctermfg=88 ctermbg=NONE cterm=NONE
560     hi Special ctermfg=166 ctermbg=NONE cterm=NONE
561     hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
562     hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
563     hi WildMenu ctermfg=25 ctermbg=252 cterm=bold
564   else
565     if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
566       hi Normal ctermfg=238 ctermbg=NONE cterm=NONE
567     else
568       hi Normal ctermfg=238 ctermbg=255 cterm=NONE
569     endif
570     hi Conceal ctermfg=26 ctermbg=NONE cterm=NONE
571     hi Constant ctermfg=35 ctermbg=NONE cterm=NONE
572     hi Directory ctermfg=26 ctermbg=NONE cterm=bold
573     hi Error ctermfg=124 ctermbg=NONE cterm=bold,reverse
574     hi Function ctermfg=30 ctermbg=NONE cterm=NONE
575     hi Identifier ctermfg=26 ctermbg=NONE cterm=NONE
576     hi ModeMsg ctermfg=26 ctermbg=NONE cterm=NONE
577     hi MoreMsg ctermfg=35 ctermbg=NONE cterm=NONE
578     hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
579     hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
580     hi Special ctermfg=208 ctermbg=NONE cterm=NONE
581     hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
582     hi WarningMsg ctermfg=124 ctermbg=NONE cterm=NONE
583     hi WildMenu ctermfg=26 ctermbg=252 cterm=bold
584   endif
585   if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
586     hi CursorLineNr ctermfg=208 ctermbg=NONE cterm=NONE
587     hi FoldColumn ctermfg=59 ctermbg=NONE cterm=NONE
588     hi SignColumn ctermfg=240 ctermbg=NONE cterm=NONE
589     hi VertSplit ctermfg=250 ctermbg=NONE cterm=NONE
590   else
591     hi CursorLineNr ctermfg=208 ctermbg=254 cterm=NONE
592     hi FoldColumn ctermfg=59 ctermbg=254 cterm=NONE
593     hi SignColumn ctermfg=240 ctermbg=254 cterm=NONE
594     hi VertSplit ctermfg=250 ctermbg=255 cterm=NONE
595   endif
596   hi ColorColumn ctermfg=NONE ctermbg=254 cterm=bold
597   hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
598   hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
599   hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
600   hi DiffAdd ctermfg=152 ctermbg=233 cterm=reverse
601   hi DiffAdded ctermfg=152 ctermbg=233 cterm=reverse
602   hi DiffChange ctermfg=153 ctermbg=233 cterm=reverse
603   hi DiffDelete ctermfg=181 ctermbg=233 cterm=reverse
604   hi DiffRemoved ctermfg=181 ctermbg=233 cterm=reverse
605   hi DiffText ctermfg=152 ctermbg=233 cterm=reverse
606   hi EndOfBuffer ctermfg=255 ctermbg=NONE cterm=NONE
607   hi! link ErrorMsg Error
608   hi Folded ctermfg=250 ctermbg=254 cterm=NONE
609   hi IncSearch ctermfg=208 ctermbg=233 cterm=reverse
610   hi LineNr ctermfg=250 ctermbg=254 cterm=NONE
611   hi MatchParen ctermfg=NONE ctermbg=252 cterm=bold
612   hi NonText ctermfg=248 ctermbg=NONE cterm=NONE
613   hi Pmenu ctermfg=238 ctermbg=252 cterm=NONE
614   hi PmenuSbar ctermfg=NONE ctermbg=252 cterm=NONE
615   hi PmenuSel ctermfg=254 ctermbg=240 cterm=bold
616   hi PmenuThumb ctermfg=NONE ctermbg=248 cterm=NONE
617   hi Question ctermfg=166 ctermbg=NONE cterm=NONE
618   hi! link QuickFixLine Search
619   hi Search ctermfg=215 ctermbg=233 cterm=reverse
620   hi SpecialKey ctermfg=248 ctermbg=NONE cterm=NONE
621   hi SpellBad ctermfg=124 ctermbg=NONE cterm=underline
622   hi SpellCap ctermfg=26 ctermbg=NONE cterm=underline
623   hi SpellLocal ctermfg=30 ctermbg=NONE cterm=underline
624   hi SpellRare ctermfg=127 ctermbg=NONE cterm=underline
625   hi StatusLine ctermfg=252 ctermbg=238 cterm=reverse
626   hi StatusLineNC ctermfg=254 ctermbg=240 cterm=reverse
627   hi! link StatusLineTerm StatusLine
628   hi! link StatusLineTermNC StatusLineNC
629   hi! link TabLine TabLineFill
630   hi TabLineFill ctermfg=240 ctermbg=250 cterm=NONE
631   hi TabLineSel ctermfg=238 ctermbg=254 cterm=NONE
632   hi Title ctermfg=236 ctermbg=NONE cterm=bold
633   hi Visual ctermfg=NONE ctermbg=254 cterm=NONE
634   hi! link VisualNOS Visual
635   hi! link Boolean Constant
636   hi! link Character Constant
637   hi Comment ctermfg=242 ctermbg=NONE cterm=NONE
638   hi! link Conditional Statement
639   hi! link Define PreProc
640   hi! link Debug Special
641   hi! link Delimiter Special
642   hi! link Exception Statement
643   hi! link Float Constant
644   hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
645   hi! link Include PreProc
646   hi! link Keyword Statement
647   hi! link Label Statement
648   hi! link Macro PreProc
649   hi! link Number Constant
650   hi! link Operator Statement
651   hi! link PreCondit PreProc
652   hi! link Repeat Statement
653   hi! link SpecialChar Special
654   hi! link SpecialComment Special
655   hi! link StorageClass Type
656   hi! link String Constant
657   hi! link Structure Type
658   hi! link Tag Special
659   hi Type ctermfg=30 ctermbg=NONE cterm=NONE
660   hi! link Typedef Type
661   hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
662   hi! link lCursor Cursor
663   hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
664   hi ToolbarLine ctermfg=NONE ctermbg=250 cterm=NONE
665   hi ToolbarButton ctermfg=236 ctermbg=250 cterm=bold
666   hi! link iCursor Cursor
667   hi! link vCursor Cursor
668   hi NormalMode ctermfg=240 ctermbg=255 cterm=reverse
669   hi InsertMode ctermfg=26 ctermbg=255 cterm=reverse
670   hi ReplaceMode ctermfg=30 ctermbg=255 cterm=reverse
671   hi VisualMode ctermfg=208 ctermbg=255 cterm=reverse
672   hi CommandMode ctermfg=127 ctermbg=255 cterm=reverse
673   hi Warnings ctermfg=208 ctermbg=255 cterm=reverse
674   if !s:italics
675     hi CursorColumn cterm=bold
676     hi CursorLine cterm=bold
677   endif
678   if has('nvim')
679     hi! link TermCursor Cursor
680     hi TermCursorNC ctermfg=254 ctermbg=238 cterm=NONE
681   endif
682   unlet s:t_Co s:italics
683   finish
684 endif
685
686 if s:t_Co >= 16
687   if &background ==# 'dark'
688     if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
689       if &background ==# 'light'
690         if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
691           hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
692         else
693           hi Normal ctermfg=Black ctermbg=Black cterm=NONE
694         endif
695       elseif !has('gui_running') && &background ==# 'dark'
696         if get(g:, 'artesanal_transparent', 0)
697           hi Normal ctermfg=White ctermbg=NONE cterm=NONE
698         else
699           hi Normal ctermfg=White ctermbg=Black cterm=NONE
700         endif
701       endif
702       hi Conceal ctermfg=DarkBlue ctermbg=NONE cterm=NONE
703       hi Constant ctermfg=DarkGreen ctermbg=NONE cterm=NONE
704       hi Directory ctermfg=DarkBlue ctermbg=NONE cterm=bold
705       hi Error ctermfg=DarkRed ctermbg=NONE cterm=bold,reverse
706       hi Function ctermfg=DarkCyan ctermbg=NONE cterm=NONE
707       hi Identifier ctermfg=DarkBlue ctermbg=NONE cterm=NONE
708       hi ModeMsg ctermfg=DarkBlue ctermbg=NONE cterm=NONE
709       hi MoreMsg ctermfg=DarkGreen ctermbg=NONE cterm=NONE
710       hi PreProc ctermfg=DarkCyan ctermbg=NONE cterm=NONE
711       hi Statement ctermfg=DarkRed ctermbg=NONE cterm=NONE
712       hi Special ctermfg=DarkYellow ctermbg=NONE cterm=NONE
713       hi Todo ctermfg=DarkCyan ctermbg=NONE cterm=reverse
714       hi WarningMsg ctermfg=DarkRed ctermbg=NONE cterm=NONE
715       hi WildMenu ctermfg=DarkBlue ctermbg=DarkGrey cterm=bold
716     else
717       if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
718         hi Normal ctermfg=White ctermbg=NONE cterm=NONE
719       else
720         hi Normal ctermfg=White ctermbg=Black cterm=NONE
721       endif
722       hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
723       hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
724       hi Directory ctermfg=Blue ctermbg=NONE cterm=bold
725       hi Error ctermfg=Red ctermbg=NONE cterm=bold,reverse
726       hi Function ctermfg=Cyan ctermbg=NONE cterm=NONE
727       hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
728       hi ModeMsg ctermfg=Blue ctermbg=NONE cterm=NONE
729       hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
730       hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
731       hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
732       hi Special ctermfg=Yellow ctermbg=NONE cterm=NONE
733       hi Todo ctermfg=Cyan ctermbg=NONE cterm=reverse
734       hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
735       hi WildMenu ctermfg=Blue ctermbg=DarkGrey cterm=bold
736     endif
737     if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
738       hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
739       hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
740       hi SignColumn ctermfg=LightGrey ctermbg=NONE cterm=NONE
741       hi VertSplit ctermfg=DarkGrey ctermbg=NONE cterm=NONE
742     else
743       hi CursorLineNr ctermfg=Yellow ctermbg=Black cterm=NONE
744       hi FoldColumn ctermfg=DarkGray ctermbg=Black cterm=NONE
745       hi SignColumn ctermfg=LightGrey ctermbg=Black cterm=NONE
746       hi VertSplit ctermfg=DarkGrey ctermbg=Black cterm=NONE
747     endif
748     hi ColorColumn ctermfg=NONE ctermbg=Black cterm=bold
749     hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
750     hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
751     hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
752     hi DiffAdd ctermfg=LightGreen ctermbg=Black cterm=reverse
753     hi DiffAdded ctermfg=LightGreen ctermbg=Black cterm=reverse
754     hi DiffChange ctermfg=LightBlue ctermbg=Black cterm=reverse
755     hi DiffDelete ctermfg=LightRed ctermbg=Black cterm=reverse
756     hi DiffRemoved ctermfg=LightRed ctermbg=Black cterm=reverse
757     hi DiffText ctermfg=LightGreen ctermbg=Black cterm=reverse
758     hi EndOfBuffer ctermfg=Black ctermbg=NONE cterm=NONE
759     hi! link ErrorMsg Error
760     hi Folded ctermfg=DarkGrey ctermbg=Black cterm=NONE
761     hi IncSearch ctermfg=Yellow ctermbg=Black cterm=reverse
762     hi LineNr ctermfg=DarkGrey ctermbg=Black cterm=NONE
763     hi MatchParen ctermfg=NONE ctermbg=DarkGrey cterm=bold
764     hi NonText ctermfg=LightGrey ctermbg=NONE cterm=NONE
765     hi Pmenu ctermfg=White ctermbg=DarkGrey cterm=NONE
766     hi PmenuSbar ctermfg=NONE ctermbg=DarkGrey cterm=NONE
767     hi PmenuSel ctermfg=Black ctermbg=LightGrey cterm=bold
768     hi PmenuThumb ctermfg=NONE ctermbg=LightGrey cterm=NONE
769     hi Question ctermfg=DarkYellow ctermbg=NONE cterm=NONE
770     hi! link QuickFixLine Search
771     hi Search ctermfg=LightYellow ctermbg=Black cterm=reverse
772     hi SpecialKey ctermfg=LightGrey ctermbg=NONE cterm=NONE
773     hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
774     hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
775     hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
776     hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
777     hi StatusLine ctermfg=DarkGrey ctermbg=White cterm=reverse
778     hi StatusLineNC ctermfg=Black ctermbg=LightGrey cterm=reverse
779     hi! link StatusLineTerm StatusLine
780     hi! link StatusLineTermNC StatusLineNC
781     hi! link TabLine TabLineFill
782     hi TabLineFill ctermfg=LightGrey ctermbg=DarkGrey cterm=NONE
783     hi TabLineSel ctermfg=White ctermbg=Black cterm=NONE
784     hi Title ctermfg=White ctermbg=NONE cterm=bold
785     hi Visual ctermfg=NONE ctermbg=Black cterm=NONE
786     hi! link VisualNOS Visual
787     hi! link Boolean Constant
788     hi! link Character Constant
789     hi Comment ctermfg=DarkGrey ctermbg=NONE cterm=NONE
790     hi! link Conditional Statement
791     hi! link Define PreProc
792     hi! link Debug Special
793     hi! link Delimiter Special
794     hi! link Exception Statement
795     hi! link Float Constant
796     hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
797     hi! link Include PreProc
798     hi! link Keyword Statement
799     hi! link Label Statement
800     hi! link Macro PreProc
801     hi! link Number Constant
802     hi! link Operator Statement
803     hi! link PreCondit PreProc
804     hi! link Repeat Statement
805     hi! link SpecialChar Special
806     hi! link SpecialComment Special
807     hi! link StorageClass Type
808     hi! link String Constant
809     hi! link Structure Type
810     hi! link Tag Special
811     hi Type ctermfg=DarkCyan ctermbg=NONE cterm=NONE
812     hi! link Typedef Type
813     hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
814     hi! link lCursor Cursor
815     hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
816     hi ToolbarLine ctermfg=NONE ctermbg=DarkGrey cterm=NONE
817     hi ToolbarButton ctermfg=White ctermbg=DarkGrey cterm=bold
818     hi! link iCursor Cursor
819     hi! link vCursor Cursor
820     hi NormalMode ctermfg=LightGrey ctermbg=Black cterm=reverse
821     hi InsertMode ctermfg=Blue ctermbg=Black cterm=reverse
822     hi ReplaceMode ctermfg=Cyan ctermbg=Black cterm=reverse
823     hi VisualMode ctermfg=Yellow ctermbg=Black cterm=reverse
824     hi CommandMode ctermfg=Magenta ctermbg=Black cterm=reverse
825     hi Warnings ctermfg=Yellow ctermbg=Black cterm=reverse
826     if !s:italics
827       hi CursorColumn cterm=bold
828       hi CursorLine cterm=bold
829     endif
830     if has('nvim')
831       hi! link TermCursor Cursor
832       hi TermCursorNC ctermfg=Black ctermbg=White cterm=NONE
833     endif
834     unlet s:t_Co s:italics
835     finish
836   endif
837   " Light background
838   if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
839     if &background ==# 'light'
840       if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
841         hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
842       else
843         hi Normal ctermfg=Black ctermbg=White cterm=NONE
844       endif
845     elseif !has('gui_running') && &background ==# 'dark'
846       if get(g:, 'artesanal_transparent', 0)
847         hi Normal ctermfg=White ctermbg=NONE cterm=NONE
848       else
849         hi Normal ctermfg=White ctermbg=White cterm=NONE
850       endif
851     endif
852     hi Conceal ctermfg=DarkBlue ctermbg=NONE cterm=NONE
853     hi Constant ctermfg=DarkGreen ctermbg=NONE cterm=NONE
854     hi Directory ctermfg=DarkBlue ctermbg=NONE cterm=bold
855     hi Error ctermfg=DarkRed ctermbg=NONE cterm=bold,reverse
856     hi Function ctermfg=DarkCyan ctermbg=NONE cterm=NONE
857     hi Identifier ctermfg=DarkBlue ctermbg=NONE cterm=NONE
858     hi ModeMsg ctermfg=DarkBlue ctermbg=NONE cterm=NONE
859     hi MoreMsg ctermfg=DarkGreen ctermbg=NONE cterm=NONE
860     hi PreProc ctermfg=DarkCyan ctermbg=NONE cterm=NONE
861     hi Statement ctermfg=DarkRed ctermbg=NONE cterm=NONE
862     hi Special ctermfg=DarkYellow ctermbg=NONE cterm=NONE
863     hi Todo ctermfg=DarkCyan ctermbg=NONE cterm=reverse
864     hi WarningMsg ctermfg=DarkRed ctermbg=NONE cterm=NONE
865     hi WildMenu ctermfg=DarkBlue ctermbg=LightGrey cterm=bold
866   else
867     if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
868       hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
869     else
870       hi Normal ctermfg=Black ctermbg=White cterm=NONE
871     endif
872     hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
873     hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
874     hi Directory ctermfg=Blue ctermbg=NONE cterm=bold
875     hi Error ctermfg=Red ctermbg=NONE cterm=bold,reverse
876     hi Function ctermfg=Cyan ctermbg=NONE cterm=NONE
877     hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
878     hi ModeMsg ctermfg=Blue ctermbg=NONE cterm=NONE
879     hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
880     hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
881     hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
882     hi Special ctermfg=Yellow ctermbg=NONE cterm=NONE
883     hi Todo ctermfg=Cyan ctermbg=NONE cterm=reverse
884     hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
885     hi WildMenu ctermfg=Blue ctermbg=LightGrey cterm=bold
886   endif
887   if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
888     hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
889     hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
890     hi SignColumn ctermfg=DarkGrey ctermbg=NONE cterm=NONE
891     hi VertSplit ctermfg=DarkGrey ctermbg=NONE cterm=NONE
892   else
893     hi CursorLineNr ctermfg=Yellow ctermbg=White cterm=NONE
894     hi FoldColumn ctermfg=DarkGray ctermbg=White cterm=NONE
895     hi SignColumn ctermfg=DarkGrey ctermbg=White cterm=NONE
896     hi VertSplit ctermfg=DarkGrey ctermbg=White cterm=NONE
897   endif
898   hi ColorColumn ctermfg=NONE ctermbg=White cterm=bold
899   hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
900   hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
901   hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
902   hi DiffAdd ctermfg=LightGreen ctermbg=Black cterm=reverse
903   hi DiffAdded ctermfg=LightGreen ctermbg=Black cterm=reverse
904   hi DiffChange ctermfg=LightBlue ctermbg=Black cterm=reverse
905   hi DiffDelete ctermfg=LightRed ctermbg=Black cterm=reverse
906   hi DiffRemoved ctermfg=LightRed ctermbg=Black cterm=reverse
907   hi DiffText ctermfg=LightGreen ctermbg=Black cterm=reverse
908   hi EndOfBuffer ctermfg=White ctermbg=NONE cterm=NONE
909   hi! link ErrorMsg Error
910   hi Folded ctermfg=DarkGrey ctermbg=White cterm=NONE
911   hi IncSearch ctermfg=Yellow ctermbg=Black cterm=reverse
912   hi LineNr ctermfg=DarkGrey ctermbg=White cterm=NONE
913   hi MatchParen ctermfg=NONE ctermbg=LightGrey cterm=bold
914   hi NonText ctermfg=DarkGrey ctermbg=NONE cterm=NONE
915   hi Pmenu ctermfg=Black ctermbg=LightGrey cterm=NONE
916   hi PmenuSbar ctermfg=NONE ctermbg=LightGrey cterm=NONE
917   hi PmenuSel ctermfg=White ctermbg=DarkGrey cterm=bold
918   hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
919   hi Question ctermfg=DarkYellow ctermbg=NONE cterm=NONE
920   hi! link QuickFixLine Search
921   hi Search ctermfg=LightYellow ctermbg=Black cterm=reverse
922   hi SpecialKey ctermfg=DarkGrey ctermbg=NONE cterm=NONE
923   hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
924   hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
925   hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
926   hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
927   hi StatusLine ctermfg=LightGrey ctermbg=Black cterm=reverse
928   hi StatusLineNC ctermfg=White ctermbg=DarkGrey cterm=reverse
929   hi! link StatusLineTerm StatusLine
930   hi! link StatusLineTermNC StatusLineNC
931   hi! link TabLine TabLineFill
932   hi TabLineFill ctermfg=DarkGrey ctermbg=DarkGrey cterm=NONE
933   hi TabLineSel ctermfg=Black ctermbg=White cterm=NONE
934   hi Title ctermfg=Black ctermbg=NONE cterm=bold
935   hi Visual ctermfg=NONE ctermbg=White cterm=NONE
936   hi! link VisualNOS Visual
937   hi! link Boolean Constant
938   hi! link Character Constant
939   hi Comment ctermfg=DarkGrey ctermbg=NONE cterm=NONE
940   hi! link Conditional Statement
941   hi! link Define PreProc
942   hi! link Debug Special
943   hi! link Delimiter Special
944   hi! link Exception Statement
945   hi! link Float Constant
946   hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
947   hi! link Include PreProc
948   hi! link Keyword Statement
949   hi! link Label Statement
950   hi! link Macro PreProc
951   hi! link Number Constant
952   hi! link Operator Statement
953   hi! link PreCondit PreProc
954   hi! link Repeat Statement
955   hi! link SpecialChar Special
956   hi! link SpecialComment Special
957   hi! link StorageClass Type
958   hi! link String Constant
959   hi! link Structure Type
960   hi! link Tag Special
961   hi Type ctermfg=DarkCyan ctermbg=NONE cterm=NONE
962   hi! link Typedef Type
963   hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
964   hi! link lCursor Cursor
965   hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
966   hi ToolbarLine ctermfg=NONE ctermbg=DarkGrey cterm=NONE
967   hi ToolbarButton ctermfg=Black ctermbg=DarkGrey cterm=bold
968   hi! link iCursor Cursor
969   hi! link vCursor Cursor
970   hi NormalMode ctermfg=DarkGrey ctermbg=White cterm=reverse
971   hi InsertMode ctermfg=Blue ctermbg=White cterm=reverse
972   hi ReplaceMode ctermfg=Cyan ctermbg=White cterm=reverse
973   hi VisualMode ctermfg=Yellow ctermbg=White cterm=reverse
974   hi CommandMode ctermfg=Magenta ctermbg=White cterm=reverse
975   hi Warnings ctermfg=Yellow ctermbg=White cterm=reverse
976   if !s:italics
977     hi CursorColumn cterm=bold
978     hi CursorLine cterm=bold
979   endif
980   if has('nvim')
981     hi! link TermCursor Cursor
982     hi TermCursorNC ctermfg=White ctermbg=Black cterm=NONE
983   endif
984   unlet s:t_Co s:italics
985   finish
986 endif
987
988 " Background: light
989 " Color: fg0 #2e3440 ~   Black
990 " Color: fg1 #37474f ~   Black
991 " Color: fg2 #455a64 ~   DarkGrey
992 " Color: fg3 #546e7a ~   DarkGrey
993 " Color: fg4 #90a4ae ~   LightGrey
994 " Color: bg0 #eff1f4 ~   White
995 " Color: bg1 #e4e6eb ~   White
996 " Color: bg2 #cdd2db ~   LightGrey
997 " Color: bg3 #b6bdcb ~   DarkGrey
998 " Color: bg4 #9fa8ba ~   DarkGrey
999 " Color: black                #121419     ~        Black
1000 " Color: realblack            #000000     ~        Black
1001 " Color: darkgray             #575c66     ~        DarkGray
1002 " Color: red                  #ae1528     ~        Red
1003 " Color: brightred            #ddabbc     ~        LightRed
1004 " Color: darkred              #971223     ~        DarkRed
1005 " Color: green                #009a5a     ~        Green
1006 " Color: brightgreen          #abddcc     ~        LightGreen
1007 " Color: darkgreen            #00814b     ~        DarkGreen
1008 " Color: yellow               #ff8c00     ~        Yellow
1009 " Color: brightyellow         #ffc57f     ~        LightYellow
1010 " Color: darkyellow           #cc7000     ~        DarkYellow
1011 " Color: blue                 #004bb4     ~        Blue
1012 " Color: brightblue           #aec0e0     ~        LightBlue
1013 " Color: darkblue             #00409b     ~        DarkBlue
1014 " Color: magenta              #b300a4     ~        Magenta
1015 " Color: brightmagenta        #fc86ec     ~        LightMagenta
1016 " Color: darkmagenta          #9a008d     ~        DarkMagenta
1017 " Color: cyan                 #008d9a     ~        Cyan
1018 " Color: brightcyan           #00d3e7     ~        LightCyan
1019 " Color: darkcyan             #007681     ~        DarkCyan
1020 " Color: white                #eff1f4     ~        White
1021 " Color: brightwhite          #ffffff     ~        White
1022 " Term Colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan white
1023 " Term Colors: darkgray red green yellow blue magenta cyan brightwhite
1024 " Background: dark
1025 " Color: fg0 #eff1f4 ~   White
1026 " Color: fg1 #e4e6eb ~   White
1027 " Color: fg2 #cdd2db ~   LightGrey
1028 " Color: fg3 #b6bdcb ~   DarkGrey
1029 " Color: fg4 #9fa8ba ~   DarkGrey
1030 " Color: bg0 #2e3440 ~   Black
1031 " Color: bg1 #37474f ~   Black
1032 " Color: bg2 #455a64 ~   DarkGrey
1033 " Color: bg3 #546e7a ~   DarkGrey
1034 " Color: bg4 #90a4ae ~   LightGrey
1035 " Color: black                #121419     ~        Black
1036 " Color: realblack            #000000     ~        Black
1037 " Color: darkgray             #575c66     ~        DarkGray
1038 " Color: red                  #e84256     ~        Red
1039 " Color: brightred            #ddabbc     ~        LightRed
1040 " Color: darkred              #dc1b33     ~        DarkRed
1041 " Color: green                #00bf8a     ~        Green
1042 " Color: brightgreen          #abddcc     ~        LightGreen
1043 " Color: darkgreen            #008c65     ~        DarkGreen
1044 " Color: yellow               #fff176     ~        Yellow
1045 " Color: brightyellow         #ffffa8     ~        LightYellow
1046 " Color: darkyellow           #e5d85c     ~        DarkYellow
1047 " Color: blue                 #6699cc     ~        Blue
1048 " Color: brightblue           #aec0e0     ~        LightBlue
1049 " Color: darkblue             #517aa3     ~        DarkBlue
1050 " Color: magenta              #fa75e2     ~        Magenta
1051 " Color: brightmagenta        #fc86ec     ~        LightMagenta
1052 " Color: darkmagenta          #f844d8     ~        DarkMagenta
1053 " Color: cyan                 #00bbcc     ~        Cyan
1054 " Color: brightcyan           #99eaea     ~        LightCyan
1055 " Color: darkcyan             #0095a3     ~        DarkCyan
1056 " Color: white                #eff1f4     ~        White
1057 " Color: brightwhite          #ffffff     ~        White
1058 " Term Colors: darkgray red green yellow blue magenta cyan brightwhite
1059 " Term Colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan white
1060 " vim: et ts=2 sw=2