]> git.madduck.net Git - etc/vim.git/blobdiff - 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:

Enhance transparency to SignColumn and FoldColumn
[etc/vim.git] / colors / artesanal.vim
index eb4cedf5b757b84d852dd8ccab8fab6088341319..d3d9589da50fabd1c0a4fdf189d1fcab0742dcf3 100644 (file)
 " Name:         Artesanal
-" Description:  A Vim colorscheme with light and dark variants based on Material Design.
+" Description:  A Vim colorscheme with light and dark variants originally based on Material Design (now strongly modified to my likings).
 " Author:       Stefan Wimmer <wimstefan@gmail.com>
 " Maintainer:   Stefan Wimmer <wimstefan@gmail.com>
 " Website:      https://github.com/wimstefan/vim-artesanal
 " License:      Vim License (see `:help license`)
-" Last Updated: Thu 20 Dec 2018 03:05:22 PM CET
+" Last Updated: Sat 31 Jul 2021 08:04:13 AM CEST
 
-if !(has('termguicolors') && &termguicolors) && !has('gui_running')
-      \ && (!exists('&t_Co') || &t_Co < 256)
-  echoerr '[Artesanal] There are not enough colors.'
-  finish
-endif
+" Generated by Colortemplate v2.1.0
 
 hi clear
-if exists('syntax_on')
-  syntax reset
-endif
-
 let g:colors_name = 'artesanal'
 
-if &background ==# 'dark'
-  if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-    hi Normal ctermfg=255 ctermbg=NONE guifg=#ebebeb guibg=NONE guisp=NONE cterm=NONE gui=NONE
-    hi CursorLineNr ctermfg=228 ctermbg=NONE guifg=#ffff80 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-    hi FoldColumn ctermfg=242 ctermbg=NONE guifg=#696969 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-    hi SignColumn ctermfg=252 ctermbg=NONE guifg=#d3d3d3 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-    hi VertSplit ctermfg=242 ctermbg=NONE guifg=#6c7079 guibg=NONE guisp=NONE cterm=NONE gui=NONE
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2
+let s:italics = (&t_ZH != '' && &t_ZH != '\e[7m') || has('gui_running') || has('nvim')
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+  if &background ==# 'dark'
+    let g:terminal_ansi_colors = ['#575c66', '#ff616f', '#69f0b9', '#ffff8d', '#90caf9', '#b39ddb', '#80deea', '#ffffff', '#1c313a', '#ef5350', '#15cf83', '#ffeb3b', '#5d99c6', '#9575cd', '#4dd0e1', '#eff1f4']
+    if has('nvim')
+      let g:terminal_color_0 = '#575c66'
+      let g:terminal_color_1 = '#ff616f'
+      let g:terminal_color_2 = '#69f0b9'
+      let g:terminal_color_3 = '#ffff8d'
+      let g:terminal_color_4 = '#90caf9'
+      let g:terminal_color_5 = '#b39ddb'
+      let g:terminal_color_6 = '#80deea'
+      let g:terminal_color_7 = '#ffffff'
+      let g:terminal_color_8 = '#1c313a'
+      let g:terminal_color_9 = '#ef5350'
+      let g:terminal_color_10 = '#15cf83'
+      let g:terminal_color_11 = '#ffeb3b'
+      let g:terminal_color_12 = '#5d99c6'
+      let g:terminal_color_13 = '#9575cd'
+      let g:terminal_color_14 = '#4dd0e1'
+      let g:terminal_color_15 = '#eff1f4'
+    endif
+    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 guifg=#000000 guibg=NONE gui=NONE cterm=NONE
+        else
+          hi Normal guifg=#000000 guibg=#2e3440 gui=NONE cterm=NONE
+        endif
+      elseif !has('gui_running') && &background ==# 'dark'
+        if get(g:, 'artesanal_transparent', 0)
+          hi Normal guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+        else
+          hi Normal guifg=#ffffff guibg=#2e3440 gui=NONE cterm=NONE
+        endif
+      endif
+      hi Conceal guifg=#5d99c6 guibg=NONE gui=NONE cterm=NONE
+      hi Constant guifg=#15cf83 guibg=NONE gui=NONE cterm=NONE
+      hi Directory guifg=#5d99c6 guibg=NONE gui=bold cterm=bold
+      hi Error guifg=#ef5350 guibg=NONE gui=bold,standout cterm=bold,reverse
+      hi Function guifg=#4dd0e1 guibg=NONE gui=NONE cterm=NONE
+      hi Identifier guifg=#5d99c6 guibg=NONE gui=NONE cterm=NONE
+      hi ModeMsg guifg=#5d99c6 guibg=NONE gui=NONE cterm=NONE
+      hi MoreMsg guifg=#15cf83 guibg=NONE gui=NONE cterm=NONE
+      hi PreProc guifg=#4dd0e1 guibg=NONE gui=NONE cterm=NONE
+      hi Statement guifg=#ef5350 guibg=NONE gui=NONE cterm=NONE
+      hi Special guifg=#ffeb3b guibg=NONE gui=NONE cterm=NONE
+      hi Todo guifg=#4dd0e1 guibg=NONE gui=reverse cterm=reverse
+      hi WarningMsg guifg=#ef5350 guibg=NONE gui=NONE cterm=NONE
+      hi WildMenu guifg=#5d99c6 guibg=#455a64 gui=bold cterm=bold
+    else
+      if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+        hi Normal guifg=#e4e6eb guibg=NONE gui=NONE cterm=NONE
+      else
+        hi Normal guifg=#e4e6eb guibg=#2e3440 gui=NONE cterm=NONE
+      endif
+      hi Conceal guifg=#90caf9 guibg=NONE gui=NONE cterm=NONE
+      hi Constant guifg=#69f0b9 guibg=NONE gui=NONE cterm=NONE
+      hi Directory guifg=#90caf9 guibg=NONE gui=bold cterm=bold
+      hi Error guifg=#ff616f guibg=NONE gui=bold,standout cterm=bold,reverse
+      hi Function guifg=#80deea guibg=NONE gui=NONE cterm=NONE
+      hi Identifier guifg=#90caf9 guibg=NONE gui=NONE cterm=NONE
+      hi ModeMsg guifg=#90caf9 guibg=NONE gui=NONE cterm=NONE
+      hi MoreMsg guifg=#69f0b9 guibg=NONE gui=NONE cterm=NONE
+      hi PreProc guifg=#80deea guibg=NONE gui=NONE cterm=NONE
+      hi Statement guifg=#ff616f guibg=NONE gui=NONE cterm=NONE
+      hi Special guifg=#ffff8d guibg=NONE gui=NONE cterm=NONE
+      hi Todo guifg=#80deea guibg=NONE gui=reverse cterm=reverse
+      hi WarningMsg guifg=#ff616f guibg=NONE gui=NONE cterm=NONE
+      hi WildMenu guifg=#90caf9 guibg=#455a64 gui=bold cterm=bold
+    endif
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi LineNr guifg=#455a64 guibg=NONE gui=NONE cterm=NONE
+      hi CursorLineNr guifg=#ffff8d guibg=NONE gui=NONE cterm=NONE
+      hi FoldColumn guifg=#575c66 guibg=NONE gui=NONE cterm=NONE
+      hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+      hi VertSplit guifg=#546e7a guibg=NONE gui=NONE cterm=NONE
+      hi Pmenu guifg=#e4e6eb guibg=NONE gui=NONE cterm=NONE
+      hi PmenuSbar guifg=#cdd2db guibg=NONE gui=NONE cterm=NONE
+      hi PmenuSel guifg=#cdd2db guibg=NONE gui=reverse cterm=reverse
+      hi PmenuThumb guifg=NONE guibg=#cdd2db gui=NONE cterm=NONE
+    else
+      hi LineNr guifg=#455a64 guibg=#37474f gui=NONE cterm=NONE
+      hi CursorLineNr guifg=#ffff8d guibg=#37474f gui=NONE cterm=NONE
+      hi FoldColumn guifg=#575c66 guibg=#37474f gui=NONE cterm=NONE
+      hi SignColumn guifg=NONE guibg=#37474f gui=NONE cterm=NONE
+      hi VertSplit guifg=#546e7a guibg=#2e3440 gui=NONE cterm=NONE
+      hi Pmenu guifg=#e4e6eb guibg=#455a64 gui=NONE cterm=NONE
+      hi PmenuSbar guifg=NONE guibg=#455a64 gui=NONE cterm=NONE
+      hi PmenuSel guifg=#37474f guibg=#cdd2db gui=bold cterm=bold
+      hi PmenuThumb guifg=NONE guibg=#90a4ae gui=NONE cterm=NONE
+    endif
+    hi ColorColumn guifg=NONE guibg=#37474f gui=bold cterm=bold
+    hi Cursor guifg=NONE guibg=NONE gui=bold,reverse ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+    hi CursorColumn guifg=NONE guibg=#37474f gui=NONE cterm=NONE
+    hi CursorLine guifg=NONE guibg=#37474f gui=bold cterm=bold
+    hi DiffAdd guifg=NONE guibg=#3f7070 gui=NONE cterm=NONE
+    hi DiffAdded guifg=NONE guibg=#3f7070 gui=NONE cterm=NONE
+    hi DiffChange guifg=NONE guibg=#3f5a70 gui=NONE cterm=NONE
+    hi DiffDelete guifg=NONE guibg=#663d43 gui=NONE cterm=NONE
+    hi DiffRemoved guifg=NONE guibg=#663d43 gui=NONE cterm=NONE
+    hi DiffText guifg=NONE guibg=#3f7070 gui=NONE cterm=NONE
+    hi EndOfBuffer guifg=#2e3440 guibg=NONE gui=NONE cterm=NONE
+    hi! link ErrorMsg Error
+    hi Folded guifg=#546e7a guibg=#37474f gui=italic cterm=NONE
+    hi IncSearch guifg=#ffff8d guibg=#1c313a gui=reverse cterm=reverse
+    hi MatchParen guifg=NONE guibg=#455a64 gui=bold cterm=bold
+    hi NonText guifg=#90a4ae guibg=NONE gui=NONE cterm=NONE
+    hi Question guifg=#ffeb3b guibg=NONE gui=NONE cterm=NONE
+    hi! link QuickFixLine Search
+    hi Search guifg=#fff9c4 guibg=#1c313a gui=reverse cterm=reverse
+    hi SpecialKey guifg=#90a4ae guibg=NONE gui=NONE cterm=NONE
+    hi SpellBad guifg=#ff616f guibg=NONE gui=italic,undercurl cterm=underline
+    hi SpellCap guifg=#90caf9 guibg=NONE gui=italic,undercurl cterm=underline
+    hi SpellLocal guifg=#80deea guibg=NONE gui=italic,undercurl cterm=underline
+    hi SpellRare guifg=#b39ddb guibg=NONE gui=italic,undercurl cterm=underline
+    hi StatusLine guifg=#e4e6eb guibg=#455a64 gui=NONE cterm=NONE
+    hi StatusLineNC guifg=#cdd2db guibg=#37474f gui=NONE cterm=NONE
+    hi! link StatusLineTerm StatusLine
+    hi! link StatusLineTermNC StatusLineNC
+    hi! link TabLine TabLineFill
+    hi TabLineFill guifg=#cdd2db guibg=#546e7a gui=NONE cterm=NONE
+    hi TabLineSel guifg=#e4e6eb guibg=#37474f gui=NONE cterm=NONE
+    hi Title guifg=#ff616f guibg=NONE gui=bold cterm=bold
+    hi Visual guifg=NONE guibg=#37474f gui=NONE cterm=NONE
+    hi! link VisualNOS Visual
+    hi! link Boolean Constant
+    hi! link Character Constant
+    hi Comment guifg=#b6bdcb guibg=NONE gui=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 guifg=fg guibg=NONE gui=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 guifg=#4dd0e1 guibg=NONE gui=NONE cterm=NONE
+    hi! link Typedef Type
+    hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
+    hi! link lCursor Cursor
+    hi CursorIM guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+    hi ToolbarLine guifg=NONE guibg=#546e7a gui=NONE cterm=NONE
+    hi ToolbarButton guifg=#eff1f4 guibg=#546e7a gui=bold cterm=bold
+    hi! link iCursor Cursor
+    hi! link vCursor Cursor
+    hi NormalMode guifg=#cdd2db guibg=#2e3440 gui=reverse cterm=reverse
+    hi InsertMode guifg=#90caf9 guibg=#2e3440 gui=reverse cterm=reverse
+    hi ReplaceMode guifg=#80deea guibg=#2e3440 gui=reverse cterm=reverse
+    hi VisualMode guifg=#ffff8d guibg=#2e3440 gui=reverse cterm=reverse
+    hi CommandMode guifg=#b39ddb guibg=#2e3440 gui=reverse cterm=reverse
+    hi Warnings guifg=#ff616f guibg=#2e3440 gui=reverse cterm=reverse
+    if !s:italics
+      hi Folded gui=NONE cterm=NONE
+      hi SpellBad gui=undercurl cterm=underline
+      hi SpellCap gui=undercurl cterm=underline
+      hi SpellLocal gui=undercurl cterm=underline
+      hi SpellRare gui=undercurl cterm=underline
+    endif
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi GitSignsAdd guifg=#69f0b9 guibg=NONE gui=NONE cterm=NONE
+      hi GitSignsChange guifg=#90caf9 guibg=NONE gui=NONE cterm=NONE
+      hi GitSignsDelete guifg=#ff616f guibg=NONE gui=NONE cterm=NONE
+    else
+      hi GitSignsAdd guifg=#69f0b9 guibg=#37474f gui=NONE cterm=NONE
+      hi GitSignsChange guifg=#90caf9 guibg=#37474f gui=NONE cterm=NONE
+      hi GitSignsDelete guifg=#ff616f guibg=#37474f gui=NONE cterm=NONE
+    endif
+    hi! link GitSignsAddNr GitSignsAdd
+    hi! link GitSignsChangeNr GitSignsChange
+    hi! link GitSignsDeleteNr GitSignsDelete
+    if has('nvim')
+      hi! link TermCursor Cursor
+      hi TermCursorNC guifg=#37474f guibg=#e4e6eb gui=NONE cterm=NONE
+    endif
+    unlet s:t_Co s:italics
+    finish
+  endif
+  " Light background
+  let g:terminal_ansi_colors = ['#1c313a', '#99000d', '#0c7047', '#cc6c0b', '#064578', '#5f468a', '#198b9a', '#eff1f4', '#575c66', '#b2000f', '#0e8756', '#ff870e', '#0961a8', '#7a5ab2', '#1d9fb0', '#ffffff']
+  if has('nvim')
+    let g:terminal_color_0 = '#1c313a'
+    let g:terminal_color_1 = '#99000d'
+    let g:terminal_color_2 = '#0c7047'
+    let g:terminal_color_3 = '#cc6c0b'
+    let g:terminal_color_4 = '#064578'
+    let g:terminal_color_5 = '#5f468a'
+    let g:terminal_color_6 = '#198b9a'
+    let g:terminal_color_7 = '#eff1f4'
+    let g:terminal_color_8 = '#575c66'
+    let g:terminal_color_9 = '#b2000f'
+    let g:terminal_color_10 = '#0e8756'
+    let g:terminal_color_11 = '#ff870e'
+    let g:terminal_color_12 = '#0961a8'
+    let g:terminal_color_13 = '#7a5ab2'
+    let g:terminal_color_14 = '#1d9fb0'
+    let g:terminal_color_15 = '#ffffff'
+  endif
+  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 guifg=#000000 guibg=NONE gui=NONE cterm=NONE
+      else
+        hi Normal guifg=#000000 guibg=#eff1f4 gui=NONE cterm=NONE
+      endif
+    elseif !has('gui_running') && &background ==# 'dark'
+      if get(g:, 'artesanal_transparent', 0)
+        hi Normal guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+      else
+        hi Normal guifg=#ffffff guibg=#eff1f4 gui=NONE cterm=NONE
+      endif
+    endif
+    hi Conceal guifg=#064578 guibg=NONE gui=NONE cterm=NONE
+    hi Constant guifg=#0c7047 guibg=NONE gui=NONE cterm=NONE
+    hi Directory guifg=#064578 guibg=NONE gui=bold cterm=bold
+    hi Error guifg=#99000d guibg=NONE gui=bold,standout cterm=bold,reverse
+    hi Function guifg=#198b9a guibg=NONE gui=NONE cterm=NONE
+    hi Identifier guifg=#064578 guibg=NONE gui=NONE cterm=NONE
+    hi ModeMsg guifg=#064578 guibg=NONE gui=NONE cterm=NONE
+    hi MoreMsg guifg=#0c7047 guibg=NONE gui=NONE cterm=NONE
+    hi PreProc guifg=#198b9a guibg=NONE gui=NONE cterm=NONE
+    hi Statement guifg=#99000d guibg=NONE gui=NONE cterm=NONE
+    hi Special guifg=#cc6c0b guibg=NONE gui=NONE cterm=NONE
+    hi Todo guifg=#198b9a guibg=NONE gui=reverse cterm=reverse
+    hi WarningMsg guifg=#99000d guibg=NONE gui=NONE cterm=NONE
+    hi WildMenu guifg=#064578 guibg=#cdd2db gui=bold cterm=bold
   else
