+
+if s:t_Co >= 16
+ if &background ==# 'dark'
+ if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+ if !has('gui_running') && &background ==# 'light'
+ if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+ hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
+ else
+ hi Normal ctermfg=Black ctermbg=Black cterm=NONE
+ endif
+ elseif !has('gui_running') && &background ==# 'dark'
+ if get(g:, 'artesanal_transparent', 0)
+ hi Normal ctermfg=White ctermbg=NONE cterm=NONE
+ else
+ hi Normal ctermfg=White ctermbg=Black cterm=NONE
+ endif
+ endif
+ hi Conceal ctermfg=DarkBlue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=DarkGreen ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=DarkBlue ctermbg=NONE cterm=bold
+ hi Error ctermfg=DarkRed ctermbg=NONE cterm=bold,reverse
+ hi Function ctermfg=DarkCyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=DarkBlue ctermbg=NONE cterm=NONE
+ hi ModeMsg ctermfg=DarkBlue ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=DarkGreen ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=DarkCyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=DarkRed ctermbg=NONE cterm=NONE
+ hi Special ctermfg=DarkYellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=DarkCyan ctermbg=NONE cterm=reverse
+ hi WarningMsg ctermfg=DarkRed ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=DarkBlue ctermbg=DarkGrey cterm=bold
+ else
+ if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+ hi Normal ctermfg=White ctermbg=NONE cterm=NONE
+ else
+ hi Normal ctermfg=White ctermbg=Black cterm=NONE
+ endif
+ hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=Blue ctermbg=NONE cterm=bold
+ hi Error ctermfg=Red ctermbg=NONE cterm=bold,reverse
+ hi Function ctermfg=Cyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
+ hi ModeMsg ctermfg=Blue ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
+ hi Special ctermfg=Yellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=Cyan ctermbg=NONE cterm=reverse
+ hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=Blue ctermbg=DarkGrey cterm=bold
+ endif
+ if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+ hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=LightGrey ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ else
+ hi CursorLineNr ctermfg=Yellow ctermbg=Black cterm=NONE
+ hi FoldColumn ctermfg=DarkGray ctermbg=Black cterm=NONE
+ hi SignColumn ctermfg=LightGrey ctermbg=Black cterm=NONE
+ hi VertSplit ctermfg=DarkGrey ctermbg=Black cterm=NONE
+ endif
+ hi ColorColumn ctermfg=NONE ctermbg=Black cterm=bold
+ hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+ hi CursorColumn ctermfg=NONE ctermbg=Black cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=Black cterm=bold
+ hi DiffAdd ctermfg=NONE ctermbg=Green cterm=NONE
+ hi DiffAdded ctermfg=NONE ctermbg=Green cterm=NONE
+ hi DiffChange ctermfg=NONE ctermbg=Blue cterm=NONE
+ hi DiffDelete ctermfg=NONE ctermbg=Red cterm=NONE
+ hi DiffRemoved ctermfg=NONE ctermbg=Red cterm=NONE
+ hi DiffText ctermfg=NONE ctermbg=Green cterm=NONE
+ hi EndOfBuffer ctermfg=Black ctermbg=NONE cterm=NONE
+ hi! link ErrorMsg Error
+ hi Folded ctermfg=DarkGrey ctermbg=Black cterm=NONE
+ hi IncSearch ctermfg=Yellow ctermbg=Black cterm=reverse
+ hi LineNr ctermfg=DarkGrey ctermbg=Black cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=Black cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=DarkGrey cterm=bold
+ hi NonText ctermfg=LightGrey ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=White ctermbg=DarkGrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=DarkGrey cterm=NONE
+ hi PmenuSel ctermfg=Black ctermbg=LightGrey cterm=bold
+ hi PmenuThumb ctermfg=NONE ctermbg=LightGrey cterm=NONE
+ hi Question ctermfg=DarkYellow ctermbg=NONE cterm=NONE
+ hi! link QuickFixLine Search
+ hi Search ctermfg=LightYellow ctermbg=Black cterm=reverse
+ hi SpecialKey ctermfg=LightGrey ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=White ctermbg=DarkGrey cterm=NONE
+ hi StatusLineNC ctermfg=LightGrey ctermbg=Black cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link TabLine TabLineFill
+ hi TabLineFill ctermfg=LightGrey ctermbg=DarkGrey cterm=NONE
+ hi TabLineSel ctermfg=White ctermbg=Black cterm=NONE
+ hi Title ctermfg=Red ctermbg=NONE cterm=bold
+ hi Visual ctermfg=NONE ctermbg=Black cterm=NONE
+ hi! link VisualNOS Visual
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi Comment ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Debug Special
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Label Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Statement
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi Type ctermfg=DarkCyan ctermbg=NONE cterm=NONE
+ hi! link Typedef Type
+ hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+ hi! link lCursor Cursor
+ hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi ToolbarLine ctermfg=NONE ctermbg=DarkGrey cterm=NONE
+ hi ToolbarButton ctermfg=White ctermbg=DarkGrey cterm=bold
+ hi! link iCursor Cursor
+ hi! link vCursor Cursor
+ hi NormalMode ctermfg=LightGrey ctermbg=Black cterm=reverse
+ hi InsertMode ctermfg=Blue ctermbg=Black cterm=reverse
+ hi ReplaceMode ctermfg=Cyan ctermbg=Black cterm=reverse
+ hi VisualMode ctermfg=Yellow ctermbg=Black cterm=reverse
+ hi CommandMode ctermfg=Magenta ctermbg=Black cterm=reverse
+ hi Warnings ctermfg=Yellow ctermbg=Black cterm=reverse
+ if has('nvim')
+ hi! link TermCursor Cursor
+ hi TermCursorNC ctermfg=Black ctermbg=White cterm=NONE
+ endif
+ unlet s:t_Co s:italics
+ finish
+ endif
+ " Light background
+ if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+ if !has('gui_running') && &background ==# 'light'
+ if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+ hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
+ else
+ hi Normal ctermfg=Black ctermbg=White cterm=NONE
+ endif
+ elseif !has('gui_running') && &background ==# 'dark'
+ if get(g:, 'artesanal_transparent', 0)
+ hi Normal ctermfg=White ctermbg=NONE cterm=NONE
+ else
+ hi Normal ctermfg=White ctermbg=White cterm=NONE
+ endif
+ endif
+ hi Conceal ctermfg=DarkBlue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=DarkGreen ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=DarkBlue ctermbg=NONE cterm=bold
+ hi Error ctermfg=DarkRed ctermbg=NONE cterm=bold,reverse
+ hi Function ctermfg=DarkCyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=DarkBlue ctermbg=NONE cterm=NONE
+ hi ModeMsg ctermfg=DarkBlue ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=DarkGreen ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=DarkCyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=DarkRed ctermbg=NONE cterm=NONE
+ hi Special ctermfg=DarkYellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=DarkCyan ctermbg=NONE cterm=reverse
+ hi WarningMsg ctermfg=DarkRed ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=DarkBlue ctermbg=LightGrey cterm=bold
+ else
+ if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+ hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
+ else
+ hi Normal ctermfg=Black ctermbg=White cterm=NONE
+ endif
+ hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=Blue ctermbg=NONE cterm=bold
+ hi Error ctermfg=Red ctermbg=NONE cterm=bold,reverse
+ hi Function ctermfg=Cyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
+ hi ModeMsg ctermfg=Blue ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
+ hi Special ctermfg=Yellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=Cyan ctermbg=NONE cterm=reverse
+ hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=Blue ctermbg=LightGrey cterm=bold
+ endif
+ if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+ hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ else
+ hi CursorLineNr ctermfg=Yellow ctermbg=White cterm=NONE
+ hi FoldColumn ctermfg=DarkGray ctermbg=White cterm=NONE
+ hi SignColumn ctermfg=DarkGrey ctermbg=White cterm=NONE
+ hi VertSplit ctermfg=DarkGrey ctermbg=White cterm=NONE
+ endif
+ hi ColorColumn ctermfg=NONE ctermbg=White cterm=bold
+ hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+ hi CursorColumn ctermfg=NONE ctermbg=White cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=White cterm=bold
+ hi DiffAdd ctermfg=NONE ctermbg=LightGreen cterm=NONE
+ hi DiffAdded ctermfg=NONE ctermbg=LightGreen cterm=NONE
+ hi DiffChange ctermfg=NONE ctermbg=LightBlue cterm=NONE
+ hi DiffDelete ctermfg=NONE ctermbg=LightRed cterm=NONE
+ hi DiffRemoved ctermfg=NONE ctermbg=LightRed cterm=NONE
+ hi DiffText ctermfg=NONE ctermbg=LightGreen cterm=NONE
+ hi EndOfBuffer ctermfg=White ctermbg=NONE cterm=NONE
+ hi! link ErrorMsg Error
+ hi Folded ctermfg=DarkGrey ctermbg=White cterm=NONE
+ hi IncSearch ctermfg=Yellow ctermbg=Black cterm=reverse
+ hi LineNr ctermfg=DarkGrey ctermbg=White cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=White cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=LightGrey cterm=bold
+ hi NonText ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=Black ctermbg=LightGrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=LightGrey cterm=NONE
+ hi PmenuSel ctermfg=White ctermbg=DarkGrey cterm=bold
+ hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
+ hi Question ctermfg=DarkYellow ctermbg=NONE cterm=NONE
+ hi! link QuickFixLine Search
+ hi Search ctermfg=LightYellow ctermbg=Black cterm=reverse
+ hi SpecialKey ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=Black ctermbg=LightGrey cterm=NONE
+ hi StatusLineNC ctermfg=DarkGrey ctermbg=White cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link TabLine TabLineFill
+ hi TabLineFill ctermfg=DarkGrey ctermbg=DarkGrey cterm=NONE
+ hi TabLineSel ctermfg=Black ctermbg=White cterm=NONE
+ hi Title ctermfg=Red ctermbg=NONE cterm=bold
+ hi Visual ctermfg=NONE ctermbg=White cterm=NONE
+ hi! link VisualNOS Visual
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi Comment ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Debug Special
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Label Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Statement
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi Type ctermfg=DarkCyan ctermbg=NONE cterm=NONE
+ hi! link Typedef Type
+ hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+ hi! link lCursor Cursor
+ hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi ToolbarLine ctermfg=NONE ctermbg=DarkGrey cterm=NONE
+ hi ToolbarButton ctermfg=Black ctermbg=DarkGrey cterm=bold
+ hi! link iCursor Cursor
+ hi! link vCursor Cursor
+ hi NormalMode ctermfg=DarkGrey ctermbg=White cterm=reverse
+ hi InsertMode ctermfg=Blue ctermbg=White cterm=reverse
+ hi ReplaceMode ctermfg=Cyan ctermbg=White cterm=reverse
+ hi VisualMode ctermfg=Yellow ctermbg=White cterm=reverse
+ hi CommandMode ctermfg=Magenta ctermbg=White cterm=reverse
+ hi Warnings ctermfg=Yellow ctermbg=White cterm=reverse
+ if has('nvim')
+ hi! link TermCursor Cursor
+ hi TermCursorNC ctermfg=White ctermbg=Black cterm=NONE
+ endif
+ unlet s:t_Co s:italics
+ finish