]> 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:

Make 'Normal' foreground plain 'black' or 'white' if dimmed colours are enabled.
[etc/vim.git] / colors / artesanal.vim
index 4a225b27012b160704e94e429c40fd446697ffa5..b6e71f3cf964460e206e9235a16843023371916a 100644 (file)
@@ -4,9 +4,9 @@
 " Maintainer:   Stefan Wimmer <wimstefan@gmail.com>
 " Website:      https://github.com/wimstefan/vim-artesanal
 " License:      Vim License (see `:help license`)
-" Last Updated: Wed 12 Jun 2019 12:15:55 AM CEST
+" Last Updated: Fri 01 May 2020 01:51:52 PM CEST
 
-" Generated by Colortemplate v2.0.0b3
+" Generated by Colortemplate v2.0.0
 
 hi clear
 if exists('syntax_on')
@@ -16,7 +16,7 @@ endif
 let g:colors_name = 'artesanal'
 
 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('iOS')) || has('nvim')
+let s:italics = (&t_ZH != '' && &t_ZH != '\e[7m') || has('gui_running') || has('nvim')
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   if &background ==# 'dark'
@@ -41,40 +41,82 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
       let g:terminal_color_14 = '#0095a3'
       let g:terminal_color_15 = '#eff1f4'
     endif
-    if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-      hi Normal guifg=#e4e6eb guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+      if &background ==# 'light'
+        if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+          hi Normal guifg=#000000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+        else
+          hi Normal guifg=#000000 guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
+        endif
+      elseif !has('gui_running') && &background ==# 'dark'
+        if get(g:, 'artesanal_transparent', 0)
+          hi Normal guifg=#ffffff guibg=NONE guisp=NONE gui=NONE cterm=NONE
+        else
+          hi Normal guifg=#ffffff guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
+        endif
+      endif
+      hi Conceal guifg=#517aa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Constant guifg=#008c65 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Directory guifg=#517aa3 guibg=NONE guisp=NONE gui=bold cterm=bold
+      hi Error guifg=#dc1b33 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
+      hi Function guifg=#0095a3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Identifier guifg=#517aa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi ModeMsg guifg=#517aa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi MoreMsg guifg=#008c65 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi PreProc guifg=#0095a3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Statement guifg=#dc1b33 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Special guifg=#e5d85c guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Todo guifg=#0095a3 guibg=NONE guisp=NONE gui=reverse cterm=reverse
+      hi WarningMsg guifg=#dc1b33 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi WildMenu guifg=#517aa3 guibg=#455a64 guisp=NONE gui=bold cterm=bold
+    else
+      if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+        hi Normal guifg=#e4e6eb guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      else
+        hi Normal guifg=#e4e6eb guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
+      endif
+      hi Conceal guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Constant guifg=#00bf8a guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Directory guifg=#6699cc guibg=NONE guisp=NONE gui=bold cterm=bold
+      hi Error guifg=#e84256 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
+      hi Function guifg=#00bbcc guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Identifier guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi ModeMsg guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi MoreMsg guifg=#00bf8a guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi PreProc guifg=#00bbcc guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Statement guifg=#e84256 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Special guifg=#fff176 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi Todo guifg=#00bbcc guibg=NONE guisp=NONE gui=reverse cterm=reverse
+      hi WarningMsg guifg=#e84256 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      hi WildMenu guifg=#6699cc guibg=#455a64 guisp=NONE gui=bold cterm=bold
+    endif
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
       hi CursorLineNr guifg=#fff176 guibg=NONE guisp=NONE gui=NONE cterm=NONE
       hi FoldColumn guifg=#575c66 guibg=NONE guisp=NONE gui=NONE cterm=NONE
       hi SignColumn guifg=#cdd2db guibg=NONE guisp=NONE gui=NONE cterm=NONE
       hi VertSplit guifg=#546e7a guibg=NONE guisp=NONE gui=NONE cterm=NONE
     else
-      hi Normal guifg=#e4e6eb guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
       hi CursorLineNr guifg=#fff176 guibg=#37474f guisp=NONE gui=NONE cterm=NONE
       hi FoldColumn guifg=#575c66 guibg=#37474f guisp=NONE gui=NONE cterm=NONE
       hi SignColumn guifg=#cdd2db guibg=#37474f guisp=NONE gui=NONE cterm=NONE
       hi VertSplit guifg=#546e7a guibg=#2e3440 guisp=NONE gui=NONE cterm=NONE
     endif
-    hi ColorColumn guifg=NONE guibg=#37474f guisp=NONE gui=NONE cterm=NONE
-    hi Conceal guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
-    hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-    hi! link CursorColumn ColorColumn
-    hi! link CursorLine ColorColumn
+    hi ColorColumn guifg=NONE guibg=#37474f guisp=NONE gui=bold cterm=bold
+    hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=bold,reverse ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+    hi CursorColumn guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
+    hi CursorLine guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
     hi DiffAdd guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
     hi DiffAdded guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
     hi DiffChange guifg=#aec0e0 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
     hi DiffDelete guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
     hi DiffRemoved guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
     hi DiffText guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
-    hi Directory guifg=#6699cc guibg=NONE guisp=NONE gui=bold cterm=bold
     hi EndOfBuffer guifg=#2e3440 guibg=NONE guisp=NONE gui=NONE cterm=NONE
-    hi Error guifg=#e84256 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
     hi! link ErrorMsg Error
     hi Folded guifg=#546e7a guibg=#37474f guisp=NONE gui=italic cterm=italic