-    hi Normal ctermfg=255 ctermbg=236 guifg=#ebebeb guibg=#2e3440 guisp=NONE cterm=NONE gui=NONE
-    hi CursorLineNr ctermfg=228 ctermbg=238 guifg=#ffff80 guibg=#424853 guisp=NONE cterm=NONE gui=NONE
-    hi FoldColumn ctermfg=242 ctermbg=238 guifg=#696969 guibg=#424853 guisp=NONE cterm=NONE gui=NONE
-    hi SignColumn ctermfg=252 ctermbg=238 guifg=#d3d3d3 guibg=#424853 guisp=NONE cterm=NONE gui=NONE
-    hi VertSplit ctermfg=242 ctermbg=236 guifg=#6c7079 guibg=#2e3440 guisp=NONE cterm=NONE gui=NONE
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi Normal guifg=#37474f guibg=NONE gui=NONE cterm=NONE
+    else
+      hi Normal guifg=#37474f guibg=#eff1f4 gui=NONE cterm=NONE
+    endif
+    hi Conceal guifg=#0961a8 guibg=NONE gui=NONE cterm=NONE
+    hi Constant guifg=#0e8756 guibg=NONE gui=NONE cterm=NONE
+    hi Directory guifg=#0961a8 guibg=NONE gui=bold cterm=bold
+    hi Error guifg=#b2000f guibg=NONE gui=bold,standout cterm=bold,reverse
+    hi Function guifg=#1d9fb0 guibg=NONE gui=NONE cterm=NONE
+    hi Identifier guifg=#0961a8 guibg=NONE gui=NONE cterm=NONE
+    hi ModeMsg guifg=#0961a8 guibg=NONE gui=NONE cterm=NONE
+    hi MoreMsg guifg=#0e8756 guibg=NONE gui=NONE cterm=NONE
+    hi PreProc guifg=#1d9fb0 guibg=NONE gui=NONE cterm=NONE
+    hi Statement guifg=#b2000f guibg=NONE gui=NONE cterm=NONE
+    hi Special guifg=#ff870e guibg=NONE gui=NONE cterm=NONE
+    hi Todo guifg=#1d9fb0 guibg=NONE gui=reverse cterm=reverse
+    hi WarningMsg guifg=#b2000f guibg=NONE gui=NONE cterm=NONE
+    hi WildMenu guifg=#0961a8 guibg=#cdd2db gui=bold cterm=bold
   endif
