neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim
Log | Files | Refs

tms.lua (20460B)


      1 -- start color
      2 -- base16-nvim (https://github.com/wincent/base16-nvim)
      3 -- by Greg Hurrell (https://github.com/wincent)
      4 -- based on
      5 -- base16-vim (https://github.com/chriskempson/base16-vim)
      6 -- by Chris Kempson (https://github.com/chriskempson)
      7 -- Catppuccin Mocha scheme by https://github.com/catppuccin/catppuccin
      8 
      9 local gui00 = "#1e1e2e"
     10 local gui01 = "#181825"
     11 local gui02 = "#313244"
     12 local gui03 = "#45475a"
     13 local gui04 = "#585b70"
     14 local gui05 = "#cdd6f4"
     15 local gui06 = "#f5e0dc"
     16 local gui07 = "#b4befe"
     17 local gui08 = "#f38ba8"
     18 local gui09 = "#fab387"
     19 local gui0A = "#f9e2af"
     20 local gui0B = "#a6e3a1"
     21 local gui0C = "#94e2d5"
     22 local gui0D = "#89b4fa"
     23 local gui0E = "#cba6f7"
     24 local gui0F = "#f2cdcd"
     25 
     26 local cterm00 = 0
     27 local cterm03 = 8
     28 local cterm05 = 7
     29 local cterm07 = 15
     30 local cterm08 = 1
     31 local cterm0A = 3
     32 local cterm0B = 2
     33 local cterm0C = 6
     34 local cterm0D = 4
     35 local cterm0E = 5
     36 local cterm01 = 10
     37 local cterm02 = 11
     38 local cterm04 = 12
     39 local cterm06 = 13
     40 local cterm09 = 9
     41 local cterm0F = 14
     42 
     43 vim.cmd [[
     44   highlight clear
     45   syntax reset
     46 ]]
     47 vim.g.colors_name = "base16-catpuccin-mocha"
     48 
     49 -- Vim editor colors                    fg bg ctermfg ctermbg attr guisp
     50 vim.api.nvim_set_hl(0, 'Normal', { fg = gui05, bg = gui00, ctermfg = cterm05, ctermbg = cterm00 })
     51 vim.api.nvim_set_hl(0, 'Bold', { bold = true })
     52 vim.api.nvim_set_hl(0, 'Debug', { fg = gui08, ctermfg = cterm08 })
     53 vim.api.nvim_set_hl(0, 'Directory', { fg = gui0D, ctermfg = cterm0D })
     54 vim.api.nvim_set_hl(0, 'Error', { fg = gui00, bg = gui08, ctermfg = cterm00, ctermbg = cterm08 })
     55 vim.api.nvim_set_hl(0, 'ErrorMsg', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 })
     56 vim.api.nvim_set_hl(0, 'Exception', { fg = gui08, ctermfg = cterm08 })
     57 vim.api.nvim_set_hl(0, 'FoldColumn', { fg = gui0C, bg = gui01, ctermfg = cterm0C, ctermbg = cterm01 })
     58 vim.api.nvim_set_hl(0, 'Folded', { fg = gui03, bg = gui00, ctermfg = cterm03, ctermbg = cterm01 })
     59 vim.api.nvim_set_hl(0, 'IncSearch', { fg = gui01, bg = gui09, ctermfg = cterm01, ctermbg = cterm09 })
     60 vim.api.nvim_set_hl(0, 'Italic', {})
     61 vim.api.nvim_set_hl(0, 'Macro', { fg = gui08, ctermfg = cterm08 })
     62 vim.api.nvim_set_hl(0, 'MatchParen', { bg = gui03, ctermbg = cterm03 })
     63 vim.api.nvim_set_hl(0, 'ModeMsg', { fg = gui0B, ctermfg = cterm0B })
     64 vim.api.nvim_set_hl(0, 'MoreMsg', { fg = gui0B, ctermfg = cterm0B })
     65 vim.api.nvim_set_hl(0, 'Question', { fg = gui0D, ctermfg = cterm0D })
     66 vim.api.nvim_set_hl(0, 'Search', { fg = gui01, bg = gui0A, ctermfg = cterm01, ctermbg = cterm0A })
     67 vim.api.nvim_set_hl(0, 'Substitute', { fg = gui01, bg = gui0A, ctermfg = cterm01, ctermbg = cterm0A })
     68 vim.api.nvim_set_hl(0, 'SpecialKey', { fg = gui03, ctermfg = cterm03 })
     69 vim.api.nvim_set_hl(0, 'TooLong', { fg = gui08, ctermfg = cterm08 })
     70 vim.api.nvim_set_hl(0, 'Underlined', { fg = gui08, ctermfg = cterm08 })
     71 vim.api.nvim_set_hl(0, 'Visual', { bg = gui02, ctermbg = cterm02 })
     72 vim.api.nvim_set_hl(0, 'VisualNOS', { fg = gui08, ctermfg = cterm08 })
     73 vim.api.nvim_set_hl(0, 'WarningMsg', { fg = gui08, ctermfg = cterm08 })
     74 vim.api.nvim_set_hl(0, 'WildMenu', { fg = gui08, bg = gui0A, ctermfg = cterm08 })
     75 vim.api.nvim_set_hl(0, 'Title', { fg = gui0D, ctermfg = cterm0D })
     76 vim.api.nvim_set_hl(0, 'Conceal', { fg = gui0D, bg = gui00, ctermfg = cterm0D, ctermbg = cterm00 })
     77 vim.api.nvim_set_hl(0, 'Cursor', { fg = gui00, bg = gui05, ctermfg = cterm00, ctermbg = cterm05 })
     78 vim.api.nvim_set_hl(0, 'NonText', { fg = gui03, ctermfg = cterm03 })
     79 vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 })
     80 vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 })
     81 vim.api.nvim_set_hl(0, 'StatusLine', { fg = gui04, bg = gui02, ctermfg = cterm04, ctermbg = cterm02 })
     82 vim.api.nvim_set_hl(0, 'StatusLineNC', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 })
     83 vim.api.nvim_set_hl(0, 'VertSplit', { fg = gui02, bg = gui02, ctermfg = cterm02, ctermbg = cterm02 })
     84 vim.api.nvim_set_hl(0, 'ColorColumn', { bg = gui01, ctermbg = cterm01 })
     85 vim.api.nvim_set_hl(0, 'CursorColumn', { bg = gui01, ctermbg = cterm01 })
     86 vim.api.nvim_set_hl(0, 'CursorLine', { bg = gui01, ctermbg = cterm01 })
     87 vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = gui04, bg = gui01, ctermfg = cterm04, ctermbg = cterm01 })
     88 vim.api.nvim_set_hl(0, 'QuickFixLine', { bg = gui01, ctermbg = cterm01 })
     89 vim.api.nvim_set_hl(0, 'PMenu', { fg = gui05, bg = gui01, ctermfg = cterm05, ctermbg = cterm01 })
     90 vim.api.nvim_set_hl(0, 'PMenuSel', { fg = gui01, bg = gui05, ctermfg = cterm01, ctermbg = cterm05 })
     91 vim.api.nvim_set_hl(0, 'TabLine', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 })
     92 vim.api.nvim_set_hl(0, 'TabLineFill', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 })
     93 vim.api.nvim_set_hl(0, 'TabLineSel', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 })
     94 
     95 -- Standard syntax highlighting
     96 vim.api.nvim_set_hl(0, 'Boolean', { fg = gui09, ctermfg = cterm09 })
     97 vim.api.nvim_set_hl(0, 'Character', { fg = gui08, ctermfg = cterm08 })
     98 vim.api.nvim_set_hl(0, 'Comment', { fg = gui03, ctermfg = cterm03 })
     99 vim.api.nvim_set_hl(0, 'Conditional', { fg = gui0E, ctermfg = cterm0E })
    100 vim.api.nvim_set_hl(0, 'Constant', { fg = gui09, ctermfg = cterm09 })
    101 vim.api.nvim_set_hl(0, 'Define', { fg = gui0E, ctermfg = cterm0E })
    102 vim.api.nvim_set_hl(0, 'Delimiter', { fg = gui0F, ctermfg = cterm0F })
    103 vim.api.nvim_set_hl(0, 'Float', { fg = gui09, ctermfg = cterm09 })
    104 vim.api.nvim_set_hl(0, 'Function', { fg = gui0D, ctermfg = cterm0D })
    105 vim.api.nvim_set_hl(0, 'Identifier', { fg = gui08, ctermfg = cterm08 })
    106 vim.api.nvim_set_hl(0, 'Include', { fg = gui0D, ctermfg = cterm0D })
    107 vim.api.nvim_set_hl(0, 'Keyword', { fg = gui0E, ctermfg = cterm0E })
    108 vim.api.nvim_set_hl(0, 'Label', { fg = gui0A, ctermfg = cterm0A })
    109 vim.api.nvim_set_hl(0, 'Number', { fg = gui09, ctermfg = cterm09 })
    110 vim.api.nvim_set_hl(0, 'Operator', { fg = gui05, ctermfg = cterm05 })
    111 vim.api.nvim_set_hl(0, 'PreProc', { fg = gui0A, ctermfg = cterm0A })
    112 vim.api.nvim_set_hl(0, 'Repeat', { fg = gui0A, ctermfg = cterm0A })
    113 vim.api.nvim_set_hl(0, 'Special', { fg = gui0C, ctermfg = cterm0C })
    114 vim.api.nvim_set_hl(0, 'SpecialChar', { fg = gui0F, ctermfg = cterm0F })
    115 vim.api.nvim_set_hl(0, 'Statement', { fg = gui0E, ctermfg = cterm0E })
    116 vim.api.nvim_set_hl(0, 'StorageClass', { fg = gui0A, ctermfg = cterm0A })
    117 vim.api.nvim_set_hl(0, 'String', { fg = gui0B, ctermfg = cterm0B })
    118 vim.api.nvim_set_hl(0, 'Structure', { fg = gui0E, ctermfg = cterm0E })
    119 vim.api.nvim_set_hl(0, 'Tag', { fg = gui0A, ctermfg = cterm0A })
    120 vim.api.nvim_set_hl(0, 'Todo', { fg = gui0A, bg = gui01, ctermfg = cterm0A, ctermbg = cterm01 })
    121 vim.api.nvim_set_hl(0, 'Type', { fg = gui0A, ctermfg = cterm0A })
    122 vim.api.nvim_set_hl(0, 'Typedef', { fg = gui0A, ctermfg = cterm0A })
    123 
    124 -- C highlighting
    125 vim.api.nvim_set_hl(0, 'cOperator', { fg = gui0C, ctermfg = cterm0C })
    126 vim.api.nvim_set_hl(0, 'cPreCondit', { fg = gui0E, ctermfg = cterm0E })
    127 
    128 -- C# highlighting
    129 vim.api.nvim_set_hl(0, 'csClass', { fg = gui0A, ctermfg = cterm0A })
    130 vim.api.nvim_set_hl(0, 'csAttribute', { fg = gui0A, ctermfg = cterm0A })
    131 vim.api.nvim_set_hl(0, 'csModifier', { fg = gui0E, ctermfg = cterm0E })
    132 vim.api.nvim_set_hl(0, 'csType', { fg = gui08, ctermfg = cterm08 })
    133 vim.api.nvim_set_hl(0, 'csUnspecifiedStatement', { fg = gui0D, ctermfg = cterm0D })
    134 vim.api.nvim_set_hl(0, 'csContextualStatement', { fg = gui0E, ctermfg = cterm0E })
    135 vim.api.nvim_set_hl(0, 'csNewDecleration', { fg = gui08, ctermfg = cterm08 })
    136 
    137 -- CSS highlighting
    138 vim.api.nvim_set_hl(0, 'cssBraces', { fg = gui05, ctermfg = cterm05 })
    139 vim.api.nvim_set_hl(0, 'cssClassName', { fg = gui0E, ctermfg = cterm0E })
    140 vim.api.nvim_set_hl(0, 'cssColor', { fg = gui0C, ctermfg = cterm0C })
    141 
    142 -- Diff highlighting
    143 vim.api.nvim_set_hl(0, 'DiffAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 })
    144 vim.api.nvim_set_hl(0, 'DiffChange', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 })
    145 vim.api.nvim_set_hl(0, 'DiffDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 })
    146 vim.api.nvim_set_hl(0, 'DiffText', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 })
    147 vim.api.nvim_set_hl(0, 'DiffAdded', { fg = gui0B, bg = gui00, ctermfg = cterm0B, ctermbg = cterm00 })
    148 vim.api.nvim_set_hl(0, 'DiffFile', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 })
    149 vim.api.nvim_set_hl(0, 'DiffNewFile', { fg = gui0B, bg = gui00, ctermfg = cterm0B, ctermbg = cterm00 })
    150 vim.api.nvim_set_hl(0, 'DiffLine', { fg = gui0D, bg = gui00, ctermfg = cterm0D, ctermbg = cterm00 })
    151 vim.api.nvim_set_hl(0, 'DiffRemoved', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 })
    152 
    153 -- Git highlighting
    154 vim.api.nvim_set_hl(0, 'gitcommitOverflow', { fg = gui08, ctermfg = cterm08 })
    155 vim.api.nvim_set_hl(0, 'gitcommitSummary', { fg = gui0B, ctermfg = cterm0B })
    156 vim.api.nvim_set_hl(0, 'gitcommitComment', { fg = gui03, ctermfg = cterm03 })
    157 vim.api.nvim_set_hl(0, 'gitcommitUntracked', { fg = gui03, ctermfg = cterm03 })
    158 vim.api.nvim_set_hl(0, 'gitcommitDiscarded', { fg = gui03, ctermfg = cterm03 })
    159 vim.api.nvim_set_hl(0, 'gitcommitSelected', { fg = gui03, ctermfg = cterm03 })
    160 vim.api.nvim_set_hl(0, 'gitcommitHeader', { fg = gui0E, ctermfg = cterm0E })
    161 vim.api.nvim_set_hl(0, 'gitcommitSelectedType', { fg = gui0D, ctermfg = cterm0D })
    162 vim.api.nvim_set_hl(0, 'gitcommitUnmergedType', { fg = gui0D, ctermfg = cterm0D })
    163 vim.api.nvim_set_hl(0, 'gitcommitDiscardedType', { fg = gui0D, ctermfg = cterm0D })
    164 vim.api.nvim_set_hl(0, 'gitcommitBranch', { fg = gui09, ctermfg = cterm09, bold = true })
    165 vim.api.nvim_set_hl(0, 'gitcommitUntrackedFile', { fg = gui0A, ctermfg = cterm0A })
    166 vim.api.nvim_set_hl(0, 'gitcommitUnmergedFile', { fg = gui08, ctermfg = cterm08, bold = true })
    167 vim.api.nvim_set_hl(0, 'gitcommitDiscardedFile', { fg = gui08, ctermfg = cterm08, bold = true })
    168 vim.api.nvim_set_hl(0, 'gitcommitSelectedFile', { fg = gui0B, ctermfg = cterm0B, bold = true })
    169 
    170 -- GitGutter highlighting
    171 vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 })
    172 vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 })
    173 vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 })
    174 vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui01, ctermfg = cterm0E, ctermbg = cterm01 })
    175 
    176 -- HTML highlighting
    177 vim.api.nvim_set_hl(0, 'htmlBold', { fg = gui0A, ctermfg = cterm0A })
    178 vim.api.nvim_set_hl(0, 'htmlItalic', { fg = gui0E, ctermfg = cterm0E })
    179 vim.api.nvim_set_hl(0, 'htmlEndTag', { fg = gui05, ctermfg = cterm05 })
    180 vim.api.nvim_set_hl(0, 'htmlTag', { fg = gui05, ctermfg = cterm05 })
    181 
    182 -- JavaScript highlighting
    183 vim.api.nvim_set_hl(0, 'javaScript', { fg = gui05, ctermfg = cterm05 })
    184 vim.api.nvim_set_hl(0, 'javaScriptBraces', { fg = gui05, ctermfg = cterm05 })
    185 vim.api.nvim_set_hl(0, 'javaScriptNumber', { fg = gui09, ctermfg = cterm09 })
    186 
    187 -- pangloss/vim-javascript highlighting
    188 vim.api.nvim_set_hl(0, 'jsOperator', { fg = gui0D, ctermfg = cterm0D })
    189 vim.api.nvim_set_hl(0, 'jsStatement', { fg = gui0E, ctermfg = cterm0E })
    190 vim.api.nvim_set_hl(0, 'jsReturn', { fg = gui0E, ctermfg = cterm0E })
    191 vim.api.nvim_set_hl(0, 'jsThis', { fg = gui08, ctermfg = cterm08 })
    192 vim.api.nvim_set_hl(0, 'jsClassDefinition', { fg = gui0A, ctermfg = cterm0A })
    193 vim.api.nvim_set_hl(0, 'jsFunction', { fg = gui0E, ctermfg = cterm0E })
    194 vim.api.nvim_set_hl(0, 'jsFuncName', { fg = gui0D, ctermfg = cterm0D })
    195 vim.api.nvim_set_hl(0, 'jsFuncCall', { fg = gui0D, ctermfg = cterm0D })
    196 vim.api.nvim_set_hl(0, 'jsClassFuncName', { fg = gui0D, ctermfg = cterm0D })
    197 vim.api.nvim_set_hl(0, 'jsClassMethodType', { fg = gui0E, ctermfg = cterm0E })
    198 vim.api.nvim_set_hl(0, 'jsRegexpString', { fg = gui0C, ctermfg = cterm0C })
    199 vim.api.nvim_set_hl(0, 'jsGlobalObjects', { fg = gui0A, ctermfg = cterm0A })
    200 vim.api.nvim_set_hl(0, 'jsGlobalNodeObjects', { fg = gui0A, ctermfg = cterm0A })
    201 vim.api.nvim_set_hl(0, 'jsExceptions', { fg = gui0A, ctermfg = cterm0A })
    202 vim.api.nvim_set_hl(0, 'jsBuiltins', { fg = gui0A, ctermfg = cterm0A })
    203 
    204 -- LSP highlighting
    205 vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultError', { fg = gui08, ctermfg = cterm08 })
    206 vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultWarning', { fg = gui09, ctermfg = cterm09 })
    207 vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultHnformation', { fg = gui05, ctermfg = cterm05 })
    208 vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultHint', { fg = gui03, ctermfg = cterm03 })
    209 
    210 -- Mail highlighting
    211 vim.api.nvim_set_hl(0, 'mailQuoted1', { fg = gui0A, ctermfg = cterm0A })
    212 vim.api.nvim_set_hl(0, 'mailQuoted2', { fg = gui0B, ctermfg = cterm0B })
    213 vim.api.nvim_set_hl(0, 'mailQuoted3', { fg = gui0E, ctermfg = cterm0E })
    214 vim.api.nvim_set_hl(0, 'mailQuoted4', { fg = gui0C, ctermfg = cterm0C })
    215 vim.api.nvim_set_hl(0, 'mailQuoted5', { fg = gui0D, ctermfg = cterm0D })
    216 vim.api.nvim_set_hl(0, 'mailQuoted6', { fg = gui0A, ctermfg = cterm0A })
    217 vim.api.nvim_set_hl(0, 'mailURL', { fg = gui0D, ctermfg = cterm0D })
    218 vim.api.nvim_set_hl(0, 'mailEmail', { fg = gui0D, ctermfg = cterm0D })
    219 
    220 -- Markdown highlighting
    221 vim.api.nvim_set_hl(0, 'markdownCode', { fg = gui0B, ctermfg = cterm0B })
    222 vim.api.nvim_set_hl(0, 'markdownError', { fg = gui05, bg = gui00, ctermfg = cterm05, ctermbg = cterm00 })
    223 vim.api.nvim_set_hl(0, 'markdownCodeBlock', { fg = gui0B, ctermfg = cterm0B })
    224 vim.api.nvim_set_hl(0, 'markdownHeadingDelimiter', { fg = gui0D, ctermfg = cterm0D })
    225 
    226 -- NERDTree highlighting
    227 vim.api.nvim_set_hl(0, 'NERDTreeDirSlash', { fg = gui0D, ctermfg = cterm0D })
    228 vim.api.nvim_set_hl(0, 'NERDTreeExecFile', { fg = gui05, ctermfg = cterm05 })
    229 
    230 -- PHP highlighting
    231 vim.api.nvim_set_hl(0, 'phpMemberSelector', { fg = gui05, ctermfg = cterm05 })
    232 vim.api.nvim_set_hl(0, 'phpComparison', { fg = gui05, ctermfg = cterm05 })
    233 vim.api.nvim_set_hl(0, 'phpParent', { fg = gui05, ctermfg = cterm05 })
    234 vim.api.nvim_set_hl(0, 'phpMethodsVar', { fg = gui0C, ctermfg = cterm0C })
    235 
    236 -- Python highlighting
    237 vim.api.nvim_set_hl(0, 'pythonOperator', { fg = gui0E, ctermfg = cterm0E })
    238 vim.api.nvim_set_hl(0, 'pythonRepeat', { fg = gui0E, ctermfg = cterm0E })
    239 vim.api.nvim_set_hl(0, 'pythonInclude', { fg = gui0E, ctermfg = cterm0E })
    240 vim.api.nvim_set_hl(0, 'pythonStatement', { fg = gui0E, ctermfg = cterm0E })
    241 
    242 -- Ruby highlighting
    243 vim.api.nvim_set_hl(0, 'rubyAttribute', { fg = gui0D, ctermfg = cterm0D })
    244 vim.api.nvim_set_hl(0, 'rubyConstant', { fg = gui0A, ctermfg = cterm0A })
    245 vim.api.nvim_set_hl(0, 'rubyInterpolationDelimiter', { fg = gui0F, ctermfg = cterm0F })
    246 vim.api.nvim_set_hl(0, 'rubyRegexp', { fg = gui0C, ctermfg = cterm0C })
    247 vim.api.nvim_set_hl(0, 'rubySymbol', { fg = gui0B, ctermfg = cterm0B })
    248 vim.api.nvim_set_hl(0, 'rubyStringDelimiter', { fg = gui0B, ctermfg = cterm0B })
    249 
    250 -- SASS highlighting
    251 vim.api.nvim_set_hl(0, 'sassidChar', { fg = gui08, ctermfg = cterm08 })
    252 vim.api.nvim_set_hl(0, 'sassClassChar', { fg = gui09, ctermfg = cterm09 })
    253 vim.api.nvim_set_hl(0, 'sassInclude', { fg = gui0E, ctermfg = cterm0E })
    254 vim.api.nvim_set_hl(0, 'sassMixing', { fg = gui0E, ctermfg = cterm0E })
    255 vim.api.nvim_set_hl(0, 'sassMixinName', { fg = gui0D, ctermfg = cterm0D })
    256 
    257 -- Signify highlighting
    258 vim.api.nvim_set_hl(0, 'SignifySignAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 })
    259 vim.api.nvim_set_hl(0, 'SignifySignChange', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 })
    260 vim.api.nvim_set_hl(0, 'SignifySignDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 })
    261 
    262 -- Spelling highlighting
    263 vim.api.nvim_set_hl(0, 'SpellBad', { undercurl = true })
    264 vim.api.nvim_set_hl(0, 'SpellLocal', { undercurl = true })
    265 vim.api.nvim_set_hl(0, 'SpellCap', { undercurl = true })
    266 vim.api.nvim_set_hl(0, 'SpellRare', { undercurl = true })
    267 
    268 -- Startify highlighting
    269 vim.api.nvim_set_hl(0, 'StartifyBracket', { fg = gui03, ctermfg = cterm03 })
    270 vim.api.nvim_set_hl(0, 'StartifyFile', { fg = gui07, ctermfg = cterm07 })
    271 vim.api.nvim_set_hl(0, 'StartifyFooter', { fg = gui03, ctermfg = cterm03 })
    272 vim.api.nvim_set_hl(0, 'StartifyHeader', { fg = gui0B, ctermfg = cterm0B })
    273 vim.api.nvim_set_hl(0, 'StartifyNumber', { fg = gui09, ctermfg = cterm09 })
    274 vim.api.nvim_set_hl(0, 'StartifyPath', { fg = gui03, ctermfg = cterm03 })
    275 vim.api.nvim_set_hl(0, 'StartifySection', { fg = gui0E, ctermfg = cterm0E })
    276 vim.api.nvim_set_hl(0, 'StartifySelect', { fg = gui0C, ctermfg = cterm0C })
    277 vim.api.nvim_set_hl(0, 'StartifySlash', { fg = gui03, ctermfg = cterm03 })
    278 vim.api.nvim_set_hl(0, 'StartifySpecial', { fg = gui03, ctermfg = cterm03 })
    279 
    280 -- Java highlighting
    281 vim.api.nvim_set_hl(0, 'javaOperator', { fg = gui0D, ctermfg = cterm0D })
    282 
    283 -- vim: filetype=lua
    284 -- end color
    285 
    286 vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = 'background' })
    287 vim.api.nvim_set_hl(0, 'WinBar', { fg = gui03, bg = 'background' })
    288 vim.api.nvim_set_hl(0, 'WinBarNC', { fg = gui03, bg = 'background' })
    289 vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = 'background' })
    290 vim.api.nvim_set_hl(0, 'StatusLine', { fg = gui03, bg = 'background' })
    291 vim.api.nvim_set_hl(0, 'StatusLineNC', { fg = gui03, bg = 'background' })
    292 vim.api.nvim_set_hl(0, 'TreesitterContext', {})
    293 -- vim.api.nvim_set_hl(0, 'TreesitterContextBottom', { underline = true, sp = 'foreground' })
    294 vim.api.nvim_set_hl(0, 'NormalFloat', {})
    295 vim.api.nvim_set_hl(0, 'WinSeparator', {})
    296 vim.api.nvim_set_hl(0, 'FloatBorder', {})
    297 vim.api.nvim_set_hl(0, 'Identifier', { fg = gui05, ctermfg = cterm05 })
    298 
    299 vim.api.nvim_set_hl(0, 'Beacon', { bg = 'fg' })
    300 vim.api.nvim_set_hl(0, 'LspInlayHint', { fg = gui04 })
    301 
    302 -- cmp
    303 vim.api.nvim_set_hl(0, 'CmpItemKindFunction', { fg = gui0E })
    304 vim.api.nvim_set_hl(0, 'CmpItemKindMethod', { link = 'CmpItemKindFunction' })
    305 vim.api.nvim_set_hl(0, 'CmpItemKindClass', { fg = gui0A })
    306 vim.api.nvim_set_hl(0, 'CmpItemKindConstructor', { fg = gui0D })
    307 
    308 -- Diff highlighting
    309 vim.api.nvim_set_hl(0, 'DiffAdd', { fg = gui0B, bg = gui00 })
    310 vim.api.nvim_set_hl(0, 'DiffChange', { fg = gui03, bg = gui00 })
    311 vim.api.nvim_set_hl(0, 'DiffDelete', { fg = gui08, bg = gui00 })
    312 vim.api.nvim_set_hl(0, 'DiffText', { fg = gui0D, bg = gui00 })
    313 vim.api.nvim_set_hl(0, 'DiffAdded', { fg = gui0B, bg = gui00 })
    314 vim.api.nvim_set_hl(0, 'DiffFile', { fg = gui08, bg = gui00 })
    315 vim.api.nvim_set_hl(0, 'DiffNewFile', { fg = gui0B, bg = gui00 })
    316 vim.api.nvim_set_hl(0, 'DiffLine', { fg = gui0D, bg = gui00 })
    317 vim.api.nvim_set_hl(0, 'DiffRemoved', { fg = gui08, bg = gui00 })
    318 
    319 -- GitGutter highlighting
    320 vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui00 })
    321 vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui00 })
    322 vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui00 })
    323 vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui00 })
    324 
    325 vim.api.nvim_set_hl(0, 'NeoCodeiumSuggestion', { fg = gui04 })
    326 
    327 vim.api.nvim_set_hl(0, 'LspReferenceText', { underline = true })
    328 vim.api.nvim_set_hl(0, 'LspReferenceRead', { undercurl = true })
    329 
    330 -- Diagnostic
    331 vim.api.nvim_set_hl(0, 'DiagnosticError', { fg = gui08, ctermfg = cterm08 })
    332 vim.api.nvim_set_hl(0, 'DiagnosticWarn', { fg = gui09, ctermfg = cterm09 })
    333 vim.api.nvim_set_hl(0, 'DiagnosticInfo', { fg = gui05, ctermfg = cterm05 })
    334 vim.api.nvim_set_hl(0, 'DiagnosticHint', { fg = gui03, ctermfg = cterm03 })
    335 -- vim.api.nvim_set_hl(0, 'DiagnosticFloatingError', { link = 'DiagnosticError' })
    336 -- vim.api.nvim_set_hl(0, 'DiagnosticFloatingWarn', { link = 'DiagnosticWarn' })
    337 -- vim.api.nvim_set_hl(0, 'DiagnosticFloatingInfo', { link = 'DiagnosticInfo' })
    338 -- vim.api.nvim_set_hl(0, 'DiagnosticFloatingHint', { link = 'DiagnosticHint' })
    339 
    340 -- LSP highlighting
    341 -- Hide all semantic highlights
    342 -- for _, group in ipairs(vim.fn.getcompletion('@lsp', 'highlight')) do
    343 --   vim.api.nvim_set_hl(0, group, {})
    344 -- end
    345 
    346 -- vim.api.nvim_set_hl(0, '@lsp.type.enum', {})
    347 vim.api.nvim_set_hl(0, '@lsp.type.class', { link = 'Type' })
    348 vim.api.nvim_set_hl(0, '@lsp.type.keyword', { link = 'Keyword' })
    349 vim.api.nvim_set_hl(0, '@lsp.mod.annotation', { italic = true })
    350 vim.api.nvim_set_hl(0, '@lsp.type.type', { bold = true })
    351 vim.api.nvim_set_hl(0, '@type.qualifier', { link = 'Keyword' })
    352 vim.api.nvim_set_hl(0, '@variable.builtin', { link = 'Type' })
    353 vim.api.nvim_set_hl(0, '@conceal', { link = 'Conceal' })
    354 vim.api.nvim_set_hl(0, '@text.reference', { link = 'Keyword' })
    355 
    356 vim.api.nvim_set_hl(0, '@lsp.type.string.dart', {})
    357 vim.api.nvim_set_hl(0, '@variable.builtin.dart', { link = 'Keyword' })