-    hi! link IncSearch Search
+    hi IncSearch guifg=#fff176 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
     hi LineNr guifg=#546e7a guibg=#37474f guisp=NONE gui=NONE cterm=NONE
     hi MatchParen guifg=NONE guibg=#455a64 guisp=NONE gui=bold cterm=bold
-    hi ModeMsg guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
-    hi MoreMsg guifg=#00bf8a guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi NonText guifg=#90a4ae guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi Pmenu guifg=#e4e6eb guibg=#455a64 guisp=NONE gui=NONE cterm=NONE
     hi PmenuSbar guifg=NONE guibg=#455a64 guisp=NONE gui=NONE cterm=NONE
@@ -98,20 +140,15 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
     hi Title guifg=#eff1f4 guibg=NONE guisp=NONE gui=bold cterm=bold
     hi Visual guifg=NONE guibg=#37474f guisp=NONE gui=NONE cterm=NONE
     hi! link VisualNOS Visual
-    hi WarningMsg guifg=#e84256 guibg=NONE guisp=NONE gui=NONE cterm=NONE
-    hi WildMenu guifg=#6699cc guibg=#455a64 guisp=NONE gui=bold cterm=bold
     hi! link Boolean Constant
     hi! link Character Constant
     hi Comment guifg=#b6bdcb guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link Conditional Statement
-    hi Constant guifg=#00bf8a guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link Define PreProc
     hi! link Debug Special
     hi! link Delimiter Special
     hi! link Exception Statement
     hi! link Float Constant
-    hi Function guifg=#00bbcc guibg=NONE guisp=NONE gui=NONE cterm=NONE
-    hi Identifier guifg=#6699cc guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi Ignore guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link Include PreProc
     hi! link Keyword Statement
@@ -120,17 +157,13 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
     hi! link Number Constant
     hi! link Operator Statement
     hi! link PreCondit PreProc
-    hi PreProc guifg=#00bbcc guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link Repeat Statement
     hi! link SpecialChar Special
     hi! link SpecialComment Special
-    hi Statement guifg=#e84256 guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link StorageClass Type
-    hi Special guifg=#fff176 guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link String Constant
     hi! link Structure Type
     hi! link Tag Special
-    hi Todo guifg=#00bbcc guibg=NONE guisp=NONE gui=reverse cterm=reverse
     hi Type guifg=#0095a3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi! link Typedef Type
     hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
@@ -147,6 +180,8 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
     hi CommandMode guifg=#fa75e2 guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
     hi Warnings guifg=#fff176 guibg=#2e3440 guisp=NONE gui=reverse cterm=reverse
     if !s:italics
+      hi CursorColumn gui=bold cterm=bold
+      hi CursorLine gui=bold cterm=bold
       hi Folded gui=NONE cterm=NONE
       hi SpellBad gui=undercurl cterm=undercurl
       hi SpellCap gui=undercurl cterm=undercurl
@@ -182,40 +217,82 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
     let g:terminal_color_14 = '#008d9a'
     let g:terminal_color_15 = '#ffffff'
   endif
-  if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-    hi Normal guifg=#37474f guibg=NONE guisp=NONE gui=NONE cterm=NONE
+  if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+    if &background ==# 'light'
+      if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+        hi Normal guifg=#000000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      else
+        hi Normal guifg=#000000 guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
+      endif
+    elseif !has('gui_running') && &background ==# 'dark'
+      if get(g:, 'artesanal_transparent', 0)
+        hi Normal guifg=#ffffff guibg=NONE guisp=NONE gui=NONE cterm=NONE
+      else
+        hi Normal guifg=#ffffff guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
+      endif
+    endif
+    hi Conceal guifg=#00409b guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Constant guifg=#00814b guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Directory guifg=#00409b guibg=NONE guisp=NONE gui=bold cterm=bold
+    hi Error guifg=#971223 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
+    hi Function guifg=#007681 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Identifier guifg=#00409b guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi ModeMsg guifg=#00409b guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi MoreMsg guifg=#00814b guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi PreProc guifg=#007681 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Statement guifg=#971223 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Special guifg=#cc7000 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Todo guifg=#007681 guibg=NONE guisp=NONE gui=reverse cterm=reverse
+    hi WarningMsg guifg=#971223 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi WildMenu guifg=#00409b guibg=#cdd2db guisp=NONE gui=bold cterm=bold
+  else
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
+      hi Normal guifg=#37474f guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    else
+      hi Normal guifg=#37474f guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
+    endif
+    hi Conceal guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Constant guifg=#009a5a guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Directory guifg=#004bb4 guibg=NONE guisp=NONE gui=bold cterm=bold
+    hi Error guifg=#ae1528 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
+    hi Function guifg=#008d9a guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Identifier guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi ModeMsg guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi MoreMsg guifg=#009a5a guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi PreProc guifg=#008d9a guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Statement guifg=#ae1528 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Special guifg=#ff8c00 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi Todo guifg=#008d9a guibg=NONE guisp=NONE gui=reverse cterm=reverse
+    hi WarningMsg guifg=#ae1528 guibg=NONE guisp=NONE gui=NONE cterm=NONE
+    hi WildMenu guifg=#004bb4 guibg=#cdd2db guisp=NONE gui=bold cterm=bold
+  endif
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
     hi CursorLineNr guifg=#ff8c00 guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi FoldColumn guifg=#575c66 guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi SignColumn guifg=#455a64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
     hi VertSplit guifg=#b6bdcb guibg=NONE guisp=NONE gui=NONE cterm=NONE
   else