-  hi ColorColumn ctermfg=NONE ctermbg=238 guifg=NONE guibg=#424853 guisp=NONE cterm=NONE gui=NONE
-  hi Conceal ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Cursor ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi! link CursorColumn CursorLine
-  hi CursorLine ctermfg=NONE ctermbg=238 guifg=NONE guibg=#424853 guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi DiffAdd ctermfg=231 ctermbg=65 guifg=#fbfbfb guibg=#4c8c6c guisp=NONE cterm=NONE gui=NONE
-  hi DiffChange ctermfg=231 ctermbg=67 guifg=#fbfbfb guibg=#5f87af guisp=NONE cterm=NONE gui=NONE
-  hi DiffDelete ctermfg=231 ctermbg=167 guifg=#fbfbfb guibg=#d66363 guisp=NONE cterm=NONE gui=NONE
-  hi DiffText ctermfg=231 ctermbg=65 guifg=#fbfbfb guibg=#4c8c6c guisp=NONE cterm=NONE gui=NONE
-  hi Directory ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi EndOfBuffer ctermfg=236 ctermbg=NONE guifg=#2e3440 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Error ctermfg=236 ctermbg=203 guifg=#2e3440 guibg=#ff4d4d guisp=NONE cterm=NONE gui=NONE
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+    hi LineNr guifg=#cdd2db guibg=NONE gui=NONE cterm=NONE
+    hi CursorLineNr guifg=#ff870e guibg=NONE gui=NONE cterm=NONE
+    hi FoldColumn guifg=#575c66 guibg=NONE gui=NONE cterm=NONE
+    hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi VertSplit guifg=#b6bdcb guibg=NONE gui=NONE cterm=NONE
+    hi Pmenu guifg=#37474f guibg=NONE gui=NONE cterm=NONE
+    hi PmenuSbar guifg=#455a64 guibg=NONE gui=NONE cterm=NONE
+    hi PmenuSel guifg=#455a64 guibg=NONE gui=reverse cterm=reverse
+    hi PmenuThumb guifg=NONE guibg=#455a64 gui=NONE cterm=NONE
+  else
+    hi LineNr guifg=#cdd2db guibg=#e4e6eb gui=NONE cterm=NONE
+    hi CursorLineNr guifg=#ff870e guibg=#e4e6eb gui=NONE cterm=NONE
+    hi FoldColumn guifg=#575c66 guibg=#e4e6eb gui=NONE cterm=NONE
+    hi SignColumn guifg=NONE guibg=#e4e6eb gui=NONE cterm=NONE
+    hi VertSplit guifg=#b6bdcb guibg=#eff1f4 gui=NONE cterm=NONE
+    hi Pmenu guifg=#37474f guibg=#cdd2db gui=NONE cterm=NONE
+    hi PmenuSbar guifg=NONE guibg=#cdd2db gui=NONE cterm=NONE
+    hi PmenuSel guifg=#e4e6eb guibg=#455a64 gui=bold cterm=bold
+    hi PmenuThumb guifg=NONE guibg=#9fa8ba gui=NONE cterm=NONE
+  endif
+  hi ColorColumn guifg=NONE guibg=#e4e6eb gui=bold cterm=bold
+  hi Cursor guifg=NONE guibg=NONE gui=bold,reverse ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+  hi CursorColumn guifg=NONE guibg=#e4e6eb gui=NONE cterm=NONE
+  hi CursorLine guifg=NONE guibg=#e4e6eb gui=bold cterm=bold
+  hi DiffAdd guifg=NONE guibg=#c3e6d7 gui=NONE cterm=NONE
+  hi DiffAdded guifg=NONE guibg=#c3e6d7 gui=NONE cterm=NONE
+  hi DiffChange guifg=NONE guibg=#c3d1e6 gui=NONE cterm=NONE
+  hi DiffDelete guifg=NONE guibg=#f0cccf gui=NONE cterm=NONE
+  hi DiffRemoved guifg=NONE guibg=#f0cccf gui=NONE cterm=NONE
+  hi DiffText guifg=NONE guibg=#c3e6d7 gui=NONE cterm=NONE
+  hi EndOfBuffer guifg=#eff1f4 guibg=NONE gui=NONE cterm=NONE
   hi! link ErrorMsg Error
-  hi Folded ctermfg=242 ctermbg=238 guifg=#696969 guibg=#424853 guisp=NONE cterm=NONE gui=NONE,italic
-  hi IncSearch ctermfg=229 ctermbg=16 guifg=#ffffaf guibg=#000000 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi LineNr ctermfg=242 ctermbg=238 guifg=#6c7079 guibg=#424853 guisp=NONE cterm=NONE gui=NONE
-  hi MatchParen ctermfg=NONE ctermbg=59 guifg=NONE guibg=#575c66 guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi ModeMsg ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi MoreMsg ctermfg=35 ctermbg=NONE guifg=#47b36b guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi NonText ctermfg=102 ctermbg=NONE guifg=#81858c guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Pmenu ctermfg=255 ctermbg=59 guifg=#ebebeb guibg=#575c66 guisp=NONE cterm=NONE gui=NONE
-  hi PmenuSbar ctermfg=NONE ctermbg=59 guifg=NONE guibg=#575c66 guisp=NONE cterm=NONE gui=NONE
-  hi PmenuSel ctermfg=238 ctermbg=252 guifg=#424853 guibg=#d3d3d3 guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi PmenuThumb ctermfg=NONE ctermbg=102 guifg=NONE guibg=#81858c guisp=NONE cterm=NONE gui=NONE
-  hi Question ctermfg=226 ctermbg=NONE guifg=#ffea00 guibg=NONE guisp=NONE cterm=NONE gui=NONE
+  hi Folded guifg=#b6bdcb guibg=#e4e6eb gui=italic cterm=NONE
+  hi IncSearch guifg=#ff870e guibg=#1c313a gui=reverse cterm=reverse
+  hi MatchParen guifg=NONE guibg=#cdd2db gui=bold cterm=bold
+  hi NonText guifg=#9fa8ba guibg=NONE gui=NONE cterm=NONE
+  hi Question guifg=#cc6c0b guibg=NONE gui=NONE cterm=NONE
   hi! link QuickFixLine Search
-  hi Search ctermfg=229 ctermbg=16 guifg=#ffffaf guibg=#000000 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi SpecialKey ctermfg=102 ctermbg=NONE guifg=#81858c guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi SpellBad ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=#ff4d4d cterm=NONE,underline gui=NONE,italic,undercurl
-  hi SpellCap ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=#7ab1cc cterm=NONE,underline gui=NONE,italic,undercurl
-  hi SpellLocal ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=#009688 cterm=NONE,underline gui=NONE,italic,undercurl
-  hi SpellRare ctermfg=98 ctermbg=NONE guifg=#a14cc9 guibg=NONE guisp=#a14cc9 cterm=NONE,underline gui=NONE,italic,undercurl
-  hi StatusLine ctermfg=59 ctermbg=255 guifg=#575c66 guibg=#ebebeb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi StatusLineNC ctermfg=238 ctermbg=252 guifg=#424853 guibg=#d3d3d3 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
+  hi Search guifg=#ffb76e guibg=#1c313a gui=reverse cterm=reverse
+  hi SpecialKey guifg=#9fa8ba guibg=NONE gui=NONE cterm=NONE
+  hi SpellBad guifg=#b2000f guibg=NONE gui=italic,undercurl cterm=underline
+  hi SpellCap guifg=#0961a8 guibg=NONE gui=italic,undercurl cterm=underline
+  hi SpellLocal guifg=#1d9fb0 guibg=NONE gui=italic,undercurl cterm=underline
+  hi SpellRare guifg=#7a5ab2 guibg=NONE gui=italic,undercurl cterm=underline
+  hi StatusLine guifg=#37474f guibg=#cdd2db gui=NONE cterm=NONE
+  hi StatusLineNC guifg=#455a64 guibg=#e4e6eb gui=NONE cterm=NONE
   hi! link StatusLineTerm StatusLine
   hi! link StatusLineTermNC StatusLineNC
   hi! link TabLine TabLineFill
-  hi TabLineFill ctermfg=252 ctermbg=242 guifg=#d3d3d3 guibg=#6c7079 guisp=NONE cterm=NONE gui=NONE
-  hi TabLineSel ctermfg=255 ctermbg=238 guifg=#ebebeb guibg=#424853 guisp=NONE cterm=NONE gui=NONE
-  hi Title ctermfg=231 ctermbg=NONE guifg=#fbfbfb guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi Visual ctermfg=NONE ctermbg=238 guifg=NONE guibg=#424853 guisp=NONE cterm=NONE gui=NONE
+  hi TabLineFill guifg=#455a64 guibg=#b6bdcb gui=NONE cterm=NONE
+  hi TabLineSel guifg=#37474f guibg=#e4e6eb gui=NONE cterm=NONE
+  hi Title guifg=#b2000f guibg=NONE gui=bold cterm=bold
+  hi Visual guifg=NONE guibg=#e4e6eb gui=NONE cterm=NONE
   hi! link VisualNOS Visual
-  hi WarningMsg ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi WildMenu ctermfg=74 ctermbg=59 guifg=#7ab1cc guibg=#575c66 guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi Boolean ctermfg=98 ctermbg=NONE guifg=#a14cc9 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Character ctermfg=98 ctermbg=NONE guifg=#a14cc9 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Comment ctermfg=242 ctermbg=NONE guifg=#696969 guibg=NONE guisp=NONE cterm=NONE gui=NONE,italic
-  hi Conditional ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Constant ctermfg=98 ctermbg=NONE guifg=#a14cc9 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Define ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Debug ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi! link Delimiter Statement
-  hi Exception ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Float ctermfg=98 ctermbg=NONE guifg=#a14cc9 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Function ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold
-  hi Identifier ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Ignore ctermfg=fg ctermbg=NONE guifg=fg guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Include ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Keyword ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
+  hi! link Boolean Constant
+  hi! link Character Constant
+  hi Comment guifg=#546e7a guibg=NONE gui=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 guifg=fg guibg=NONE gui=NONE cterm=NONE
+  hi! link Include PreProc
+  hi! link Keyword Statement
   hi! link Label Statement
