Full Code of ishan9299/nvim-solarized-lua for AI

master d69a263c97cb cached
12 files
118.5 KB
38.0k tokens
1 requests
Download .txt
Repository: ishan9299/nvim-solarized-lua
Branch: master
Commit: d69a263c97cb
Files: 12
Total size: 118.5 KB

Directory structure:
gitextract_lte40lew/

├── .gitignore
├── LICENSE
├── README.md
├── colors/
│   ├── solarized-flat.lua
│   ├── solarized-high.lua
│   ├── solarized-low.lua
│   └── solarized.lua
└── lua/
    └── solarized/
        ├── solarized-flat/
        │   └── highlights.lua
        ├── solarized-high/
        │   └── highlights.lua
        ├── solarized-low/
        │   └── highlights.lua
        ├── solarized-normal/
        │   └── highlights.lua
        └── utils/
            └── init.lua

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
lua/solarized/tmp.lua
lua/solarized/solarized-flat/tmp.lua
lua/solarized/solarized-high/tmp.lua
lua/solarized/solarized-high/tmp.vim
lua/solarized/solarized-low/tmp.lua
lua/solarized/solarized-low/tmp.vim
lua/solarized/solarized-normal/tmp.vim


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2021 ishan9299

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Solarized Neovim

This aims to be a complete port [vim-solarized8](https://github.com/lifepillar/vim-solarized8) with support for lua
plugins, LSP and Treesitter for neovim 0.5.

## NOTE
Also added 8 bit color support.(Can't be a complete port if the theme isn't accessible for all neovim users.)
I used this Javascript [code](https://gist.github.com/ishan9299/d87713b43dc04d49fa060711fdc7dd6d) to convert the rgb to
neared 8 bit color.

## Installation

### VIM Packages
```
git submodule add --name nvim-solarized-lua https://github.com/ishan9299/nvim-solarized-lua
pack/packages/start/solarized
```

### Plug
```
Plug 'ishan9299/nvim-solarized-lua'
```

## Options
- **italics**
Enable italics for comments (default: enabled)

```lua
vim.g.solarized_italics = 1
```

- **visibility**
SpecialChars (like trailing whitespace and tabs) visibility
  + low
  + normal (default)
  + high

```lua
vim.g.solarized_visibility = 'normal'
```

- **diffmode**
  + low
  + normal (default)
  + high
 
```lua
vim.g.solarized_diffmode = 'normal'
```

- **termtrans**
If you want to keep the transparency in your terminal (default: disabled)

```lua
-- To enable transparency
if vim.fn.has('gui_running') == 0 then
    vim.g.solarized_termtrans = 0
else
    vim.g.solarized_termtrans = 1
end
```

- **statusline**
  + low
  + flat
  + normal (default)

 ```lua
 vim.g.solarized_statusline = 'normal'
 ```
  **NOTE** :-
  - If you set statusline option's `normal` and `flat` are the same when using the solarized-flat colorscheme.
  - This option doesn't affect the lua line plugin it has it's own solarized theme.

## Variants

- **solarized**

The normal solarized scheme.  
`vim.cmd('colorscheme solarized')`

- **solarized-high**

This one has a higher contrast ratio.  
`vim.cmd('colorscheme solarized-high')`

- **solarized-flat**

This is the flat variant.  
`vim.cmd('colorscheme solarized-flat')`

- **solarized-low**

This is the low contrast option.  
`vim.cmd('colorscheme solarized-low')`

## Screenshots
![Screenshot from 2021-05-12 10-01-23](https://user-images.githubusercontent.com/47824004/117919013-e00da400-b309-11eb-845a-a54f675e7a90.png)


## TODO

- ~~The light colorscheme~~
- Plugins :-  
   - [x] LSP  
   - [x] Treesitter  
   - [x] Telescope  
   - [x] FZF  
   - [x] lualine  
   - [x] lspsaga
   - [x] nvim-navic

# NOTE
- Thanks for lifepillar's vim-solarized8 for providing most of the highlights and color codes for this scheme.
- If you have an issue with the highlight groups in theme open an issue but also mention the variant of the colorscheme
  you are using.
- If any more plugins are needed then open an issue.

## Maybe Checkout
- [modus-theme-vim](https://github.com/ishan9299/modus-theme-vim)


================================================
FILE: colors/solarized-flat.lua
================================================
local solarized_flat = require('solarized.solarized-flat.highlights')
local lightColors = {
	none = {'none', 'none'},
	base2   = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base02  = {'#eee8d5',230},
	base3   = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base1   = {'#586e75',102},
	base0   = {'#657b83',103},
	base00  = {'#839496',145},
	violet  = {'#6c71c4',104},
	base01  = {'#93a1a1',145},
	base03  = {'#fdf6e3',231},
	back    = {'#fdf6e3',231},
	err_bg = {'#fdf6e3',231}
}
local darkColors = {
	none = {'none', 'none'},
	base02 = {'#073642',23},
	red = {'#dc322f',203},
	green = {'#859900',142},
	yellow = {'#b58900',178},
	blue = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan = {'#2aa198',37},
	base2 = {'#eee8d5',230},
	base03 = {'#002b36',23},
	back = {'#002b36',23},
	orange = {'#cb4b16',166},
	base01 = {'#586e75',102},
	base00 = {'#657b83',103},
	base0 = {'#839496',145},
	violet = {'#6c71c4',104},
	base1 = {'#93a1a1',145},
	base3 = {'#fdf6e3',231},
	err_bg = {'#fdf6e3',231}
}

if vim.o.bg == 'light' then
	solarized_flat.load_syntax(lightColors)
	solarized_flat.terminal_colors(lightColors)
end

if vim.o.bg == 'dark' then
	solarized_flat.load_syntax(darkColors)
	solarized_flat.terminal_colors(darkColors)
end


================================================
FILE: colors/solarized-high.lua
================================================
local solarized_high = require('solarized.solarized-high.highlights')
local lightColors = {
	none = {'none', 'none'},
	base2   = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base02  = {'#eee8d5',230},
	base3   = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base1   = {'#586e75',102},
	base0   = {'#657b83',103},
	base00  = {'#839496',145},
	violet  = {'#6c71c4',104},
	base01  = {'#93a1a1',145},
	base03  = {'#fdf6e3',231},
	back    = {'#fdf6e3',231},
	err_bg = {'#fdf6e3',231}
}
local darkColors = {
	none = {'none', 'none'},
	base02  = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base1   = {'#eee8d5',230},
	base03  = {'#002b36',23},
	back    = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base01  = {'#657b83',103},
	base00  = {'#839496',145},
	violet  = {'#6c71c4',104},
	base0   = {'#93a1a1',145},
	base2   = {'#fdf6e3',231},
	base3   = {'#fdf6e3',231},
	err_bg = {'#fdf6e3',231}
}

if vim.o.bg == 'light' then
	solarized_high.load_syntax(lightColors)
	solarized_high.terminal_colors(lightColors)
end

if vim.o.bg == 'dark' then
	solarized_high.load_syntax(darkColors)
	solarized_high.terminal_colors(darkColors)
end



================================================
FILE: colors/solarized-low.lua
================================================
local solarized_low = require('solarized.solarized-low.highlights')
local lightColors = {
	none = {'none', 'none'},
	base2   = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base02  = {'#eee8d5',230},
	back    = {'#eee8d5',230},
	base3   = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base1   = {'#586e75',102},
	base0   = {'#657b83',103},
	base00  = {'#839496',145},
	violet  = {'#6c71c4',104},
	base01  = {'#93a1a1',145},
	base03  = {'#fdf6e3',231},
	err_bg = {'#fdf6e3',231}
}
local darkColors = {
	none = {'none', 'none'},
	base02  = {'#073642',23},
	back    = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base2   = {'#eee8d5',230},
	base03  = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base01  = {'#586e75',102},
	base00  = {'#657b83',103},
	base0   = {'#839496',145},
	violet  = {'#6c71c4',104},
	base1   = {'#93a1a1',145},
	base3   = {'#fdf6e3',231},
	err_bg = {'#fdf6e3',231}
}

if vim.o.bg == 'light' then
	solarized_low.load_syntax(lightColors)
	solarized_low.terminal_colors(lightColors)
end

if vim.o.bg == 'dark' then
	solarized_low.load_syntax(darkColors)
	solarized_low.terminal_colors(darkColors)
end


================================================
FILE: colors/solarized.lua
================================================
local solarized_normal = require('solarized.solarized-normal.highlights')
local darkColors = {
	none = {'none', 'none'},
	base02  = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base2   = {'#eee8d5',230},
	base03  = {'#002b36',23},
	back    = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base01  = {'#586e75',102},
	base00  = {'#657b83',103},
	base0   = {'#839496',145},
	violet  = {'#6c71c4',104},
	base1   = {'#93a1a1',145},
	base3   = {'#fdf6e3',231},
	err_bg  = {'#fdf6e3',231}
}

local lightColors = {
	none = {'none', 'none'},
	base2   = {'#073642',23},
	red     = {'#dc322f',203},
	green   = {'#859900',142},
	yellow  = {'#b58900',178},
	blue    = {'#268bd2',38},
	magenta = {'#d33682',169},
	cyan    = {'#2aa198',37},
	base02  = {'#eee8d5',230},
	base3   = {'#002b36',23},
	orange  = {'#cb4b16',166},
	base1   = {'#586e75',102},
	base0   = {'#657b83',103},
	base00  = {'#839496',145},
	violet  = {'#6c71c4',104},
	base01  = {'#93a1a1',145},
	base03  = {'#fdf6e3',231},
	back    = {'#fdf6e3',231},
	err_bg  = {'#fdf6e3',231}
}

if vim.o.bg == 'light' then
	solarized_normal.load_syntax(lightColors)
	solarized_normal.terminal_colors(lightColors)
end

if vim.o.bg == 'dark' then
	solarized_normal.load_syntax(darkColors)
	solarized_normal.terminal_colors(darkColors)
end


================================================
FILE: lua/solarized/solarized-flat/highlights.lua
================================================
local M = {}
local cmd = vim.cmd
local g = vim.g
local o = vim.o
local fn = vim.fn
local utils = require('solarized.utils')
local colors

cmd('hi clear')

utils.default_settings()

if fn.exists("syntax_on") then
	cmd('syntax reset')
end

g.colors_name = 'solarized-flat'

function M.load_syntax(colors)
	local syntax = {}
	syntax['Normal'] = {fg=colors.base0,bg=utils.termtrans(colors.base03)}
	syntax['CursorLine'] = {fg=colors.none,bg=utils.termtrans(colors.base02)}
	syntax['Terminal'] = syntax['Normal']
	syntax['ToolbarButton'] = {fg=colors.base1,bg=utils.termtrans(colors.base02),style='bold'}
	syntax['ToolbarLine'] = {fg=colors.none,bg=utils.termtrans(colors.base02)}

	if g.solarized_visibility == 'high' then
		syntax['CursorLineNr'] = {fg=colors.orange,style='bold'}
		syntax['NonText'] = {fg=colors.orange,style='bold'}
		syntax['SpecialKey'] = {fg=colors.orange,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,bg=colors.base2,guisp=colors.red,style='reverse,underline'}
		syntax['SpellCap'] = {fg=colors.violet,bg=colors.base2,guisp=colors.red,style='reverse,underline'}
		syntax['SpellLocal'] = {fg=colors.yellow,bg=colors.base2,guisp=colors.red,style='reverse,underline'}
		syntax['SpellRare'] = {fg=colors.cyan,bg=colors.base2,guisp=colors.red,style='reverse,underline'}
		syntax['Title'] = {fg=colors.yellow,style='bold',cterm='bold'}
	elseif g.solarized_visibility == 'low' then
		syntax['CursorLineNr'] = {fg=colors.base01,style='bold'}
		syntax['NonText'] = {fg=colors.base02,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base02,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.violet,style='underline'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.violet,style='underline'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='underline'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='underline'}
		syntax['Title'] = {fg=colors.base01,style='bold',cterm='bold'}
	else
		syntax['CursorLineNr'] = {fg=colors.base0,style='bold'}
		syntax['NonText'] = {fg=colors.base00,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base00,bg=colors.base02,style='bold'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.violet,style='underline'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.violet,style='underline'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='underline'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='underline'}
		syntax['Title'] = {fg=colors.orange,style='bold',cterm='bold'}
	end

	if g.solarized_diffmode == 'high' then
		syntax['DiffAdd'] = {fg=colors.green,style='reverse'}
		syntax['DiffChange'] = {fg=colors.yellow,style='reverse'}
		syntax['DiffDelete'] = {fg=colors.red,style='reverse'}
		syntax['DiffText'] = {fg=colors.blue,style='reverse'}
	elseif g.solarized_diffmode == 'low' then
		syntax['DiffAdd'] = {fg=colors.green,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,guisp=colors.blue}
	else
		syntax['DiffAdd'] = {fg=colors.green,bg=colors.base02,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,bg=colors.base02,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,bg=colors.base02,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,bg=colors.base02,guisp=colors.blue}
	end

	if g.solarized_statusline == 'low' then
		syntax['StatusLine'] = {fg=colors.base02,bg=colors.base1,style='bold,reverse'}
		syntax['StatusLineNC'] = {fg=colors.base02,bg=colors.base01,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base1,bg=colors.base02}
		syntax['NormalMode'] = {fg=colors.base02,bg=colors.base1,style='bold,reverse'}
	elseif g.solarized_statusline == 'flat' then
		syntax['StatusLine'] = {fg=colors.base02,bg=colors.base2,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base02,bg=colors.base1,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base2,bg=colors.base02}
		syntax['NormalMode'] = {fg=colors.base02,bg=colors.base2,style='reverse'}
	else
		syntax['StatusLine'] = {fg=colors.base02,bg=colors.base2,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base02,bg=colors.base1,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base2,bg=colors.base02}
		syntax['NormalMode'] = {fg=colors.base02,bg=colors.base2,style='reverse'}
	end

	syntax['ColorColumn'] = {fg=colors.none,bg=colors.base02}
	syntax['Conceal'] = {fg=colors.blue}
	syntax['CursorColumn'] = {fg=colors.none,bg=colors.base02}
	syntax['Directory'] = {fg=colors.blue}
	syntax['EndOfBuffer'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['ErrorMsg'] = {fg=colors.red,bg=colors.err_bg,style='reverse'}
	syntax['FoldColumn'] = {fg=colors.base0}
	syntax['Folded'] = {fg=colors.base0,guisp=colors.base03,style='bold'}
	syntax['IncSearch'] = {fg=colors.orange,style='standout'}
	syntax['LineNr'] = {fg=colors.base01}
	syntax['MatchParen'] = {fg=colors.base3,bg=colors.base02,style='bold'}
	syntax['ModeMsg'] = {fg=colors.blue}
	syntax['MoreMsg'] = {fg=colors.blue}
	syntax['Pmenu'] = {fg=colors.base0,bg=colors.base02}
	syntax['PmenuSbar'] = {fg=colors.none,bg=colors.base02}
	syntax['PmenuSel'] = {fg=colors.base2,bg=colors.base01}
	syntax['PmenuThumb'] = {fg=colors.none,bg=colors.base01}
	syntax['Question'] = {fg=colors.cyan,style='bold'}
	syntax['Search'] = {fg=colors.yellow,style='reverse'}
	syntax['SignColumn'] = {fg=colors.base0}
	syntax['TabLine'] = {fg=colors.base01,bg=colors.base02}
	syntax['TabLineFill'] = {fg=colors.base01,bg=colors.base02}
	syntax['VertSplit'] = {fg=colors.base01}
	syntax['Visual'] = {fg=colors.base01,bg=colors.base03,style='reverse'}
	syntax['VisualNOS'] = {fg=colors.none,bg=colors.base02,style='reverse'}
	syntax['WarningMsg'] = {fg=colors.orange,style='bold'}
	syntax['WildMenu'] = {fg=colors.base00,bg=colors.base2,style='reverse'}
	syntax['Comment'] = {fg=colors.base01,style=utils.italics()}
	syntax['Constant'] = {fg=colors.cyan}
	syntax['CursorIM'] = {fg=colors.none,bg=colors.base0}
	syntax['Error'] = {fg=colors.red,bg=colors.err_bg,style='bold,reverse'}
	syntax['Identifier'] = {fg=colors.blue}
	syntax['Ignore'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['PreProc'] = {fg=colors.orange}
	syntax['Special'] = {fg=colors.orange}
	syntax['Statement'] = {fg=colors.green}
	syntax['Todo'] = {fg=colors.magenta,style='bold'}
	syntax['Type'] = {fg=colors.yellow}
	syntax['Underlined'] = {fg=colors.violet}
	syntax['InsertMode'] = {fg=colors.base02,bg=colors.cyan,style='bold,reverse'}
	syntax['ReplaceMode'] = {fg=colors.base02,bg=colors.orange,style='bold,reverse'}
	syntax['VisualMode'] = {fg=colors.base02,bg=colors.magenta,style='bold,reverse'}
	syntax['CommandMode'] = {fg=colors.base02,bg=colors.magenta,style='bold,reverse'}
	syntax['vimCommentString'] = {fg=colors.violet}
	syntax['vimCommand'] = {fg=colors.yellow}
	syntax['vimCmdSep'] = {fg=colors.blue,style='bold'}
	syntax['helpExample'] = {fg=colors.base1}
	syntax['helpOption'] = {fg=colors.cyan}
	syntax['helpNote'] = {fg=colors.magenta}
	syntax['helpVim'] = {fg=colors.magenta}
	syntax['helpHyperTextJump'] = {fg=colors.blue}
	syntax['helpHyperTextEntry'] = {fg=colors.green}
	syntax['vimIsCommand'] = {fg=colors.base00}
	syntax['vimSynMtchOpt'] = {fg=colors.yellow}
	syntax['vimSynType'] = {fg=colors.cyan}
	syntax['vimHiLink'] = {fg=colors.blue}
	syntax['vimHiGroup'] = {fg=colors.blue}
	syntax['vimGroup'] = {fg=colors.blue,style='bold'}
	syntax['gitcommitComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['gitcommitUnmerged'] = {fg=colors.green,style='bold'}
	syntax['gitcommitOnBranch'] = {fg=colors.base01,style='bold'}
	syntax['gitcommitBranch'] = {fg=colors.magenta,style='bold'}
	syntax['gitcommitUnmerged'] = {fg=colors.green,style='bold'}
	syntax['gitcommitOnBranch'] = {fg=colors.base01,style='bold'}
	syntax['gitcommitBranch'] = {fg=colors.magenta,style='bold'}
	syntax['gitcommitdiscardedtype'] = {fg=colors.red}
	syntax['gitcommitselectedtype'] = {fg=colors.green}
	syntax['gitcommitHeader'] = {fg=colors.base01}
	syntax['gitcommitUntrackedFile'] = {fg=colors.cyan,style='bold'}
	syntax['gitcommitDiscardedFile'] = {fg=colors.red,style='bold'}
	syntax['gitcommitSelectedFile'] = {fg=colors.green,style='bold'}
	syntax['gitcommitUnmergedFile'] = {fg=colors.yellow,style='bold'}
	syntax['gitcommitFile'] = {fg=colors.base0,style='bold'}
	syntax['htmlTag'] = {fg=colors.base01}
	syntax['htmlEndTag'] = {fg=colors.base01}
	syntax['htmlTagN'] = {fg=colors.base1,style='bold'}
	syntax['htmlTagName'] = {fg=colors.blue,style='bold'}
	syntax['htmlSpecialTagName'] = {fg=colors.blue,style=utils.italics()}
	syntax['htmlArg'] = {fg=colors.base00}
	syntax['javaScript'] = {fg=colors.yellow}
	syntax['perlHereDoc'] = {fg=colors.base1}
	syntax['perlVarPlain'] = {fg=colors.yellow}
	syntax['perlStatementFileDesc'] = {fg=colors.cyan}
	syntax['texstatement'] = {fg=colors.cyan}
	syntax['texmathzonex'] = {fg=colors.yellow}
	syntax['texmathmatcher'] = {fg=colors.yellow}
	syntax['texreflabel'] = {fg=colors.yellow}
	syntax['rubyDefine'] = {fg=colors.base1,style='bold'}
	syntax['rubyBoolean'] = {fg=colors.magenta}
	syntax['cPreCondit'] = {fg=colors.orange}
	syntax['VarId'] = {fg=colors.blue}
	syntax['ConId'] = {fg=colors.yellow}
	syntax['hsImport'] = {fg=colors.magenta}
	syntax['hsString'] = {fg=colors.base00}
	syntax['hsStructure'] = {fg=colors.cyan}
	syntax['hs_hlFunctionName'] = {fg=colors.blue}
	syntax['hsStatement'] = {fg=colors.cyan}
	syntax['hsImportLabel'] = {fg=colors.cyan}
	syntax['hs_OpFunctionName'] = {fg=colors.yellow}
	syntax['hs_DeclareFunction'] = {fg=colors.orange}
	syntax['hsVarSym'] = {fg=colors.cyan}
	syntax['hsType'] = {fg=colors.yellow}
	syntax['hsTypedef'] = {fg=colors.cyan}
	syntax['hsModuleName'] = {fg=colors.green}
	syntax['hsNiceOperator'] = {fg=colors.cyan}
	syntax['hsniceoperator'] = {fg=colors.cyan}
	syntax['pandocTitleBlock'] = {fg=colors.blue}
	syntax['pandocTitleBlockTitle'] = {fg=colors.blue,style='bold'}
	syntax['pandocTitleComment'] = {fg=colors.blue,style='bold'}
	syntax['pandocComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['pandocVerbatimBlock'] = {fg=colors.yellow}
	syntax['pandocBlockQuote'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader1'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader2'] = {fg=colors.cyan}
	syntax['pandocBlockQuoteLeader3'] = {fg=colors.yellow}
	syntax['pandocBlockQuoteLeader4'] = {fg=colors.red}
	syntax['pandocBlockQuoteLeader5'] = {fg=colors.base0}
	syntax['pandocBlockQuoteLeader6'] = {fg=colors.base01}
	syntax['pandocListMarker'] = {fg=colors.magenta}
	syntax['pandocListReference'] = {fg=colors.magenta}
	syntax['pandocDefinitionBlock'] = {fg=colors.violet}
	syntax['pandocDefinitionTerm'] = {fg=colors.violet,style='standout'}
	syntax['pandocDefinitionIndctr'] = {fg=colors.violet,style='bold'}
	syntax['pandocEmphasisDefinition'] = {fg=colors.violet,style=utils.italics()}
	syntax['pandocEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrikeoutDefinition'] = {fg=colors.violet,style='reverse'}
	syntax['pandocVerbatimInlineDefinition'] = {fg=colors.violet}
	syntax['pandocSuperscriptDefinition'] = {fg=colors.violet}
	syntax['pandocSubscriptDefinition'] = {fg=colors.violet}
	syntax['pandocTable'] = {fg=colors.blue}
	syntax['pandocTableStructure'] = {fg=colors.blue}
	syntax['pandocTableZebraLight'] = {fg=colors.blue,bg=colors.base03}
	syntax['pandocTableZebraDark'] = {fg=colors.blue,bg=colors.base02}
	syntax['pandocEmphasisTable'] = {fg=colors.blue,style=utils.italics()}
	syntax['pandocEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrikeoutTable'] = {fg=colors.blue,style='reverse'}
	syntax['pandocVerbatimInlineTable'] = {fg=colors.blue}
	syntax['pandocSuperscriptTable'] = {fg=colors.blue}
	syntax['pandocSubscriptTable'] = {fg=colors.blue}
	syntax['pandocHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocHeadingMarker'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrikeoutHeading'] = {fg=colors.orange,style='reverse'}
	syntax['pandocVerbatimInlineHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSuperscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSubscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocLinkDelim'] = {fg=colors.base01}
	syntax['pandocLinkLabel'] = {fg=colors.blue}
	syntax['pandocLinkText'] = {fg=colors.blue}
	syntax['pandocLinkURL'] = {fg=colors.base00}
	syntax['pandocLinkTitle'] = {fg=colors.base00}
	syntax['pandocLinkTitleDelim'] = {fg=colors.base01,guisp=colors.base00}
	syntax['pandocLinkDefinition'] = {fg=colors.cyan,guisp=colors.base00}
	syntax['pandocLinkDefinitionID'] = {fg=colors.blue,style='bold'}
	syntax['pandocImageCaption'] = {fg=colors.violet,style='bold'}
	syntax['pandocFootnoteLink'] = {fg=colors.green}
	syntax['pandocFootnoteDefLink'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnoteInline'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnote'] = {fg=colors.green}
	syntax['pandocCitationDelim'] = {fg=colors.magenta}
	syntax['pandocCitation'] = {fg=colors.magenta}
	syntax['pandocCitationID'] = {fg=colors.magenta}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocStyleDelim'] = {fg=colors.base01}
	syntax['pandocEmphasis'] = {fg=colors.base0,style=utils.italics()}
	syntax['pandocEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrikeout'] = {fg=colors.base01,style='reverse'}
	syntax['pandocVerbatimInline'] = {fg=colors.yellow}
	syntax['pandocSuperscript'] = {fg=colors.violet}
	syntax['pandocSubscript'] = {fg=colors.violet}
	syntax['pandocRule'] = {fg=colors.blue,style='bold'}
	syntax['pandocRuleLine'] = {fg=colors.blue,style='bold'}
	syntax['pandocEscapePair'] = {fg=colors.red,style='bold'}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocNonBreakingSpace'] = {fg=colors.red,style='reverse'}
	syntax['pandocMetadataDelim'] = {fg=colors.base01}
	syntax['pandocMetadata'] = {fg=colors.blue}
	syntax['pandocMetadataKey'] = {fg=colors.blue}
	syntax['pandocMetadata'] = {fg=colors.blue,style='bold'}

	-- link
	syntax['Boolean'] = syntax['Constant']
	syntax['Character'] = syntax['Constant']
	syntax['Conditional'] = syntax['Statement']
	syntax['Debug'] = syntax['Special']
	syntax['Define'] = syntax['PreProc']
	syntax['Delimiter'] = syntax['Special']
	syntax['Exception'] = syntax['Statement']
	syntax['Float'] = syntax['Constant']
	syntax['FloatBorder'] = syntax['VertSplit']
	syntax['Function'] = syntax['Identifier']
	syntax['Include'] = syntax['PreProc']
	syntax['Keyword'] = syntax['Statement']
	syntax['Label'] = syntax['Statement']
	syntax['Macro'] = syntax['PreProc']
	syntax['Number'] = syntax['Constant']
	syntax['Operator'] = syntax['Statement']
	syntax['PreCondit'] = syntax['PreProc']
	syntax['QuickFixLine'] = syntax['Search']
	syntax['Repeat'] = syntax['Statement']
	syntax['SpecialChar'] = syntax['Special']
	syntax['SpecialComment'] = syntax['Special']
	syntax['StatusLineTerm'] = syntax['StatusLine']
	syntax['StatusLineTermNC'] = syntax['StatusLineNC']
	syntax['StorageClass'] = syntax['Type']
	syntax['String'] = syntax['Constant']
	syntax['Structure'] = syntax['Type']
	syntax['Tag'] = syntax['Special']
	syntax['Typedef'] = syntax['Type']
	syntax['lCursor'] = syntax['Cursor']

	syntax['vimVar'] = syntax['Identifier']
	syntax['vimFunc'] = syntax['Function']
	syntax['vimUserFunc'] = syntax['Function']
	syntax['helpSpecial'] = syntax['Special']
	syntax['vimSet'] = syntax['Normal']
	syntax['vimSetEqual'] = syntax['Normal']
	syntax['diffAdded'] = syntax['Statement']
	syntax['diffLine'] = syntax['Identifier']
	syntax['gitcommitUntracked'] = syntax['gitcommitComment']
	syntax['gitcommitDiscarded'] = syntax['gitcommitComment']
	syntax['gitcommitSelected'] = syntax['gitcommitComment']
	syntax['gitcommitNoBranch'] = syntax['gitcommitBranch']
	syntax['gitcommitDiscardedArrow'] = syntax['gitcommitDiscardedFile']
	syntax['gitcommitSelectedArrow'] = syntax['gitcommitSelectedFile']
	syntax['gitcommitUnmergedArrow'] = syntax['gitcommitUnmergedFile']
	syntax['jsFuncCall'] = syntax['Function']
	syntax['rubySymbol'] = syntax['String']
	syntax['hsImportParams'] = syntax['Delimiter']
	syntax['hsDelimTypeExport'] = syntax['Delimiter']
	syntax['hsModuleStartLabel'] = syntax['hsStructure']
	syntax['hsModuleWhereLabel'] = syntax['hsModuleStartLabel']
	syntax['pandocVerbatimBlockDeep'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlock'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlockDelim'] = syntax['pandocVerbatimBlock']
	syntax['pandocTableStructureTop'] = syntax['pandocTableStructre']
	syntax['pandocTableStructureEnd'] = syntax['pandocTableStructre']
	syntax['pandocEscapedCharacter'] = syntax['pandocEscapePair']
	syntax['pandocLineBreak'] = syntax['pandocEscapePair']
	syntax['pandocMetadataTitle'] = syntax['pandocMetadata']

	-- TreeSitter
	-- syntax['TSAnnotation'] = syntax['']
	syntax['TSBoolean'] = syntax['Constant']
	syntax['TSCharacter'] = syntax['Constant']
	syntax['TSComment'] = syntax['Comment']
	syntax['TSConditional'] = syntax['Conditional']
	syntax['TSConstant'] = syntax['Constant']
	syntax['TSConstBuiltin'] = syntax['Constant']
	syntax['TSConstMacro'] = syntax['Constant']
	syntax['TSError'] = {fg=colors.red}
	syntax['TSException'] = syntax['Exception']
	syntax['TSField'] = syntax['Identifier']
	syntax['TSFloat'] = syntax['Float']
	syntax['TSFunction'] = syntax['Function']
	syntax['TSFuncBuiltin'] = syntax['Function']
	syntax['TSFuncMacro'] = syntax['Function']
	syntax['TSInclude'] = syntax['Include']
	syntax['TSKeyword'] = syntax['Keyword']
	syntax['TSLabel'] = syntax['Label']
	syntax['TSMethod'] = syntax['Function']
	syntax['TSNamespace'] = syntax['Identifier']
	syntax['TSNumber'] = syntax['Constant']
	syntax['TSOperator'] = syntax['Operator']
	syntax['TSParameterReference'] = syntax['Identifier']
	syntax['TSProperty'] = syntax['TSField']
	syntax['TSPunctDelimiter'] = syntax['Delimiter']
	syntax['TSPunctBracket'] = syntax['Delimiter']
	syntax['TSPunctSpecial'] = syntax['Special']
	syntax['TSRepeat'] = syntax['Repeat']
	syntax['TSString'] = syntax['Constant']
	syntax['TSStringRegex'] = syntax['Constant']
	syntax['TSStringEscape'] = syntax['Constant']
	syntax['TSStrong'] = {fg=colors.base1,bg=colors.base03,style='bold',cterm='none'}
	syntax['TSConstructor'] = syntax['Function']
	syntax['TSKeywordFunction'] = syntax['Identifier']
	syntax['TSLiteral'] = syntax['Normal']
	syntax['TSParameter'] = syntax['Identifier']
	syntax['TSVariable'] = {fg=colors.base0}
	syntax['TSVariableBuiltin'] = syntax['Identifier']
	syntax['TSTag'] = syntax['Special']
	syntax['TSTagDelimiter'] = syntax['Delimiter']
	syntax['TSTitle'] = syntax['Title']
	syntax['TSType'] = syntax['Type']
	syntax['TSTypeBuiltin'] = syntax['Type']
	-- syntax['TSEmphasis'] = syntax['']

	syntax['DiagnosticError'] = {fg=colors.red,guisp=colors.red,style='none'}
	syntax['DiagnosticWarn'] = {fg=colors.yellow,guisp=colors.yellow,style='none'}
	syntax['DiagnosticInfo'] = {fg=colors.cyan,guisp=colors.cyan,style='none'}
	syntax['DiagnosticHint'] = {fg=colors.green,guisp=colors.green,style='none'}
	syntax['DiagnosticUnderlineError'] = {fg=colors.none,guisp=colors.red,style='underline'}
	syntax['DiagnosticUnderlineWarn'] = {fg=colors.none,guisp=colors.yellow,style='underline'}
	syntax['DiagnosticUnderlineInfo'] = {fg=colors.none,guisp=colors.cyan,style='underline'}
	syntax['DiagnosticUnderlineHint'] = {fg=colors.none,guisp=colors.green,style='underline'}

	syntax['LspReferenceRead'] = {fg=colors.none,style='underline'}
	syntax['LspReferenceText'] = syntax['LspReferenceRead']
	syntax['LspReferenceWrite'] = {fg=colors.none,style='underline,bold'}

	syntax['LspSagaFinderSelection'] = syntax['Search']
	syntax['TargetWord'] = syntax['Title']

	syntax['GitSignsAdd'] = syntax['DiffAdd']
	syntax['GitSignsChange'] = syntax['DiffChange']
	syntax['GitSignsDelete'] = syntax['DiffDelete']

	syntax['VGitSignAdd'] = syntax['DiffAdd']
	syntax['VgitSignChange'] = syntax['DiffChange']
	syntax['VGitSignRemove'] = syntax['DiffDelete']

	-- nvim-cmp syntax support
	syntax['CmpDocumentation' ] = {fg=colors.base1, bg=colors.base02 }
	syntax['CmpDocumentationBorder' ] = {fg=colors.base1, bg=colors.base02 }

	syntax['CmpItemAbbr' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemAbbrDeprecated' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemAbbrMatch' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemAbbrMatchFuzzy' ] = {fg=colors.base1, bg=colors.none }

	syntax['CmpItemKindDefault' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemMenu' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindKeyword' ] = {fg=colors.yellow, bg=colors.none }
	syntax['CmpItemKindVariable' ] = {fg=colors.green, bg=colors.none }
	syntax['CmpItemKindConstant' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindReference' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindValue' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindFunction' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindMethod' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindConstructor' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindClass' ] = {fg=colors.red, bg=colors.none }
	syntax['CmpItemKindInterface' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindStruct' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindEvent' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindEnum' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindUnit' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindModule' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindProperty' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindField' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindTypeParameter' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindEnumMember' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindOperator' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindSnippet' ] = {fg=colors.orange, bg=colors.none }

	syntax['NavicIconsFile'] = syntax['CmpItemKindFile']
	syntax['NavicIconsModule'] = syntax['CmpItemKindModule']
	syntax['NavicIconsNamespace'] = syntax['CmpItemKindModule']
	syntax['NavicIconsPackage'] = syntax['CmpItemKindModule']
	syntax['NavicIconsClass'] = syntax['CmpItemKindClass']
	syntax['NavicIconsMethod'] = syntax['CmpItemKindMethod']
	syntax['NavicIconsProperty'] = syntax['CmpItemKindProperty']
	syntax['NavicIconsField'] = syntax['CmpItemKindField']
	syntax['NavicIconsConstructor'] = syntax['CmpItemKindConstructor']
	syntax['NavicIconsEnum'] = syntax['CmpItemKindEnum']
	syntax['NavicIconsInterface'] = syntax['CmpItemKindInterface']
	syntax['NavicIconsFunction'] = syntax['CmpItemKindFunction']
	syntax['NavicIconsVariable'] = syntax ['CmpItemKindVariable']
	syntax['NavicIconsConstant'] = syntax['CmpItemKindConstant']
	syntax['NavicIconsString'] = syntax['String']
	syntax['NavicIconsNumber'] = syntax['Number']
	syntax['NavicIconsBoolean'] = syntax['Boolean']
	syntax['NavicIconsArray'] = syntax['CmpItemKindClass']
	syntax['NavicIconsObject'] = syntax['CmpItemKindClass']
	syntax['NavicIconsKey'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsKeyword'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsNull'] =  {fg=colors.blue, bg=colors.none }
	syntax['NavicIconsEnumMember'] = syntax['CmpItemKindEnumMember']
	syntax['NavicIconsStruct'] = syntax['CmpItemKindStruct']
	syntax['NavicIconsEvent'] = syntax['CmpItemKindEvent']
	syntax['NavicIconsOperator'] = syntax['CmpItemKindOperator']
	syntax['NavicIconsTypeParameter'] = syntax['CmpItemKindTypeParameter']
	syntax['NavicText'] = syntax['LineNr']
	syntax['NavicSeparator'] = syntax['Comment']



	for group, highlights in pairs(syntax) do
		utils.highlighter(group, highlights)
	end
end

function M.terminal_colors(colors)
	g.terminal_color_0 = colors.base02[1] -- '#073642'
	g.terminal_color_1 = colors.red[1] -- '#dc322f'
	g.terminal_color_2 = colors.green[1] -- '#859900'
	g.terminal_color_3 = colors.yellow[1] -- '#b58900'
	g.terminal_color_4 = colors.blue[1] -- '#268bd2'
	g.terminal_color_5 = colors.magenta[1] -- '#d33682'
	g.terminal_color_6 = colors.cyan[1] -- '#2aa198'
	g.terminal_color_7 = colors.base2[1] -- '#eee8d5'
	g.terminal_color_8 = colors.base03[1] -- '#002b36'
	g.terminal_color_9 = colors.orange[1] -- '#cb4b16'
	g.terminal_color_10 = colors.base01[1] -- '#586e75'
	g.terminal_color_11 = colors.base00[1] -- '#657b83'
	g.terminal_color_12 = colors.base0[1] -- '#839496'
	g.terminal_color_13 = colors.violet[1] -- '#6c71c4'
	g.terminal_color_14 = colors.base1[1] -- '#93a1a1'
	g.terminal_color_15 = colors.base3[1] -- '#fdf6e3'
end

return M


================================================
FILE: lua/solarized/solarized-high/highlights.lua
================================================
local M = {}
local cmd = vim.cmd
local g = vim.g
local o = vim.o
local fn = vim.fn
local utils = require('solarized.utils')
local colors

cmd('hi clear')

utils.default_settings()

if fn.exists("syntax_on") then
	cmd('syntax reset')
end

g.colors_name = 'solarized-high'

function M.load_syntax(colors)

	local syntax = {}

	syntax['Normal'] = {fg=colors.base1,bg=utils.termtrans(colors.base03)}
	syntax['FoldColumn'] = {fg=colors.base0,bg=utils.termtrans(colors.base02)}
	syntax['Folded'] = {fg=colors.base0,bg=utils.termtrans(colors.base02),guisp=colors.base03,style='bold'}
	syntax['LineNr'] = {fg=colors.base01,bg=utils.termtrans(colors.base02)}
	syntax['Terminal'] = syntax['Normal']


	if g.solarized_visibility == 'high' then
		syntax['CursorLineNr'] = {fg=colors.orange,bg=utils.termtrans(colors.base02),style='bold'}
		syntax['NonText'] = {fg=colors.orange,style='bold'}
		syntax['SpecialKey'] = {fg=colors.orange,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,bg=colors.base3,guisp=colors.red,style='reverse,underline'}
		syntax['SpellCap'] = {fg=colors.violet,bg=colors.base3,guisp=colors.red,style='reverse,underline'}
		syntax['SpellLocal'] = {fg=colors.yellow,bg=colors.base3,guisp=colors.red,style='reverse,underline'}
		syntax['SpellRare'] = {fg=colors.cyan,bg=colors.base3,guisp=colors.red,style='reverse,underline'}
		syntax['Title'] = {fg=colors.yellow,style='bold'}
	elseif g.solarized_visibility == 'low' then
		syntax['CursorLineNr'] = {fg=colors.base01,bg=utils.termtrans(colors.base02),style='bold'}
		syntax['NonText'] = {fg=colors.base02,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base02,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.orange,style='underline'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.orange,style='underline'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='underline'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='underline'}
		syntax['Title'] = {fg=colors.base01,style='bold'}
	else
		syntax['CursorLineNr'] = {fg=colors.base0,bg=utils.termtrans(colors.base02),style='bold'}
		syntax['NonText'] = {fg=colors.base00,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base00,bg=colors.base02,style='bold'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.orange,style='underline'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.orange,style='underline'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='underline'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='underline'}
		syntax['Title'] = {fg=colors.orange,style='bold'}
	end

	if g.solarized_diffmode == 'high' then
		syntax['DiffAdd'] = {fg=colors.green,style='reverse'}
		syntax['DiffChange'] = {fg=colors.yellow,style='reverse'}
		syntax['DiffDelete'] = {fg=colors.red,style='reverse'}
		syntax['DiffText'] = {fg=colors.blue,style='reverse'}
	elseif g.solarized_diffmode == 'low' then
		syntax['DiffAdd'] = {fg=colors.green,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,guisp=colors.blue}
	else
		syntax['DiffAdd'] = {fg=colors.green,bg=colors.base02,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,bg=colors.base02,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,bg=colors.base02,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,bg=colors.base02,guisp=colors.blue}
	end

	if g.solarized_statusline == 'low' then
		syntax['StatusLine'] = {fg=colors.base01,bg=colors.base3,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLine'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLineFill'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base0,bg=colors.base3,style='reverse'}
		syntax['VertSplit'] = {fg=colors.base01}
	elseif g.solarized_statusline == 'flat' then
		syntax['StatusLine'] = {fg=colors.base02,bg=colors.base3,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base02,bg=colors.base1,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base3,bg=colors.base02}
		syntax['TabLine'] = {fg=colors.base01,bg=colors.base02}
		syntax['TabLineFill'] = {fg=colors.base01,bg=colors.base02}
		syntax['VertSplit'] = {fg=colors.base02}
	else
		syntax['StatusLine'] = {fg=colors.base0,bg=colors.base02,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLine'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLineFill'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base0,bg=colors.base02,style='reverse'}
		syntax['VertSplit'] = {fg=colors.base01}
	end



	syntax['ColorColumn'] = {fg=colors.none,bg=colors.base02}
	syntax['Conceal'] = {fg=colors.blue}
	syntax['CursorColumn'] = {fg=colors.none,bg=colors.base02}
	syntax['CursorLine'] = {fg=colors.none,bg=colors.base02,guisp=colors.base1}
	syntax['Directory'] = {fg=colors.blue}
	syntax['EndOfBuffer'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['ErrorMsg'] = {fg=colors.red,bg=colors.err_bg,style='reverse'}
	syntax['IncSearch'] = {fg=colors.orange,style='standout'}
	syntax['MatchParen'] = {fg=colors.base3,bg=colors.base02,style='bold'}
	syntax['ModeMsg'] = {fg=colors.blue}
	syntax['MoreMsg'] = {fg=colors.blue}
	syntax['Pmenu'] = {fg=colors.base1,bg=colors.base02}
	syntax['PmenuSbar'] = {fg=colors.none,bg=colors.base0}
	syntax['PmenuSel'] = {fg=colors.base3,bg=colors.base01}
	syntax['PmenuThumb'] = {fg=colors.none,bg=colors.base01}
	syntax['Question'] = {fg=colors.cyan,style='bold'}
	syntax['Search'] = {fg=colors.yellow,style='reverse'}
	syntax['SignColumn'] = {fg=colors.base0}
	syntax['Visual'] = {fg=colors.base01,bg=colors.base03,style='reverse'}
	syntax['VisualNOS'] = {fg=colors.none,bg=colors.base02,style='reverse'}
	syntax['WarningMsg'] = {fg=colors.orange,style='bold'}
	syntax['WildMenu'] = {fg=colors.base3,bg=colors.base02,style='reverse'}
	syntax['Comment'] = {fg=colors.base00,style=utils.italics()}
	syntax['Constant'] = {fg=colors.cyan}
	syntax['Error'] = {fg=colors.red,bg=colors.err_bg,style='bold,reverse'}
	syntax['Identifier'] = {fg=colors.blue}
	syntax['Ignore'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['PreProc'] = {fg=colors.orange}
	syntax['Special'] = {fg=colors.orange}
	syntax['Statement'] = {fg=colors.green}
	syntax['Todo'] = {fg=colors.magenta,style='bold'}
	syntax['Type'] = {fg=colors.yellow}
	syntax['Underlined'] = {fg=colors.violet}
	syntax['CursorIM'] = {fg=colors.none,bg=colors.base1}
	syntax['ToolbarLine'] = {fg=colors.none,bg=colors.base02}
	syntax['ToolbarButton'] = {fg=colors.base1,bg=colors.base02,style='bold'}
	syntax['NormalMode'] = {fg=colors.base0,bg=colors.base3,style='reverse'}
	syntax['InsertMode'] = {fg=colors.cyan,bg=colors.base3,style='reverse'}
	syntax['ReplaceMode'] = {fg=colors.orange,bg=colors.base3,style='reverse'}
	syntax['VisualMode'] = {fg=colors.magenta,bg=colors.base3,style='reverse'}
	syntax['CommandMode'] = {fg=colors.magenta,bg=colors.base3,style='reverse'}
	syntax['vimCommentString'] = {fg=colors.violet}
	syntax['vimCommand'] = {fg=colors.yellow}
	syntax['vimCmdSep'] = {fg=colors.blue,style='bold'}
	syntax['helpExample'] = {fg=colors.base1}
	syntax['helpOption'] = {fg=colors.cyan}
	syntax['helpNote'] = {fg=colors.magenta}
	syntax['helpVim'] = {fg=colors.magenta}
	syntax['helpHyperTextJump'] = {fg=colors.blue}
	syntax['helpHyperTextEntry'] = {fg=colors.green}
	syntax['vimIsCommand'] = {fg=colors.base00}
	syntax['vimSynMtchOpt'] = {fg=colors.yellow}
	syntax['vimSynType'] = {fg=colors.cyan}
	syntax['vimHiLink'] = {fg=colors.blue}
	syntax['vimHiGroup'] = {fg=colors.blue}
	syntax['vimGroup'] = {fg=colors.blue,style='bold'}
	syntax['vimCommentString'] = {fg=colors.violet}
	syntax['vimCommand'] = {fg=colors.yellow}
	syntax['vimCmdSep'] = {fg=colors.blue,style='bold'}
	syntax['helpExample'] = {fg=colors.base1}
	syntax['helpOption'] = {fg=colors.cyan}
	syntax['helpNote'] = {fg=colors.magenta}
	syntax['helpVim'] = {fg=colors.magenta}
	syntax['helpHyperTextJump'] = {fg=colors.blue}
	syntax['helpHyperTextEntry'] = {fg=colors.green}
	syntax['vimIsCommand'] = {fg=colors.base00}
	syntax['vimSynMtchOpt'] = {fg=colors.yellow}
	syntax['vimSynType'] = {fg=colors.cyan}
	syntax['vimHiLink'] = {fg=colors.blue}
	syntax['vimHiGroup'] = {fg=colors.blue}
	syntax['vimGroup'] = {fg=colors.blue,style='bold'}
	syntax['gitcommitComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['gitcommitUnmerged'] = {fg=colors.green,style='bold'}
	syntax['gitcommitOnBranch'] = {fg=colors.base01,style='bold'}
	syntax['gitcommitBranch'] = {fg=colors.magenta,style='bold'}
	syntax['gitcommitdiscardedtype'] = {fg=colors.red}
	syntax['gitcommitselectedtype'] = {fg=colors.green}
	syntax['gitcommitHeader'] = {fg=colors.base01}
	syntax['gitcommitUntrackedFile'] = {fg=colors.cyan,style='bold'}
	syntax['gitcommitDiscardedFile'] = {fg=colors.red,style='bold'}
	syntax['gitcommitSelectedFile'] = {fg=colors.green,style='bold'}
	syntax['gitcommitUnmergedFile'] = {fg=colors.yellow,style='bold'}
	syntax['gitcommitFile'] = {fg=colors.base0,style='bold'}
	syntax['htmlTag'] = {fg=colors.base01}
	syntax['htmlEndTag'] = {fg=colors.base01}
	syntax['htmlTagN'] = {fg=colors.base1,style='bold'}
	syntax['htmlTagName'] = {fg=colors.blue,style='bold'}
	syntax['htmlSpecialTagName'] = {fg=colors.blue,style=utils.italics()}
	syntax['htmlArg'] = {fg=colors.base00}
	syntax['javaScript'] = {fg=colors.yellow}
	syntax['perlHereDoc'] = {fg=colors.base1}
	syntax['perlVarPlain'] = {fg=colors.yellow}
	syntax['perlStatementFileDesc'] = {fg=colors.cyan}
	syntax['texstatement'] = {fg=colors.cyan}
	syntax['texmathzonex'] = {fg=colors.yellow}
	syntax['texmathmatcher'] = {fg=colors.yellow}
	syntax['texreflabel'] = {fg=colors.yellow}
	syntax['rubyDefine'] = {fg=colors.base1,style='bold'}
	syntax['rubyBoolean'] = {fg=colors.magenta}
	syntax['cPreCondit'] = {fg=colors.orange}
	syntax['VarId'] = {fg=colors.blue}
	syntax['ConId'] = {fg=colors.yellow}
	syntax['hsImport'] = {fg=colors.magenta}
	syntax['hsString'] = {fg=colors.base00}
	syntax['hsStructure'] = {fg=colors.cyan}
	syntax['hs_hlFunctionName'] = {fg=colors.blue}
	syntax['hsStatement'] = {fg=colors.cyan}
	syntax['hsImportLabel'] = {fg=colors.cyan}
	syntax['hs_OpFunctionName'] = {fg=colors.yellow}
	syntax['hs_DeclareFunction'] = {fg=colors.orange}
	syntax['hsVarSym'] = {fg=colors.cyan}
	syntax['hsType'] = {fg=colors.yellow}
	syntax['hsTypedef'] = {fg=colors.cyan}
	syntax['hsModuleName'] = {fg=colors.green}
	syntax['hsNiceOperator'] = {fg=colors.cyan}
	syntax['hsniceoperator'] = {fg=colors.cyan}
	syntax['pandocTitleBlock'] = {fg=colors.blue}
	syntax['pandocTitleBlockTitle'] = {fg=colors.blue,style='bold'}
	syntax['pandocTitleComment'] = {fg=colors.blue,style='bold'}
	syntax['pandocComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['pandocVerbatimBlock'] = {fg=colors.yellow}
	syntax['pandocBlockQuote'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader1'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader2'] = {fg=colors.cyan}
	syntax['pandocBlockQuoteLeader3'] = {fg=colors.yellow}
	syntax['pandocBlockQuoteLeader4'] = {fg=colors.red}
	syntax['pandocBlockQuoteLeader5'] = {fg=colors.base0}
	syntax['pandocBlockQuoteLeader6'] = {fg=colors.base01}
	syntax['pandocListMarker'] = {fg=colors.magenta}
	syntax['pandocListReference'] = {fg=colors.magenta}
	syntax['pandocDefinitionBlock'] = {fg=colors.violet}
	syntax['pandocDefinitionTerm'] = {fg=colors.violet,style='standout'}
	syntax['pandocDefinitionIndctr'] = {fg=colors.violet,style='bold'}
	syntax['pandocEmphasisDefinition'] = {fg=colors.violet,style=utils.italics()}
	syntax['pandocEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrikeoutDefinition'] = {fg=colors.violet,style='reverse'}
	syntax['pandocVerbatimInlineDefinition'] = {fg=colors.violet}
	syntax['pandocSuperscriptDefinition'] = {fg=colors.violet}
	syntax['pandocSubscriptDefinition'] = {fg=colors.violet}
	syntax['pandocTable'] = {fg=colors.blue}
	syntax['pandocTableStructure'] = {fg=colors.blue}
	syntax['pandocTableZebraLight'] = {fg=colors.blue,bg=colors.base03}
	syntax['pandocTableZebraDark'] = {fg=colors.blue,bg=colors.base02}
	syntax['pandocEmphasisTable'] = {fg=colors.blue,style=utils.italics()}
	syntax['pandocEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrikeoutTable'] = {fg=colors.blue,style='reverse'}
	syntax['pandocVerbatimInlineTable'] = {fg=colors.blue}
	syntax['pandocSuperscriptTable'] = {fg=colors.blue}
	syntax['pandocSubscriptTable'] = {fg=colors.blue}
	syntax['pandocHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocHeadingMarker'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrikeoutHeading'] = {fg=colors.orange,style='reverse'}
	syntax['pandocVerbatimInlineHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSuperscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSubscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocLinkDelim'] = {fg=colors.base01}
	syntax['pandocLinkLabel'] = {fg=colors.blue}
	syntax['pandocLinkText'] = {fg=colors.blue}
	syntax['pandocLinkURL'] = {fg=colors.base00}
	syntax['pandocLinkTitle'] = {fg=colors.base00}
	syntax['pandocLinkTitleDelim'] = {fg=colors.base01,guisp=colors.base00}
	syntax['pandocLinkDefinition'] = {fg=colors.cyan,guisp=colors.base00}
	syntax['pandocLinkDefinitionID'] = {fg=colors.blue,style='bold'}
	syntax['pandocImageCaption'] = {fg=colors.violet,style='bold'}
	syntax['pandocFootnoteLink'] = {fg=colors.green}
	syntax['pandocFootnoteDefLink'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnoteInline'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnote'] = {fg=colors.green}
	syntax['pandocCitationDelim'] = {fg=colors.magenta}
	syntax['pandocCitation'] = {fg=colors.magenta}
	syntax['pandocCitationID'] = {fg=colors.magenta}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocStyleDelim'] = {fg=colors.base01}
	syntax['pandocEmphasis'] = {fg=colors.base0,style=utils.italics()}
	syntax['pandocEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrikeout'] = {fg=colors.base01,style='reverse'}
	syntax['pandocVerbatimInline'] = {fg=colors.yellow}
	syntax['pandocSuperscript'] = {fg=colors.violet}
	syntax['pandocSubscript'] = {fg=colors.violet}
	syntax['pandocRule'] = {fg=colors.blue,style='bold'}
	syntax['pandocRuleLine'] = {fg=colors.blue,style='bold'}
	syntax['pandocEscapePair'] = {fg=colors.red,style='bold'}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocNonBreakingSpace'] = {fg=colors.red,style='reverse'}
	syntax['pandocMetadataDelim'] = {fg=colors.base01}
	syntax['pandocMetadata'] = {fg=colors.blue}
	syntax['pandocMetadataKey'] = {fg=colors.blue}
	syntax['pandocMetadata'] = {fg=colors.blue,style='bold'}

	-- link
	syntax['Boolean'] = syntax['Constant']
	syntax['Character'] = syntax['Constant']
	syntax['Conditional'] = syntax['Statement']
	syntax['Debug'] = syntax['Special']
	syntax['Define'] = syntax['PreProc']
	syntax['Delimiter'] = syntax['Special']
	syntax['Exception'] = syntax['Statement']
	syntax['Float'] = syntax['Constant']
	syntax['FloatBorder'] = syntax['VertSplit']
	syntax['Function'] = syntax['Identifier']
	syntax['Include'] = syntax['PreProc']
	syntax['Keyword'] = syntax['Statement']
	syntax['Label'] = syntax['Statement']
	syntax['Macro'] = syntax['PreProc']
	syntax['Number'] = syntax['Constant']
	syntax['Operator'] = syntax['Statement']
	syntax['PreCondit'] = syntax['PreProc']
	syntax['QuickFixLine'] = syntax['Search']
	syntax['Repeat'] = syntax['Statement']
	syntax['SpecialChar'] = syntax['Special']
	syntax['SpecialComment'] = syntax['Special']
	syntax['StatusLineTerm'] = syntax['StatusLine']
	syntax['StatusLineTermNC'] = syntax['StatusLineNC']
	syntax['StorageClass'] = syntax['Type']
	syntax['String'] = syntax['Constant']
	syntax['Structure'] = syntax['Type']
	syntax['Tag'] = syntax['Special']
	syntax['Typedef'] = syntax['Type']
	syntax['lCursor'] = syntax['Cursor']
	syntax['vimVar'] = syntax['Identifier']
	syntax['vimFunc'] = syntax['Function']
	syntax['vimUserFunc'] = syntax['Function']
	syntax['helpSpecial'] = syntax['Special']
	syntax['vimSet'] = syntax['Normal']
	syntax['vimSetEqual'] = syntax['Normal']
	syntax['diffAdded'] = syntax['Statement']
	syntax['diffLine'] = syntax['Identifier']
	syntax['gitcommitUntracked'] = syntax['gitcommitComment']
	syntax['gitcommitDiscarded'] = syntax['gitcommitComment']
	syntax['gitcommitSelected'] = syntax['gitcommitComment']
	syntax['gitcommitNoBranch'] = syntax['gitcommitBranch']
	syntax['gitcommitDiscardedArrow'] = syntax['gitcommitDiscardedFile']
	syntax['gitcommitSelectedArrow'] = syntax['gitcommitSelectedFile']
	syntax['gitcommitUnmergedArrow'] = syntax['gitcommitUnmergedFile']
	syntax['jsFuncCall'] = syntax['Function']
	syntax['rubySymbol'] = syntax['String']
	syntax['hsImportParams'] = syntax['Delimiter']
	syntax['hsDelimTypeExport'] = syntax['Delimiter']
	syntax['hsModuleStartLabel'] = syntax['hsStructure']
	syntax['hsModuleWhereLabel'] = syntax['hsModuleStartLabel']
	syntax['pandocVerbatimBlockDeep'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlock'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlockDelim'] = syntax['pandocVerbatimBlock']
	syntax['pandocTableStructureTop'] = syntax['pandocTableStructre']
	syntax['pandocTableStructureEnd'] = syntax['pandocTableStructre']
	syntax['pandocEscapedCharacter'] = syntax['pandocEscapePair']
	syntax['pandocLineBreak'] = syntax['pandocEscapePair']
	syntax['pandocMetadataTitle'] = syntax['pandocMetadata']

	-- TreeSitter
	-- syntax['TSAnnotation'] = syntax['']
	syntax['TSBoolean'] = syntax['Constant']
	syntax['TSCharacter'] = syntax['Constant']
	syntax['TSComment'] = syntax['Comment']
	syntax['TSConditional'] = syntax['Conditional']
	syntax['TSConstant'] = syntax['Constant']
	syntax['TSConstBuiltin'] = syntax['Constant']
	syntax['TSConstMacro'] = syntax['Constant']
	syntax['TSError'] = {fg=colors.red}
	syntax['TSException'] = syntax['Exception']
	syntax['TSField'] = syntax['Identifier']
	syntax['TSFloat'] = syntax['Float']
	syntax['TSFunction'] = syntax['Function']
	syntax['TSFuncBuiltin'] = syntax['Function']
	syntax['TSFuncMacro'] = syntax['Function']
	syntax['TSInclude'] = syntax['Include']
	syntax['TSKeyword'] = syntax['Keyword']
	syntax['TSLabel'] = syntax['Label']
	syntax['TSMethod'] = syntax['Function']
	syntax['TSNamespace'] = syntax['Identifier']
	syntax['TSNumber'] = syntax['Constant']
	syntax['TSOperator'] = syntax['Operator']
	syntax['TSParameterReference'] = syntax['Identifier']
	syntax['TSProperty'] = syntax['TSField']
	syntax['TSPunctDelimiter'] = syntax['Delimiter']
	syntax['TSPunctBracket'] = syntax['Delimiter']
	syntax['TSPunctSpecial'] = syntax['Special']
	syntax['TSRepeat'] = syntax['Repeat']
	syntax['TSString'] = syntax['Constant']
	syntax['TSStringRegex'] = syntax['Constant']
	syntax['TSStringEscape'] = syntax['Constant']
	syntax['TSStrong'] = {fg=colors.base1,bg=colors.base03,style='bold'}
	syntax['TSConstructor'] = syntax['Function']
	syntax['TSKeywordFunction'] = syntax['Identifier']
	syntax['TSLiteral'] = syntax['Normal']
	syntax['TSParameter'] = syntax['Identifier']
	syntax['TSVariable'] = {fg=colors.base1}
	syntax['TSVariableBuiltin'] = syntax['Identifier']
	syntax['TSTag'] = syntax['Special']
	syntax['TSTagDelimiter'] = syntax['Delimiter']
	syntax['TSTitle'] = syntax['Title']
	syntax['TSType'] = syntax['Type']
	syntax['TSTypeBuiltin'] = syntax['Type']
	-- syntax['TSEmphasis'] = syntax['']

	syntax['DiagnosticError'] = {fg=colors.red,guisp=colors.red,style='none'}
	syntax['DiagnosticWarn'] = {fg=colors.yellow,guisp=colors.yellow,style='none'}
	syntax['DiagnosticInfo'] = {fg=colors.cyan,guisp=colors.cyan,style='none'}
	syntax['DiagnosticHint'] = {fg=colors.green,guisp=colors.green,style='none'}
	syntax['DiagnosticUnderlineError'] = {fg=colors.none,guisp=colors.red,style='underline'}
	syntax['DiagnosticUnderlineWarn'] = {fg=colors.none,guisp=colors.yellow,style='underline'}
	syntax['DiagnosticUnderlineInfo'] = {fg=colors.none,guisp=colors.cyan,style='underline'}
	syntax['DiagnosticUnderlineHint'] = {fg=colors.none,guisp=colors.green,style='underline'}

	syntax['LspReferenceRead'] = {fg=colors.none,style='underline'}
	syntax['LspReferenceText'] = syntax['LspReferenceRead']
	syntax['LspReferenceWrite'] = {fg=colors.none,style='underline,bold'}

	syntax['LspSagaFinderSelection'] = syntax['Search']
	syntax['TargetWord'] = syntax['Title']

	syntax['GitSignsAdd'] = syntax['DiffAdd']
	syntax['GitSignsChange'] = syntax['DiffChange']
	syntax['GitSignsDelete'] = syntax['DiffDelete']
	-- syntax['GitSignsAddNr'] = syntax['DiffAdd']
	-- syntax['GitSignsChangeNr'] = syntax['DiffChange']
	-- syntax['GitSignsDeleteNr'] = syntax['DiffDelete']
	-- syntax['GitSignsAddLn'] = syntax['DiffAdd']
	-- syntax['GitSignsChangeLn'] = syntax['DiffChange']
	-- syntax['GitSignsDeleteLn'] = syntax['DiffDelete']

	syntax['VGitSignAdd'] = syntax['DiffAdd']
	syntax['VgitSignChange'] = syntax['DiffChange']
	syntax['VGitSignRemove'] = syntax['DiffDelete']

	-- nvim-cmp syntax support
	syntax['CmpDocumentation' ] = {fg=colors.base3, bg=colors.base03 }
	syntax['CmpDocumentationBorder' ] = {fg=colors.base3, bg=colors.base03 }

	syntax['CmpItemAbbr' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemAbbrDeprecated' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemAbbrMatch' ] = {fg=colors.base3, bg=colors.none }
	syntax['CmpItemAbbrMatchFuzzy' ] = {fg=colors.base3, bg=colors.none }

	syntax['CmpItemKindDefault' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemMenu' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindKeyword' ] = {fg=colors.yellow, bg=colors.none }
	syntax['CmpItemKindVariable' ] = {fg=colors.green, bg=colors.none }
	syntax['CmpItemKindConstant' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindReference' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindValue' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindFunction' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindMethod' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindConstructor' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindClass' ] = {fg=colors.red, bg=colors.none }
	syntax['CmpItemKindInterface' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindStruct' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindEvent' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindEnum' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindUnit' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindModule' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindProperty' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindField' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindTypeParameter' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindEnumMember' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindOperator' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemKindSnippet' ] = {fg=colors.orange, bg=colors.none }

	syntax['NavicIconsFile'] = syntax['CmpItemKindFile']
	syntax['NavicIconsModule'] = syntax['CmpItemKindModule']
	syntax['NavicIconsNamespace'] = syntax['CmpItemKindModule']
	syntax['NavicIconsPackage'] = syntax['CmpItemKindModule']
	syntax['NavicIconsClass'] = syntax['CmpItemKindClass']
	syntax['NavicIconsMethod'] = syntax['CmpItemKindMethod']
	syntax['NavicIconsProperty'] = syntax['CmpItemKindProperty']
	syntax['NavicIconsField'] = syntax['CmpItemKindField']
	syntax['NavicIconsConstructor'] = syntax['CmpItemKindConstructor']
	syntax['NavicIconsEnum'] = syntax['CmpItemKindEnum']
	syntax['NavicIconsInterface'] = syntax['CmpItemKindInterface']
	syntax['NavicIconsFunction'] = syntax['CmpItemKindFunction']
	syntax['NavicIconsVariable'] = syntax ['CmpItemKindVariable']
	syntax['NavicIconsConstant'] = syntax['CmpItemKindConstant']
	syntax['NavicIconsString'] = syntax['String']
	syntax['NavicIconsNumber'] = syntax['Number']
	syntax['NavicIconsBoolean'] = syntax['Boolean']
	syntax['NavicIconsArray'] = syntax['CmpItemKindClass']
	syntax['NavicIconsObject'] = syntax['CmpItemKindClass']
	syntax['NavicIconsKey'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsKeyword'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsNull'] =  {fg=colors.blue, bg=colors.none }
	syntax['NavicIconsEnumMember'] = syntax['CmpItemKindEnumMember']
	syntax['NavicIconsStruct'] = syntax['CmpItemKindStruct']
	syntax['NavicIconsEvent'] = syntax['CmpItemKindEvent']
	syntax['NavicIconsOperator'] = syntax['CmpItemKindOperator']
	syntax['NavicIconsTypeParameter'] = syntax['CmpItemKindTypeParameter']
	syntax['NavicText'] = syntax['LineNr']
	syntax['NavicSeparator'] = syntax['Comment']


	for group, highlights in pairs(syntax) do
		utils.highlighter(group, highlights)
	end
end

function M.terminal_colors(colors)
	g.terminal_color_0 = colors.base02[1] -- '#073642'
	g.terminal_color_1 = colors.red[1] -- '#dc322f'
	g.terminal_color_2 = colors.green[1] -- '#859900'
	g.terminal_color_3 = colors.yellow[1] -- '#b58900'
	g.terminal_color_4 = colors.blue[1] -- '#268bd2'
	g.terminal_color_5 = colors.magenta[1] -- '#d33682'
	g.terminal_color_6 = colors.cyan[1] -- '#2aa198'
	g.terminal_color_7 = colors.base2[1] -- '#eee8d5'
	g.terminal_color_8 = colors.base03[1] -- '#002b36'
	g.terminal_color_9 = colors.orange[1] -- '#cb4b16'
	g.terminal_color_10 = colors.base01[1] -- '#586e75'
	g.terminal_color_11 = colors.base00[1] -- '#657b83'
	g.terminal_color_12 = colors.base0[1] -- '#839496'
	g.terminal_color_13 = colors.violet[1] -- '#6c71c4'
	g.terminal_color_14 = colors.base1[1] -- '#93a1a1'
	g.terminal_color_15 = colors.base3[1] -- '#fdf6e3'
end

return M


================================================
FILE: lua/solarized/solarized-low/highlights.lua
================================================
local M = {}
local cmd = vim.cmd
local g = vim.g
local o = vim.o
local fn = vim.fn
local utils = require('solarized.utils')
local colors

cmd('hi clear')

utils.default_settings()

if fn.exists("syntax_on") then
	cmd('syntax reset')
end

g.colors_name = 'solarized-low'

function M.load_syntax(colors)
	local syntax = {}

	syntax['Normal'] = {fg=colors.base0,bg=utils.termtrans(colors.base02)}
	syntax['FoldColumn'] = {fg=colors.base0,bg=utils.termtrans(colors.base02)}
	syntax['Folded'] = {fg=colors.base0,bg=utils.termtrans(colors.base02),guisp=colors.base03,style='bold'}
	syntax['LineNr'] = {fg=colors.base01,bg=utils.termtrans(colors.base02)}
	syntax['Terminal'] = syntax['Normal']
	syntax['ToolbarButton'] = {fg=colors.base1,bg=utils.termtrans(colors.base02),style='bold'}
	syntax['ToolbarLine'] = {fg=colors.none,bg=utils.termtrans(colors.base02)}

	if g.solarized_visibility == 'high' then
		syntax['CursorLineNr'] = {fg=colors.orange,bg=colors.base02,style='bold'}
		syntax['NonText'] = {fg=colors.orange,style='bold'}
		syntax['SpecialKey'] = {fg=colors.orange,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,bg=colors.base2,guisp=colors.red,style='reverse,undercurl'}
		syntax['SpellCap'] = {fg=colors.violet,bg=colors.base2,guisp=colors.red,style='reverse,undercurl'}
		syntax['SpellLocal'] = {fg=colors.yellow,bg=colors.base2,guisp=colors.red,style='reverse,undercurl'}
		syntax['SpellRare'] = {fg=colors.cyan,bg=colors.base2,guisp=colors.red,style='reverse,undercurl'}
		syntax['Title'] = {fg=colors.yellow,style='bold'}
	elseif g.solarized_visibility == 'low' then
		syntax['CursorLineNr'] = {fg=colors.base01,bg=colors.base02,style='bold'}
		syntax['NonText'] = {fg=colors.base02,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base02,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='undercurl'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='undercurl'}
		syntax['Title'] = {fg=colors.base01,style='bold'}
	else
		syntax['CursorLineNr'] = {fg=colors.base0,bg=colors.base02,style='bold'}
		syntax['NonText'] = {fg=colors.base00,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base00,bg=colors.base02,style='bold'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='undercurl'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='undercurl'}
		syntax['Title'] = {fg=colors.orange,style='bold'}
	end


	if g.solarized_diffmode == 'high' then
		syntax['DiffAdd'] = {fg=colors.green,style='reverse'}
		syntax['DiffChange'] = {fg=colors.yellow,style='reverse'}
		syntax['DiffDelete'] = {fg=colors.red,style='reverse'}
		syntax['DiffText'] = {fg=colors.blue,style='reverse'}
	elseif g.solarized_diffmode == 'low' then
		syntax['DiffAdd'] = {fg=colors.green,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,guisp=colors.blue}
	else
		syntax['DiffAdd'] = {fg=colors.green,bg=colors.base2,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,bg=colors.base2,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,bg=colors.base2,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,bg=colors.base2,guisp=colors.blue}
	end

	if g.solarized_statusline == 'low' then
		syntax['StatusLine'] = {fg=colors.base1,bg=colors.base2,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base1,bg=colors.base01,style='reverse'}
		syntax['TabLine'] = {fg=colors.base1,bg=colors.base01,style='reverse'}
		syntax['TabLineFill'] = {fg=colors.base1,bg=colors.base01,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base1,bg=colors.base2,style='reverse'}
		syntax['VertSplit'] = {fg=colors.base1}
		syntax['WildMenu'] = {fg=colors.base00,bg=colors.base2,style='reverse'}
	elseif g.solarized_statusline == 'flat' then
		syntax['StatusLine'] = {fg=colors.base3,bg=colors.base02,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base3,bg=colors.base01,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base02,bg=colors.base3}
		syntax['TabLine'] = {fg=colors.base1,bg=colors.base3}
		syntax['TabLineFill'] = {fg=colors.base1,bg=colors.base3}
		syntax['VertSplit'] = {fg=colors.base3}
		syntax['WildMenu'] = {fg=colors.base1,bg=colors.base3,style='reverse'}
	else
		syntax['StatusLine'] = {fg=colors.base01,bg=colors.base2,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base0,bg=colors.base2,style='reverse'}
		syntax['TabLine'] = {fg=colors.base0,bg=colors.base2,style='reverse'}
		syntax['TabLineFill'] = {fg=colors.base0,bg=colors.base2,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base01,bg=colors.base2,style='reverse'}
		syntax['VertSplit'] = {fg=colors.base1}
		syntax['WildMenu'] = {fg=colors.base0,bg=colors.base2,style='reverse'}
	end

	syntax['ColorColumn'] = {fg=colors.base2,bg=colors.base1}
	syntax['Conceal'] = {fg=colors.blue}
	syntax['CursorColumn'] = {fg=colors.base2,bg=colors.base1}
	syntax['CursorLine'] = {fg=colors.none,guisp=colors.base0,style='underline',ctermfg=colors.none,ctermbg=colors.none}
	syntax['Directory'] = {fg=colors.blue}
	syntax['EndOfBuffer'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['ErrorMsg'] = {fg=colors.red,bg=colors.err_bg,style='reverse'}
	syntax['IncSearch'] = {fg=colors.orange,style='standout'}
	syntax['ModeMsg'] = {fg=colors.blue}
	syntax['MoreMsg'] = {fg=colors.blue}
	syntax['Pmenu'] = {fg=colors.base3,bg=colors.base1}
	syntax['PmenuSbar'] = {fg=colors.none,bg=colors.base00}
	syntax['PmenuSel'] = {fg=colors.base3,bg=colors.base0}
	syntax['PmenuThumb'] = {fg=colors.none,bg=colors.base0}
	syntax['Question'] = {fg=colors.cyan,style='bold'}
	syntax['Search'] = {fg=colors.yellow,style='reverse'}
	syntax['SignColumn'] = {fg=colors.base00}
	syntax['Visual'] = {fg=colors.base1,bg=colors.base3,style='reverse'}
	syntax['VisualNOS'] = {fg=colors.none,bg=colors.base2,style='reverse'}
	syntax['WarningMsg'] = {fg=colors.orange,style='bold'}
	syntax['Comment'] = {fg=colors.base1,style=utils.italics()}
	syntax['Constant'] = {fg=colors.cyan}
	syntax['CursorIM'] = {fg=colors.none,bg=colors.base0}
	syntax['Error'] = {fg=colors.red,bg=colors.err_bg,style='bold,reverse'}
	syntax['Identifier'] = {fg=colors.blue}
	syntax['Ignore'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['PreProc'] = {fg=colors.orange}
	syntax['Special'] = {fg=colors.orange}
	syntax['Statement'] = {fg=colors.green}
	syntax['Todo'] = {fg=colors.magenta,style='bold'}
	syntax['Type'] = {fg=colors.yellow}
	syntax['Underlined'] = {fg=colors.violet}
	syntax['NormalMode'] = {fg=colors.base01,bg=colors.base3,style='reverse'}
	syntax['InsertMode'] = {fg=colors.cyan,bg=colors.base3,style='reverse'}
	syntax['ReplaceMode'] = {fg=colors.orange,bg=colors.base3,style='reverse'}
	syntax['VisualMode'] = {fg=colors.magenta,bg=colors.base3,style='reverse'}
	syntax['CommandMode'] = {fg=colors.magenta,bg=colors.base3,style='reverse'}
	syntax['vimCommentString'] = {fg=colors.violet}
	syntax['vimCommand'] = {fg=colors.yellow}
	syntax['vimCmdSep'] = {fg=colors.blue,style='bold'}
	syntax['helpExample'] = {fg=colors.base01}
	syntax['helpOption'] = {fg=colors.cyan}
	syntax['helpNote'] = {fg=colors.magenta}
	syntax['helpVim'] = {fg=colors.magenta}
	syntax['helpHyperTextJump'] = {fg=colors.blue}
	syntax['helpHyperTextEntry'] = {fg=colors.green}
	syntax['vimIsCommand'] = {fg=colors.base0}
	syntax['vimSynMtchOpt'] = {fg=colors.yellow}
	syntax['vimSynType'] = {fg=colors.cyan}
	syntax['vimHiLink'] = {fg=colors.blue}
	syntax['vimHiGroup'] = {fg=colors.blue}
	syntax['vimGroup'] = {fg=colors.blue,style='bold'}
	syntax['gitcommitComment'] = {fg=colors.base1,style=utils.italics()}
	syntax['gitcommitUnmerged'] = {fg=colors.green,style='bold'}
	syntax['gitcommitOnBranch'] = {fg=colors.base01,style='bold'}
	syntax['gitcommitBranch'] = {fg=colors.magenta,style='bold'}
	syntax['gitcommitdiscardedtype'] = {fg=colors.red}
	syntax['gitcommitselectedtype'] = {fg=colors.green}
	syntax['gitcommitHeader'] = {fg=colors.base01}
	syntax['gitcommitUntrackedFile'] = {fg=colors.cyan,style='bold'}
	syntax['gitcommitDiscardedFile'] = {fg=colors.red,style='bold'}
	syntax['gitcommitSelectedFile'] = {fg=colors.green,style='bold'}
	syntax['gitcommitUnmergedFile'] = {fg=colors.yellow,style='bold'}
	syntax['gitcommitFile'] = {fg=colors.base0,style='bold'}
	syntax['htmlTag'] = {fg=colors.base01}
	syntax['htmlEndTag'] = {fg=colors.base01}
	syntax['htmlTagN'] = {fg=colors.base1,style='bold'}
	syntax['htmlTagName'] = {fg=colors.blue,style='bold'}
	syntax['htmlSpecialTagName'] = {fg=colors.blue,style=utils.italics()}
	syntax['htmlArg'] = {fg=colors.base00}
	syntax['javaScript'] = {fg=colors.yellow}
	syntax['perlHereDoc'] = {fg=colors.base1}
	syntax['perlVarPlain'] = {fg=colors.yellow}
	syntax['perlStatementFileDesc'] = {fg=colors.cyan}
	syntax['texstatement'] = {fg=colors.cyan}
	syntax['texmathzonex'] = {fg=colors.yellow}
	syntax['texmathmatcher'] = {fg=colors.yellow}
	syntax['texreflabel'] = {fg=colors.yellow}
	syntax['rubyDefine'] = {fg=colors.base1,style='bold'}
	syntax['rubyBoolean'] = {fg=colors.magenta}
	syntax['cPreCondit'] = {fg=colors.orange}
	syntax['VarId'] = {fg=colors.blue}
	syntax['ConId'] = {fg=colors.yellow}
	syntax['hsImport'] = {fg=colors.magenta}
	syntax['hsString'] = {fg=colors.base00}
	syntax['hsStructure'] = {fg=colors.cyan}
	syntax['hs_hlFunctionName'] = {fg=colors.blue}
	syntax['hsStatement'] = {fg=colors.cyan}
	syntax['hsImportLabel'] = {fg=colors.cyan}
	syntax['hs_OpFunctionName'] = {fg=colors.yellow}
	syntax['hs_DeclareFunction'] = {fg=colors.orange}
	syntax['hsVarSym'] = {fg=colors.cyan}
	syntax['hsType'] = {fg=colors.yellow}
	syntax['hsTypedef'] = {fg=colors.cyan}
	syntax['hsModuleName'] = {fg=colors.green}
	syntax['hsNiceOperator'] = {fg=colors.cyan}
	syntax['hsniceoperator'] = {fg=colors.cyan}
	syntax['pandocTitleBlock'] = {fg=colors.blue}
	syntax['pandocTitleBlockTitle'] = {fg=colors.blue,style='bold'}
	syntax['pandocTitleComment'] = {fg=colors.blue,style='bold'}
	syntax['pandocComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['pandocVerbatimBlock'] = {fg=colors.yellow}
	syntax['pandocBlockQuote'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader1'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader2'] = {fg=colors.cyan}
	syntax['pandocBlockQuoteLeader3'] = {fg=colors.yellow}
	syntax['pandocBlockQuoteLeader4'] = {fg=colors.red}
	syntax['pandocBlockQuoteLeader5'] = {fg=colors.base0}
	syntax['pandocBlockQuoteLeader6'] = {fg=colors.base01}
	syntax['pandocListMarker'] = {fg=colors.magenta}
	syntax['pandocListReference'] = {fg=colors.magenta}
	syntax['pandocDefinitionBlock'] = {fg=colors.violet}
	syntax['pandocDefinitionTerm'] = {fg=colors.violet,style='standout'}
	syntax['pandocDefinitionIndctr'] = {fg=colors.violet,style='bold'}
	syntax['pandocEmphasisDefinition'] = {fg=colors.violet,style=utils.italics()}
	syntax['pandocEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrikeoutDefinition'] = {fg=colors.violet,style='reverse'}
	syntax['pandocVerbatimInlineDefinition'] = {fg=colors.violet}
	syntax['pandocSuperscriptDefinition'] = {fg=colors.violet}
	syntax['pandocSubscriptDefinition'] = {fg=colors.violet}
	syntax['pandocTable'] = {fg=colors.blue}
	syntax['pandocTableStructure'] = {fg=colors.blue}
	syntax['pandocTableZebraLight'] = {fg=colors.blue,bg=colors.base03}
	syntax['pandocTableZebraDark'] = {fg=colors.blue,bg=colors.base02}
	syntax['pandocEmphasisTable'] = {fg=colors.blue,style=utils.italics()}
	syntax['pandocEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrikeoutTable'] = {fg=colors.blue,style='reverse'}
	syntax['pandocVerbatimInlineTable'] = {fg=colors.blue}
	syntax['pandocSuperscriptTable'] = {fg=colors.blue}
	syntax['pandocSubscriptTable'] = {fg=colors.blue}
	syntax['pandocHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocHeadingMarker'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrikeoutHeading'] = {fg=colors.orange,style='reverse'}
	syntax['pandocVerbatimInlineHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSuperscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSubscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocLinkDelim'] = {fg=colors.base01}
	syntax['pandocLinkLabel'] = {fg=colors.blue}
	syntax['pandocLinkText'] = {fg=colors.blue}
	syntax['pandocLinkURL'] = {fg=colors.base00}
	syntax['pandocLinkTitle'] = {fg=colors.base00}
	syntax['pandocLinkTitleDelim'] = {fg=colors.base01,guisp=colors.base00}
	syntax['pandocLinkDefinition'] = {fg=colors.cyan,guisp=colors.base00}
	syntax['pandocLinkDefinitionID'] = {fg=colors.blue,style='bold'}
	syntax['pandocImageCaption'] = {fg=colors.violet,style='bold'}
	syntax['pandocFootnoteLink'] = {fg=colors.green}
	syntax['pandocFootnoteDefLink'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnoteInline'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnote'] = {fg=colors.green}
	syntax['pandocCitationDelim'] = {fg=colors.magenta}
	syntax['pandocCitation'] = {fg=colors.magenta}
	syntax['pandocCitationID'] = {fg=colors.magenta}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocStyleDelim'] = {fg=colors.base01}
	syntax['pandocEmphasis'] = {fg=colors.base0,style=utils.italics()}
	syntax['pandocEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrikeout'] = {fg=colors.base01,style='reverse'}
	syntax['pandocVerbatimInline'] = {fg=colors.yellow}
	syntax['pandocSuperscript'] = {fg=colors.violet}
	syntax['pandocSubscript'] = {fg=colors.violet}
	syntax['pandocRule'] = {fg=colors.blue,style='bold'}
	syntax['pandocRuleLine'] = {fg=colors.blue,style='bold'}
	syntax['pandocEscapePair'] = {fg=colors.red,style='bold'}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocNonBreakingSpace'] = {fg=colors.red,style='reverse'}
	syntax['pandocMetadataDelim'] = {fg=colors.base01}
	syntax['pandocMetadata'] = {fg=colors.blue}
	syntax['pandocMetadataKey'] = {fg=colors.blue}
	syntax['pandocMetadata'] = {fg=colors.blue,style='bold'}


	syntax['Boolean'] = syntax['Constant']
	syntax['Character'] = syntax['Constant']
	syntax['Conditional'] = syntax['Statement']
	syntax['Debug'] = syntax['Special']
	syntax['Define'] = syntax['PreProc']
	syntax['Delimiter'] = syntax['Special']
	syntax['Exception'] = syntax['Statement']
	syntax['Float'] = syntax['Constant']
	syntax['FloatBorder'] = syntax['VertSplit']
	syntax['Function'] = syntax['Identifier']
	syntax['Include'] = syntax['PreProc']
	syntax['Keyword'] = syntax['Statement']
	syntax['Label'] = syntax['Statement']
	syntax['Macro'] = syntax['PreProc']
	syntax['Number'] = syntax['Constant']
	syntax['Operator'] = syntax['Statement']
	syntax['PreCondit'] = syntax['PreProc']
	syntax['QuickFixLine'] = syntax['Search']
	syntax['Repeat'] = syntax['Statement']
	syntax['SpecialChar'] = syntax['Special']
	syntax['SpecialComment'] = syntax['Special']
	syntax['StatusLineTerm'] = syntax['StatusLine']
	syntax['StatusLineTermNC'] = syntax['StatusLineNC']
	syntax['StorageClass'] = syntax['Type']
	syntax['String'] = syntax['Constant']
	syntax['Structure'] = syntax['Type']
	syntax['Tag'] = syntax['Special']
	syntax['Typedef'] = syntax['Type']
	syntax['lCursor'] = syntax['Cursor']
	syntax['vimVar'] = syntax['Identifier']
	syntax['vimFunc'] = syntax['Function']
	syntax['vimUserFunc'] = syntax['Function']
	syntax['helpSpecial'] = syntax['Special']
	syntax['vimSet'] = syntax['Normal']
	syntax['vimSetEqual'] = syntax['Normal']
	syntax['diffAdded'] = syntax['Statement']
	syntax['diffLine'] = syntax['Identifier']
	syntax['gitcommitUntracked'] = syntax['gitcommitComment']
	syntax['gitcommitDiscarded'] = syntax['gitcommitComment']
	syntax['gitcommitSelected'] = syntax['gitcommitComment']
	syntax['gitcommitNoBranch'] = syntax['gitcommitBranch']
	syntax['gitcommitDiscardedArrow'] = syntax['gitcommitDiscardedFile']
	syntax['gitcommitSelectedArrow'] = syntax['gitcommitSelectedFile']
	syntax['gitcommitUnmergedArrow'] = syntax['gitcommitUnmergedFile']
	syntax['jsFuncCall'] = syntax['Function']
	syntax['rubySymbol'] = syntax['String']
	syntax['hsImportParams'] = syntax['Delimiter']
	syntax['hsDelimTypeExport'] = syntax['Delimiter']
	syntax['hsModuleStartLabel'] = syntax['hsStructure']
	syntax['hsModuleWhereLabel'] = syntax['hsModuleStartLabel']
	syntax['pandocVerbatimBlockDeep'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlock'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlockDelim'] = syntax['pandocVerbatimBlock']
	syntax['pandocTableStructureTop'] = syntax['pandocTableStructre']
	syntax['pandocTableStructureEnd'] = syntax['pandocTableStructre']
	syntax['pandocEscapedCharacter'] = syntax['pandocEscapePair']
	syntax['pandocLineBreak'] = syntax['pandocEscapePair']
	syntax['pandocMetadataTitle'] = syntax['pandocMetadata']

	syntax['DiagnosticError'] = {fg=colors.red,guisp=colors.red,style='none'}
	syntax['DiagnosticWarn'] = {fg=colors.yellow,guisp=colors.yellow,style='none'}
	syntax['DiagnosticInfo'] = {fg=colors.cyan,guisp=colors.cyan,style='none'}
	syntax['DiagnosticHint'] = {fg=colors.green,guisp=colors.green,style='none'}
	syntax['DiagnosticUnderlineError'] = {fg=colors.none,guisp=colors.red,style='underline'}
	syntax['DiagnosticUnderlineWarn'] = {fg=colors.none,guisp=colors.yellow,style='underline'}
	syntax['DiagnosticUnderlineInfo'] = {fg=colors.none,guisp=colors.cyan,style='underline'}
	syntax['DiagnosticUnderlineHint'] = {fg=colors.none,guisp=colors.green,style='underline'}

	syntax['LspReferenceRead'] = {fg=colors.none,style='underline'}
	syntax['LspReferenceText'] = syntax['LspReferenceRead']
	syntax['LspReferenceWrite'] = {fg=colors.none,style='underline,bold'}

	syntax['LspSagaFinderSelection'] = syntax['Search']
	syntax['TargetWord'] = syntax['Title']

	syntax['GitSignsAdd'] = syntax['DiffAdd']
	syntax['GitSignsChange'] = syntax['DiffChange']
	syntax['GitSignsDelete'] = syntax['DiffDelete']

	syntax['VGitSignAdd'] = syntax['DiffAdd']
	syntax['VgitSignChange'] = syntax['DiffChange']
	syntax['VGitSignRemove'] = syntax['DiffDelete']

	-- nvim-cmp syntax support
	syntax['CmpDocumentation' ] = {fg=colors.base1, bg=colors.base02 }
	syntax['CmpDocumentationBorder' ] = {fg=colors.base1, bg=colors.base02 }

	syntax['CmpItemAbbr' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemAbbrDeprecated' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemAbbrMatch' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemAbbrMatchFuzzy' ] = {fg=colors.base1, bg=colors.none }

	syntax['CmpItemKindDefault' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemMenu' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindKeyword' ] = {fg=colors.yellow, bg=colors.none }
	syntax['CmpItemKindVariable' ] = {fg=colors.green, bg=colors.none }
	syntax['CmpItemKindConstant' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindReference' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindValue' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindFunction' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindMethod' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindConstructor' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindClass' ] = {fg=colors.red, bg=colors.none }
	syntax['CmpItemKindInterface' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindStruct' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindEvent' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindEnum' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindUnit' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindModule' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindProperty' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindField' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindTypeParameter' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindEnumMember' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindOperator' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemKindSnippet' ] = {fg=colors.orange, bg=colors.none }

	syntax['NavicIconsFile'] = syntax['CmpItemKindFile']
	syntax['NavicIconsModule'] = syntax['CmpItemKindModule']
	syntax['NavicIconsNamespace'] = syntax['CmpItemKindModule']
	syntax['NavicIconsPackage'] = syntax['CmpItemKindModule']
	syntax['NavicIconsClass'] = syntax['CmpItemKindClass']
	syntax['NavicIconsMethod'] = syntax['CmpItemKindMethod']
	syntax['NavicIconsProperty'] = syntax['CmpItemKindProperty']
	syntax['NavicIconsField'] = syntax['CmpItemKindField']
	syntax['NavicIconsConstructor'] = syntax['CmpItemKindConstructor']
	syntax['NavicIconsEnum'] = syntax['CmpItemKindEnum']
	syntax['NavicIconsInterface'] = syntax['CmpItemKindInterface']
	syntax['NavicIconsFunction'] = syntax['CmpItemKindFunction']
	syntax['NavicIconsVariable'] = syntax ['CmpItemKindVariable']
	syntax['NavicIconsConstant'] = syntax['CmpItemKindConstant']
	syntax['NavicIconsString'] = syntax['String']
	syntax['NavicIconsNumber'] = syntax['Number']
	syntax['NavicIconsBoolean'] = syntax['Boolean']
	syntax['NavicIconsArray'] = syntax['CmpItemKindClass']
	syntax['NavicIconsObject'] = syntax['CmpItemKindClass']
	syntax['NavicIconsKey'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsKeyword'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsNull'] =  {fg=colors.blue, bg=colors.none }
	syntax['NavicIconsEnumMember'] = syntax['CmpItemKindEnumMember']
	syntax['NavicIconsStruct'] = syntax['CmpItemKindStruct']
	syntax['NavicIconsEvent'] = syntax['CmpItemKindEvent']
	syntax['NavicIconsOperator'] = syntax['CmpItemKindOperator']
	syntax['NavicIconsTypeParameter'] = syntax['CmpItemKindTypeParameter']
	syntax['NavicText'] = syntax['LineNr']
	syntax['NavicSeparator'] = syntax['Comment']


	for group, highlights in pairs(syntax) do
		utils.highlighter(group, highlights)
	end
end

function M.terminal_colors(colors)
	g.terminal_color_0 = colors.base02[1] -- '#073642'
	g.terminal_color_1 = colors.red[1] -- '#dc322f'
	g.terminal_color_2 = colors.green[1] -- '#859900'
	g.terminal_color_3 = colors.yellow[1] -- '#b58900'
	g.terminal_color_4 = colors.blue[1] -- '#268bd2'
	g.terminal_color_5 = colors.magenta[1] -- '#d33682'
	g.terminal_color_6 = colors.cyan[1] -- '#2aa198'
	g.terminal_color_7 = colors.base2[1] -- '#eee8d5'
	g.terminal_color_8 = colors.base03[1] -- '#002b36'
	g.terminal_color_9 = colors.orange[1] -- '#cb4b16'
	g.terminal_color_10 = colors.base01[1] -- '#586e75'
	g.terminal_color_11 = colors.base00[1] -- '#657b83'
	g.terminal_color_12 = colors.base0[1] -- '#839496'
	g.terminal_color_13 = colors.violet[1] -- '#6c71c4'
	g.terminal_color_14 = colors.base1[1] -- '#93a1a1'
	g.terminal_color_15 = colors.base3[1] -- '#fdf6e3'
end

return M


================================================
FILE: lua/solarized/solarized-normal/highlights.lua
================================================
local M = {}
local cmd = vim.cmd
local g = vim.g
local o = vim.o
local fn = vim.fn
local utils = require('solarized.utils')
local colors

cmd('hi clear')

utils.default_settings()

if fn.exists("syntax_on") then
	cmd('syntax reset')
end

g.colors_name = 'solarized'

function M.load_syntax(colors)
	local syntax = {}

	syntax['Normal'] = {fg=colors.base1,bg=utils.termtrans(colors.base03)}
	syntax['FoldColumn'] = {fg=colors.base0,bg=utils.termtrans(colors.base02)}
	syntax['Folded'] = {fg=colors.base0,bg=utils.termtrans(colors.base02),guisp=colors.base03,style='bold'}
	syntax['Terminal'] = syntax['Normal']
	syntax['ToolbarButton'] = {fg=colors.base1,bg=utils.termtrans(colors.base02),style='bold'}
	syntax['ToolbarLine'] = {fg=colors.none,bg=utils.termtrans(colors.base02)}
	syntax['CursorLine'] = {fg=colors.none,bg=utils.termtrans(colors.base02)}
	syntax['LineNr'] = {fg=colors.base00,bg=utils.termtrans(colors.base02)}
	syntax['FloatBorder'] = {fg=colors.base1, bg=colors.none}
	syntax['NormalFloat'] = {fg=colors.base1,bg=colors.base02}

	if g.solarized_diffmode == 'low' then
		syntax['DiffAdd'] = {fg=colors.green, bg=colors.none, guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow, bg=colors.none, guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red, bg=colors.none, style='bold'}
		syntax['DiffText'] = {fg=colors.blue, bg=colors.none, guisp=colors.blue}
	elseif g.solarized_diffmode == 'high' then
		syntax['DiffAdd'] = {fg=colors.green, bg=colors.none, style='reverse'}
		syntax['DiffChange'] = {fg=colors.yellow, bg=colors.none, style='reverse'}
		syntax['DiffDelete'] = {fg=colors.red, bg=colors.none, style='reverse'}
		syntax['DiffText'] = {fg=colors.blue, bg=colors.none, style='reverse'}
	else
		syntax['DiffAdd'] = {fg=colors.green,bg=colors.base02,guisp=colors.green}
		syntax['DiffChange'] = {fg=colors.yellow,bg=colors.base02,guisp=colors.yellow}
		syntax['DiffDelete'] = {fg=colors.red,bg=colors.base02,style='bold'}
		syntax['DiffText'] = {fg=colors.blue,bg=colors.base02,guisp=colors.blue}
	end

	if g.solarized_statusline == 'low' then
		syntax['StatusLine'] = {fg=colors.base01, bg=colors.base2, style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base01, bg=colors.base02, style='reverse'}
		syntax['TabLine'] = {fg=colors.base01, bg=colors.base02, style='reverse'}
		syntax['TabLineFill'] = {fg=colors.base01, bg=colors.base02, style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base0, bg=colors.base3, style='reverse'}
		syntax['VertSplit'] = {fg=colors.base01, bg=colors.none}
	elseif g.solarized_statusline == 'flat' then
		syntax['StatusLine'] = {fg=colors.base02, bg=colors.base2, style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base02, bg=colors.base1, style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base2, bg=colors.base02}
		syntax['TabLine'] = {fg=colors.base01, bg=colors.base02}
		syntax['TabLineFill'] = {fg=colors.base01, bg=colors.base02}
		syntax['VertSplit'] = {fg=colors.base02, bg=colors.none}
	else
		syntax['StatusLine'] = {fg=colors.base0,bg=colors.base02,style='reverse'}
		syntax['StatusLineNC'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLine'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLineFill'] = {fg=colors.base01,bg=colors.base02,style='reverse'}
		syntax['TabLineSel'] = {fg=colors.base0,bg=colors.base02,style='reverse'}
		syntax['VertSplit'] = {fg=colors.base01}
	end

	if g.solarized_visibility == 'high' then
		syntax['CursorLineNr'] = {fg=colors.orange,bg=colors.base02,style='bold'}
		syntax['LineNr'] = {fg=colors.base0,bg=colors.base02,}
		syntax['NonText'] = {fg=colors.orange,style='bold'}
		syntax['SpecialKey'] = {fg=colors.orange,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,bg=colors.base3,guisp=colors.red,style='reverse,undercurl'}
		syntax['SpellCap'] = {fg=colors.violet,bg=colors.base3,guisp=colors.red,style='reverse,undercurl'}
		syntax['SpellLocal'] = {fg=colors.yellow,bg=colors.base3,guisp=colors.red,style='reverse,undercurl'}
		syntax['SpellRare'] = {fg=colors.cyan,bg=colors.base3,guisp=colors.red,style='reverse,undercurl'}
		syntax['Title'] = {fg=colors.yellow,style='bold'}
	elseif g.solarized_visibility == 'low' then
		syntax['CursorLineNr'] = {fg=colors.base01,bg=colors.base02,style='bold'}
		syntax['LineNr'] = {fg=colors.base01,bg=colors.base02,}
		syntax['NonText'] = {fg=colors.base02,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base02,style='reverse'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='undercurl'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='undercurl'}
		syntax['Title'] = {fg=colors.base01,style='bold'}
	else
		syntax['CursorLineNr'] = {fg=colors.base0,bg=colors.base02,style='bold'}
		syntax['LineNr'] = {fg=colors.base00,bg=colors.base02,}
		syntax['NonText'] = {fg=colors.base00,style='bold'}
		syntax['SpecialKey'] = {fg=colors.base00,bg=colors.base02,style='bold'}
		syntax['SpellBad'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellCap'] = {fg=colors.violet,guisp=colors.violet,style='undercurl'}
		syntax['SpellLocal'] = {fg=colors.yellow,guisp=colors.yellow,style='undercurl'}
		syntax['SpellRare'] = {fg=colors.cyan,guisp=colors.cyan,style='undercurl'}
		syntax['Title'] = {fg=colors.orange,style='bold'}
	end

	syntax['ColorColumn'] = {fg=colors.none,bg=colors.base02}
	syntax['Conceal'] = {fg=colors.blue}
	syntax['CursorColumn'] = {fg=colors.none,bg=colors.base02}
	syntax['Directory'] = {fg=colors.blue}
	syntax['EndOfBuffer'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['ErrorMsg'] = {fg=colors.red,bg=colors.err_bg,style='reverse'}
	syntax['IncSearch'] = {fg=colors.orange,style='standout'}
	syntax['MatchParen'] = {fg=colors.base3,bg=colors.base02,style='bold'}
	syntax['ModeMsg'] = {fg=colors.blue}
	syntax['MoreMsg'] = {fg=colors.blue}
	syntax['Pmenu'] = {fg=colors.base1,bg=colors.base02}
	syntax['PmenuSbar'] = {fg=colors.none,bg=colors.base01}
	syntax['PmenuSel'] = {fg=colors.base2,bg=colors.base00}
	syntax['PmenuThumb'] = {fg=colors.none,bg=colors.base0}
	syntax['Question'] = {fg=colors.cyan,style='bold'}
	syntax['Search'] = {fg=colors.yellow,style='reverse'}
	syntax['SignColumn'] = {fg=colors.base0}
	syntax['Visual'] = {fg=colors.base01,bg=colors.base03,style='reverse'}
	syntax['VisualNOS'] = {fg=colors.none,bg=colors.base02,style='reverse'}
	syntax['WarningMsg'] = {fg=colors.orange,style='bold'}
	syntax['WildMenu'] = {fg=colors.base2,bg=colors.base02,style='reverse'}
	syntax['Comment'] = {fg=colors.base01,style=utils.italics()}
	syntax['Constant'] = {fg=colors.cyan}
	syntax['CursorIM'] = {fg=colors.none,bg=colors.base1}
	syntax['Error'] = {fg=colors.red,bg=colors.err_bg,style='bold,reverse'}
	syntax['Identifier'] = {fg=colors.blue}
	syntax['Ignore'] = {fg=colors.none,ctermfg=colors.none,ctermbg=colors.none}
	syntax['PreProc'] = {fg=colors.orange}
	syntax['Special'] = {fg=colors.orange}
	syntax['Statement'] = {fg=colors.green}
	syntax['Todo'] = {fg=colors.magenta,style='bold'}
	syntax['Type'] = {fg=colors.yellow}
	syntax['Text'] = {fg=colors.cyan}
	syntax['Strikethrough'] = {fg=colors.base01,strikethrough=true}
	syntax['Underlined'] = {fg=colors.violet}
	syntax['NormalMode'] = {fg=colors.base0,bg=colors.base3,style='reverse'}
	syntax['InsertMode'] = {fg=colors.cyan,bg=colors.base3,style='reverse'}
	syntax['ReplaceMode'] = {fg=colors.orange,bg=colors.base3,style='reverse'}
	syntax['VisualMode'] = {fg=colors.magenta,bg=colors.base3,style='reverse'}
	syntax['CommandMode'] = {fg=colors.magenta,bg=colors.base3,style='reverse'}
	syntax['vimCommentString'] = {fg=colors.violet}
	syntax['vimCommand'] = {fg=colors.yellow}
	syntax['vimCmdSep'] = {fg=colors.blue,style='bold'}
	syntax['helpExample'] = {fg=colors.base1}
	syntax['helpOption'] = {fg=colors.cyan}
	syntax['helpNote'] = {fg=colors.magenta}
	syntax['helpVim'] = {fg=colors.magenta}
	syntax['helpHyperTextJump'] = {fg=colors.blue}
	syntax['helpHyperTextEntry'] = {fg=colors.green}
	syntax['vimIsCommand'] = {fg=colors.base00}
	syntax['vimSynMtchOpt'] = {fg=colors.yellow}
	syntax['vimSynType'] = {fg=colors.cyan}
	syntax['vimHiLink'] = {fg=colors.blue}
	syntax['vimHiGroup'] = {fg=colors.blue}
	syntax['vimGroup'] = {fg=colors.blue,style='bold'}
	syntax['gitcommitComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['gitcommitUnmerged'] = {fg=colors.green,style='bold'}
	syntax['gitcommitOnBranch'] = {fg=colors.base01,style='bold'}
	syntax['gitcommitBranch'] = {fg=colors.magenta,style='bold'}
	syntax['gitcommitdiscardedtype'] = {fg=colors.red}
	syntax['gitcommitselectedtype'] = {fg=colors.green}
	syntax['gitcommitHeader'] = {fg=colors.base01}
	syntax['gitcommitUntrackedFile'] = {fg=colors.cyan,style='bold'}
	syntax['gitcommitDiscardedFile'] = {fg=colors.red,style='bold'}
	syntax['gitcommitSelectedFile'] = {fg=colors.green,style='bold'}
	syntax['gitcommitUnmergedFile'] = {fg=colors.yellow,style='bold'}
	syntax['gitcommitFile'] = {fg=colors.base0,style='bold'}
	syntax['htmlTag'] = {fg=colors.base01}
	syntax['htmlEndTag'] = {fg=colors.base01}
	syntax['htmlTagN'] = {fg=colors.base1,style='bold'}
	syntax['htmlTagName'] = {fg=colors.blue,style='bold'}
	syntax['htmlSpecialTagName'] = {fg=colors.blue,style=utils.italics()}
	syntax['htmlArg'] = {fg=colors.base00}
	syntax['javaScript'] = {fg=colors.yellow}
	syntax['perlHereDoc'] = {fg=colors.base1}
	syntax['perlVarPlain'] = {fg=colors.yellow}
	syntax['perlStatementFileDesc'] = {fg=colors.cyan}
	syntax['texstatement'] = {fg=colors.cyan}
	syntax['texmathzonex'] = {fg=colors.yellow}
	syntax['texmathmatcher'] = {fg=colors.yellow}
	syntax['texreflabel'] = {fg=colors.yellow}
	syntax['rubyDefine'] = {fg=colors.base1,style='bold'}
	syntax['rubyBoolean'] = {fg=colors.magenta}
	syntax['cPreCondit'] = {fg=colors.orange}
	syntax['VarId'] = {fg=colors.blue}
	syntax['ConId'] = {fg=colors.yellow}
	syntax['hsImport'] = {fg=colors.magenta}
	syntax['hsString'] = {fg=colors.base00}
	syntax['hsStructure'] = {fg=colors.cyan}
	syntax['hs_hlFunctionName'] = {fg=colors.blue}
	syntax['hsStatement'] = {fg=colors.cyan}
	syntax['hsImportLabel'] = {fg=colors.cyan}
	syntax['hs_OpFunctionName'] = {fg=colors.yellow}
	syntax['hs_DeclareFunction'] = {fg=colors.orange}
	syntax['hsVarSym'] = {fg=colors.cyan}
	syntax['hsType'] = {fg=colors.yellow}
	syntax['hsTypedef'] = {fg=colors.cyan}
	syntax['hsModuleName'] = {fg=colors.green}
	syntax['pandocTitleBlock'] = {fg=colors.blue}
	syntax['pandocTitleBlockTitle'] = {fg=colors.blue,style='bold'}
	syntax['pandocTitleComment'] = {fg=colors.blue,style='bold'}
	syntax['pandocComment'] = {fg=colors.base01,style=utils.italics()}
	syntax['pandocVerbatimBlock'] = {fg=colors.yellow}
	syntax['pandocBlockQuote'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader1'] = {fg=colors.blue}
	syntax['pandocBlockQuoteLeader2'] = {fg=colors.cyan}
	syntax['pandocBlockQuoteLeader3'] = {fg=colors.yellow}
	syntax['pandocBlockQuoteLeader4'] = {fg=colors.red}
	syntax['pandocBlockQuoteLeader5'] = {fg=colors.base0}
	syntax['pandocBlockQuoteLeader6'] = {fg=colors.base01}
	syntax['pandocListMarker'] = {fg=colors.magenta}
	syntax['pandocListReference'] = {fg=colors.magenta}
	syntax['pandocDefinitionBlock'] = {fg=colors.violet}
	syntax['pandocDefinitionTerm'] = {fg=colors.violet,style='standout'}
	syntax['pandocDefinitionIndctr'] = {fg=colors.violet,style='bold'}
	syntax['pandocEmphasisDefinition'] = {fg=colors.violet,style=utils.italics()}
	syntax['pandocEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisNestedDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrongEmphasisEmphasisDefinition'] = {fg=colors.violet,style='bold'}
	syntax['pandocStrikeoutDefinition'] = {fg=colors.violet,style='reverse'}
	syntax['pandocVerbatimInlineDefinition'] = {fg=colors.violet}
	syntax['pandocSuperscriptDefinition'] = {fg=colors.violet}
	syntax['pandocSubscriptDefinition'] = {fg=colors.violet}
	syntax['pandocTable'] = {fg=colors.blue}
	syntax['pandocTableStructure'] = {fg=colors.blue}
	syntax['pandocTableZebraLight'] = {fg=colors.blue,bg=colors.base03}
	syntax['pandocTableZebraDark'] = {fg=colors.blue,bg=colors.base02}
	syntax['pandocEmphasisTable'] = {fg=colors.blue,style=utils.italics()}
	syntax['pandocEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisNestedTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrongEmphasisEmphasisTable'] = {fg=colors.blue,style='bold'}
	syntax['pandocStrikeoutTable'] = {fg=colors.blue,style='reverse'}
	syntax['pandocVerbatimInlineTable'] = {fg=colors.blue}
	syntax['pandocSuperscriptTable'] = {fg=colors.blue}
	syntax['pandocSubscriptTable'] = {fg=colors.blue}
	syntax['pandocHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocHeadingMarker'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisNestedHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrongEmphasisEmphasisHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocStrikeoutHeading'] = {fg=colors.orange,style='reverse'}
	syntax['pandocVerbatimInlineHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSuperscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocSubscriptHeading'] = {fg=colors.orange,style='bold'}
	syntax['pandocLinkDelim'] = {fg=colors.base01}
	syntax['pandocLinkLabel'] = {fg=colors.blue}
	syntax['pandocLinkText'] = {fg=colors.blue}
	syntax['pandocLinkURL'] = {fg=colors.base00}
	syntax['pandocLinkTitle'] = {fg=colors.base00}
	syntax['pandocLinkTitleDelim'] = {fg=colors.base01,guisp=colors.base00}
	syntax['pandocLinkDefinition'] = {fg=colors.cyan,guisp=colors.base00}
	syntax['pandocLinkDefinitionID'] = {fg=colors.blue,style='bold'}
	syntax['pandocImageCaption'] = {fg=colors.violet,style='bold'}
	syntax['pandocFootnoteLink'] = {fg=colors.green}
	syntax['pandocFootnoteDefLink'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnoteInline'] = {fg=colors.green,style='bold'}
	syntax['pandocFootnote'] = {fg=colors.green}
	syntax['pandocCitationDelim'] = {fg=colors.magenta}
	syntax['pandocCitation'] = {fg=colors.magenta}
	syntax['pandocCitationID'] = {fg=colors.magenta}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocStyleDelim'] = {fg=colors.base01}
	syntax['pandocEmphasis'] = {fg=colors.base0,style=utils.italics()}
	syntax['pandocEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisNested'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrongEmphasisEmphasis'] = {fg=colors.base0,style='bold'}
	syntax['pandocStrikeout'] = {fg=colors.base01,style='reverse'}
	syntax['pandocVerbatimInline'] = {fg=colors.yellow}
	syntax['pandocSuperscript'] = {fg=colors.violet}
	syntax['pandocSubscript'] = {fg=colors.violet}
	syntax['pandocRule'] = {fg=colors.blue,style='bold'}
	syntax['pandocRuleLine'] = {fg=colors.blue,style='bold'}
	syntax['pandocEscapePair'] = {fg=colors.red,style='bold'}
	syntax['pandocCitationRef'] = {fg=colors.magenta}
	syntax['pandocNonBreakingSpace'] = {fg=colors.red,style='reverse'}
	syntax['pandocMetadataDelim'] = {fg=colors.base01}
	syntax['pandocMetadata'] = {fg=colors.blue}
	syntax['pandocMetadataKey'] = {fg=colors.blue}
	syntax['pandocMetadata'] = {fg=colors.blue,style='bold'}

	syntax['Boolean'] = syntax['Constant']
	syntax['Character'] = syntax['Constant']
	syntax['Conditional'] = syntax['Statement']
	syntax['Debug'] = syntax['Special']
	syntax['Define'] = syntax['PreProc']
	syntax['Delimiter'] = syntax['Special']
	syntax['Exception'] = syntax['Statement']
	syntax['Float'] = syntax['Constant']
	syntax['Function'] = syntax['Identifier']
	syntax['Include'] = syntax['PreProc']
	syntax['Keyword'] = syntax['Statement']
	syntax['Label'] = syntax['Statement']
	syntax['Macro'] = syntax['PreProc']
	syntax['Number'] = syntax['Constant']
	syntax['Operator'] = syntax['Statement']
	syntax['PreCondit'] = syntax['PreProc']
	syntax['QuickFixLine'] = syntax['Search']
	syntax['Repeat'] = syntax['Statement']
	syntax['SpecialChar'] = syntax['Special']
	syntax['SpecialComment'] = syntax['Special']
	syntax['StatusLineTerm'] = syntax['StatusLine']
	syntax['StatusLineTermNC'] = syntax['StatusLineNC']
	syntax['StorageClass'] = syntax['Type']
	syntax['String'] = syntax['Text']
	syntax['Structure'] = syntax['Type']
	syntax['Tag'] = syntax['Special']
	syntax['Typedef'] = syntax['Type']
	syntax['lCursor'] = syntax['Cursor']
	syntax['vimVar'] = syntax['Identifier']
	syntax['vimFunc'] = syntax['Function']
	syntax['vimUserFunc'] = syntax['Function']
	syntax['helpSpecial'] = syntax['Special']
	syntax['vimSet'] = syntax['Normal']
	syntax['vimSetEqual'] = syntax['Normal']
	syntax['diffAdded'] = syntax['Statement']
	syntax['diffLine'] = syntax['Identifier']
	syntax['gitcommitUntracked'] = syntax['gitcommitComment']
	syntax['gitcommitDiscarded'] = syntax['gitcommitComment']
	syntax['gitcommitSelected'] = syntax['gitcommitComment']
	syntax['gitcommitNoBranch'] = syntax['gitcommitBranch']
	syntax['gitcommitDiscardedArrow'] = syntax['gitcommitDiscardedFile']
	syntax['gitcommitSelectedArrow'] = syntax['gitcommitSelectedFile']
	syntax['gitcommitUnmergedArrow'] = syntax['gitcommitUnmergedFile']
	syntax['jsFuncCall'] = syntax['Function']
	syntax['rubySymbol'] = syntax['String']
	syntax['hsImportParams'] = syntax['Delimiter']
	syntax['hsDelimTypeExport'] = syntax['Delimiter']
	syntax['hsModuleStartLabel'] = syntax['hsStructure']
	syntax['hsModuleWhereLabel'] = syntax['hsModuleStartLabel']
	syntax['pandocVerbatimBlockDeep'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlock'] = syntax['pandocVerbatimBlock']
	syntax['pandocCodeBlockDelim'] = syntax['pandocVerbatimBlock']
	syntax['pandocTableStructureTop'] = syntax['pandocTableStructre']
	syntax['pandocTableStructureEnd'] = syntax['pandocTableStructre']
	syntax['pandocEscapedCharacter'] = syntax['pandocEscapePair']
	syntax['pandocLineBreak'] = syntax['pandocEscapePair']
	syntax['pandocMetadataTitle'] = syntax['pandocMetadata']

	-- TreeSitter
	-- syntax['TSAnnotation'] = syntax['']
	syntax['TSBoolean'] = syntax['Constant']
	syntax['TSCharacter'] = syntax['Constant']
	syntax['TSComment'] = syntax['Comment']
	syntax['TSConditional'] = syntax['Conditional']
	syntax['TSConstant'] = syntax['Constant']
	syntax['TSConstBuiltin'] = syntax['Constant']
	syntax['TSConstMacro'] = syntax['Constant']
	syntax['TSError'] = {fg=colors.red}
	syntax['TSException'] = syntax['Exception']
	syntax['TSField'] = syntax['Identifier']
	syntax['TSFloat'] = syntax['Float']
	syntax['TSFunction'] = syntax['Function']
	syntax['TSFuncBuiltin'] = syntax['Function']
	syntax['TSFuncMacro'] = syntax['Function']
	syntax['TSInclude'] = syntax['Include']
	syntax['TSKeyword'] = syntax['Keyword']
	syntax['TSLabel'] = syntax['Label']
	syntax['TSMethod'] = syntax['Function']
	syntax['TSNamespace'] = syntax['Identifier']
	syntax['TSNumber'] = syntax['Constant']
	syntax['TSOperator'] = syntax['Operator']
	syntax['TSParameterReference'] = syntax['Identifier']
	syntax['TSProperty'] = syntax['TSField']
	syntax['TSPunctDelimiter'] = syntax['Delimiter']
	syntax['TSPunctBracket'] = syntax['Delimiter']
	syntax['TSPunctSpecial'] = syntax['Special']
	syntax['TSRepeat'] = syntax['Repeat']
	syntax['TSString'] = syntax['Constant']
	syntax['TSStringRegex'] = syntax['Constant']
	syntax['TSStringEscape'] = syntax['Constant']
	syntax['TSStrong'] = {fg=colors.base1,bg=colors.base03,style='bold'}
	syntax['TSConstructor'] = syntax['Function']
	syntax['TSKeywordFunction'] = syntax['Identifier']
	syntax['TSLiteral'] = syntax['Normal']
	syntax['TSParameter'] = syntax['Identifier']
	syntax['TSVariable'] = {fg=colors.base1}
	syntax['TSVariableBuiltin'] = syntax['Identifier']
	syntax['TSTag'] = syntax['Special']
	syntax['TSTagDelimiter'] = syntax['Delimiter']
	syntax['TSTitle'] = syntax['Title']
	syntax['TSType'] = syntax['Type']
	syntax['TSTypeBuiltin'] = syntax['Type']
	-- syntax['TSEmphasis'] = syntax['']

	-- BEGIN Neovim >= 0.8
	-- Misc {{{
	syntax['@comment'] = syntax['Comment']
	syntax['@error'] = {fg=colors.red}
	syntax['@none'] = syntax['NONE']
	-- deprecated in nvim-treesitter 0.10
	syntax['@preproc'] = syntax['PreProc']
	-- replacement in nvim-treesitter 0.10
	syntax['@keyword.directive'] = syntax['PreProc']
	-- deprecated in nvim-treesitter 0.10
	syntax['@define'] = syntax['Define']
	-- replacement in nvim-treesitter 0.10
	syntax['@keyword.directive.define'] = syntax['Define']
	syntax['@operator'] = syntax['Operator']
	-- }}}

	-- Punctuation {{{
	-- deprecated in nvim-treesitter 0.10
	syntax['@punctuation.delimiter'] = syntax['Statement']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.raw.delimiter'] = syntax['Statement']
	syntax['@punctuation.bracket'] = syntax['Delimiter']
	-- deprecated in nvim-treesitter 0.10
	syntax['@punctuation.special'] = syntax['Delimiter']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.list'] = syntax['Delimiter']
	-- }}}

	-- Literals {{{
	syntax['@string'] = syntax['String']
	-- deprecated in nvim-treesitter 0.10
	syntax['@string.regex'] = syntax['String']
	-- replacement in nvim-treesitter 0.10
	syntax['@string.regexp'] = syntax['String']
	syntax['@string.escape'] = syntax['Special']
	-- deprecated in nvim-treesitter 0.10
	syntax['@string.special'] = syntax['Special']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.link.label'] = syntax['Constant']

	syntax['@character'] = syntax['Character']
	syntax['@character.special'] = syntax['Special']

	syntax['@boolean'] = syntax['Boolean']
	syntax['@number'] = syntax['Number']
	-- deprecated in nvim-treesitter 0.10
	syntax['@float'] = syntax['Float']
	-- replacement in nvim-treesitter 0.10
	syntax['@number.float'] = syntax['Float']
	-- }}}

	-- Functions {{{
	syntax['@function'] = syntax['Function']
	syntax['@function.call'] = syntax['Function']
	syntax['@function.builtin'] = syntax['Function']
	syntax['@function.macro'] = syntax['Macro']

	-- deprecated in nvim-treesitter 0.10
	syntax['@method'] = syntax['Function']
	syntax['@method.call'] = syntax['Function']
	-- replacement in nvim-treesitter 0.10
	syntax['@function.method'] = syntax['Function']
	syntax['@function.method.call'] = syntax['Function']

	syntax['@constructor'] = syntax['Special']
	-- deprecated in nvim-treesitter 0.10
	syntax['@parameter'] = syntax['Normal']
	-- replacement in nvim-treesitter 0.10
	syntax['@variable.parameter'] = syntax['Normal']
	-- }}}

	-- Keywords {{{
	syntax['@keyword'] = syntax['Keyword']
	syntax['@keyword.function'] = syntax['Keyword']
	syntax['@keyword.operator'] = syntax['Keyword']
	syntax['@keyword.return'] = syntax['Keyword']

	-- deprecated in nvim-treesitter 0.10
	syntax['@conditional'] = syntax['Conditional']
	syntax['@repeat'] = syntax['Repeat']
	syntax['@debug'] = syntax['Debug']
	-- replacement in nvim-treesitter 0.10
	syntax['@keyword.conditional'] = syntax['Conditional']
	syntax['@keyword.repeat'] = syntax['Repeat']
	syntax['@keyword.debug'] = syntax['Debug']
	syntax['@label'] = syntax['Label']
	-- deprecated in nvim-treesitter 0.10
	syntax['@include'] = syntax['Include']
	syntax['@exception'] = syntax['Exception']
	-- replacement in nvim-treesitter 0.10
	syntax['@keyword.import'] = syntax['Include']
	syntax['@keyword.exception'] = syntax['Exception']
	-- }}}

	-- Types {{{
	syntax['@type'] = syntax['Type']
	syntax['@type.builtin'] = syntax['Type']
	syntax['@type.qualifier'] = syntax['Type']
	syntax['@type.definition'] = syntax['Typedef']

	-- deprecated in nvim-treesitter 0.10
	syntax['@storageclass'] = syntax['StorageClass']
	-- replacement in nvim-treesitter 0.10
	syntax['@keyword.storage'] = syntax['StorageClass']
	syntax['@attribute'] = syntax['Identifier']
	-- deprecated in nvim-treesitter 0.10
	syntax['@field'] = syntax['Identifier']
	-- replacement in nvim-treesitter 0.10
	syntax['@variable.member'] = syntax['Identifier']
	syntax['@property'] = syntax['Identifier']
	-- }}}

	-- Identifiers {{{
	syntax['@variable'] = {fg=colors.base1}
	syntax['@variable.builtin'] = syntax['Special']

	syntax['@constant'] = syntax['Constant']
	syntax['@constant.builtin'] = syntax['Type']
	syntax['@constant.macro'] = syntax['Define']

	syntax['@namespace'] = syntax['Identifier']
	syntax['@symbol'] = syntax['Identifier']
	-- deprecated in nvim-treesitter 0.10
	syntax['@module'] = syntax['Identifier']
	-- replacement in nvim-treesitter 0.10
	syntax['@string.special.symbol'] = syntax['Identifier']
	-- }}}

	-- Text {{{
	syntax['@text'] = syntax['Normal']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.strong'] = {fg=colors.base1,bg=colors.base03,style='bold'}
	syntax['@text.emphasis'] = {fg=colors.base1,bg=colors.base03,style='bold'}
	syntax['@text.underline'] = syntax['Underlined']
	syntax['@text.strike'] = syntax['Strikethrough']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.strong'] = {fg=colors.base1,bg=colors.base03,style='bold'}
	syntax['@markup.emphasis'] = {fg=colors.base1,bg=colors.base03,style='bold'}
	syntax['@markup.italic'] = {fg=colors.base1,bg=colors.base03,style=utils.italics()}
	syntax['@markup.underline'] = syntax['Underlined']
	syntax['@markup.strike'] = syntax['Strikethrough']
	syntax['@markup.strikethrough'] = syntax['Strikethrough']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.title'] = syntax['Title']
	syntax['@text.literal'] = syntax['String']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.heading'] = syntax['Title']
	syntax['@markup.raw'] = syntax['String']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.uri'] = syntax['Underlined']
	-- replacement in nvim-treesitter 0.10
	syntax['@string.special.url'] = syntax['Underlined']
	syntax['@markup.link.url'] = syntax['Underlined']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.math'] = syntax['Special']
	syntax['@text.environment'] = syntax['Macro']
	syntax['@text.environment.name'] = syntax['Type']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.math'] = syntax['@text.emphasis']
	syntax['@markup.environment'] = syntax['Macro']
	syntax['@markup.environment.name'] = syntax['Type']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.reference'] = syntax['Constant']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.link'] = syntax['Constant']

	-- deprecated in nvim-treesitter 0.10
	syntax['@text.todo'] = syntax['Todo']
	-- replacement in nvim-treesitter 0.10
	syntax['@markup.list.checked'] = syntax['Todo']
	syntax['@markup.list.unchecked'] = syntax['Todo']
	syntax['@comment.todo'] = syntax['Todo']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.note'] = syntax['WarningMsg']
	-- replacement in nvim-treesitter 0.10
	syntax['@comment.info'] = syntax['WarningMsg']
	syntax['@comment.hint'] = syntax['WarningMsg']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.warning'] = syntax['WarningMsg']
	-- replacement in nvim-treesitter 0.10
	syntax['@comment.warning'] = syntax['WarningMsg']
	-- deprecated in nvim-treesitter 0.10
	syntax['@text.danger'] = {fg=colors.red,style='bold'}
	-- replacement in nvim-treesitter 0.10
	syntax['@comment.danger'] = {fg=colors.red,style='bold'}
	-- }}}

	-- Tags {{{
	syntax['@tag'] = syntax['Tag']
	syntax['@tag.attribute'] = syntax['Identifier']
	syntax['@tag.delimiter'] = syntax['Delimiter']
	-- }}}
	-- END Neovim >= 0.8

	syntax['DiagnosticError'] = {fg=colors.red,guisp=colors.red,style='none'}
	syntax['DiagnosticWarn'] = {fg=colors.yellow,guisp=colors.yellow,style='none'}
	syntax['DiagnosticInfo'] = {fg=colors.cyan,guisp=colors.cyan,style='none'}
	syntax['DiagnosticHint'] = {fg=colors.green,guisp=colors.green,style='none'}
	syntax['DiagnosticUnderlineError'] = {fg=colors.none,guisp=colors.red,style='underline'}
	syntax['DiagnosticUnderlineWarn'] = {fg=colors.none,guisp=colors.yellow,style='underline'}
	syntax['DiagnosticUnderlineInfo'] = {fg=colors.none,guisp=colors.cyan,style='underline'}
	syntax['DiagnosticUnderlineHint'] = {fg=colors.none,guisp=colors.green,style='underline'}

	syntax['LspReferenceRead'] = {fg=colors.none,style='underline'}
	syntax['LspReferenceText'] = syntax['LspReferenceRead']
	syntax['LspReferenceWrite'] = {fg=colors.none,style='underline,bold'}

	-- Lspsaga
	syntax['LspSagaFinderSelection'] = syntax['Search']
	syntax['TargetWord'] = syntax['Title']

	syntax['GitSignsAdd'] = syntax['DiffAdd']
	syntax['GitSignsChange'] = syntax['DiffChange']
	syntax['GitSignsDelete'] = syntax['DiffDelete']

	syntax['VGitSignAdd'] = syntax['DiffAdd']
	syntax['VgitSignChange'] = syntax['DiffChange']
	syntax['VGitSignRemove'] = syntax['DiffDelete']

	-- nvim-cmp syntax support
	syntax['CmpDocumentation' ] = {fg=colors.base2, bg=colors.base02 }
	syntax['CmpDocumentationBorder' ] = {fg=colors.base2, bg=colors.base02 }

	syntax['CmpItemAbbr' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemAbbrDeprecated' ] = {fg=colors.base0, bg=colors.none }
	syntax['CmpItemAbbrMatch' ] = {fg=colors.base2, bg=colors.none }
	syntax['CmpItemAbbrMatchFuzzy' ] = {fg=colors.base2, bg=colors.none }

	syntax['CmpItemKindDefault' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemMenu' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindKeyword' ] = {fg=colors.yellow, bg=colors.none }
	syntax['CmpItemKindVariable' ] = {fg=colors.green, bg=colors.none }
	syntax['CmpItemKindConstant' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindReference' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindValue' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindFunction' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindMethod' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindConstructor' ] = {fg=colors.blue, bg=colors.none }
	syntax['CmpItemKindClass' ] = {fg=colors.red, bg=colors.none }
	syntax['CmpItemKindInterface' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindStruct' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindEvent' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindEnum' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindUnit' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindModule' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindProperty' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindField' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindTypeParameter' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindEnumMember' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindOperator' ] = {fg=colors.base1, bg=colors.none }
	syntax['CmpItemKindSnippet' ] = {fg=colors.orange, bg=colors.none }

	syntax['NavicIconsFile'] = syntax['CmpItemKindFile']
	syntax['NavicIconsModule'] = syntax['CmpItemKindModule']
	syntax['NavicIconsNamespace'] = syntax['CmpItemKindModule']
	syntax['NavicIconsPackage'] = syntax['CmpItemKindModule']
	syntax['NavicIconsClass'] = syntax['CmpItemKindClass']
	syntax['NavicIconsMethod'] = syntax['CmpItemKindMethod']
	syntax['NavicIconsProperty'] = syntax['CmpItemKindProperty']
	syntax['NavicIconsField'] = syntax['CmpItemKindField']
	syntax['NavicIconsConstructor'] = syntax['CmpItemKindConstructor']
	syntax['NavicIconsEnum'] = syntax['CmpItemKindEnum']
	syntax['NavicIconsInterface'] = syntax['CmpItemKindInterface']
	syntax['NavicIconsFunction'] = syntax['CmpItemKindFunction']
	syntax['NavicIconsVariable'] = syntax ['CmpItemKindVariable']
	syntax['NavicIconsConstant'] = syntax['CmpItemKindConstant']
	syntax['NavicIconsString'] = syntax['String']
	syntax['NavicIconsNumber'] = syntax['Number']
	syntax['NavicIconsBoolean'] = syntax['Boolean']
	syntax['NavicIconsArray'] = syntax['CmpItemKindClass']
	syntax['NavicIconsObject'] = syntax['CmpItemKindClass']
	syntax['NavicIconsKey'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsKeyword'] = syntax['CmpItemKindKeyword']
	syntax['NavicIconsNull'] =  {fg=colors.blue, bg=colors.none }
	syntax['NavicIconsEnumMember'] = syntax['CmpItemKindEnumMember']
	syntax['NavicIconsStruct'] = syntax['CmpItemKindStruct']
	syntax['NavicIconsEvent'] = syntax['CmpItemKindEvent']
	syntax['NavicIconsOperator'] = syntax['CmpItemKindOperator']
	syntax['NavicIconsTypeParameter'] = syntax['CmpItemKindTypeParameter']
	syntax['NavicText'] = syntax['LineNr']
	syntax['NavicSeparator'] = syntax['Comment']

	for group, highlights in pairs(syntax) do
		utils.highlighter(group, highlights)
	end
end

function M.terminal_colors(colors)
	g.terminal_color_0 = colors.base02[1] -- '#073642'
	g.terminal_color_1 = colors.red[1] -- '#dc322f'
	g.terminal_color_2 = colors.green[1] -- '#859900'
	g.terminal_color_3 = colors.yellow[1] -- '#b58900'
	g.terminal_color_4 = colors.blue[1] -- '#268bd2'
	g.terminal_color_5 = colors.magenta[1] -- '#d33682'
	g.terminal_color_6 = colors.cyan[1] -- '#2aa198'
	g.terminal_color_7 = colors.base2[1] -- '#eee8d5'
	g.terminal_color_8 = colors.base03[1] -- '#002b36'
	g.terminal_color_9 = colors.orange[1] -- '#cb4b16'
	g.terminal_color_10 = colors.base01[1] -- '#586e75'
	g.terminal_color_11 = colors.base00[1] -- '#657b83'
	g.terminal_color_12 = colors.base0[1] -- '#839496'
	g.terminal_color_13 = colors.violet[1] -- '#6c71c4'
	g.terminal_color_14 = colors.base1[1] -- '#93a1a1'
	g.terminal_color_15 = colors.base3[1] -- '#fdf6e3'
end

return M


================================================
FILE: lua/solarized/utils/init.lua
================================================
local M = {}

function M.default_settings()
	-- default settings function
	local settings = {
		solarized_visibility = 'normal',
		solarized_diffmode = 'normal',
		solarized_termtrans = 0,
		solarized_statusline = 'normal',
		solarized_italics = 1
	}

	for key,val in pairs(settings) do
		if vim.g[key] == nil then
			vim.g[key] = val
		end
	end
end

function M.highlighter(group, colors)
	-- setup funtion
	colors.guisp = colors.guisp or 'none'
	colors.style = colors.style or 'none'
	colors.bg = colors.bg or {'none', 'none'}
	local g_foreground = colors.fg[1]
	local c_foreground = colors.fg[2]
	local g_background = colors.bg[1]
	local c_background = colors.bg[2]
	local guisp = colors.guisp[1] or 'none'
	local style = colors.style or 'none'
	vim.cmd(string.format(
	'hi %s guifg=%s guibg=%s guisp=%s gui=%s ctermfg=%s ctermbg=%s cterm=%s',
	group, g_foreground, g_background, guisp, style, c_foreground, c_background, style
	))
end

-- italics and termtrans functions

function M.italics()
	if vim.g.solarized_italics == 1 then
		return 'italic'
	else
		return 'none'
	end
end

function M.termtrans(color)
	if vim.g.solarized_termtrans == 1 then
		return {'none', 'none'}
	else
		return color
	end
end

return M
Download .txt
gitextract_lte40lew/

├── .gitignore
├── LICENSE
├── README.md
├── colors/
│   ├── solarized-flat.lua
│   ├── solarized-high.lua
│   ├── solarized-low.lua
│   └── solarized.lua
└── lua/
    └── solarized/
        ├── solarized-flat/
        │   └── highlights.lua
        ├── solarized-high/
        │   └── highlights.lua
        ├── solarized-low/
        │   └── highlights.lua
        ├── solarized-normal/
        │   └── highlights.lua
        └── utils/
            └── init.lua
Condensed preview — 12 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (127K chars).
[
  {
    "path": ".gitignore",
    "chars": 244,
    "preview": "lua/solarized/tmp.lua\nlua/solarized/solarized-flat/tmp.lua\nlua/solarized/solarized-high/tmp.lua\nlua/solarized/solarized-"
  },
  {
    "path": "LICENSE",
    "chars": 1066,
    "preview": "MIT License\n\nCopyright (c) 2021 ishan9299\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\n"
  },
  {
    "path": "README.md",
    "chars": 2725,
    "preview": "# Solarized Neovim\n\nThis aims to be a complete port [vim-solarized8](https://github.com/lifepillar/vim-solarized8) with "
  },
  {
    "path": "colors/solarized-flat.lua",
    "chars": 1369,
    "preview": "local solarized_flat = require('solarized.solarized-flat.highlights')\nlocal lightColors = {\n\tnone = {'none', 'none'},\n\tb"
  },
  {
    "path": "colors/solarized-high.lua",
    "chars": 1400,
    "preview": "local solarized_high = require('solarized.solarized-high.highlights')\nlocal lightColors = {\n\tnone = {'none', 'none'},\n\tb"
  },
  {
    "path": "colors/solarized-low.lua",
    "chars": 1393,
    "preview": "local solarized_low = require('solarized.solarized-low.highlights')\nlocal lightColors = {\n\tnone = {'none', 'none'},\n\tbas"
  },
  {
    "path": "colors/solarized.lua",
    "chars": 1414,
    "preview": "local solarized_normal = require('solarized.solarized-normal.highlights')\nlocal darkColors = {\n\tnone = {'none', 'none'},"
  },
  {
    "path": "lua/solarized/solarized-flat/highlights.lua",
    "chars": 25794,
    "preview": "local M = {}\nlocal cmd = vim.cmd\nlocal g = vim.g\nlocal o = vim.o\nlocal fn = vim.fn\nlocal utils = require('solarized.util"
  },
  {
    "path": "lua/solarized/solarized-high/highlights.lua",
    "chars": 26953,
    "preview": "local M = {}\nlocal cmd = vim.cmd\nlocal g = vim.g\nlocal o = vim.o\nlocal fn = vim.fn\nlocal utils = require('solarized.util"
  },
  {
    "path": "lua/solarized/solarized-low/highlights.lua",
    "chars": 24077,
    "preview": "local M = {}\nlocal cmd = vim.cmd\nlocal g = vim.g\nlocal o = vim.o\nlocal fn = vim.fn\nlocal utils = require('solarized.util"
  },
  {
    "path": "lua/solarized/solarized-normal/highlights.lua",
    "chars": 33698,
    "preview": "local M = {}\nlocal cmd = vim.cmd\nlocal g = vim.g\nlocal o = vim.o\nlocal fn = vim.fn\nlocal utils = require('solarized.util"
  },
  {
    "path": "lua/solarized/utils/init.lua",
    "chars": 1218,
    "preview": "local M = {}\n\nfunction M.default_settings()\n\t-- default settings function\n\tlocal settings = {\n\t\tsolarized_visibility = '"
  }
]

About this extraction

This page contains the full source code of the ishan9299/nvim-solarized-lua GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 12 files (118.5 KB), approximately 38.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!