-    hi Normal guifg=#37474f guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
     hi CursorLineNr guifg=#ff8c00 guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
     hi FoldColumn guifg=#575c66 guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
     hi SignColumn guifg=#455a64 guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
     hi VertSplit guifg=#b6bdcb guibg=#eff1f4 guisp=NONE gui=NONE cterm=NONE
   endif
-  hi ColorColumn guifg=NONE guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
-  hi Conceal guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
-  hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-  hi! link CursorColumn ColorColumn
-  hi! link CursorLine ColorColumn
+  hi ColorColumn guifg=NONE guibg=#e4e6eb guisp=NONE gui=bold cterm=bold
+  hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=bold,reverse ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+  hi CursorColumn guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
+  hi CursorLine guifg=NONE guibg=NONE guisp=NONE gui=bold,italic ctermfg=NONE ctermbg=NONE cterm=bold,italic
   hi DiffAdd guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
   hi DiffAdded guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
   hi DiffChange guifg=#aec0e0 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
   hi DiffDelete guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
   hi DiffRemoved guifg=#ddabbc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
   hi DiffText guifg=#abddcc guibg=#121419 guisp=NONE gui=reverse cterm=reverse
-  hi Directory guifg=#004bb4 guibg=NONE guisp=NONE gui=bold cterm=bold
   hi EndOfBuffer guifg=#eff1f4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
-  hi Error guifg=#ae1528 guibg=NONE guisp=NONE gui=bold,standout cterm=bold,standout
   hi! link ErrorMsg Error
   hi Folded guifg=#b6bdcb guibg=#e4e6eb guisp=NONE gui=italic cterm=italic
-  hi! link IncSearch Search
+  hi IncSearch guifg=#ff8c00 guibg=#121419 guisp=NONE gui=reverse cterm=reverse
   hi LineNr guifg=#b6bdcb guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
   hi MatchParen guifg=NONE guibg=#cdd2db guisp=NONE gui=bold cterm=bold
-  hi ModeMsg guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
-  hi MoreMsg guifg=#009a5a guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi NonText guifg=#9fa8ba guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi Pmenu guifg=#37474f guibg=#cdd2db guisp=NONE gui=NONE cterm=NONE
   hi PmenuSbar guifg=NONE guibg=#cdd2db guisp=NONE gui=NONE cterm=NONE
@@ -239,20 +316,15 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
   hi Title guifg=#2e3440 guibg=NONE guisp=NONE gui=bold cterm=bold
   hi Visual guifg=NONE guibg=#e4e6eb guisp=NONE gui=NONE cterm=NONE
   hi! link VisualNOS Visual
-  hi WarningMsg guifg=#ae1528 guibg=NONE guisp=NONE gui=NONE cterm=NONE
-  hi WildMenu guifg=#004bb4 guibg=#cdd2db guisp=NONE gui=bold cterm=bold
   hi! link Boolean Constant
   hi! link Character Constant
   hi Comment guifg=#546e7a guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link Conditional Statement
-  hi Constant guifg=#009a5a guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link Define PreProc
   hi! link Debug Special
   hi! link Delimiter Special
   hi! link Exception Statement
   hi! link Float Constant
-  hi Function guifg=#008d9a guibg=NONE guisp=NONE gui=NONE cterm=NONE
-  hi Identifier guifg=#004bb4 guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi Ignore guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link Include PreProc
   hi! link Keyword Statement
@@ -261,17 +333,13 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
   hi! link Number Constant
   hi! link Operator Statement
   hi! link PreCondit PreProc
-  hi PreProc guifg=#008d9a guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link Repeat Statement
   hi! link SpecialChar Special
   hi! link SpecialComment Special
-  hi Statement guifg=#ae1528 guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link StorageClass Type
-  hi Special guifg=#ff8c00 guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link String Constant
   hi! link Structure Type
   hi! link Tag Special
-  hi Todo guifg=#008d9a guibg=NONE guisp=NONE gui=reverse cterm=reverse
   hi Type guifg=#007681 guibg=NONE guisp=NONE gui=NONE cterm=NONE
   hi! link Typedef Type
   hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
@@ -288,6 +356,8 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
   hi CommandMode guifg=#b300a4 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
   hi Warnings guifg=#ff8c00 guibg=#eff1f4 guisp=NONE gui=reverse cterm=reverse
   if !s:italics
+    hi CursorColumn gui=bold cterm=bold
+    hi CursorLine gui=bold cterm=bold
     hi Folded gui=NONE cterm=NONE
     hi SpellBad gui=undercurl cterm=undercurl
     hi SpellCap gui=undercurl cterm=undercurl
@@ -304,43 +374,91 @@ endif
 
 if s:t_Co >= 256
   if &background ==# 'dark'