-  hi Macro ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Number ctermfg=98 ctermbg=NONE guifg=#a14cc9 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi! link Operator Normal
-  hi PreCondit ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi PreProc ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Repeat ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi SpecialChar ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi SpecialComment ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Statement ctermfg=203 ctermbg=NONE guifg=#ff4d4d guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi StorageClass ctermfg=35 ctermbg=NONE guifg=#47b36b guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Special ctermfg=228 ctermbg=NONE guifg=#ffff80 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi String ctermfg=35 ctermbg=NONE guifg=#47b36b guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Structure ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
+  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 Todo ctermfg=fg ctermbg=236 guifg=fg guibg=#2e3440 guisp=NONE cterm=NONE,bold gui=NONE,bold,italic
-  hi Type ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Typedef ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi Underlined ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline
+  hi Type guifg=#198b9a guibg=NONE gui=NONE cterm=NONE
+  hi! link Typedef Type
+  hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
   hi! link lCursor Cursor
-  hi CursorIM ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi ToolbarLine ctermfg=NONE ctermbg=242 guifg=NONE guibg=#6c7079 guisp=NONE cterm=NONE gui=NONE
-  hi ToolbarButton ctermfg=231 ctermbg=242 guifg=#fbfbfb guibg=#6c7079 guisp=NONE cterm=NONE,bold gui=NONE,bold
-  if get(g:, "artesanal_italic", 0)
-    hi Comment cterm=italic
-    hi Folded cterm=italic
-    hi SpellBad cterm=italic,underline
-    hi SpellCap cterm=italic,underline
-    hi SpellLocal cterm=italic,underline
-    hi SpellRare cterm=italic,underline
-    hi Todo cterm=italic
-  endif
+  hi CursorIM guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi ToolbarLine guifg=NONE guibg=#b6bdcb gui=NONE cterm=NONE
+  hi ToolbarButton guifg=#2e3440 guibg=#b6bdcb gui=bold cterm=bold
   hi! link iCursor Cursor
   hi! link vCursor Cursor
-  hi NormalMode ctermfg=252 ctermbg=236 guifg=#d3d3d3 guibg=#2e3440 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi InsertMode ctermfg=74 ctermbg=236 guifg=#7ab1cc guibg=#2e3440 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi ReplaceMode ctermfg=30 ctermbg=236 guifg=#009688 guibg=#2e3440 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi VisualMode ctermfg=228 ctermbg=236 guifg=#ffff80 guibg=#2e3440 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi CommandMode ctermfg=98 ctermbg=236 guifg=#a14cc9 guibg=#2e3440 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  hi Warnings ctermfg=228 ctermbg=236 guifg=#ffff80 guibg=#2e3440 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-  let g:terminal_ansi_colors = [
-        \ '#2e3440',
-        \ '#ff4d4d',
-        \ '#47b36b',
-        \ '#ffff80',
-        \ '#7ab1cc',
-        \ '#a14cc9',
-        \ '#009688',
-        \ '#fbfbfb',
-        \ '#2e3440',
-        \ '#ff4d4d',
-        \ '#47b36b',
-        \ '#ffff80',
-        \ '#7ab1cc',
-        \ '#a14cc9',
-        \ '#009688',
-        \ '#d3d3d3'
-        \ ]
-  hi! link TermCursor Cursor
-  hi TermCursorNC ctermfg=238 ctermbg=255 guifg=#424853 guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
+  hi NormalMode guifg=#455a64 guibg=#eff1f4 gui=reverse cterm=reverse
+  hi InsertMode guifg=#0961a8 guibg=#eff1f4 gui=reverse cterm=reverse
+  hi ReplaceMode guifg=#1d9fb0 guibg=#eff1f4 gui=reverse cterm=reverse
+  hi VisualMode guifg=#ff870e guibg=#eff1f4 gui=reverse cterm=reverse
+  hi CommandMode guifg=#7a5ab2 guibg=#eff1f4 gui=reverse cterm=reverse
+  hi Warnings guifg=#b2000f guibg=#eff1f4 gui=reverse cterm=reverse
+  if !s:italics
+    hi Folded gui=NONE cterm=NONE
+    hi SpellBad gui=undercurl cterm=underline
+    hi SpellCap gui=undercurl cterm=underline
+    hi SpellLocal gui=undercurl cterm=underline
+    hi SpellRare gui=undercurl cterm=underline
+  endif
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+    hi GitSignsAdd guifg=#0e8756 guibg=NONE gui=NONE cterm=NONE
+    hi GitSignsChange guifg=#0961a8 guibg=NONE gui=NONE cterm=NONE
+    hi GitSignsDelete guifg=#b2000f guibg=NONE gui=NONE cterm=NONE
+  else
+    hi GitSignsAdd guifg=#0e8756 guibg=#e4e6eb gui=NONE cterm=NONE
+    hi GitSignsChange guifg=#0961a8 guibg=#e4e6eb gui=NONE cterm=NONE
+    hi GitSignsDelete guifg=#b2000f guibg=#e4e6eb gui=NONE cterm=NONE
+  endif
+  hi! link GitSignsAddNr GitSignsAdd
+  hi! link GitSignsChangeNr GitSignsChange
+  hi! link GitSignsDeleteNr GitSignsDelete
+  if has('nvim')
+    hi! link TermCursor Cursor
+    hi TermCursorNC guifg=#e4e6eb guibg=#37474f gui=NONE cterm=NONE
+  endif
+  unlet s:t_Co s:italics
   finish
 endif
 
-if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-  hi Normal ctermfg=236 ctermbg=NONE guifg=#333333 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi CursorLineNr ctermfg=208 ctermbg=NONE guifg=#ff9900 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi FoldColumn ctermfg=242 ctermbg=NONE guifg=#696969 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi SignColumn ctermfg=239 ctermbg=NONE guifg=#505050 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-  hi VertSplit ctermfg=250 ctermbg=NONE guifg=#bdbdbd guibg=NONE guisp=NONE cterm=NONE gui=NONE
-else
-  hi Normal ctermfg=236 ctermbg=231 guifg=#333333 guibg=#fbfbfb guisp=NONE cterm=NONE gui=NONE
-  hi CursorLineNr ctermfg=208 ctermbg=255 guifg=#ff9900 guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-  hi FoldColumn ctermfg=242 ctermbg=255 guifg=#696969 guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-  hi SignColumn ctermfg=239 ctermbg=255 guifg=#505050 guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-  hi VertSplit ctermfg=250 ctermbg=231 guifg=#bdbdbd guibg=#fbfbfb guisp=NONE cterm=NONE gui=NONE
+if s:t_Co >= 256
+  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=16 ctermbg=NONE cterm=NONE
+        else
+          hi Normal ctermfg=16 ctermbg=236 cterm=NONE
+          if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug
+            set background=dark
+          endif
+        endif
+      elseif !has('gui_running') && &background ==# 'dark'
+        if get(g:, 'artesanal_transparent', 0)
+          hi Normal ctermfg=231 ctermbg=NONE cterm=NONE
+        else
+          hi Normal ctermfg=231 ctermbg=236 cterm=NONE
+          if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug
+            set background=dark
+          endif
+        endif
+      endif
+      hi Conceal ctermfg=67 ctermbg=NONE cterm=NONE
+      hi Constant ctermfg=42 ctermbg=NONE cterm=NONE
+      hi Directory ctermfg=67 ctermbg=NONE cterm=bold
+      hi Error ctermfg=203 ctermbg=NONE cterm=bold,reverse
+      hi Function ctermfg=80 ctermbg=NONE cterm=NONE
+      hi Identifier ctermfg=67 ctermbg=NONE cterm=NONE
+      hi ModeMsg ctermfg=67 ctermbg=NONE cterm=NONE
+      hi MoreMsg ctermfg=42 ctermbg=NONE cterm=NONE
+      hi PreProc ctermfg=80 ctermbg=NONE cterm=NONE
+      hi Statement ctermfg=203 ctermbg=NONE cterm=NONE
+      hi Special ctermfg=226 ctermbg=NONE cterm=NONE
+      hi Todo ctermfg=80 ctermbg=NONE cterm=reverse
+      hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
+      hi WildMenu ctermfg=67 ctermbg=240 cterm=bold
+    else
+      if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+        hi Normal ctermfg=254 ctermbg=NONE cterm=NONE
+      else
+        hi Normal ctermfg=254 ctermbg=236 cterm=NONE
+        if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug
+          set background=dark
+        endif
+      endif
+      hi Conceal ctermfg=153 ctermbg=NONE cterm=NONE
+      hi Constant ctermfg=85 ctermbg=NONE cterm=NONE
+      hi Directory ctermfg=153 ctermbg=NONE cterm=bold
+      hi Error ctermfg=203 ctermbg=NONE cterm=bold,reverse
+      hi Function ctermfg=116 ctermbg=NONE cterm=NONE
+      hi Identifier ctermfg=153 ctermbg=NONE cterm=NONE
+      hi ModeMsg ctermfg=153 ctermbg=NONE cterm=NONE
+      hi MoreMsg ctermfg=85 ctermbg=NONE cterm=NONE
+      hi PreProc ctermfg=116 ctermbg=NONE cterm=NONE
+      hi Statement ctermfg=203 ctermbg=NONE cterm=NONE
+      hi Special ctermfg=228 ctermbg=NONE cterm=NONE
+      hi Todo ctermfg=116 ctermbg=NONE cterm=reverse
+      hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
+      hi WildMenu ctermfg=153 ctermbg=240 cterm=bold
+    endif
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
+      hi CursorLineNr ctermfg=228 ctermbg=NONE cterm=NONE
+      hi FoldColumn ctermfg=59 ctermbg=NONE cterm=NONE
+      hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+      hi VertSplit ctermfg=242 ctermbg=NONE cterm=NONE
+      hi Pmenu ctermfg=254 ctermbg=NONE cterm=NONE
+      hi PmenuSbar ctermfg=252 ctermbg=NONE cterm=NONE
+      hi PmenuSel ctermfg=252 ctermbg=NONE cterm=reverse
+      hi PmenuThumb ctermfg=NONE ctermbg=252 cterm=NONE
+    else
+      hi LineNr ctermfg=240 ctermbg=238 cterm=NONE
+      hi CursorLineNr ctermfg=228 ctermbg=238 cterm=NONE
+      hi FoldColumn ctermfg=59 ctermbg=238 cterm=NONE
+      hi SignColumn ctermfg=NONE ctermbg=238 cterm=NONE
+      hi VertSplit ctermfg=242 ctermbg=236 cterm=NONE
+      hi Pmenu ctermfg=254 ctermbg=240 cterm=NONE
+      hi PmenuSbar ctermfg=NONE ctermbg=240 cterm=NONE
+      hi PmenuSel ctermfg=238 ctermbg=252 cterm=bold
+      hi PmenuThumb ctermfg=NONE ctermbg=247 cterm=NONE
+    endif
+    hi ColorColumn ctermfg=NONE ctermbg=238 cterm=bold
+    hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+    hi CursorColumn ctermfg=NONE ctermbg=238 cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=238 cterm=bold
+    hi DiffAdd ctermfg=NONE ctermbg=23 cterm=NONE
+    hi DiffAdded ctermfg=NONE ctermbg=23 cterm=NONE
+    hi DiffChange ctermfg=NONE ctermbg=24 cterm=NONE
+    hi DiffDelete ctermfg=NONE ctermbg=95 cterm=NONE
+    hi DiffRemoved ctermfg=NONE ctermbg=95 cterm=NONE
+    hi DiffText ctermfg=NONE ctermbg=23 cterm=NONE
+    hi EndOfBuffer ctermfg=236 ctermbg=NONE cterm=NONE
+    hi! link ErrorMsg Error
+    hi Folded ctermfg=242 ctermbg=238 cterm=NONE
+    hi IncSearch ctermfg=228 ctermbg=236 cterm=reverse
+    hi MatchParen ctermfg=NONE ctermbg=240 cterm=bold
+    hi NonText ctermfg=247 ctermbg=NONE cterm=NONE
+    hi Question ctermfg=226 ctermbg=NONE cterm=NONE
+    hi! link QuickFixLine Search
+    hi Search ctermfg=230 ctermbg=236 cterm=reverse
+    hi SpecialKey ctermfg=247 ctermbg=NONE cterm=NONE
+    hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=153 ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=116 ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=140 ctermbg=NONE cterm=underline
+    hi StatusLine ctermfg=254 ctermbg=240 cterm=NONE
+    hi StatusLineNC ctermfg=252 ctermbg=238 cterm=NONE
+    hi! link StatusLineTerm StatusLine
+    hi! link StatusLineTermNC StatusLineNC
+    hi! link TabLine TabLineFill
+    hi TabLineFill ctermfg=252 ctermbg=242 cterm=NONE
+    hi TabLineSel ctermfg=254 ctermbg=238 cterm=NONE
+    hi Title ctermfg=203 ctermbg=NONE cterm=bold
+    hi Visual ctermfg=NONE ctermbg=238 cterm=NONE
+    hi! link VisualNOS Visual
+    hi! link Boolean Constant
+    hi! link Character Constant
+    hi Comment ctermfg=250 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=80 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=242 cterm=NONE
+    hi ToolbarButton ctermfg=255 ctermbg=242 cterm=bold
+    hi! link iCursor Cursor
+    hi! link vCursor Cursor
+    hi NormalMode ctermfg=252 ctermbg=236 cterm=reverse
+    hi InsertMode ctermfg=153 ctermbg=236 cterm=reverse
+    hi ReplaceMode ctermfg=116 ctermbg=236 cterm=reverse
+    hi VisualMode ctermfg=228 ctermbg=236 cterm=reverse
+    hi CommandMode ctermfg=140 ctermbg=236 cterm=reverse
+    hi Warnings ctermfg=203 ctermbg=236 cterm=reverse
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi GitSignsAdd ctermfg=85 ctermbg=NONE cterm=NONE
+      hi GitSignsChange ctermfg=153 ctermbg=NONE cterm=NONE
+      hi GitSignsDelete ctermfg=203 ctermbg=NONE cterm=NONE
+    else
+      hi GitSignsAdd ctermfg=85 ctermbg=238 cterm=NONE
+      hi GitSignsChange ctermfg=153 ctermbg=238 cterm=NONE
+      hi GitSignsDelete ctermfg=203 ctermbg=238 cterm=NONE
+    endif
+    hi! link GitSignsAddNr GitSignsAdd
+    hi! link GitSignsChangeNr GitSignsChange
+    hi! link GitSignsDeleteNr GitSignsDelete
+    if has('nvim')
+      hi! link TermCursor Cursor
+      hi TermCursorNC ctermfg=238 ctermbg=254 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=16 ctermbg=NONE cterm=NONE
+      else
+        hi Normal ctermfg=16 ctermbg=255 cterm=NONE
+      endif
+    elseif !has('gui_running') && &background ==# 'dark'
+      if get(g:, 'artesanal_transparent', 0)
+        hi Normal ctermfg=231 ctermbg=NONE cterm=NONE
+      else
+        hi Normal ctermfg=231 ctermbg=255 cterm=NONE
+      endif
+    endif
+    hi Conceal ctermfg=25 ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=29 ctermbg=NONE cterm=NONE
+    hi Directory ctermfg=25 ctermbg=NONE cterm=bold
+    hi Error ctermfg=88 ctermbg=NONE cterm=bold,reverse
+    hi Function ctermfg=30 ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=25 ctermbg=NONE cterm=NONE
+    hi ModeMsg ctermfg=25 ctermbg=NONE cterm=NONE
+    hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+    hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=88 ctermbg=NONE cterm=NONE
+    hi Special ctermfg=166 ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
+    hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
+    hi WildMenu ctermfg=25 ctermbg=252 cterm=bold
+  else
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi Normal ctermfg=238 ctermbg=NONE cterm=NONE
+    else
+      hi Normal ctermfg=238 ctermbg=255 cterm=NONE
+    endif
+    hi Conceal ctermfg=25 ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=29 ctermbg=NONE cterm=NONE
+    hi Directory ctermfg=25 ctermbg=NONE cterm=bold
+    hi Error ctermfg=124 ctermbg=NONE cterm=bold,reverse
+    hi Function ctermfg=37 ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=25 ctermbg=NONE cterm=NONE
+    hi ModeMsg ctermfg=25 ctermbg=NONE cterm=NONE
+    hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+    hi PreProc ctermfg=37 ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
+    hi Special ctermfg=208 ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=37 ctermbg=NONE cterm=reverse
+    hi WarningMsg ctermfg=124 ctermbg=NONE cterm=NONE
+    hi WildMenu ctermfg=25 ctermbg=252 cterm=bold
+  endif
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+    hi LineNr ctermfg=252 ctermbg=NONE cterm=NONE
+    hi CursorLineNr ctermfg=208 ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=59 ctermbg=NONE cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi VertSplit ctermfg=250 ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=238 ctermbg=NONE cterm=NONE
+    hi PmenuSbar ctermfg=240 ctermbg=NONE cterm=NONE
+    hi PmenuSel ctermfg=240 ctermbg=NONE cterm=reverse
+    hi PmenuThumb ctermfg=NONE ctermbg=240 cterm=NONE
+  else
+    hi LineNr ctermfg=252 ctermbg=254 cterm=NONE
+    hi CursorLineNr ctermfg=208 ctermbg=254 cterm=NONE
+    hi FoldColumn ctermfg=59 ctermbg=254 cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=254 cterm=NONE
+    hi VertSplit ctermfg=250 ctermbg=255 cterm=NONE
+    hi Pmenu ctermfg=238 ctermbg=252 cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=252 cterm=NONE
+    hi PmenuSel ctermfg=254 ctermbg=240 cterm=bold
+    hi PmenuThumb ctermfg=NONE ctermbg=248 cterm=NONE
+  endif
+  hi ColorColumn ctermfg=NONE ctermbg=254 cterm=bold
+  hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+  hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
+  hi CursorLine ctermfg=NONE ctermbg=254 cterm=bold
+  hi DiffAdd ctermfg=NONE ctermbg=152 cterm=NONE
+  hi DiffAdded ctermfg=NONE ctermbg=152 cterm=NONE
+  hi DiffChange ctermfg=NONE ctermbg=153 cterm=NONE
+  hi DiffDelete ctermfg=NONE ctermbg=224 cterm=NONE
+  hi DiffRemoved ctermfg=NONE ctermbg=224 cterm=NONE
+  hi DiffText ctermfg=NONE ctermbg=152 cterm=NONE
+  hi EndOfBuffer ctermfg=255 ctermbg=NONE cterm=NONE
+  hi! link ErrorMsg Error
+  hi Folded ctermfg=250 ctermbg=254 cterm=NONE
+  hi IncSearch ctermfg=208 ctermbg=236 cterm=reverse
+  hi MatchParen ctermfg=NONE ctermbg=252 cterm=bold
+  hi NonText ctermfg=248 ctermbg=NONE cterm=NONE
+  hi Question ctermfg=166 ctermbg=NONE cterm=NONE
+  hi! link QuickFixLine Search
+  hi Search ctermfg=215 ctermbg=236 cterm=reverse
+  hi SpecialKey ctermfg=248 ctermbg=NONE cterm=NONE
+  hi SpellBad ctermfg=124 ctermbg=NONE cterm=underline
+  hi SpellCap ctermfg=25 ctermbg=NONE cterm=underline
+  hi SpellLocal ctermfg=37 ctermbg=NONE cterm=underline
+  hi SpellRare ctermfg=97 ctermbg=NONE cterm=underline
+  hi StatusLine ctermfg=238 ctermbg=252 cterm=NONE
+  hi StatusLineNC ctermfg=240 ctermbg=254 cterm=NONE
+  hi! link StatusLineTerm StatusLine
+  hi! link StatusLineTermNC StatusLineNC
+  hi! link TabLine TabLineFill
+  hi TabLineFill ctermfg=240 ctermbg=250 cterm=NONE
+  hi TabLineSel ctermfg=238 ctermbg=254 cterm=NONE
+  hi Title ctermfg=124 ctermbg=NONE cterm=bold
+  hi Visual ctermfg=NONE ctermbg=254 cterm=NONE
+  hi! link VisualNOS Visual
+  hi! link Boolean Constant
+  hi! link Character Constant
+  hi Comment ctermfg=242 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=30 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=250 cterm=NONE
+  hi ToolbarButton ctermfg=236 ctermbg=250 cterm=bold
+  hi! link iCursor Cursor
+  hi! link vCursor Cursor
+  hi NormalMode ctermfg=240 ctermbg=255 cterm=reverse
+  hi InsertMode ctermfg=25 ctermbg=255 cterm=reverse
+  hi ReplaceMode ctermfg=37 ctermbg=255 cterm=reverse
+  hi VisualMode ctermfg=208 ctermbg=255 cterm=reverse
+  hi CommandMode ctermfg=97 ctermbg=255 cterm=reverse
+  hi Warnings ctermfg=124 ctermbg=255 cterm=reverse
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+    hi GitSignsAdd ctermfg=29 ctermbg=NONE cterm=NONE
+    hi GitSignsChange ctermfg=25 ctermbg=NONE cterm=NONE
+    hi GitSignsDelete ctermfg=124 ctermbg=NONE cterm=NONE
+  else
+    hi GitSignsAdd ctermfg=29 ctermbg=254 cterm=NONE
+    hi GitSignsChange ctermfg=25 ctermbg=254 cterm=NONE
+    hi GitSignsDelete ctermfg=124 ctermbg=254 cterm=NONE
+  endif
+  hi! link GitSignsAddNr GitSignsAdd
+  hi! link GitSignsChangeNr GitSignsChange
+  hi! link GitSignsDeleteNr GitSignsDelete
+  if has('nvim')
+    hi! link TermCursor Cursor
+    hi TermCursorNC ctermfg=254 ctermbg=238 cterm=NONE
+  endif
+  unlet s:t_Co s:italics
+  finish
 endif