-    if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-      hi Normal ctermfg=254 ctermbg=NONE cterm=NONE
+    if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+      if &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=29 ctermbg=NONE cterm=NONE
+      hi Directory ctermfg=67 ctermbg=NONE cterm=bold
+      hi Error ctermfg=160 ctermbg=NONE cterm=bold,reverse
+      hi Function ctermfg=30 ctermbg=NONE cterm=NONE
+      hi Identifier ctermfg=67 ctermbg=NONE cterm=NONE
+      hi ModeMsg ctermfg=67 ctermbg=NONE cterm=NONE
+      hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+      hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
+      hi Statement ctermfg=160 ctermbg=NONE cterm=NONE
+      hi Special ctermfg=185 ctermbg=NONE cterm=NONE
+      hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
+      hi WarningMsg ctermfg=160 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=67 ctermbg=NONE cterm=NONE
+      hi Constant ctermfg=36 ctermbg=NONE cterm=NONE
+      hi Directory ctermfg=67 ctermbg=NONE cterm=bold
+      hi Error ctermfg=167 ctermbg=NONE cterm=bold,reverse
+      hi Function ctermfg=37 ctermbg=NONE cterm=NONE
+      hi Identifier ctermfg=67 ctermbg=NONE cterm=NONE
+      hi ModeMsg ctermfg=67 ctermbg=NONE cterm=NONE
+      hi MoreMsg ctermfg=36 ctermbg=NONE cterm=NONE
+      hi PreProc ctermfg=37 ctermbg=NONE cterm=NONE
+      hi Statement ctermfg=167 ctermbg=NONE cterm=NONE
+      hi Special ctermfg=228 ctermbg=NONE cterm=NONE
+      hi Todo ctermfg=37 ctermbg=NONE cterm=reverse
+      hi WarningMsg ctermfg=167 ctermbg=NONE cterm=NONE
+      hi WildMenu ctermfg=67 ctermbg=240 cterm=bold
+    endif
+    if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
       hi CursorLineNr ctermfg=228 ctermbg=NONE cterm=NONE
       hi FoldColumn ctermfg=59 ctermbg=NONE cterm=NONE
       hi SignColumn ctermfg=252 ctermbg=NONE cterm=NONE
       hi VertSplit ctermfg=242 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
       hi CursorLineNr ctermfg=228 ctermbg=238 cterm=NONE
       hi FoldColumn ctermfg=59 ctermbg=238 cterm=NONE
       hi SignColumn ctermfg=252 ctermbg=238 cterm=NONE
       hi VertSplit ctermfg=242 ctermbg=236 cterm=NONE
     endif
-    hi ColorColumn ctermfg=NONE ctermbg=238 cterm=NONE
-    hi Conceal ctermfg=67 ctermbg=NONE cterm=NONE
-    hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
-    hi! link CursorColumn ColorColumn
-    hi! link CursorLine ColorColumn
+    hi ColorColumn ctermfg=NONE ctermbg=238 cterm=bold
+    hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+    hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
+    hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
     hi DiffAdd ctermfg=152 ctermbg=233 cterm=reverse
     hi DiffAdded ctermfg=152 ctermbg=233 cterm=reverse
     hi DiffChange ctermfg=153 ctermbg=233 cterm=reverse
     hi DiffDelete ctermfg=181 ctermbg=233 cterm=reverse
     hi DiffRemoved ctermfg=181 ctermbg=233 cterm=reverse
     hi DiffText ctermfg=152 ctermbg=233 cterm=reverse
-    hi Directory ctermfg=67 ctermbg=NONE cterm=bold
     hi EndOfBuffer ctermfg=236 ctermbg=NONE cterm=NONE
-    hi Error ctermfg=167 ctermbg=NONE cterm=bold,reverse
     hi! link ErrorMsg Error
     hi Folded ctermfg=242 ctermbg=238 cterm=NONE
-    hi! link IncSearch Search
+    hi IncSearch ctermfg=228 ctermbg=233 cterm=reverse
     hi LineNr ctermfg=242 ctermbg=238 cterm=NONE
     hi MatchParen ctermfg=NONE ctermbg=240 cterm=bold
-    hi ModeMsg ctermfg=67 ctermbg=NONE cterm=NONE
-    hi MoreMsg ctermfg=36 ctermbg=NONE cterm=NONE
     hi NonText ctermfg=247 ctermbg=NONE cterm=NONE
     hi Pmenu ctermfg=254 ctermbg=240 cterm=NONE
     hi PmenuSbar ctermfg=NONE ctermbg=240 cterm=NONE
@@ -364,20 +482,15 @@ if s:t_Co >= 256
     hi Title ctermfg=255 ctermbg=NONE cterm=bold
     hi Visual ctermfg=NONE ctermbg=238 cterm=NONE
     hi! link VisualNOS Visual
-    hi WarningMsg ctermfg=167 ctermbg=NONE cterm=NONE
-    hi WildMenu ctermfg=67 ctermbg=240 cterm=bold
     hi! link Boolean Constant
     hi! link Character Constant
     hi Comment ctermfg=250 ctermbg=NONE cterm=NONE
     hi! link Conditional Statement
-    hi Constant ctermfg=36 ctermbg=NONE cterm=NONE
     hi! link Define PreProc
     hi! link Debug Special
     hi! link Delimiter Special
     hi! link Exception Statement
     hi! link Float Constant
-    hi Function ctermfg=37 ctermbg=NONE cterm=NONE
-    hi Identifier ctermfg=67 ctermbg=NONE cterm=NONE
     hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
     hi! link Include PreProc
     hi! link Keyword Statement
@@ -386,17 +499,13 @@ if s:t_Co >= 256
     hi! link Number Constant
     hi! link Operator Statement
     hi! link PreCondit PreProc
-    hi PreProc ctermfg=37 ctermbg=NONE cterm=NONE
     hi! link Repeat Statement
     hi! link SpecialChar Special
     hi! link SpecialComment Special