-hi ColorColumn ctermfg=NONE ctermbg=255 guifg=NONE guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-hi Conceal ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Cursor ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi! link CursorColumn CursorLine
-hi CursorLine ctermfg=NONE ctermbg=255 guifg=NONE guibg=#ebebeb guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi DiffAdd ctermfg=233 ctermbg=158 guifg=#141414 guibg=#b3ffcc guisp=NONE cterm=NONE gui=NONE
-hi DiffChange ctermfg=233 ctermbg=153 guifg=#141414 guibg=#afc3d7 guisp=NONE cterm=NONE gui=NONE
-hi DiffDelete ctermfg=233 ctermbg=210 guifg=#141414 guibg=#ff9999 guisp=NONE cterm=NONE gui=NONE
-hi DiffText ctermfg=233 ctermbg=158 guifg=#141414 guibg=#b3ffcc guisp=NONE cterm=NONE gui=NONE
-hi Directory ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi EndOfBuffer ctermfg=231 ctermbg=NONE guifg=#fbfbfb guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Error ctermfg=231 ctermbg=124 guifg=#fbfbfb guibg=#b72e2e guisp=NONE cterm=NONE gui=NONE
-hi! link ErrorMsg Error
-hi Folded ctermfg=242 ctermbg=255 guifg=#696969 guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE,italic
-hi IncSearch ctermfg=222 ctermbg=16 guifg=#ffd699 guibg=#000000 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi LineNr ctermfg=250 ctermbg=255 guifg=#bdbdbd guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-hi MatchParen ctermfg=NONE ctermbg=252 guifg=NONE guibg=#d3d3d3 guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi ModeMsg ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi MoreMsg ctermfg=35 ctermbg=NONE guifg=#47b36b guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi NonText ctermfg=248 ctermbg=NONE guifg=#a8a8a8 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Pmenu ctermfg=236 ctermbg=252 guifg=#333333 guibg=#d3d3d3 guisp=NONE cterm=NONE gui=NONE
-hi PmenuSbar ctermfg=NONE ctermbg=252 guifg=NONE guibg=#d3d3d3 guisp=NONE cterm=NONE gui=NONE
-hi PmenuSel ctermfg=255 ctermbg=239 guifg=#ebebeb guibg=#505050 guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi PmenuThumb ctermfg=NONE ctermbg=248 guifg=NONE guibg=#a8a8a8 guisp=NONE cterm=NONE gui=NONE
-hi Question ctermfg=172 ctermbg=NONE guifg=#cc7a00 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi! link QuickFixLine Search
-hi Search ctermfg=222 ctermbg=16 guifg=#ffd699 guibg=#000000 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi SpecialKey ctermfg=248 ctermbg=NONE guifg=#a8a8a8 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi SpellBad ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=#b72e2e cterm=NONE,underline gui=NONE,italic,undercurl
-hi SpellCap ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=#7ab1cc cterm=NONE,underline gui=NONE,italic,undercurl
-hi SpellLocal ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=#009688 cterm=NONE,underline gui=NONE,italic,undercurl
-hi SpellRare ctermfg=133 ctermbg=NONE guifg=#ab47bc guibg=NONE guisp=#ab47bc cterm=NONE,underline gui=NONE,italic,undercurl
-hi StatusLine ctermfg=252 ctermbg=236 guifg=#d3d3d3 guibg=#333333 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi StatusLineNC ctermfg=255 ctermbg=239 guifg=#ebebeb guibg=#505050 guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi! link StatusLineTerm StatusLine
-hi! link StatusLineTermNC StatusLineNC
-hi! link TabLine TabLineFill
-hi TabLineFill ctermfg=239 ctermbg=250 guifg=#505050 guibg=#bdbdbd guisp=NONE cterm=NONE gui=NONE
-hi TabLineSel ctermfg=236 ctermbg=255 guifg=#333333 guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-hi Title ctermfg=233 ctermbg=NONE guifg=#141414 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi Visual ctermfg=NONE ctermbg=255 guifg=NONE guibg=#ebebeb guisp=NONE cterm=NONE gui=NONE
-hi! link VisualNOS Visual
-hi WarningMsg ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi WildMenu ctermfg=74 ctermbg=252 guifg=#7ab1cc guibg=#d3d3d3 guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi Boolean ctermfg=133 ctermbg=NONE guifg=#ab47bc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Character ctermfg=133 ctermbg=NONE guifg=#ab47bc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Comment ctermfg=242 ctermbg=NONE guifg=#696969 guibg=NONE guisp=NONE cterm=NONE gui=NONE,italic
-hi Conditional ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Constant ctermfg=133 ctermbg=NONE guifg=#ab47bc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Define ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Debug ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi! link Delimiter Statement
-hi Exception ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Float ctermfg=133 ctermbg=NONE guifg=#ab47bc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Function ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold
-hi Identifier ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Ignore ctermfg=fg ctermbg=NONE guifg=fg guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Include ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Keyword ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi! link Label Statement
-hi Macro ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Number ctermfg=133 ctermbg=NONE guifg=#ab47bc guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi! link Operator Normal
-hi PreCondit ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi PreProc ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Repeat ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi SpecialChar ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi SpecialComment ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Statement ctermfg=124 ctermbg=NONE guifg=#b72e2e guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi StorageClass ctermfg=35 ctermbg=NONE guifg=#47b36b guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Special ctermfg=208 ctermbg=NONE guifg=#ff9900 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi String ctermfg=35 ctermbg=NONE guifg=#47b36b guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Structure ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi! link Tag Special
-hi Todo ctermfg=fg ctermbg=231 guifg=fg guibg=#fbfbfb guisp=NONE cterm=NONE,bold gui=NONE,bold,italic
-hi Type ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Typedef ctermfg=30 ctermbg=NONE guifg=#009688 guibg=NONE guisp=NONE cterm=NONE gui=NONE
-hi Underlined ctermfg=74 ctermbg=NONE guifg=#7ab1cc guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline
-hi! link lCursor Cursor
-hi CursorIM ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi ToolbarLine ctermfg=NONE ctermbg=250 guifg=NONE guibg=#bdbdbd guisp=NONE cterm=NONE gui=NONE
-hi ToolbarButton ctermfg=233 ctermbg=250 guifg=#141414 guibg=#bdbdbd guisp=NONE cterm=NONE,bold gui=NONE,bold
-if get(g:, "artesanal_italic", 0)
-  hi Comment cterm=italic
-  hi Folded cterm=italic
-  hi SpellBad cterm=italic,underline
-  hi SpellCap cterm=italic,underline
-  hi SpellLocal cterm=italic,underline
-  hi SpellRare cterm=italic,underline
-  hi Todo cterm=italic
+
+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 LineNr ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+      hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
+      hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
+      hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+      hi VertSplit ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+      hi Pmenu ctermfg=White ctermbg=NONE cterm=NONE
+      hi PmenuSbar ctermfg=LightGrey ctermbg=NONE cterm=NONE
+      hi PmenuSel ctermfg=LightGrey ctermbg=NONE cterm=reverse
+      hi PmenuThumb ctermfg=NONE ctermbg=LightGrey cterm=NONE
+    else
+      hi LineNr ctermfg=DarkGrey ctermbg=Black cterm=NONE
+      hi CursorLineNr ctermfg=Yellow ctermbg=Black cterm=NONE
+      hi FoldColumn ctermfg=DarkGray ctermbg=Black cterm=NONE
+      hi SignColumn ctermfg=NONE ctermbg=Black cterm=NONE
+      hi VertSplit ctermfg=DarkGrey ctermbg=Black 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
+    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 MatchParen ctermfg=NONE ctermbg=DarkGrey cterm=bold
+    hi NonText ctermfg=LightGrey ctermbg=NONE 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=Red ctermbg=Black cterm=reverse
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi GitSignsAdd ctermfg=Green ctermbg=NONE cterm=NONE
+      hi GitSignsChange ctermfg=Blue ctermbg=NONE cterm=NONE
+      hi GitSignsDelete ctermfg=Red ctermbg=NONE cterm=NONE
+    else
+      hi GitSignsAdd ctermfg=Green ctermbg=Black cterm=NONE
+      hi GitSignsChange ctermfg=Blue ctermbg=Black cterm=NONE
+      hi GitSignsDelete ctermfg=Red ctermbg=Black cterm=NONE
+    endif
+    hi! link GitSignsAddNr GitSignsAdd
+    hi! link GitSignsChangeNr GitSignsChange
+    hi! link GitSignsDeleteNr GitSignsDelete
+    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 LineNr ctermfg=LightGrey ctermbg=NONE cterm=NONE
+    hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi VertSplit ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=Black ctermbg=NONE cterm=NONE
+    hi PmenuSbar ctermfg=DarkGrey ctermbg=NONE cterm=NONE
+    hi PmenuSel ctermfg=DarkGrey ctermbg=NONE cterm=reverse
+    hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
+  else
+    hi LineNr ctermfg=LightGrey ctermbg=White cterm=NONE
+    hi CursorLineNr ctermfg=Yellow ctermbg=White cterm=NONE
+    hi FoldColumn ctermfg=DarkGray ctermbg=White cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=White cterm=NONE
+    hi VertSplit ctermfg=DarkGrey ctermbg=White 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
+  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 MatchParen ctermfg=NONE ctermbg=LightGrey cterm=bold
+  hi NonText ctermfg=DarkGrey ctermbg=NONE 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=Red ctermbg=White cterm=reverse
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+    hi GitSignsAdd ctermfg=Green ctermbg=NONE cterm=NONE
+    hi GitSignsChange ctermfg=Blue ctermbg=NONE cterm=NONE
+    hi GitSignsDelete ctermfg=Red ctermbg=NONE cterm=NONE
+  else
+    hi GitSignsAdd ctermfg=Green ctermbg=White cterm=NONE
+    hi GitSignsChange ctermfg=Blue ctermbg=White cterm=NONE
+    hi GitSignsDelete ctermfg=Red ctermbg=White cterm=NONE
+  endif
+  hi! link GitSignsAddNr GitSignsAdd
+  hi! link GitSignsChangeNr GitSignsChange
+  hi! link GitSignsDeleteNr GitSignsDelete
+  if has('nvim')
+    hi! link TermCursor Cursor
+    hi TermCursorNC ctermfg=White ctermbg=Black cterm=NONE
+  endif
+  unlet s:t_Co s:italics
+  finish
 endif