-    hi Statement ctermfg=167 ctermbg=NONE cterm=NONE
     hi! link StorageClass Type
-    hi Special ctermfg=228 ctermbg=NONE cterm=NONE
     hi! link String Constant
     hi! link Structure Type
     hi! link Tag Special
-    hi Todo ctermfg=37 ctermbg=NONE cterm=reverse
     hi Type ctermfg=30 ctermbg=NONE cterm=NONE
     hi! link Typedef Type
     hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
@@ -412,6 +521,10 @@ if s:t_Co >= 256
     hi VisualMode ctermfg=228 ctermbg=236 cterm=reverse
     hi CommandMode ctermfg=206 ctermbg=236 cterm=reverse
     hi Warnings ctermfg=228 ctermbg=236 cterm=reverse
+    if !s:italics
+      hi CursorColumn cterm=bold
+      hi CursorLine cterm=bold
+    endif
     if has('nvim')
       hi! link TermCursor Cursor
       hi TermCursorNC ctermfg=238 ctermbg=254 cterm=NONE
@@ -420,40 +533,82 @@ if s:t_Co >= 256
     finish
   endif
   " Light background
-  if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-    hi Normal ctermfg=238 ctermbg=NONE cterm=NONE
+  if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+    if &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=26 ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=35 ctermbg=NONE cterm=NONE
+    hi Directory ctermfg=26 ctermbg=NONE cterm=bold
+    hi Error ctermfg=124 ctermbg=NONE cterm=bold,reverse
+    hi Function ctermfg=30 ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=26 ctermbg=NONE cterm=NONE
+    hi ModeMsg ctermfg=26 ctermbg=NONE cterm=NONE
+    hi MoreMsg ctermfg=35 ctermbg=NONE cterm=NONE
+    hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
+    hi Special ctermfg=208 ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
+    hi WarningMsg ctermfg=124 ctermbg=NONE cterm=NONE
+    hi WildMenu ctermfg=26 ctermbg=252 cterm=bold
+  endif
+  if !has('gui_running') && get(g:, 'artesanal_transparent', 0)
     hi CursorLineNr ctermfg=208 ctermbg=NONE cterm=NONE
     hi FoldColumn ctermfg=59 ctermbg=NONE cterm=NONE
     hi SignColumn ctermfg=240 ctermbg=NONE cterm=NONE
     hi VertSplit ctermfg=250 ctermbg=NONE cterm=NONE
   else
-    hi Normal ctermfg=238 ctermbg=255 cterm=NONE
     hi CursorLineNr ctermfg=208 ctermbg=254 cterm=NONE
     hi FoldColumn ctermfg=59 ctermbg=254 cterm=NONE
     hi SignColumn ctermfg=240 ctermbg=254 cterm=NONE
     hi VertSplit ctermfg=250 ctermbg=255 cterm=NONE
   endif
-  hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
-  hi Conceal ctermfg=26 ctermbg=NONE cterm=NONE
-  hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
-  hi! link CursorColumn ColorColumn
-  hi! link CursorLine ColorColumn
+  hi ColorColumn ctermfg=NONE ctermbg=254 cterm=bold
+  hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
   hi DiffAdd ctermfg=152 ctermbg=233 cterm=reverse
   hi DiffAdded ctermfg=152 ctermbg=233 cterm=reverse
   hi DiffChange ctermfg=153 ctermbg=233 cterm=reverse
   hi DiffDelete ctermfg=181 ctermbg=233 cterm=reverse
   hi DiffRemoved ctermfg=181 ctermbg=233 cterm=reverse
   hi DiffText ctermfg=152 ctermbg=233 cterm=reverse
-  hi Directory ctermfg=26 ctermbg=NONE cterm=bold
   hi EndOfBuffer ctermfg=255 ctermbg=NONE cterm=NONE
-  hi Error ctermfg=124 ctermbg=NONE cterm=bold,reverse
   hi! link ErrorMsg Error
   hi Folded ctermfg=250 ctermbg=254 cterm=NONE
-  hi! link IncSearch Search
+  hi IncSearch ctermfg=208 ctermbg=233 cterm=reverse
   hi LineNr ctermfg=250 ctermbg=254 cterm=NONE
   hi MatchParen ctermfg=NONE ctermbg=252 cterm=bold
-  hi ModeMsg ctermfg=26 ctermbg=NONE cterm=NONE
-  hi MoreMsg ctermfg=35 ctermbg=NONE cterm=NONE
   hi NonText ctermfg=248 ctermbg=NONE cterm=NONE
   hi Pmenu ctermfg=238 ctermbg=252 cterm=NONE
   hi PmenuSbar ctermfg=NONE ctermbg=252 cterm=NONE
@@ -477,20 +632,15 @@ if s:t_Co >= 256
   hi Title ctermfg=236 ctermbg=NONE cterm=bold
   hi Visual ctermfg=NONE ctermbg=254 cterm=NONE
   hi! link VisualNOS Visual
-  hi WarningMsg ctermfg=124 ctermbg=NONE cterm=NONE
-  hi WildMenu ctermfg=26 ctermbg=252 cterm=bold
   hi! link Boolean Constant
   hi! link Character Constant
   hi Comment ctermfg=242 ctermbg=NONE cterm=NONE
   hi! link Conditional Statement
-  hi Constant ctermfg=35 ctermbg=NONE cterm=NONE
   hi! link Define PreProc
   hi! link Debug Special
   hi! link Delimiter Special
   hi! link Exception Statement
   hi! link Float Constant