-hi! link iCursor Cursor
-hi! link vCursor Cursor
-hi NormalMode ctermfg=239 ctermbg=231 guifg=#505050 guibg=#fbfbfb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi InsertMode ctermfg=74 ctermbg=231 guifg=#7ab1cc guibg=#fbfbfb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi ReplaceMode ctermfg=30 ctermbg=231 guifg=#009688 guibg=#fbfbfb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi VisualMode ctermfg=208 ctermbg=231 guifg=#ff9900 guibg=#fbfbfb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi CommandMode ctermfg=133 ctermbg=231 guifg=#ab47bc guibg=#fbfbfb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-hi Warnings ctermfg=208 ctermbg=231 guifg=#ff9900 guibg=#fbfbfb guisp=NONE cterm=NONE,reverse gui=NONE,reverse
-let g:terminal_ansi_colors = [
-      \ '#fbfbfb',
-      \ '#b72e2e',
-      \ '#47b36b',
-      \ '#ff9900',
-      \ '#7ab1cc',
-      \ '#ab47bc',
-      \ '#009688',
-      \ '#141414',
-      \ '#fbfbfb',
-      \ '#b72e2e',
-      \ '#47b36b',
-      \ '#ff9900',
-      \ '#7ab1cc',
-      \ '#ab47bc',
-      \ '#009688',
-      \ '#505050'
-      \ ]
-hi! link TermCursor Cursor
-hi TermCursorNC ctermfg=255 ctermbg=236 guifg=#ebebeb guibg=#333333 guisp=NONE cterm=NONE gui=NONE
-finish
 
 " Background: light
-" Color: fg0 #141414 ~
-" Color: fg1 #333333 ~
-" Color: fg2 #505050 ~
-" Color: fg4 #707070 ~
-" Color: bg0 #fbfbfb ~
-" Color: bg1 #ebebeb ~
-" Color: bg2 #d3d3d3 ~
-" Color: bg3 #bdbdbd ~
-" Color: bg4 #a8a8a8 ~
-" Color: black                #000000     ~        Black
-" Color: brightblack          #696969     ~        DimGray
-" Color: red                  #b72e2e     ~        Red
-" Color: brightred            #ff9999     ~        LightRed
-" Color: darkred              #a30000     ~        DarkRed
-" Color: green                #47b36b     ~        Green
-" Color: brightgreen          #b3ffcc     ~        LightGreen
-" Color: darkgreen            #268044     ~        DarkGreen
-" Color: yellow               #ff9900     ~        Yellow
-" Color: brightyellow         #ffd699     ~        LightYellow
-" Color: darkyellow           #cc7a00     ~        DarkYellow
-" Color: blue                 #7ab1cc     ~        Blue
-" Color: brightblue           #afc3d7     ~        LightBlue
-" Color: darkblue             #266280     ~        DarkBlue
-" Color: magenta              #ab47bc     ~        Magenta
-" Color: brightmagenta        #d1c4e9     ~        LightMagenta
-" Color: darkmagenta          #4527a0     ~        DarkMagenta
-" Color: cyan                 #009688     ~        Cyan
-" Color: brightcyan           #b2dfdb     ~        LightCyan
-" Color: darkcyan             #00695c     ~        DarkCyan
-" Color: white                #dcdcdc     ~        Gainsboro
+" Color: fg0 #2e3440 ~   Black
+" Color: fg1 #37474f ~   Black
+" Color: fg2 #455a64 ~   DarkGrey
+" Color: fg3 #546e7a ~   DarkGrey
+" Color: fg4 #90a4ae ~   LightGrey
+" Color: bg0 #eff1f4 ~   White
+" Color: bg1 #e4e6eb ~   White
+" Color: bg2 #cdd2db ~   LightGrey
+" Color: bg3 #b6bdcb ~   DarkGrey
+" Color: bg4 #9fa8ba ~   DarkGrey
+" Color: black                #1c313a     ~        Black
+" Color: realblack            #000000     ~        Black
+" Color: darkgray             #575c66     ~        DarkGray
+" Color: red                  #b2000f     ~        Red
+" Color: brightred            #f0cccf     ~        LightRed
+" Color: darkred              #99000d     ~        DarkRed
+" Color: diffred              #f0cccf     ~        LightRed
+" Color: green                #0e8756     ~        Green
+" Color: brightgreen          #c3e6d7     ~        LightGreen
+" Color: darkgreen            #0c7047     ~        DarkGreen
+" Color: diffgreen            #c3e6d7     ~        LightGreen
+" Color: yellow               #ff870e     ~        Yellow
+" Color: brightyellow         #ffb76e     ~        LightYellow
+" Color: darkyellow           #cc6c0b     ~        DarkYellow
+" Color: blue                 #0961a8     ~        Blue
+" Color: brightblue           #c3d1e6     ~        LightBlue
+" Color: darkblue             #064578     ~        DarkBlue
+" Color: diffblue             #c3d1e6     ~        LightBlue
+" Color: magenta              #7a5ab2     ~        Magenta
+" Color: brightmagenta        #e1bee7     ~        LightMagenta
+" Color: darkmagenta          #5f468a     ~        DarkMagenta
+" Color: cyan                 #1d9fb0     ~        Cyan
+" Color: brightcyan           #62ebff     ~        LightCyan
+" Color: darkcyan             #198b9a     ~        DarkCyan
+" Color: white                #eff1f4     ~        White
 " Color: brightwhite          #ffffff     ~        White
-"   Normal       fg1           none
-"   CursorLineNr yellow        none
-"   FoldColumn   brightblack   none
-"   SignColumn   fg2           none
-"   VertSplit    bg3           none
-"   Normal       fg1           bg0
-"   CursorLineNr yellow        bg1
-"   FoldColumn   brightblack   bg1
-"   SignColumn   fg2           bg1
-"   VertSplit    bg3           bg0
-" ColorColumn                      none         bg1
-" Conceal                          blue         none
-" Cursor                           none         none    reverse
-" CursorColumn                  -> CursorLine
-" CursorLine                       none         bg1     bold
-" DiffAdd                          fg0          brightgreen
-" DiffChange                       fg0          brightblue
-" DiffDelete                       fg0          brightred
-" DiffText                         fg0          brightgreen
-" Directory                        blue         none    bold
-" EndOfBuffer                      bg0          none
-" Error                            bg0          red
-" ErrorMsg                      -> Error
-" Folded                           brightblack  bg1     g=italic
-" IncSearch                        brightyellow black   reverse
-" LineNr                           bg3          bg1
-" MatchParen                       none         bg2     bold
-" ModeMsg                          blue         none
-" MoreMsg                          green        none
-" NonText                          bg4          none
-" Pmenu                            fg1          bg2
-" PmenuSbar                        none         bg2
-" PmenuSel                         bg1          fg2    bold
-" PmenuThumb                       none         bg4
-" Question                         darkyellow   none
-" QuickFixLine                  -> Search
-" Search                           brightyellow black   reverse
-" SpecialKey                       bg4          none
-" SpellBad                         red          none    t=underline g=italic,undercurl s=red
-" SpellCap                         blue         none    t=underline g=italic,undercurl s=blue
-" SpellLocal                       cyan         none    t=underline g=italic,undercurl s=cyan
-" SpellRare                        magenta      none    t=underline g=italic,undercurl s=magenta
-" StatusLine                       bg2          fg1     reverse
-" StatusLineNC                     bg1          fg2     reverse
-" StatusLineTerm                -> StatusLine
-" StatusLineTermNC              -> StatusLineNC
-" TabLine                       -> TabLineFill
-" TabLineFill                      fg2          bg3
-" TabLineSel                       fg1          bg1
-" Title                            fg0          none    bold
-" Visual                           none         bg1
-" VisualNOS                     -> Visual
-" WarningMsg                       red          none
-" WildMenu                         blue         bg2     bold
-" Boolean                          magenta      none
-" Character                        magenta      none
-" Comment                          brightblack  none    g=italic
-" Conditional                      red          none
-" Constant                         magenta      none
-" Define                           cyan         none
-" Debug                            red          none
-" Delimiter                     -> Statement
-" Exception                        red          none
-" Float                            magenta      none
-" Function                         blue         none    bold
-" Identifier                       cyan         none
-" Ignore                           fg           none
-" Include                          cyan         none
-" Keyword                          red          none
-" Label                         -> Statement
-" Macro                            cyan         none
-" Number                           magenta      none
-" Operator                      -> Normal
-" PreCondit                        cyan         none
-" PreProc                          cyan         none
-" Repeat                           red          none
-" SpecialChar                      red          none
-" SpecialComment                   red          none
-" Statement                        red          none
-" StorageClass                     green        none
-" Special                          yellow       none
-" String                           green        none
-" Structure                        cyan         none
-" Tag                           -> Special
-" Todo                             fg           bg0     t=bold g=bold,italic
-" Type                             cyan         none
-" Typedef                          cyan         none
-" Underlined                       blue         none    underline
-" lCursor                       -> Cursor
-" CursorIM                         none         none    reverse
-" ToolbarLine                      none         bg3
-" ToolbarButton                    fg0          bg3     bold
-" iCursor                       -> Cursor
-" vCursor                       -> Cursor
-" NormalMode                       fg2          bg0     reverse
-" InsertMode                       blue         bg0     reverse
-" ReplaceMode                      cyan         bg0     reverse
-" VisualMode                       yellow       bg0     reverse
-" CommandMode                      magenta      bg0     reverse
-" Warnings                         yellow       bg0     reverse
-" TermCursor        -> Cursor
-" TermCursorNC         bg1            fg1
+" Term Colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan white
+" Term Colors: darkgray red green yellow blue magenta cyan brightwhite
 " Background: dark