-  hi Function ctermfg=30 ctermbg=NONE cterm=NONE
-  hi Identifier ctermfg=26 ctermbg=NONE cterm=NONE
   hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
   hi! link Include PreProc
   hi! link Keyword Statement
@@ -499,17 +649,13 @@ if s:t_Co >= 256
   hi! link Number Constant
   hi! link Operator Statement
   hi! link PreCondit PreProc
-  hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
   hi! link Repeat Statement
   hi! link SpecialChar Special
   hi! link SpecialComment Special
-  hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
   hi! link StorageClass Type
-  hi Special ctermfg=208 ctermbg=NONE cterm=NONE
   hi! link String Constant
   hi! link Structure Type
   hi! link Tag Special
-  hi Todo ctermfg=30 ctermbg=NONE cterm=reverse
   hi Type ctermfg=30 ctermbg=NONE cterm=NONE
   hi! link Typedef Type
   hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
@@ -525,6 +671,10 @@ if s:t_Co >= 256
   hi VisualMode ctermfg=208 ctermbg=255 cterm=reverse
   hi CommandMode ctermfg=127 ctermbg=255 cterm=reverse
   hi Warnings ctermfg=208 ctermbg=255 cterm=reverse
+  if !s:italics
+    hi CursorColumn cterm=bold
+    hi CursorLine cterm=bold
+  endif
   if has('nvim')
     hi! link TermCursor Cursor
     hi TermCursorNC ctermfg=254 ctermbg=238 cterm=NONE
@@ -535,40 +685,82 @@ endif
 
 if s:t_Co >= 16
   if &background ==# 'dark'
-    if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-      hi Normal ctermfg=White ctermbg=NONE cterm=NONE
+    if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+      if &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 Normal ctermfg=White ctermbg=Black cterm=NONE
       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=NONE
-    hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
-    hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
-    hi! link CursorColumn ColorColumn
-    hi! link CursorLine ColorColumn
+    hi ColorColumn ctermfg=NONE ctermbg=Black cterm=bold
+    hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+    hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
+    hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
     hi DiffAdd ctermfg=LightGreen ctermbg=Black cterm=reverse
     hi DiffAdded ctermfg=LightGreen ctermbg=Black cterm=reverse
     hi DiffChange ctermfg=LightBlue ctermbg=Black cterm=reverse
     hi DiffDelete ctermfg=LightRed ctermbg=Black cterm=reverse
     hi DiffRemoved ctermfg=LightRed ctermbg=Black cterm=reverse
     hi DiffText ctermfg=LightGreen ctermbg=Black cterm=reverse
-    hi Directory ctermfg=Blue ctermbg=NONE cterm=bold
     hi EndOfBuffer ctermfg=Black ctermbg=NONE cterm=NONE
-    hi Error ctermfg=Red ctermbg=NONE cterm=bold,reverse
     hi! link ErrorMsg Error
     hi Folded ctermfg=DarkGrey ctermbg=Black cterm=NONE
-    hi! link IncSearch Search
+    hi IncSearch ctermfg=Yellow ctermbg=Black cterm=reverse
     hi LineNr ctermfg=DarkGrey ctermbg=Black cterm=NONE
     hi MatchParen ctermfg=NONE ctermbg=DarkGrey cterm=bold
-    hi ModeMsg ctermfg=Blue ctermbg=NONE cterm=NONE
-    hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
     hi NonText ctermfg=LightGrey ctermbg=NONE cterm=NONE
     hi Pmenu ctermfg=White ctermbg=DarkGrey cterm=NONE
     hi PmenuSbar ctermfg=NONE ctermbg=DarkGrey cterm=NONE
@@ -592,20 +784,15 @@ if s:t_Co >= 16
     hi Title ctermfg=White ctermbg=NONE cterm=bold
     hi Visual ctermfg=NONE ctermbg=Black cterm=NONE
     hi! link VisualNOS Visual
-    hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
-    hi WildMenu ctermfg=Blue ctermbg=DarkGrey cterm=bold
     hi! link Boolean Constant
     hi! link Character Constant
     hi Comment ctermfg=DarkGrey ctermbg=NONE cterm=NONE
     hi! link Conditional Statement
-    hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
     hi! link Define PreProc
     hi! link Debug Special
     hi! link Delimiter Special
     hi! link Exception Statement
     hi! link Float Constant
-    hi Function ctermfg=Cyan ctermbg=NONE cterm=NONE
-    hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
     hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
     hi! link Include PreProc
     hi! link Keyword Statement
@@ -614,17 +801,13 @@ if s:t_Co >= 16
     hi! link Number Constant
     hi! link Operator Statement
     hi! link PreCondit PreProc
-    hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
     hi! link Repeat Statement
     hi! link SpecialChar Special
     hi! link SpecialComment Special
-    hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
     hi! link StorageClass Type
-    hi Special ctermfg=Yellow ctermbg=NONE cterm=NONE
     hi! link String Constant
     hi! link Structure Type
     hi! link Tag Special
-    hi Todo ctermfg=Cyan ctermbg=NONE cterm=reverse
     hi Type ctermfg=DarkCyan ctermbg=NONE cterm=NONE
     hi! link Typedef Type
     hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
@@ -640,6 +823,10 @@ if s:t_Co >= 16
     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 !s:italics
+      hi CursorColumn cterm=bold
+      hi CursorLine cterm=bold
+    endif
     if has('nvim')
       hi! link TermCursor Cursor
       hi TermCursorNC ctermfg=Black ctermbg=White cterm=NONE
@@ -648,40 +835,82 @@ if s:t_Co >= 16
     finish
   endif
   " Light background
-  if !has('gui_running') && get(g:, 'artesanal_transp_bg', 0)
-    hi Normal ctermfg=Black ctermbg=NONE cterm=NONE
+  if !has('gui_running') && get(g:, 'artesanal_dimmed', 0)
+    if &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 Normal ctermfg=Black ctermbg=White cterm=NONE
     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=NONE
-  hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
-  hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
-  hi! link CursorColumn ColorColumn
-  hi! link CursorLine ColorColumn
+  hi ColorColumn ctermfg=NONE ctermbg=White cterm=bold
+  hi Cursor ctermfg=NONE ctermbg=NONE cterm=bold,reverse
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=bold,italic
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=bold,italic
   hi DiffAdd ctermfg=LightGreen ctermbg=Black cterm=reverse
   hi DiffAdded ctermfg=LightGreen ctermbg=Black cterm=reverse
   hi DiffChange ctermfg=LightBlue ctermbg=Black cterm=reverse
   hi DiffDelete ctermfg=LightRed ctermbg=Black cterm=reverse
   hi DiffRemoved ctermfg=LightRed ctermbg=Black cterm=reverse
   hi DiffText ctermfg=LightGreen ctermbg=Black cterm=reverse
-  hi Directory ctermfg=Blue ctermbg=NONE cterm=bold
   hi EndOfBuffer ctermfg=White ctermbg=NONE cterm=NONE
-  hi Error ctermfg=Red ctermbg=NONE cterm=bold,reverse
   hi! link ErrorMsg Error
   hi Folded ctermfg=DarkGrey ctermbg=White cterm=NONE
-  hi! link IncSearch Search
+  hi IncSearch ctermfg=Yellow ctermbg=Black cterm=reverse
   hi LineNr ctermfg=DarkGrey ctermbg=White cterm=NONE
   hi MatchParen ctermfg=NONE ctermbg=LightGrey cterm=bold
-  hi ModeMsg ctermfg=Blue ctermbg=NONE cterm=NONE
-  hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
   hi NonText ctermfg=DarkGrey ctermbg=NONE cterm=NONE
   hi Pmenu ctermfg=Black ctermbg=LightGrey cterm=NONE
   hi PmenuSbar ctermfg=NONE ctermbg=LightGrey cterm=NONE
@@ -705,20 +934,15 @@ if s:t_Co >= 16
   hi Title ctermfg=Black ctermbg=NONE cterm=bold
   hi Visual ctermfg=NONE ctermbg=White cterm=NONE
   hi! link VisualNOS Visual
-  hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
-  hi WildMenu ctermfg=Blue ctermbg=LightGrey cterm=bold
   hi! link Boolean Constant
   hi! link Character Constant
   hi Comment ctermfg=DarkGrey ctermbg=NONE cterm=NONE
   hi! link Conditional Statement
-  hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
   hi! link Define PreProc
   hi! link Debug Special
   hi! link Delimiter Special
   hi! link Exception Statement
   hi! link Float Constant
-  hi Function ctermfg=Cyan ctermbg=NONE cterm=NONE
-  hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
   hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
   hi! link Include PreProc
   hi! link Keyword Statement
@@ -727,17 +951,13 @@ if s:t_Co >= 16
   hi! link Number Constant
   hi! link Operator Statement
   hi! link PreCondit PreProc
-  hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
   hi! link Repeat Statement
   hi! link SpecialChar Special
   hi! link SpecialComment Special
-  hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
   hi! link StorageClass Type
-  hi Special ctermfg=Yellow ctermbg=NONE cterm=NONE
   hi! link String Constant
   hi! link Structure Type
   hi! link Tag Special
-  hi Todo ctermfg=Cyan ctermbg=NONE cterm=reverse
   hi Type ctermfg=DarkCyan ctermbg=NONE cterm=NONE
   hi! link Typedef Type
   hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
@@ -753,6 +973,10 @@ if s:t_Co >= 16
   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 !s:italics
+    hi CursorColumn cterm=bold
+    hi CursorLine cterm=bold
+  endif
   if has('nvim')
     hi! link TermCursor Cursor
     hi TermCursorNC ctermfg=White ctermbg=Black cterm=NONE
@@ -761,9 +985,7 @@ if s:t_Co >= 16
   finish
 endif
 
-" Variant:         gui 256 16
 " Background: light
-" Variant:   gui     256 16
 " Color: fg0 #2e3440 ~   Black
 " Color: fg1 #37474f ~   Black
 " Color: fg2 #455a64 ~   DarkGrey
@@ -775,6 +997,7 @@ endif
 " Color: bg3 #b6bdcb ~   DarkGrey
 " Color: bg4 #9fa8ba ~   DarkGrey
 " Color: black                #121419     ~        Black
+" Color: realblack            #000000     ~        Black
 " Color: darkgray             #575c66     ~        DarkGray
 " Color: red                  #ae1528     ~        Red
 " Color: brightred            #ddabbc     ~        LightRed
@@ -798,115 +1021,7 @@ endif
 " Color: brightwhite          #ffffff     ~        White
 " Term Colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan white
 " Term Colors: darkgray red green yellow blue magenta cyan brightwhite