-" Color: fg0 #fbfbfb ~
-" Color: fg1 #ebebeb ~
-" Color: fg2 #d3d3d3 ~
-" Color: fg4 #707070 ~
-" Color: bg0 #2e3440 ~
-" Color: bg1 #424853 ~
-" Color: bg2 #575c66 ~
-" Color: bg3 #6c7079 ~
-" Color: bg4 #81858c ~
-" Color: black                #000000     ~        Black
-" Color: brightblack          #696969     ~        DimGray
-" Color: red                  #ff4d4d     ~        Red
-" Color: brightred            #d66363     ~        LightRed
-" Color: darkred              #b30000     ~        DarkRed
-" Color: green                #47b36b     ~        Green
-" Color: brightgreen          #4c8c6c     ~        LightGreen
-" Color: darkgreen            #268044     ~        DarkGreen
-" Color: yellow               #ffff80     ~        Yellow
-" Color: brightyellow         #ffffaf     ~        LightYellow
-" Color: darkyellow           #ffea00     ~        DarkYellow
-" Color: blue                 #7ab1cc     ~        Blue
-" Color: brightblue           #5f87af     ~        LightBlue
-" Color: darkblue             #266280     ~        DarkBlue
-" Color: magenta              #a14cc9     ~        Magenta
-" Color: brightmagenta        #bc7fd8     ~        LightMagenta
-" Color: darkmagenta          #4527a0     ~        DarkMagenta
-" Color: cyan                 #009688     ~        Cyan
-" Color: brightcyan           #b2dfdb     ~        LightCyan
-" Color: darkcyan             #00695c     ~        DarkCyan
-" Color: white                #dcdcdc     ~        Gainsboro
+" Color: fg0 #eff1f4 ~   White
+" Color: fg1 #e4e6eb ~   White
+" Color: fg2 #cdd2db ~   LightGrey
+" Color: fg3 #b6bdcb ~   DarkGrey
+" Color: fg4 #9fa8ba ~   DarkGrey
+" Color: bg0 #2e3440 ~   Black
+" Color: bg1 #37474f ~   Black
+" Color: bg2 #455a64 ~   DarkGrey
+" Color: bg3 #546e7a ~   DarkGrey
+" Color: bg4 #90a4ae ~   LightGrey
+" Color: black                #1c313a     ~        Black
+" Color: realblack            #000000     ~        Black
+" Color: darkgray             #575c66     ~        DarkGray
+" Color: red                  #ff616f     ~        Red
+" Color: brightred            #ffcdd2     ~        LightRed
+" Color: darkred              #ef5350     ~        DarkRed
+" Color: diffred              #663d43     ~        Red
+" Color: green                #69f0b9     ~        Green
+" Color: brightgreen          #9fffe0     ~        LightGreen
+" Color: darkgreen            #15cf83     ~        DarkGreen
+" Color: diffgreen            #3f7070     ~        Green
+" Color: yellow               #ffff8d     ~        Yellow
+" Color: brightyellow         #fff9c4     ~        LightYellow
+" Color: darkyellow           #ffeb3b     ~        DarkYellow
+" Color: blue                 #90caf9     ~        Blue
+" Color: brightblue           #bbdefb     ~        LightBlue
+" Color: darkblue             #5d99c6     ~        DarkBlue
+" Color: diffblue             #3f5a70     ~        Blue
+" Color: magenta              #b39ddb     ~        Magenta
+" Color: brightmagenta        #ce93d8     ~        LightMagenta
+" Color: darkmagenta          #9575cd     ~        DarkMagenta
+" Color: cyan                 #80deea     ~        Cyan
+" Color: brightcyan           #b2ebf2     ~        LightCyan
+" Color: darkcyan             #4dd0e1     ~        DarkCyan
+" Color: white                #eff1f4     ~        White
 " Color: brightwhite          #ffffff     ~        White
-"   Normal       fg1           none
-"   CursorLineNr yellow        none
-"   FoldColumn   brightblack   none
-"   SignColumn   fg2           none
-"   VertSplit    bg3           none
-"   Normal       fg1           bg0
-"   CursorLineNr yellow        bg1
-"   FoldColumn   brightblack   bg1
-"   SignColumn   fg2           bg1
-"   VertSplit    bg3           bg0
-" ColorColumn                      none         bg1
-" Conceal                          blue         none
-" Cursor                           none         none    reverse
-" CursorColumn                  -> CursorLine
-" CursorLine                       none         bg1     bold
-" DiffAdd                          fg0          brightgreen
-" DiffChange                       fg0          brightblue
-" DiffDelete                       fg0          brightred
-" DiffText                         fg0          brightgreen
-" Directory                        blue         none    bold
-" EndOfBuffer                      bg0          none
-" Error                            bg0          red
-" ErrorMsg                      -> Error
-" Folded                           brightblack  bg1     g=italic
-" IncSearch                        brightyellow black   reverse
-" LineNr                           bg3          bg1
-" MatchParen                       none         bg2     bold
-" ModeMsg                          blue         none
-" MoreMsg                          green        none
-" NonText                          bg4          none
-" Pmenu                            fg1          bg2
-" PmenuSbar                        none         bg2
-" PmenuSel                         bg1          fg2    bold
-" PmenuThumb                       none         bg4
-" Question                         darkyellow   none
-" QuickFixLine                  -> Search
-" Search                           brightyellow black   reverse
-" SpecialKey                       bg4          none
-" SpellBad                         red          none    t=underline g=italic,undercurl s=red
-" SpellCap                         blue         none    t=underline g=italic,undercurl s=blue
-" SpellLocal                       cyan         none    t=underline g=italic,undercurl s=cyan
-" SpellRare                        magenta      none    t=underline g=italic,undercurl s=magenta
-" StatusLine                       bg2          fg1     reverse
-" StatusLineNC                     bg1          fg2     reverse
-" StatusLineTerm                -> StatusLine
-" StatusLineTermNC              -> StatusLineNC
-" TabLine                       -> TabLineFill
-" TabLineFill                      fg2          bg3
-" TabLineSel                       fg1          bg1
-" Title                            fg0          none    bold
-" Visual                           none         bg1
-" VisualNOS                     -> Visual
-" WarningMsg                       red          none
-" WildMenu                         blue         bg2     bold
-" Boolean                          magenta      none
-" Character                        magenta      none
-" Comment                          brightblack  none    g=italic
-" Conditional                      red          none
-" Constant                         magenta      none
-" Define                           cyan         none
-" Debug                            red          none
-" Delimiter                     -> Statement
-" Exception                        red          none
-" Float                            magenta      none
-" Function                         blue         none    bold
-" Identifier                       cyan         none
-" Ignore                           fg           none
-" Include                          cyan         none
-" Keyword                          red          none
-" Label                         -> Statement
-" Macro                            cyan         none
-" Number                           magenta      none
-" Operator                      -> Normal
-" PreCondit                        cyan         none
-" PreProc                          cyan         none
-" Repeat                           red          none
-" SpecialChar                      red          none
-" SpecialComment                   red          none
-" Statement                        red          none
-" StorageClass                     green        none
-" Special                          yellow       none
-" String                           green        none
-" Structure                        cyan         none
-" Tag                           -> Special
-" Todo                             fg           bg0     t=bold g=bold,italic
-" Type                             cyan         none
-" Typedef                          cyan         none
-" Underlined                       blue         none    underline
-" lCursor                       -> Cursor
-" CursorIM                         none         none    reverse
-" ToolbarLine                      none         bg3
-" ToolbarButton                    fg0          bg3     bold
-" iCursor                       -> Cursor
-" vCursor                       -> Cursor
-" NormalMode                       fg2          bg0     reverse
-" InsertMode                       blue         bg0     reverse
-" ReplaceMode                      cyan         bg0     reverse
-" VisualMode                       yellow       bg0     reverse
-" CommandMode                      magenta      bg0     reverse
-" Warnings                         yellow       bg0     reverse
-" TermCursor        -> Cursor
-" TermCursorNC         bg1            fg1
+" Term Colors: darkgray red green yellow blue magenta cyan brightwhite
+" Term Colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan white
+" vim: et ts=2 sw=2