-" if !has('gui_running') && get(g:, '@optionprefix_transp_bg', 0)
-"   Normal       fg1           none
-"   CursorLineNr yellow        none
-"   FoldColumn   darkgray      none
-"   SignColumn   fg2           none
-"   VertSplit    bg3           none
-" else
-"   Normal       fg1           bg0
-"   CursorLineNr yellow        bg1
-"   FoldColumn   darkgray      bg1
-"   SignColumn   fg2           bg1
-"   VertSplit    bg3           bg0
-" endif
-" ColorColumn                      none         bg1
-" Conceal                          blue         none
-" Cursor                           none         none    reverse
-" CursorColumn                  -> ColorColumn
-" CursorLine                    -> ColorColumn
-" DiffAdd                          brightgreen  black   reverse
-" DiffAdded                        brightgreen  black   reverse
-" DiffChange                       brightblue   black   reverse
-" DiffDelete                       brightred    black   reverse
-" DiffRemoved                      brightred    black   reverse
-" DiffText                         brightgreen  black   reverse
-" Directory                        blue         none    bold
-" EndOfBuffer                      bg0          none
-" Error                            red          none    t=reverse,bold g=standout,bold
-" ErrorMsg                      -> Error
-" Folded                           bg3          bg1     g=italic
-" IncSearch                     -> Search
-" 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                       -> Constant
-" Character                     -> Constant
-" Comment                          fg3          none
-" Conditional                   -> Statement
-" Constant                         green        none
-" Define                        -> PreProc
-" Debug                         -> Special
-" Delimiter                     -> Special
-" Exception                     -> Statement
-" Float                         -> Constant
-" Function                         cyan         none
-" Identifier                       blue         none
-" Ignore                           fg           none
-" Include                       -> PreProc
-" Keyword                       -> Statement
-" Label                         -> Statement
-" Macro                         -> PreProc
-" Number                        -> Constant
-" Operator                      -> Statement
-" PreCondit                     -> PreProc
-" PreProc                          cyan         none
-" Repeat                        -> Statement
-" SpecialChar                   -> Special
-" SpecialComment                -> Special
-" Statement                        red          none
-" StorageClass                  -> Type
-" Special                          yellow       none
-" String                        -> Constant
-" Structure                     -> Type
-" Tag                           -> Special
-" Todo                             cyan         none    reverse
-" Type                             darkcyan     none
-" Typedef                       -> Type
-" Underlined                       none         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
 " Background: dark
-" Variant:   gui     256 16
 " Color: fg0 #eff1f4 ~   White
 " Color: fg1 #e4e6eb ~   White
 " Color: fg2 #cdd2db ~   LightGrey
@@ -918,6 +1033,7 @@ endif
 " Color: bg3 #546e7a ~   DarkGrey
 " Color: bg4 #90a4ae ~   LightGrey
 " Color: black                #121419     ~        Black
+" Color: realblack            #000000     ~        Black
 " Color: darkgray             #575c66     ~        DarkGray
 " Color: red                  #e84256     ~        Red
 " Color: brightred            #ddabbc     ~        LightRed
@@ -941,110 +1057,4 @@ endif
 " Color: brightwhite          #ffffff     ~        White
 " Term Colors: darkgray red green yellow blue magenta cyan brightwhite
 " Term Colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan white
-" if !has('gui_running') && get(g:, '@optionprefix_transp_bg', 0)
-"   Normal       fg1           none
-"   CursorLineNr yellow        none
-"   FoldColumn   darkgray      none
-"   SignColumn   fg2           none
-"   VertSplit    bg3           none
-" else
-"   Normal       fg1           bg0
-"   CursorLineNr yellow        bg1
-"   FoldColumn   darkgray      bg1
-"   SignColumn   fg2           bg1
-"   VertSplit    bg3           bg0
-" endif
-" ColorColumn                      none         bg1
-" Conceal                          blue         none
-" Cursor                           none         none    reverse
-" CursorColumn                  -> ColorColumn
-" CursorLine                    -> ColorColumn
-" DiffAdd                          brightgreen  black   reverse
-" DiffAdded                        brightgreen  black   reverse
-" DiffChange                       brightblue   black   reverse
-" DiffDelete                       brightred    black   reverse
-" DiffRemoved                      brightred    black   reverse
-" DiffText                         brightgreen  black   reverse
-" Directory                        blue         none    bold
-" EndOfBuffer                      bg0          none
-" Error                            red          none    t=reverse,bold g=standout,bold
-" ErrorMsg                      -> Error
-" Folded                           bg3          bg1     g=italic
-" IncSearch                     -> Search
-" 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                       -> Constant
-" Character                     -> Constant
-" Comment                          fg3          none
-" Conditional                   -> Statement
-" Constant                         green        none
-" Define                        -> PreProc
-" Debug                         -> Special
-" Delimiter                     -> Special
-" Exception                     -> Statement
-" Float                         -> Constant
-" Function                         cyan         none
-" Identifier                       blue         none
-" Ignore                           fg           none
-" Include                       -> PreProc
-" Keyword                       -> Statement
-" Label                         -> Statement
-" Macro                         -> PreProc
-" Number                        -> Constant
-" Operator                      -> Statement
-" PreCondit                     -> PreProc
-" PreProc                          cyan         none
-" Repeat                        -> Statement
-" SpecialChar                   -> Special
-" SpecialComment                -> Special
-" Statement                        red          none
-" StorageClass                  -> Type
-" Special                          yellow       none
-" String                        -> Constant
-" Structure                     -> Type
-" Tag                           -> Special
-" Todo                             cyan         none    reverse
-" Type                             darkcyan     none
-" Typedef                       -> Type
-" Underlined                       none         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
+" vim: et ts=2 sw=2