summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotken12 <kendotzhou@gmail.com>2022-10-24 17:20:24 -0400
committernotken12 <kendotzhou@gmail.com>2022-10-24 17:20:24 -0400
commit69f739e73298d9a57c7fd83e7d6545834e05a7e2 (patch)
tree0f70c048c697b8ea97f262f0d29d9678c6b93fd6
parentremove ayu-dark (diff)
new colorschemes
-rw-r--r--colors/ayu-dark.vim4
-rw-r--r--colors/ayu-light.vim4
-rw-r--r--colors/dark_horizon.vim4
-rw-r--r--colors/falcon.vim4
-rw-r--r--colors/gruvbox_material.vim4
-rw-r--r--colors/oceanic-next.vim4
-rw-r--r--colors/solarized_dark.vim4
-rwxr-xr-x[-rw-r--r--]compile.py2
-rw-r--r--lua/ayu-dark/init.lua18
-rw-r--r--lua/ayu-dark/palette.lua50
-rw-r--r--lua/ayu-dark/theme.lua342
-rw-r--r--lua/ayu-light/init.lua18
-rw-r--r--lua/ayu-light/palette.lua50
-rw-r--r--lua/ayu-light/theme.lua342
-rw-r--r--lua/dark_horizon/init.lua18
-rw-r--r--lua/dark_horizon/palette.lua50
-rw-r--r--lua/dark_horizon/theme.lua342
-rw-r--r--lua/falcon/init.lua18
-rw-r--r--lua/falcon/palette.lua52
-rw-r--r--lua/falcon/theme.lua342
-rw-r--r--lua/gruvbox_material/init.lua18
-rw-r--r--lua/gruvbox_material/palette.lua50
-rw-r--r--lua/gruvbox_material/theme.lua342
-rw-r--r--lua/oceanic-next/init.lua18
-rw-r--r--lua/oceanic-next/palette.lua50
-rw-r--r--lua/oceanic-next/theme.lua342
-rw-r--r--lua/solarized_dark/init.lua18
-rw-r--r--lua/solarized_dark/palette.lua50
-rw-r--r--lua/solarized_dark/theme.lua342
-rw-r--r--src/themes/ayu-dark.lua (renamed from src/themes/ayu_dark.lua)10
-rw-r--r--src/themes/ayu-light.lua71
-rw-r--r--src/themes/catppuccin.lua6
-rw-r--r--src/themes/catppuccin_latte.lua4
-rw-r--r--src/themes/chadracula.lua4
-rw-r--r--src/themes/chocolate.lua16
-rw-r--r--src/themes/dark_horizon.lua72
-rw-r--r--src/themes/doomchad.lua2
-rw-r--r--src/themes/everforest.lua4
-rw-r--r--src/themes/everforest_light.lua8
-rw-r--r--src/themes/falcon.lua73
-rw-r--r--src/themes/gatekeeper.lua4
-rw-r--r--src/themes/gruvbox_material.lua66
-rw-r--r--src/themes/kanagawa.lua9
-rw-r--r--src/themes/monekai.lua4
-rw-r--r--src/themes/mountain.lua2
-rw-r--r--src/themes/nightowl.lua6
-rw-r--r--src/themes/nord.lua4
-rw-r--r--src/themes/oceanic-next.lua72
-rw-r--r--src/themes/one_light.lua2
-rw-r--r--src/themes/onenord_light.lua2
-rw-r--r--src/themes/palenight.lua4
-rw-r--r--src/themes/radium.lua4
-rw-r--r--src/themes/solarized_dark.lua59
-rw-r--r--src/themes/tokyonight.lua6
-rw-r--r--src/themes/vscode_dark.lua12
-rw-r--r--src/themes/wombat.lua8
-rw-r--r--templates/ayu-dark.toml412
-rw-r--r--templates/ayu-light.toml412
-rw-r--r--templates/dark_horizon.toml412
-rw-r--r--templates/falcon.toml414
-rw-r--r--templates/gruvbox_material.toml412
-rw-r--r--templates/oceanic-next.toml413
-rw-r--r--templates/solarized_dark.toml412
63 files changed, 6264 insertions, 59 deletions
diff --git a/colors/ayu-dark.vim b/colors/ayu-dark.vim
new file mode 100644
index 0000000..a467b40
--- /dev/null
+++ b/colors/ayu-dark.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local ayu-dark = require("ayu-dark")
+ayu-dark.setup({})
+EOF \ No newline at end of file
diff --git a/colors/ayu-light.vim b/colors/ayu-light.vim
new file mode 100644
index 0000000..ae9d641
--- /dev/null
+++ b/colors/ayu-light.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local ayu-light = require("ayu-light")
+ayu-light.setup({})
+EOF \ No newline at end of file
diff --git a/colors/dark_horizon.vim b/colors/dark_horizon.vim
new file mode 100644
index 0000000..a20abc5
--- /dev/null
+++ b/colors/dark_horizon.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local dark_horizon = require("dark_horizon")
+dark_horizon.setup({})
+EOF \ No newline at end of file
diff --git a/colors/falcon.vim b/colors/falcon.vim
new file mode 100644
index 0000000..37a1bdc
--- /dev/null
+++ b/colors/falcon.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local falcon = require("falcon")
+falcon.setup({})
+EOF \ No newline at end of file
diff --git a/colors/gruvbox_material.vim b/colors/gruvbox_material.vim
new file mode 100644
index 0000000..08c9669
--- /dev/null
+++ b/colors/gruvbox_material.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local gruvbox_material = require("gruvbox_material")
+gruvbox_material.setup({})
+EOF \ No newline at end of file
diff --git a/colors/oceanic-next.vim b/colors/oceanic-next.vim
new file mode 100644
index 0000000..3d50f1b
--- /dev/null
+++ b/colors/oceanic-next.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local oceanic-next = require("oceanic-next")
+oceanic-next.setup({})
+EOF \ No newline at end of file
diff --git a/colors/solarized_dark.vim b/colors/solarized_dark.vim
new file mode 100644
index 0000000..708b28d
--- /dev/null
+++ b/colors/solarized_dark.vim
@@ -0,0 +1,4 @@
+lua << EOF
+local solarized_dark = require("solarized_dark")
+solarized_dark.setup({})
+EOF \ No newline at end of file
diff --git a/compile.py b/compile.py
index 59a4652..457cc74 100644..100755
--- a/compile.py
+++ b/compile.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
# import required module
import os
import itertools
diff --git a/lua/ayu-dark/init.lua b/lua/ayu-dark/init.lua
new file mode 100644
index 0000000..a2cc382
--- /dev/null
+++ b/lua/ayu-dark/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('ayu-dark.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'dark'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'ayu-dark'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/ayu-dark/palette.lua b/lua/ayu-dark/palette.lua
new file mode 100644
index 0000000..da89946
--- /dev/null
+++ b/lua/ayu-dark/palette.lua
@@ -0,0 +1,50 @@
+local colors = {
+ white = "#ced4df",
+ darker_black = "#05080e",
+ black = "#0B0E14",
+ black2 = "#14171d",
+ one_bg = "#1c1f25",
+ one_bg2 = "#24272d",
+ one_bg3 = "#2b2e34",
+ grey = "#33363c",
+ grey_fg = "#3d4046",
+ grey_fg2 = "#46494f",
+ light_grey = "#54575d",
+ red = "#F07178",
+ baby_pink = "#ff949b",
+ pink = "#ff8087",
+ line = "#24272d",
+ green = "#AAD84C",
+ vibrant_green = "#b9e75b",
+ blue = "#36A3D9",
+ nord_blue = "#43b0e6",
+ yellow = "#E7C547",
+ sun = "#f0df8a",
+ purple = "#c79bf4",
+ dark_purple = "#A37ACC",
+ teal = "#74c5aa",
+ orange = "#ffa455",
+ cyan = "#95E6CB",
+ statusline_bg = "#12151b",
+ lightbg = "#24272d",
+ pmenu_bg = "#ff9445",
+ folder_bg = "#98a3af",
+ base00 = "#0B0E14",
+ base01 = "#1c1f25",
+ base02 = "#24272d",
+ base03 = "#2b2e34",
+ base04 = "#33363c",
+ base05 = "#c9c7be",
+ base06 = "#E6E1CF",
+ base07 = "#D9D7CE",
+ base08 = "#c9c7be",
+ base09 = "#FFEE99",
+ base0A = "#56c3f9",
+ base0B = "#AAD84C",
+ base0C = "#FFB454",
+ base0D = "#F07174",
+ base0E = "#FFB454",
+ base0F = "#CBA6F7",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/ayu-dark/theme.lua b/lua/ayu-dark/theme.lua
new file mode 100644
index 0000000..b8be472
--- /dev/null
+++ b/lua/ayu-dark/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('ayu-dark.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/lua/ayu-light/init.lua b/lua/ayu-light/init.lua
new file mode 100644
index 0000000..3727ab6
--- /dev/null
+++ b/lua/ayu-light/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('ayu-light.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'light'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'ayu-light'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/ayu-light/palette.lua b/lua/ayu-light/palette.lua
new file mode 100644
index 0000000..2e5ff8f
--- /dev/null
+++ b/lua/ayu-light/palette.lua
@@ -0,0 +1,50 @@
+local colors = {
+ white = "#26292f",
+ darker_black = "#ededed",
+ black = "#fafafa",
+ black2 = "#e3e3e3",
+ one_bg = "#ebebeb",
+ one_bg2 = "#e1e1e1",
+ one_bg3 = "#d7d7d7",
+ grey = "#cdcdcd",
+ grey_fg = "#b9b9b9",
+ grey_fg2 = "#acacac",
+ light_grey = "#a0a0a0",
+ red = "#E65050",
+ baby_pink = "#ff8282",
+ pink = "#ffa5a5",
+ line = "#e1e1e1",
+ green = "#6CBF43",
+ vibrant_green = "#94e76b",
+ blue = "#399EE6",
+ nord_blue = "#2c91d9",
+ yellow = "#E6BA7E",
+ sun = "#f3c78b",
+ purple = "#9F40FF",
+ dark_purple = "#8627e6",
+ teal = "#74c5aa",
+ orange = "#FA8D3E",
+ cyan = "#95E6CB",
+ statusline_bg = "#f0f0f0",
+ lightbg = "#e6e6e6",
+ pmenu_bg = "#95E6CB",
+ folder_bg = "#5C6166",
+ base00 = "#fafafa",
+ base01 = "#f0f0f0",
+ base02 = "#e6e6e6",
+ base03 = "#dcdcdc",
+ base04 = "#d2d2d2",
+ base05 = "#5C6166",
+ base06 = "#52575c",
+ base07 = "#484d52",
+ base08 = "#F07171",
+ base09 = "#A37ACC",
+ base0A = "#399EE6",
+ base0B = "#86B300",
+ base0C = "#4CBF99",
+ base0D = "#55B4D4",
+ base0E = "#FA8D3E",
+ base0F = "#F2AE49",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/ayu-light/theme.lua b/lua/ayu-light/theme.lua
new file mode 100644
index 0000000..abcf0ad
--- /dev/null
+++ b/lua/ayu-light/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('ayu-light.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/lua/dark_horizon/init.lua b/lua/dark_horizon/init.lua
new file mode 100644
index 0000000..ef5c1d3
--- /dev/null
+++ b/lua/dark_horizon/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('dark_horizon.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'dark'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'dark_horizon'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/dark_horizon/palette.lua b/lua/dark_horizon/palette.lua
new file mode 100644
index 0000000..4d91fe4
--- /dev/null
+++ b/lua/dark_horizon/palette.lua
@@ -0,0 +1,50 @@
+local colors = {
+ white = "#FFFFFF",
+ darker_black = "#080808",
+ black = "#0e0e0e",
+ black2 = "#181818",
+ one_bg = "#1c1c1c",
+ one_bg2 = "#212121",
+ one_bg3 = "#292929",
+ grey = "#363636",
+ grey_fg = "#404040",
+ grey_fg2 = "#4a4a4a",
+ light_grey = "#525252",
+ red = "#dc322f",
+ baby_pink = "#a72e5b",
+ pink = "#ff75a0",
+ line = "#1d1d1d",
+ green = "#AAD84C",
+ vibrant_green = "#b9e75b",
+ nord_blue = "#18a3af",
+ blue = "#25B0BC",
+ yellow = "#fdb830",
+ sun = "#ffc038",
+ purple = "#da70d6",
+ dark_purple = "#c65cc2",
+ teal = "#749689",
+ orange = "#FFA500",
+ cyan = "#6BE4E6",
+ statusline_bg = "#181818",
+ lightbg = "#292929",
+ pmenu_bg = "#15bf84",
+ folder_bg = "#07929e",
+ base00 = "#0e0e0e",
+ base01 = "#181818",
+ base02 = "#292929",
+ base03 = "#363636",
+ base04 = "#3f4248",
+ base05 = "#c9c7be",
+ base06 = "#E6E1CF",
+ base07 = "#D9D7CE",
+ base08 = "#D9D7CE",
+ base09 = "#eaa273",
+ base0A = "#825aff",
+ base0B = "#E3A587",
+ base0C = "#F09483",
+ base0D = "#FFA500",
+ base0E = "#2ca9b4",
+ base0F = "#d75271",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/dark_horizon/theme.lua b/lua/dark_horizon/theme.lua
new file mode 100644
index 0000000..4833bf2
--- /dev/null
+++ b/lua/dark_horizon/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('dark_horizon.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/lua/falcon/init.lua b/lua/falcon/init.lua
new file mode 100644
index 0000000..da0ec2a
--- /dev/null
+++ b/lua/falcon/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('falcon.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'dark'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'falcon'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/falcon/palette.lua b/lua/falcon/palette.lua
new file mode 100644
index 0000000..a7aa6f5
--- /dev/null
+++ b/lua/falcon/palette.lua
@@ -0,0 +1,52 @@
+local colors = {
+ white = "#F8F8FF",
+ white2 = "#DFDFE5",
+ tan = "#CFC1B2",
+ darker_black = "#000015",
+ black = "#020222",
+ black2 = "#0b0b2b",
+ one_bg = "#161636",
+ one_bg2 = "#202040",
+ one_bg3 = "#2a2a4a",
+ grey = "#393959",
+ grey_fg = "#434363",
+ grey_fg2 = "#4d4d6d",
+ light_grey = "#5c5c7c",
+ red = "#FF761A",
+ baby_pink = "#FF8E78",
+ pink = "#ffafb7",
+ line = "#202040",
+ green = "#9BCCBF",
+ vibrant_green = "#b9e75b",
+ nord_blue = "#a1bce1",
+ blue = "#6699cc",
+ yellow = "#FFC552",
+ sun = "#FFD392",
+ purple = "#99A4BC",
+ dark_purple = "#635196",
+ teal = "#34BFA4",
+ orange = "#f99157",
+ cyan = "#BFDAFF",
+ statusline_bg = "#0b0b2b",
+ lightbg = "#2a2a4a",
+ pmenu_bg = "#FFB07B",
+ folder_bg = "#598cbf",
+ base00 = "#020222",
+ base01 = "#0b0b2b",
+ base02 = "#161636",
+ base03 = "#202040",
+ base04 = "#e4e4eb",
+ base05 = "#eeeef5",
+ base06 = "#f3f3fa",
+ base07 = "#F8F8FF",
+ base08 = "#BFDAFF",
+ base09 = "#B4B4B9",
+ base0A = "#FFC552",
+ base0B = "#C8D0E3",
+ base0C = "#B4B4B9",
+ base0D = "#FFC552",
+ base0E = "#8BCCBF",
+ base0F = "#DFDFE5",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/falcon/theme.lua b/lua/falcon/theme.lua
new file mode 100644
index 0000000..fca5f89
--- /dev/null
+++ b/lua/falcon/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('falcon.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/lua/gruvbox_material/init.lua b/lua/gruvbox_material/init.lua
new file mode 100644
index 0000000..ed95962
--- /dev/null
+++ b/lua/gruvbox_material/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('gruvbox_material.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'dark'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'gruvbox_material'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/gruvbox_material/palette.lua b/lua/gruvbox_material/palette.lua
new file mode 100644
index 0000000..28a8eb0
--- /dev/null
+++ b/lua/gruvbox_material/palette.lua
@@ -0,0 +1,50 @@
+local colors = {
+ white = "#ebdbb2",
+ darker_black = "#222222",
+ black = "#282828",
+ black2 = "#2e2e2e",
+ one_bg = "#323232",
+ one_bg2 = "#3b3b3b",
+ one_bg3 = "#434343",
+ grey = "#505050",
+ grey_fg = "#5a5a5a",
+ grey_fg2 = "#646464",
+ light_grey = "#6c6c6c",
+ red = "#ea6962",
+ baby_pink = "#ce8196",
+ pink = "#ff75a0",
+ line = "#373737",
+ green = "#89b482",
+ vibrant_green = "#a9b665",
+ nord_blue = "#6f8faf",
+ blue = "#6d8dad",
+ yellow = "#d8a657",
+ sun = "#eab869",
+ purple = "#d3869b",
+ dark_purple = "#d3869b",
+ teal = "#749689",
+ orange = "#e78a4e",
+ cyan = "#89b482",
+ statusline_bg = "#2c2c2c",
+ lightbg = "#393939",
+ pmenu_bg = "#89b482",
+ folder_bg = "#6d8dad",
+ base0A = "#d8a657",
+ base04 = "#d4be98",
+ base07 = "#c7b89d",
+ base05 = "#c0b196",
+ base0E = "#ea6962",
+ base0D = "#a9b665",
+ base0C = "#89b482",
+ base0B = "#89b482",
+ base02 = "#323232",
+ base0F = "#dd8044",
+ base03 = "#434343",
+ base08 = "#7daea3",
+ base01 = "#2e2e2e",
+ base00 = "#282828",
+ base09 = "#e78a4e",
+ base06 = "#d4be98",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/gruvbox_material/theme.lua b/lua/gruvbox_material/theme.lua
new file mode 100644
index 0000000..f4eaa8a
--- /dev/null
+++ b/lua/gruvbox_material/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('gruvbox_material.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/lua/oceanic-next/init.lua b/lua/oceanic-next/init.lua
new file mode 100644
index 0000000..c6df613
--- /dev/null
+++ b/lua/oceanic-next/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('oceanic-next.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'dark'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'oceanic-next'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/oceanic-next/palette.lua b/lua/oceanic-next/palette.lua
new file mode 100644
index 0000000..bd60e60
--- /dev/null
+++ b/lua/oceanic-next/palette.lua
@@ -0,0 +1,50 @@
+local colors = {
+ white = "#D8DEE9",
+ darker_black = "#15252e",
+ black = "#1B2B34",
+ black2 = "#21313a",
+ one_bg = "#25353e",
+ one_bg2 = "#2e3e47",
+ one_bg3 = "#36464f",
+ grey = "#43535c",
+ grey_fg = "#4d5d66",
+ grey_fg2 = "#576770",
+ light_grey = "#5f6f78",
+ red = "#EC5F67",
+ baby_pink = "#ff7d85",
+ pink = "#ffafb7",
+ line = "#2a3a43",
+ green = "#99C794",
+ vibrant_green = "#b9e75b",
+ nord_blue = "#598cbf",
+ blue = "#6699CC",
+ yellow = "#FAC863",
+ sun = "#ffd06b",
+ purple = "#C594C5",
+ dark_purple = "#ac7bac",
+ teal = "#50a4a4",
+ orange = "#F99157",
+ cyan = "#62B3B2",
+ statusline_bg = "#1f2f38",
+ lightbg = "#2c3c45",
+ pmenu_bg = "#15bf84",
+ folder_bg = "#598cbf",
+ base00 = "#1B2B34",
+ base01 = "#343D46",
+ base02 = "#4F5B66",
+ base03 = "#65737e",
+ base04 = "#A7ADBa",
+ base05 = "#C0C5Ce",
+ base06 = "#CDD3De",
+ base07 = "#D8DEE9",
+ base08 = "#6cbdbc",
+ base09 = "#FAC863",
+ base0A = "#F99157",
+ base0B = "#99C794",
+ base0C = "#5aaeae",
+ base0D = "#6699CC",
+ base0E = "#C594C5",
+ base0F = "#EC5F67",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/oceanic-next/theme.lua b/lua/oceanic-next/theme.lua
new file mode 100644
index 0000000..fb71586
--- /dev/null
+++ b/lua/oceanic-next/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('oceanic-next.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/lua/solarized_dark/init.lua b/lua/solarized_dark/init.lua
new file mode 100644
index 0000000..fb1b1a4
--- /dev/null
+++ b/lua/solarized_dark/init.lua
@@ -0,0 +1,18 @@
+local M = {}
+local theme = require('solarized_dark.theme')
+
+M.setup = function()
+ vim.cmd('hi clear')
+
+ vim.o.background = 'dark'
+ if vim.fn.exists('syntax_on') then
+ vim.cmd('syntax reset')
+ end
+
+ vim.o.termguicolors = true
+ vim.g.colors_name = 'solarized_dark'
+
+ theme.set_highlights()
+end
+
+return M \ No newline at end of file
diff --git a/lua/solarized_dark/palette.lua b/lua/solarized_dark/palette.lua
new file mode 100644
index 0000000..b483443
--- /dev/null
+++ b/lua/solarized_dark/palette.lua
@@ -0,0 +1,50 @@
+local colors = {
+ white = "#abb2bf",
+ darker_black = "#002530",
+ black = "#002b36",
+ black2 = "#06313c",
+ one_bg = "#0a3540",
+ one_bg2 = "#133e49",
+ one_bg3 = "#1b4651",
+ grey = "#28535e",
+ grey_fg = "#325d68",
+ grey_fg2 = "#3c6772",
+ light_grey = "#446f7a",
+ red = "#dc322f",
+ baby_pink = "#eb413e",
+ pink = "#d33682",
+ line = "#0f3a45",
+ green = "#859900",
+ vibrant_green = "#b2c62d",
+ nord_blue = "#197ec5",
+ blue = "#268bd2",
+ yellow = "#b58900",
+ sun = "#c4980f",
+ purple = "#6c71c4",
+ dark_purple = "#5d62b5",
+ teal = "#519ABA",
+ orange = "#cb4b16",
+ cyan = "#2aa198",
+ statusline_bg = "#042f3a",
+ lightbg = "#113c47",
+ pmenu_bg = "#268bd2",
+ folder_bg = "#268bd2",
+ base00 = "#002b36",
+ base01 = "#073642",
+ base02 = "#586e75",
+ base03 = "#657b83",
+ base04 = "#839496",
+ base05 = "#93a1a1",
+ base06 = "#eee8d5",
+ base07 = "#fdf6e3",
+ base08 = "#dc322f",
+ base09 = "#cb4b16",
+ base0A = "#b58900",
+ base0B = "#859900",
+ base0C = "#2aa198",
+ base0D = "#268bd2",
+ base0E = "#6c71c4",
+ base0F = "#d33682",
+}
+
+return colors \ No newline at end of file
diff --git a/lua/solarized_dark/theme.lua b/lua/solarized_dark/theme.lua
new file mode 100644
index 0000000..0d49c06
--- /dev/null
+++ b/lua/solarized_dark/theme.lua
@@ -0,0 +1,342 @@
+
+local c = require('solarized_dark.palette')
+
+local hl = vim.api.nvim_set_hl
+local theme = {}
+
+theme.set_highlights = function()
+
+ -- highlights
+ hl(0, "Normal", { fg = c.base05, bg = c.base00 })
+ hl(0, "SignColumn", { fg = c.base03, bg = 'NONE', sp = 'NONE', })
+ hl(0, "MsgArea", { fg = c.base05, bg = c.base00 })
+ hl(0, "ModeMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "MsgSeparator", { fg = c.base05, bg = c.base00 })
+ hl(0, "SpellBad", { fg = 'NONE', bg = 'NONE', sp = c.base08, undercurl=true, })
+ hl(0, "SpellCap", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "SpellLocal", { fg = 'NONE', bg = 'NONE', sp = c.base0C, undercurl=true, })
+ hl(0, "SpellRare", { fg = 'NONE', bg = 'NONE', sp = c.base0D, undercurl=true, })
+ hl(0, "NormalNC", { fg = c.base05, bg = c.base00 })
+ hl(0, "Pmenu", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuSel", { fg = c.black, bg = c.pmenu_bg })
+ hl(0, "WildMenu", { fg = c.base08, bg = c.base0A })
+ hl(0, "CursorLineNr", { fg = c.white, bg = 'NONE' })
+ hl(0, "Comment", { fg = c.grey_fg, bg = 'NONE' })
+ hl(0, "Folded", { fg = c.base03, bg = c.base01 })
+ hl(0, "FoldColumn", { fg = c.base0C, bg = c.base01 })
+ hl(0, "LineNr", { fg = c.grey, bg = 'NONE' })
+ hl(0, "FloatBorder", { fg = c.blue, bg = 'NONE' })
+ hl(0, "VertSplit", { fg = c.line, bg = 'NONE' })
+ hl(0, "CursorLine", { fg = 'NONE', bg = c.base01 })
+ hl(0, "CursorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "ColorColumn", { fg = 'NONE', bg = c.base01 })
+ hl(0, "NormalFloat", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "Visual", { fg = 'NONE', bg = c.base02 })
+ hl(0, "VisualNOS", { fg = c.base08, bg = 'NONE' })
+ hl(0, "WarningMsg", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiffAdd", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "DiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DiffDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "QuickFixLine", { fg = 'NONE', bg = c.base01, sp = 'NONE', })
+ hl(0, "PmenuSbar", { fg = 'NONE', bg = c.one_bg })
+ hl(0, "PmenuThumb", { fg = 'NONE', bg = c.grey })
+ hl(0, "MatchWord", { fg = c.white, bg = c.grey })
+ hl(0, "MatchParen", { link = 'MatchWord' })
+ hl(0, "Cursor", { fg = c.base00, bg = c.base05 })
+ hl(0, "Conceal", { fg = 'NONE', bg = 'NONE' })
+ hl(0, "Directory", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "SpecialKey", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Title", { fg = c.base0D, bg = 'NONE', sp = 'NONE', })
+ hl(0, "ErrorMsg", { fg = c.base08, bg = c.base00 })
+ hl(0, "Search", { fg = c.base01, bg = c.base0A })
+ hl(0, "IncSearch", { fg = c.base01, bg = c.base09 })
+ hl(0, "Substitute", { fg = c.base01, bg = c.base0A, sp = 'NONE', })
+ hl(0, "MoreMsg", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Question", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "NonText", { fg = c.base03, bg = 'NONE' })
+ hl(0, "Variable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "String", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Character", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Constant", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Number", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Boolean", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Float", { fg = c.base09, bg = 'NONE' })
+ hl(0, "Identifier", { fg = c.base08, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Function", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "Operator", { fg = c.base05, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Type", { fg = c.base0A, bg = 'NONE', sp = 'NONE', })
+ hl(0, "StorageClass", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Structure", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Typedef", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Keyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Statement", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Conditional", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "Repeat", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Label", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Exception", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Include", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "PreProc", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Define", { fg = c.base0E, bg = 'NONE', sp = 'NONE', })
+ hl(0, "Macro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Special", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "SpecialChar", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "Tag", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "Debug", { fg = c.base08, bg = 'NONE' })
+ hl(0, "Underlined", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "Bold", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "Italic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "Ignore", { fg = c.cyan, bg = c.base00, bold=true, })
+ hl(0, "Todo", { fg = c.base0A, bg = c.base01 })
+ hl(0, "Error", { fg = c.base00, bg = c.base08 })
+ hl(0, "TabLine", { fg = c.light_grey, bg = c.line })
+ hl(0, "TabLineSel", { fg = c.white, bg = c.line })
+ hl(0, "TabLineFill", { fg = c.line, bg = c.line })
+
+ -- Treesitter
+ hl(0, "TSComment", { link = 'Comment' })
+ hl(0, "TSAnnotation", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSAttribute", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConstructor", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSTypeBuiltin", { fg = c.base0A, bg = 'NONE' })
+ hl(0, "TSConditional", { link = 'Conditional' })
+ hl(0, "TSException", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSInclude", { link = 'Include' })
+ hl(0, "TSKeywordReturn", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeyword", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSKeywordFunction", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSNamespace", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSConstBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSFloat", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSCharacter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFunction", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSFuncBuiltin", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSMethod", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSConstMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSFuncMacro", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSVariable", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSVariableBuiltin", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSProperty", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSField", { fg = c.base0D, bg = 'NONE' })
+ hl(0, "TSParameter", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSParameterReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSSymbol", { fg = c.base0B, bg = 'NONE' })
+ hl(0, "TSText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "TSPunctDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagDelimiter", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSTagAttribute", { link = 'TSProperty' })
+ hl(0, "TSPunctBracket", { fg = c.base0F, bg = 'NONE' })
+ hl(0, "TSPunctSpecial", { fg = c.base08, bg = 'NONE' })
+ hl(0, "TSStringRegex", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSStringEscape", { fg = c.base0C, bg = 'NONE' })
+ hl(0, "TSEmphasis", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSLiteral", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSURI", { fg = c.base09, bg = 'NONE' })
+ hl(0, "TSKeywordOperator", { fg = c.base0E, bg = 'NONE' })
+ hl(0, "TSStrong", { fg = 'NONE', bg = 'NONE', bold=true, })
+ hl(0, "TreesitterContext", { link = 'CursorLine' })
+
+ -- markdown
+ hl(0, "markdownBlockquote", { fg = c.green, bg = 'NONE' })
+ hl(0, "markdownCode", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeBlock", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownCodeDelimiter", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownH1", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH2", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH3", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH4", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH5", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownH6", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingDelimiter", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownHeadingRule", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "markdownId", { fg = c.purple, bg = 'NONE' })
+ hl(0, "markdownIdDeclaration", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownIdDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownLinkDelimiter", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "markdownBold", { fg = c.blue, bg = 'NONE', bold=true, })
+ hl(0, "markdownItalic", { fg = 'NONE', bg = 'NONE', italic=true, })
+ hl(0, "markdownBoldItalic", { fg = c.yellow, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "markdownListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownOrderedListMarker", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownRule", { fg = c.base01, bg = 'NONE' })
+ hl(0, "markdownUrl", { fg = c.cyan, bg = 'NONE', underline=true, })
+ hl(0, "markdownLinkText", { fg = c.blue, bg = 'NONE' })
+ hl(0, "markdownFootnote", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownFootnoteDefinition", { fg = c.orange, bg = 'NONE' })
+ hl(0, "markdownEscape", { fg = c.yellow, bg = 'NONE' })
+
+ -- Whichkey
+ hl(0, "WhichKey", { fg = c.purple, bg = 'NONE' })
+ hl(0, "WhichKeySeperator", { fg = c.green, bg = 'NONE' })
+ hl(0, "WhichKeyGroup", { fg = c.blue, bg = 'NONE' })
+ hl(0, "WhichKeyDesc", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "WhichKeyFloat", { fg = 'NONE', bg = c.base01 })
+
+ -- Git
+ hl(0, "SignAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "SignChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "SignDelete", { fg = c.red, bg = 'NONE' })
+ hl(0, "GitSignsAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "GitSignsChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "GitSignsDelete", { fg = c.red, bg = 'NONE' })
+
+ -- LSP
+ hl(0, "DiagnosticError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticWarn", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "DiagnosticInfo", { fg = c.green, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsDefaultHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsVirtualTextHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsFloatingHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DiagnosticSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "DiagnosticSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "DiagnosticSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "DiagnosticSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsSignHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsError", { fg = c.base08, bg = 'NONE' })
+ hl(0, "LspDiagnosticsWarning", { fg = c.base09, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInformation", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsInfo", { fg = c.sun, bg = 'NONE' })
+ hl(0, "LspDiagnosticsHint", { fg = c.purple, bg = 'NONE' })
+ hl(0, "LspDiagnosticsUnderlineError", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineWarning", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInformation", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineInfo", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspDiagnosticsUnderlineHint", { fg = 'NONE', bg = 'NONE', underline=true, })
+ hl(0, "LspReferenceRead", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceText", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspReferenceWrite", { fg = 'NONE', bg = '#2e303b' })
+ hl(0, "LspCodeLens", { fg = c.base04, bg = 'NONE', italic=true, })
+ hl(0, "LspCodeLensSeparator", { fg = c.base04, bg = 'NONE', italic=true, })
+
+ -- Telescope
+ hl(0, "TelescopeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "TelescopePreviewTitle", { fg = c.black, bg = c.green, bold=true, })
+ hl(0, "TelescopePromptTitle", { fg = c.black, bg = c.red, bold=true, })
+ hl(0, "TelescopeResultsTitle", { fg = c.darker_black, bg = c.darker_black, bold=true, })
+ hl(0, "TelescopeSelection", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopeBorder", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "TelescopePromptBorder", { fg = c.black2, bg = c.black2 })
+ hl(0, "TelescopePromptNormal", { fg = c.white, bg = c.black2 })
+ hl(0, "TelescopePromptPrefix", { fg = c.red, bg = c.black2 })
+ hl(0, "TelescopeResultsDiffAdd", { fg = c.green, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffChange", { fg = c.blue, bg = 'NONE' })
+ hl(0, "TelescopeResultsDiffDelete", { fg = c.red, bg = 'NONE' })
+
+ -- NvimTree
+ hl(0, "NvimTreeFolderIcon", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeIndentMarker", { fg = '#c5c5c5', bg = 'NONE' })
+ hl(0, "NvimTreeNormal", { fg = 'NONE', bg = c.darker_black })
+ hl(0, "NvimTreeVertSplit", { fg = c.darker_black, bg = c.darker_black })
+ hl(0, "NvimTreeFolderName", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeOpenedFolderName", { fg = c.blue, bg = 'NONE', bold=true, italic=true, })
+ hl(0, "NvimTreeEmptyFolderName", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeGitIgnored", { fg = c.grey, bg = 'NONE', italic=true, })
+ hl(0, "NvimTreeImageFile", { fg = c.light_grey, bg = 'NONE' })
+ hl(0, "NvimTreeSpecialFile", { fg = c.orange, bg = 'NONE' })
+ hl(0, "NvimTreeEndOfBuffer", { fg = c.darker_black, bg = 'NONE' })
+ hl(0, "NvimTreeCursorLine", { fg = 'NONE', bg = '#282b37' })
+ hl(0, "NvimTreeGitignoreIcon", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitStaged", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitNew", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitRenamed", { fg = c.vibrant_green, bg = 'NONE' })
+ hl(0, "NvimTreeGitDeleted", { fg = c.red, bg = 'NONE' })
+ hl(0, "NvimTreeGitMerge", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeGitDirty", { fg = c.blue, bg = 'NONE' })
+ hl(0, "NvimTreeSymlink", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "NvimTreeRootFolder", { fg = c.base05, bg = 'NONE', bold=true, })
+ hl(0, "NvimTreeExecFile", { fg = c.green, bg = 'NONE' })
+
+ -- Buffer
+ hl(0, "BufferCurrent", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferCurrentMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferCurrentSign", { fg = c.purple, bg = c.base00 })
+ hl(0, "BufferCurrentTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferVisible", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleIndex", { fg = c.base05, bg = c.base00 })
+ hl(0, "BufferVisibleMod", { fg = c.sun, bg = c.base00 })
+ hl(0, "BufferVisibleSign", { fg = c.grey, bg = c.base00 })
+ hl(0, "BufferVisibleTarget", { fg = c.red, bg = c.base00, bold=true, })
+ hl(0, "BufferInactive", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveIndex", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveMod", { fg = c.sun, bg = c.darker_black })
+ hl(0, "BufferInactiveSign", { fg = c.grey, bg = c.darker_black })
+ hl(0, "BufferInactiveTarget", { fg = c.red, bg = c.darker_black, bold=true, })
+
+ -- StatusLine
+ hl(0, "StatusLine", { fg = c.line, bg = c.statusline_bg })
+ hl(0, "StatusLineNC", { fg = 'NONE', bg = c.statusline_bg })
+ hl(0, "StatusLineSeparator", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTerm", { fg = c.line, bg = 'NONE' })
+ hl(0, "StatusLineTermNC", { fg = c.line, bg = 'NONE' })
+
+ -- IndentBlankline
+ hl(0, "IndentBlanklineContextChar", { fg = c.grey, bg = 'NONE' })
+ hl(0, "IndentBlanklineContextStart", { fg = 'NONE', bg = c.one_bg2 })
+ hl(0, "IndentBlanklineChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceChar", { fg = c.line, bg = 'NONE' })
+ hl(0, "IndentBlanklineSpaceCharBlankline", { fg = c.sun, bg = 'NONE' })
+
+ -- Dashboard
+ hl(0, "DashboardHeader", { fg = c.blue, bg = 'NONE' })
+ hl(0, "DashboardCenter", { fg = c.purple, bg = 'NONE' })
+ hl(0, "DashboardFooter", { fg = c.cyan, bg = 'NONE' })
+
+ -- Cmp
+ hl(0, "CmpItemAbbrDeprecated", { fg = c.grey, bg = 'NONE', strikethrough=true, })
+ hl(0, "CmpItemAbbrMatch", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemAbbrMatchFuzzy", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindFunction", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindMethod", { fg = c.blue, bg = 'NONE' })
+ hl(0, "CmpItemKindConstructor", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindClass", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEnum", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindEvent", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindInterface", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindStruct", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindVariable", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindField", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindProperty", { fg = c.red, bg = 'NONE' })
+ hl(0, "CmpItemKindEnumMember", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindConstant", { fg = c.orange, bg = 'NONE' })
+ hl(0, "CmpItemKindKeyword", { fg = c.purple, bg = 'NONE' })
+ hl(0, "CmpItemKindModule", { fg = c.cyan, bg = 'NONE' })
+ hl(0, "CmpItemKindValue", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindUnit", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindText", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindSnippet", { fg = c.yellow, bg = 'NONE' })
+ hl(0, "CmpItemKindFile", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindFolder", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindColor", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindReference", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindOperator", { fg = c.base05, bg = 'NONE' })
+ hl(0, "CmpItemKindTypeParameter", { fg = c.red, bg = 'NONE' })
+
+ -- ToggleTerm
+ hl(0, "ToggleTerm1FloatBorder", { fg = c.line, bg = 'NONE' })
+
+ -- Illuminate
+ hl(0, "IlluminatedWordText", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+ hl(0, "IlluminatedWordRead", { fg = 'NONE', bg = c.base02, sp = 'NONE', })
+end
+
+return theme \ No newline at end of file
diff --git a/src/themes/ayu_dark.lua b/src/themes/ayu-dark.lua
index bb41785..e3d169c 100644
--- a/src/themes/ayu_dark.lua
+++ b/src/themes/ayu-dark.lua
@@ -53,12 +53,12 @@ M.base_16 = {
}
M.polish_hl = {
- TSTagDelimiter = { fg = M.base_30.cyan },
- TSFunction = { fg = M.base_30.orange },
luaTSField = { fg = M.base_16.base0D },
- TSParameter = { fg = M.base_16.base0F },
- TSConstructor = { fg = M.base_16.base0A },
- TSTagAttribute = { fg = M.base_30.orange },
+ ["@tag.delimiter"] = { fg = M.base_30.cyan },
+ ["@function"] = { fg = M.base_30.orange },
+ ["@parameter"] = { fg = M.base_16.base0F },
+ ["@constructor"] = { fg = M.base_16.base0A },
+ ["@tag.attribute"] = { fg = M.base_30.orange },
}
M = require("base46").override_theme(M, "ayu-dark")
diff --git a/src/themes/ayu-light.lua b/src/themes/ayu-light.lua
new file mode 100644
index 0000000..e6068c5
--- /dev/null
+++ b/src/themes/ayu-light.lua
@@ -0,0 +1,71 @@
+-- credit to original theme for existing https://github.com/ayu-theme/ayu-vim
+-- NOTE : This is a modified version of it
+
+local M = {}
+
+M.base_30 = {
+ white = "#26292f",
+ darker_black = "#ededed",
+ black = "#fafafa", -- nvim bg
+ black2 = "#e3e3e3",
+ one_bg = "#ebebeb",
+ one_bg2 = "#e1e1e1", -- Highlight of context
+ one_bg3 = "#d7d7d7",
+ grey = "#cdcdcd",
+ grey_fg = "#b9b9b9",
+ grey_fg2 = "#acacac", -- Highlight background
+ light_grey = "#a0a0a0", -- Line numbers
+ red = "#E65050",
+ baby_pink = "#ff8282",
+ pink = "#ffa5a5",
+ line = "#e1e1e1", -- for lines like vertsplit
+ green = "#6CBF43",
+ vibrant_green = "#94e76b",
+ blue = "#399EE6",
+ nord_blue = "#2c91d9",
+ yellow = "#E6BA7E",
+ sun = "#f3c78b",
+ purple = "#9F40FF",
+ dark_purple = "#8627e6",
+ teal = "#74c5aa",
+ orange = "#FA8D3E",
+ cyan = "#95E6CB",
+ statusline_bg = "#f0f0f0",
+ lightbg = "#e6e6e6",
+ pmenu_bg = "#95E6CB",
+ folder_bg = "#5C6166",
+}
+
+M.base_16 = {
+ base00 = "#fafafa",
+ base01 = "#f0f0f0",
+ base02 = "#e6e6e6",
+ base03 = "#dcdcdc",
+ base04 = "#d2d2d2",
+ base05 = "#5C6166",
+ base06 = "#52575c",
+ base07 = "#484d52",
+ base08 = "#F07171",
+ base09 = "#A37ACC",
+ base0A = "#399EE6",
+ base0B = "#86B300",
+ base0C = "#4CBF99",
+ base0D = "#55B4D4",
+ base0E = "#FA8D3E",
+ base0F = "#F2AE49",
+}
+
+M.polish_hl = {
+ luaTSField = { fg = M.base_16.base0E },
+ PmenuSel = { fg = M.base_30.white, bg = M.base_30.pmenu_bg },
+ ["@tag.delimiter"] = { fg = M.base_30.base0D },
+ ["@parameter"] = { fg = M.base_16.base09 },
+ ["@constructor"] = { fg = M.base_16.base0C },
+ ["@tag.attribute"] = { fg = M.base_30.base0F },
+}
+
+M = require("base46").override_theme(M, "ayu-light")
+
+vim.opt.bg = "light"
+
+return M
diff --git a/src/themes/catppuccin.lua b/src/themes/catppuccin.lua
index 5d50cf4..6309f2a 100644
--- a/src/themes/catppuccin.lua
+++ b/src/themes/catppuccin.lua
@@ -54,9 +54,9 @@ M.base_16 = {
}
M.polish_hl = {
- TSVariable = { fg = M.base_30.lavender },
- TSProperty = { fg = M.base_30.teal },
- TSVariableBuiltin = { fg = M.base_30.red },
+ ["@variable"] = { fg = M.base_30.lavender },
+ ["@property"] = { fg = M.base_30.teal },
+ ["@variable.builtin"] = { fg = M.base_30.red },
}
vim.opt.bg = "dark"
diff --git a/src/themes/catppuccin_latte.lua b/src/themes/catppuccin_latte.lua
index 0bdfec5..5196deb 100644
--- a/src/themes/catppuccin_latte.lua
+++ b/src/themes/catppuccin_latte.lua
@@ -63,8 +63,8 @@ M.polish_hl = {
WhichKeyDesc = { fg = M.base_30.white },
Pmenu = { bg = M.base_30.black2 },
St_pos_text = { fg = M.base_30.white },
- TSVariableBuiltin = { fg = M.base_30.red },
- TSProperty = { fg = M.base_30.teal },
+ ["@variable.builtin"] = { fg = M.base_30.red },
+ ["@property"] = { fg = M.base_30.teal },
}
M = require("base46").override_theme(M, "catppuccin_latte")
diff --git a/src/themes/chadracula.lua b/src/themes/chadracula.lua
index 4d53282..f929dd3 100644
--- a/src/themes/chadracula.lua
+++ b/src/themes/chadracula.lua
@@ -53,8 +53,8 @@ M.base_16 = {
}
M.polish_hl = {
- TSFuncBuiltin = { fg = M.base_30.cyan },
- TSNumber = { fg = M.base_30.purple },
+ ["@function.builtin"] = { fg = M.base_30.cyan },
+ ["@number"] = { fg = M.base_30.purple },
}
vim.opt.bg = "dark"
diff --git a/src/themes/chocolate.lua b/src/themes/chocolate.lua
index 5c3a225..1d4cacc 100644
--- a/src/themes/chocolate.lua
+++ b/src/themes/chocolate.lua
@@ -57,15 +57,15 @@ M.base_16 = {
}
M.polish_hl = {
- TSField = { fg = M.base_30.purple },
- TSVariable = { fg = M.base_16.base06 },
- TSModule = { fg = M.base_30.beige },
+ ["@field"] = { fg = M.base_30.purple },
+ ["@variable"] = { fg = M.base_16.base06 },
+ ["@module"] = { fg = M.base_30.beige },
Operator = { fg = M.base_30.blue },
- TSAttribute = { fg = M.base_30.cyan },
- TSPunctBracket = { fg = M.base_16.base06 },
- TSParenthesis = { link = "TSPunctBracket" },
- TSParameter = { fg = M.base_30.green },
- TSFuncBuiltin = { fg = M.base_30.yellow },
+ ["@attribute"] = { fg = M.base_30.cyan },
+ ["@punctuation.bracket"] = { fg = M.base_16.base06 },
+ ["@parenthesis"] = { link = "@punctuation.bracket" },
+ ["@parameter"] = { fg = M.base_30.green },
+ ["@function.builtin"] = { fg = M.base_30.yellow },
}
vim.opt.bg = "dark"
diff --git a/src/themes/dark_horizon.lua b/src/themes/dark_horizon.lua
new file mode 100644
index 0000000..4814d2a
--- /dev/null
+++ b/src/themes/dark_horizon.lua
@@ -0,0 +1,72 @@
+local M = {}
+
+M.base_30 = {
+ white = "#FFFFFF",
+ darker_black = "#080808",
+ black = "#0e0e0e", -- nvim bg
+ black2 = "#181818",
+ one_bg = "#1c1c1c",
+ one_bg2 = "#212121",
+ one_bg3 = "#292929",
+ grey = "#363636",
+ grey_fg = "#404040",
+ grey_fg2 = "#4a4a4a",
+ light_grey = "#525252",
+ red = "#dc322f",
+ baby_pink = "#a72e5b",
+ pink = "#ff75a0",
+ line = "#1d1d1d", -- for lines like vertsplit
+ green = "#AAD84C",
+ vibrant_green = "#b9e75b",
+ nord_blue = "#18a3af",
+ blue = "#25B0BC",
+ yellow = "#fdb830",
+ sun = "#ffc038",
+ purple = "#da70d6",
+ dark_purple = "#c65cc2",
+ teal = "#749689",
+ orange = "#FFA500",
+ cyan = "#6BE4E6",
+ statusline_bg = "#181818",
+ lightbg = "#292929",
+ pmenu_bg = "#15bf84",
+ folder_bg = "#07929e",
+}
+
+M.base_16 = {
+ base00 = "#0e0e0e",
+ base01 = "#181818",
+ base02 = "#292929",
+ base03 = "#363636",
+ base04 = "#3f4248",
+ base05 = "#c9c7be",
+ base06 = "#E6E1CF",
+ base07 = "#D9D7CE",
+ base08 = "#D9D7CE", -- Confirmed: Variables Confirmed
+ base09 = "#eaa273", -- Confirmed: Integers, Booleans
+ base0A = "#825aff", -- Classes
+ base0B = "#E3A587", -- Confirmed: Strings
+ base0C = "#F09483", -- Escape characters, Regular expressions
+ base0D = "#FFA500", -- Functions, Methods
+ base0E = "#2ca9b4", -- Confirmed: Keywords, Storage, Selector, Markup
+ base0F = "#d75271", -- Deprecated, Opening/Closing embedded language tags
+}
+
+M.polish_hl = {
+ Include = { fg = M.base_16.base0E, bold = true },
+ luaTSField = { fg = M.base_16.base0E },
+ Repeat = { fg = M.base_16.base0E },
+ ["@variable"] = { fg = M.base_16.base08 },
+ ["@property"] = { fg = M.base_16.base0E },
+ ["@tag.delimiter"] = { fg = M.base_16.base05 },
+ ["@function"] = { fg = M.base_30.orange },
+ ["@parameter"] = { fg = M.base_16.base0F },
+ ["@constructor"] = { fg = M.base_16.base0A },
+ ["@tag.attribute"] = { fg = M.base_16.orange },
+}
+
+vim.opt.bg = "dark"
+
+M = require("base46").override_theme(M, "dark_horizon")
+
+return M
diff --git a/src/themes/doomchad.lua b/src/themes/doomchad.lua
index 1709a6c..a52649a 100644
--- a/src/themes/doomchad.lua
+++ b/src/themes/doomchad.lua
@@ -53,7 +53,7 @@ M.base_16 = {
}
M.polish_hl = {
- TSFieldKey = { fg = M.base_30.blue },
+ ["@field"] = { fg = M.base_30.blue },
}
vim.opt.bg = "dark"
diff --git a/src/themes/everforest.lua b/src/themes/everforest.lua
index d2efd55..25e562c 100644
--- a/src/themes/everforest.lua
+++ b/src/themes/everforest.lua
@@ -55,8 +55,8 @@ M.base_16 = {
vim.opt.bg = "dark"
M.polish_hl = {
- TSTag = { fg = M.base_30.orange },
- TSTagDelimiter = { fg = M.base_30.green },
+ ["@tag"] = { fg = M.base_30.orange },
+ ["@tag.delimiter"] = { fg = M.base_30.green },
}
M = require("base46").override_theme(M, "everforest")
diff --git a/src/themes/everforest_light.lua b/src/themes/everforest_light.lua
index 0a092ed..bf731f9 100644
--- a/src/themes/everforest_light.lua
+++ b/src/themes/everforest_light.lua
@@ -54,10 +54,6 @@ M.base_16 = {
M.polish_hl = {
DiffAdd = { fg = M.base_30.green },
- TSTag = { fg = M.base_30.orange },
- TSField = { fg = M.base_16.base05 },
- TSInclude = { fg = M.base_16.base08 },
- TSConstructor = { fg = M.base_30.blue },
WhichKeyDesc = { fg = M.base_30.white },
WhichKey = { fg = M.base_30.white },
NvimTreeFolderName = { fg = "#4e565c" },
@@ -65,6 +61,10 @@ M.polish_hl = {
Pmenu = { bg = M.base_30.black2 },
IndentBlanklineContextStart = { bg = M.base_30.black2 },
St_pos_text = { fg = M.base_30.white },
+ ["@tag"] = { fg = M.base_30.orange },
+ ["@field"] = { fg = M.base_16.base05 },
+ ["@include"] = { fg = M.base_16.base08 },
+ ["@constructor"] = { fg = M.base_30.blue },
}
vim.opt.bg = "light"
diff --git a/src/themes/falcon.lua b/src/themes/falcon.lua
new file mode 100644
index 0000000..f1fc43d
--- /dev/null
+++ b/src/themes/falcon.lua
@@ -0,0 +1,73 @@
+-- Credits to https://github.com/fenetikm/falcon as its the orignal theme
+-- This is a modified version of original theme
+
+local M = {}
+
+M.base_30 = {
+ white = "#F8F8FF",
+ white2 = "#DFDFE5",
+ tan = "#CFC1B2",
+ darker_black = "#000015",
+ black = "#020222", -- nvim bg
+ black2 = "#0b0b2b",
+ one_bg = "#161636",
+ one_bg2 = "#202040",
+ one_bg3 = "#2a2a4a",
+ grey = "#393959",
+ grey_fg = "#434363",
+ grey_fg2 = "#4d4d6d",
+ light_grey = "#5c5c7c",
+ red = "#FF761A",
+ baby_pink = "#FF8E78",
+ pink = "#ffafb7",
+ line = "#202040", -- for lines like vertsplit
+ green = "#9BCCBF",
+ vibrant_green = "#b9e75b",
+ nord_blue = "#a1bce1",
+ blue = "#6699cc",
+ yellow = "#FFC552",
+ sun = "#FFD392",
+ purple = "#99A4BC",
+ dark_purple = "#635196",
+ teal = "#34BFA4",
+ orange = "#f99157",
+ cyan = "#BFDAFF",
+ statusline_bg = "#0b0b2b",
+ lightbg = "#2a2a4a",
+ pmenu_bg = "#FFB07B",
+ folder_bg = "#598cbf",
+}
+
+M.base_16 = {
+ base00 = "#020222",
+ base01 = "#0b0b2b",
+ base02 = "#161636",
+ base03 = "#202040",
+ base04 = "#e4e4eb",
+ base05 = "#eeeef5",
+ base06 = "#f3f3fa",
+ base07 = "#F8F8FF",
+ base08 = "#BFDAFF",
+ base09 = "#B4B4B9",
+ base0A = "#FFC552",
+ base0B = "#C8D0E3",
+ base0C = "#B4B4B9",
+ base0D = "#FFC552",
+ base0E = "#8BCCBF",
+ base0F = "#DFDFE5",
+}
+
+M.polish_hl = {
+ Statement = { fg = M.base_30.purple },
+ Type = { fg = M.base_30.white2 },
+ Include = { fg = M.base_30.tan },
+ Keyword = { fg = M.base_16.base0D },
+ Operator = { fg = M.base_30.red },
+ ["@keyword"] = { fg = M.base_16.base0D },
+}
+
+vim.opt.bg = "dark"
+
+M = require("base46").override_theme(M, "falcon")
+
+return M
diff --git a/src/themes/gatekeeper.lua b/src/themes/gatekeeper.lua
index afb4d40..e262966 100644
--- a/src/themes/gatekeeper.lua
+++ b/src/themes/gatekeeper.lua
@@ -53,8 +53,8 @@ M.base_16 = {
}
M.polish_hl = {
- TSVariable = { fg = M.base_30.orange },
- TSParameter = { fg = M.base_30.white },
+ ["@variable"] = { fg = M.base_30.orange },
+ ["@parameter"] = { fg = M.base_30.white },
}
vim.opt.bg = "dark"
diff --git a/src/themes/gruvbox_material.lua b/src/themes/gruvbox_material.lua
new file mode 100644
index 0000000..9340972
--- /dev/null
+++ b/src/themes/gruvbox_material.lua
@@ -0,0 +1,66 @@
+local M = {}
+
+M.base_30 = {
+ white = "#ebdbb2",
+ darker_black = "#222222",
+ black = "#282828", -- nvim bg
+ black2 = "#2e2e2e",
+ one_bg = "#323232",
+ one_bg2 = "#3b3b3b",
+ one_bg3 = "#434343",
+ grey = "#505050",
+ grey_fg = "#5a5a5a",
+ grey_fg2 = "#646464",
+ light_grey = "#6c6c6c",
+ red = "#ea6962",
+ baby_pink = "#ce8196",
+ pink = "#ff75a0",
+ line = "#373737", -- for lines like vertsplit
+ green = "#89b482",
+ vibrant_green = "#a9b665",
+ nord_blue = "#6f8faf",
+ blue = "#6d8dad",
+ yellow = "#d8a657",
+ sun = "#eab869",
+ purple = "#d3869b",
+ dark_purple = "#d3869b",
+ teal = "#749689",
+ orange = "#e78a4e",
+ cyan = "#89b482",
+ statusline_bg = "#2c2c2c",
+ lightbg = "#393939",
+ pmenu_bg = "#89b482",
+ folder_bg = "#6d8dad",
+}
+
+M.base_16 = {
+ base0A = "#d8a657",
+ base04 = "#d4be98",
+ base07 = "#c7b89d",
+ base05 = "#c0b196",
+ base0E = "#ea6962",
+ base0D = "#a9b665",
+ base0C = "#89b482",
+ base0B = "#89b482",
+ base02 = "#323232",
+ base0F = "#dd8044",
+ base03 = "#434343",
+ base08 = "#7daea3",
+ base01 = "#2e2e2e",
+ base00 = "#282828",
+ base09 = "#e78a4e",
+ base06 = "#d4be98",
+}
+
+M.polish_hl = {
+ Include = { fg = M.base_16.base0E },
+ Repeat = { fg = M.base_16.base0E },
+ ["@variable"] = { fg = M.base_16.base08 },
+ ["@property"] = { fg = M.base_16.base0C },
+}
+
+vim.opt.bg = "dark"
+
+M = require("base46").override_theme(M, "gruvbox_material")
+
+return M
diff --git a/src/themes/kanagawa.lua b/src/themes/kanagawa.lua
index 0cd3be1..df8a4bd 100644
--- a/src/themes/kanagawa.lua
+++ b/src/themes/kanagawa.lua
@@ -53,9 +53,12 @@ M.base_16 = {
}
M.polish_hl = {
- TSInclude = { fg = M.base_30.purple },
- TSURI = { fg = M.base_30.blue },
- TSTagDelimiter = { fg = M.base_30.red },
+ ["@include"] = { fg = M.base_30.purple },
+ ["@uri"] = { fg = M.base_30.blue },
+ ["@tag.delimiter"] = { fg = M.base_30.red },
+ Number = {
+ fg = M.base_30.baby_pink,
+ },
}
vim.opt.bg = "dark"
diff --git a/src/themes/monekai.lua b/src/themes/monekai.lua
index 25bf15c..6d444f7 100644
--- a/src/themes/monekai.lua
+++ b/src/themes/monekai.lua
@@ -53,8 +53,8 @@ M.base_16 = {
}
M.polish_hl = {
- TSParameter = { fg = M.base_30.blue },
- TSFieldKey = { fg = M.base_30.red },
+ ["@parameter"] = { fg = M.base_30.blue },
+ ["@field.key"] = { fg = M.base_30.red },
}
vim.opt.bg = "dark"
diff --git a/src/themes/mountain.lua b/src/themes/mountain.lua
index b5d6ec6..8ce5729 100644
--- a/src/themes/mountain.lua
+++ b/src/themes/mountain.lua
@@ -53,7 +53,7 @@ M.base_16 = {
}
M.polish_hl = {
- TSVariable = { fg = M.base_16.base05 },
+ ["@variable"] = { fg = M.base_16.base05 },
}
vim.opt.bg = "dark"
diff --git a/src/themes/nightowl.lua b/src/themes/nightowl.lua
index 827ad8e..2af749f 100644
--- a/src/themes/nightowl.lua
+++ b/src/themes/nightowl.lua
@@ -53,9 +53,9 @@ M.base_16 = {
}
M.polish_hl = {
- TSParameter = { fg = M.base_30.orange },
- TSKeywordReturn = { fg = M.base_30.cyan },
- TSConditional = { fg = M.base_30.cyan },
+ ["@parameter"] = { fg = M.base_30.orange },
+ ["@keyword.return"] = { fg = M.base_30.cyan },
+ ["@conditional"] = { fg = M.base_30.cyan },
PmenuSel = { bg = M.base_30.blue },
}
diff --git a/src/themes/nord.lua b/src/themes/nord.lua
index 2693d38..7332381 100644
--- a/src/themes/nord.lua
+++ b/src/themes/nord.lua
@@ -53,8 +53,8 @@ M.base_16 = {
}
M.polish_hl = {
- TSPunctBracket = { fg = M.base_30.white },
- TSPunctDelimiter = { fg = M.base_30.white },
+ ["@punctuation.bracket"] = { fg = M.base_30.white },
+ ["@punctuation.delimiter"] = { fg = M.base_30.white },
}
vim.opt.bg = "dark"
diff --git a/src/themes/oceanic-next.lua b/src/themes/oceanic-next.lua
new file mode 100644
index 0000000..864926d
--- /dev/null
+++ b/src/themes/oceanic-next.lua
@@ -0,0 +1,72 @@
+-- credits to original theme https://github.com/voronianski/oceanic-next-color-scheme
+-- This is a modified version of the original theme.
+
+local M = {}
+
+M.base_30 = {
+ white = "#D8DEE9", -- confirmed
+ darker_black = "#15252e",
+ black = "#1B2B34", -- nvim bg
+ black2 = "#21313a",
+ one_bg = "#25353e",
+ one_bg2 = "#2e3e47",
+ one_bg3 = "#36464f",
+ grey = "#43535c",
+ grey_fg = "#4d5d66",
+ grey_fg2 = "#576770",
+ light_grey = "#5f6f78",
+ red = "#EC5F67",
+ baby_pink = "#ff7d85",
+ pink = "#ffafb7",
+ line = "#2a3a43", -- for lines like vertsplit
+ green = "#99C794",
+ vibrant_green = "#b9e75b",
+ nord_blue = "#598cbf",
+ blue = "#6699CC",
+ yellow = "#FAC863",
+ sun = "#ffd06b",
+ purple = "#C594C5",
+ dark_purple = "#ac7bac",
+ teal = "#50a4a4",
+ orange = "#F99157",
+ cyan = "#62B3B2",
+ statusline_bg = "#1f2f38",
+ lightbg = "#2c3c45",
+ pmenu_bg = "#15bf84",
+ folder_bg = "#598cbf",
+}
+
+-- Base16 colors taken from:
+M.base_16 = {
+ base00 = "#1B2B34", -- Confirmed
+ base01 = "#343D46", -- Confirmed
+ base02 = "#4F5B66", -- Confirmed
+ base03 = "#65737e", -- Confirmed
+ base04 = "#A7ADBa", -- Confirmed
+ base05 = "#C0C5Ce", -- Confirmed
+ base06 = "#CDD3De", -- Confirmed
+ base07 = "#D8DEE9", -- Confirmed
+ base08 = "#6cbdbc", -- Confirmed
+ base09 = "#FAC863", -- Confirmed
+ base0A = "#F99157", -- Confirmed
+ base0B = "#99C794", -- Confirmed
+ base0C = "#5aaeae", -- Confirmed
+ base0D = "#6699CC", -- Confirmed
+ base0E = "#C594C5", -- Confirmed
+ base0F = "#EC5F67", -- Confirmed
+}
+
+M.polish_hl = {
+ ["@parameter"] = {
+ fg = M.base_16.base0A,
+ },
+ Constant = {
+ fg = M.base_16.base09,
+ },
+}
+
+vim.opt.bg = "dark"
+
+M = require("base46").override_theme(M, "oceanic-next")
+
+return M
diff --git a/src/themes/one_light.lua b/src/themes/one_light.lua
index 9590651..99bf3fd 100644
--- a/src/themes/one_light.lua
+++ b/src/themes/one_light.lua
@@ -57,7 +57,7 @@ vim.opt.bg = "light"
M.polish_hl = {
TelescopePromptPrefix = { fg = M.base_30.white },
TelescopeSelection = { bg = M.base_30.one_bg, fg = M.base_30.white },
- TSPunctBracket = { fg = M.base_30.nord_blue },
+ ["@punctuation.bracket"] = { fg = M.base_30.nord_blue },
FloatBorder = { fg = M.base_16.base05 },
DiffAdd = { fg = M.base_16.base05 },
TbLineThemeToggleBtn = { bg = M.base_30.one_bg3 },
diff --git a/src/themes/onenord_light.lua b/src/themes/onenord_light.lua
index 6010435..ef98fa7 100644
--- a/src/themes/onenord_light.lua
+++ b/src/themes/onenord_light.lua
@@ -57,7 +57,7 @@ M.polish_hl = {
WhichKey = { fg = M.base_30.white },
TelescopePromptPrefix = { fg = M.base_30.white },
TelescopeSelection = { bg = M.base_30.one_bg, fg = M.base_30.white },
- TSPunctBracket = { fg = M.base_30.nord_blue },
+ ["@punctuation.bracket"] = { fg = M.base_30.nord_blue },
FloatBorder = { fg = M.base_16.base05 },
DiffAdd = { fg = M.base_16.base05 },
St_pos_text = { fg = M.base_30.white },
diff --git a/src/themes/palenight.lua b/src/themes/palenight.lua
index d332466..273e003 100644
--- a/src/themes/palenight.lua
+++ b/src/themes/palenight.lua
@@ -53,8 +53,8 @@ M.base_16 = {
}
M.polish_hl = {
- TSInclude = { fg = M.base_30.purple },
- TSFieldKey = { fg = M.base_30.orange },
+ ["@include"] = { fg = M.base_30.purple },
+ ["@field.key"] = { fg = M.base_30.orange },
}
vim.opt.bg = "dark"
diff --git a/src/themes/radium.lua b/src/themes/radium.lua
index 5c18dec..294e580 100644
--- a/src/themes/radium.lua
+++ b/src/themes/radium.lua
@@ -53,8 +53,8 @@ M.base_16 = {
}
M.polish_hl = {
- TSPunctBracket = { fg = M.base_16.base07 },
- TSParenthesis = { link = "TSPunctBracket" },
+ ["@punctuation.bracket"] = { fg = M.base_16.base07 },
+ ["@parenthesis"] = { link = "@punctuation.bracket" },
}
vim.opt.bg = "dark"
diff --git a/src/themes/solarized_dark.lua b/src/themes/solarized_dark.lua
new file mode 100644
index 0000000..022a1b7
--- /dev/null
+++ b/src/themes/solarized_dark.lua
@@ -0,0 +1,59 @@
+local M = {}
+
+M.base_30 = {
+ white = "#abb2bf",
+ darker_black = "#002530",
+ black = "#002b36", -- nvim bg
+ black2 = "#06313c",
+ one_bg = "#0a3540", -- real bg of onedark
+ one_bg2 = "#133e49",
+ one_bg3 = "#1b4651",
+ grey = "#28535e",
+ grey_fg = "#325d68",
+ grey_fg2 = "#3c6772",
+ light_grey = "#446f7a",
+ red = "#dc322f",
+ baby_pink = "#eb413e",
+ pink = "#d33682",
+ line = "#0f3a45", -- for lines like vertsplit
+ green = "#859900",
+ vibrant_green = "#b2c62d",
+ nord_blue = "#197ec5",
+ blue = "#268bd2",
+ yellow = "#b58900",
+ sun = "#c4980f",
+ purple = "#6c71c4",
+ dark_purple = "#5d62b5",
+ teal = "#519ABA",
+ orange = "#cb4b16",
+ cyan = "#2aa198",
+ statusline_bg = "#042f3a",
+ lightbg = "#113c47",
+ pmenu_bg = "#268bd2",
+ folder_bg = "#268bd2",
+}
+
+M.base_16 = {
+ base00 = "#002b36",
+ base01 = "#073642",
+ base02 = "#586e75",
+ base03 = "#657b83",
+ base04 = "#839496",
+ base05 = "#93a1a1",
+ base06 = "#eee8d5",
+ base07 = "#fdf6e3",
+ base08 = "#dc322f",
+ base09 = "#cb4b16",
+ base0A = "#b58900",
+ base0B = "#859900",
+ base0C = "#2aa198",
+ base0D = "#268bd2",
+ base0E = "#6c71c4",
+ base0F = "#d33682",
+}
+
+vim.opt.bg = "dark"
+
+M = require("base46").override_theme(M, "solarized_dark")
+
+return M
diff --git a/src/themes/tokyonight.lua b/src/themes/tokyonight.lua
index a52165a..0ad4265 100644
--- a/src/themes/tokyonight.lua
+++ b/src/themes/tokyonight.lua
@@ -53,9 +53,9 @@ M.base_16 = {
}
M.polish_hl = {
- TSVariable = { fg = M.base_30.red },
- TSFuncBuiltin = { fg = M.base_30.cyan },
- TSParameter = { fg = M.base_30.white },
+ ["@variable"] = { fg = M.base_30.red },
+ ["@function.builtin"] = { fg = M.base_30.cyan },
+ ["@parameter"] = { fg = M.base_30.white },
}
vim.opt.bg = "dark"
diff --git a/src/themes/vscode_dark.lua b/src/themes/vscode_dark.lua
index d2aec2c..0079782 100644
--- a/src/themes/vscode_dark.lua
+++ b/src/themes/vscode_dark.lua
@@ -55,13 +55,13 @@ M.base_16 = {
}
M.polish_hl = {
- TSParameter = { fg = M.base_30.blue },
- TSKeyword = { fg = M.base_30.blue },
- TSVariable = { fg = M.base_30.cyan },
luaTSField = { fg = M.base_30.teal },
- TSFieldKey = { fg = M.base_30.green1 },
- TSKeywordReturn = { fg = M.base_16.base0E },
- TSKeywordFunction = { fg = M.base_30.teal },
+ ["@parameter"] = { fg = M.base_30.blue },
+ ["@keyword"] = { fg = M.base_30.blue },
+ ["@variable"] = { fg = M.base_30.cyan },
+ ["@fieldkey"] = { fg = M.base_30.green1 },
+ ["@keywordreturn"] = { fg = M.base_16.base0E },
+ ["@keywordfunction"] = { fg = M.base_30.teal },
}
vim.opt.bg = "dark"
diff --git a/src/themes/wombat.lua b/src/themes/wombat.lua
index a59addf..462a6e3 100644
--- a/src/themes/wombat.lua
+++ b/src/themes/wombat.lua
@@ -53,10 +53,10 @@ M.base_16 = {
}
M.polish_hl = {
- TSInclude = { fg = M.base_30.red },
- TSConstructor = { fg = M.base_30.orange },
- TSVariable = { link = "TSConstructor" },
- TSConditional = { link = "TSInclude" },
+ ["@include"] = { fg = M.base_30.red },
+ ["@constructor"] = { fg = M.base_30.orange },
+ ["@variable"] = { link = "@constructor" },
+ ["@conditional"] = { link = "@include" },
}
vim.opt.bg = "dark"
diff --git a/templates/ayu-dark.toml b/templates/ayu-dark.toml
new file mode 100644
index 0000000..2a2100b
--- /dev/null
+++ b/templates/ayu-dark.toml
@@ -0,0 +1,412 @@
+[information]
+name="ayu-dark"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="dark"
+
+[palette]
+white = "#ced4df"
+darker_black = "#05080e"
+black = "#0B0E14" # nvim bg
+black2 = "#14171d"
+one_bg = "#1c1f25"
+one_bg2 = "#24272d"
+one_bg3 = "#2b2e34"
+grey = "#33363c"
+grey_fg = "#3d4046"
+grey_fg2 = "#46494f"
+light_grey = "#54575d"
+red = "#F07178"
+baby_pink = "#ff949b"
+pink = "#ff8087"
+line = "#24272d" # for lines like vertsplit
+green = "#AAD84C"
+vibrant_green = "#b9e75b"
+blue = "#36A3D9"
+nord_blue = "#43b0e6"
+yellow = "#E7C547"
+sun = "#f0df8a"
+purple = "#c79bf4"
+dark_purple = "#A37ACC"
+teal = "#74c5aa"
+orange = "#ffa455"
+cyan = "#95E6CB"
+statusline_bg = "#12151b"
+lightbg = "#24272d"
+pmenu_bg = "#ff9445"
+folder_bg = "#98a3af"
+base00 = "#0B0E14"
+base01 = "#1c1f25"
+base02 = "#24272d"
+base03 = "#2b2e34"
+base04 = "#33363c"
+base05 = "#c9c7be"
+base06 = "#E6E1CF"
+base07 = "#D9D7CE"
+base08 = "#c9c7be"
+base09 = "#FFEE99"
+base0A = "#56c3f9"
+base0B = "#AAD84C"
+base0C = "#FFB454"
+base0D = "#F07174"
+base0E = "#FFB454"
+base0F = "#CBA6F7"
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'
diff --git a/templates/ayu-light.toml b/templates/ayu-light.toml
new file mode 100644
index 0000000..3d4ba30
--- /dev/null
+++ b/templates/ayu-light.toml
@@ -0,0 +1,412 @@
+[information]
+name="ayu-light"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="light"
+
+[palette]
+white = "#26292f"
+darker_black = "#ededed"
+black = "#fafafa" # nvim bg
+black2 = "#e3e3e3"
+one_bg = "#ebebeb"
+one_bg2 = "#e1e1e1" # Highlight of context
+one_bg3 = "#d7d7d7"
+grey = "#cdcdcd"
+grey_fg = "#b9b9b9"
+grey_fg2 = "#acacac" # Highlight background
+light_grey = "#a0a0a0" # Line numbers
+red = "#E65050"
+baby_pink = "#ff8282"
+pink = "#ffa5a5"
+line = "#e1e1e1" # for lines like vertsplit
+green = "#6CBF43"
+vibrant_green = "#94e76b"
+blue = "#399EE6"
+nord_blue = "#2c91d9"
+yellow = "#E6BA7E"
+sun = "#f3c78b"
+purple = "#9F40FF"
+dark_purple = "#8627e6"
+teal = "#74c5aa"
+orange = "#FA8D3E"
+cyan = "#95E6CB"
+statusline_bg = "#f0f0f0"
+lightbg = "#e6e6e6"
+pmenu_bg = "#95E6CB"
+folder_bg = "#5C6166"
+base00 = "#fafafa"
+base01 = "#f0f0f0"
+base02 = "#e6e6e6"
+base03 = "#dcdcdc"
+base04 = "#d2d2d2"
+base05 = "#5C6166"
+base06 = "#52575c"
+base07 = "#484d52"
+base08 = "#F07171"
+base09 = "#A37ACC"
+base0A = "#399EE6"
+base0B = "#86B300"
+base0C = "#4CBF99"
+base0D = "#55B4D4"
+base0E = "#FA8D3E"
+base0F = "#F2AE49"
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'
diff --git a/templates/dark_horizon.toml b/templates/dark_horizon.toml
new file mode 100644
index 0000000..c913265
--- /dev/null
+++ b/templates/dark_horizon.toml
@@ -0,0 +1,412 @@
+[information]
+name="dark_horizon"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="dark"
+
+[palette]
+white = "#FFFFFF"
+darker_black = "#080808"
+black = "#0e0e0e" # nvim bg
+black2 = "#181818"
+one_bg = "#1c1c1c"
+one_bg2 = "#212121"
+one_bg3 = "#292929"
+grey = "#363636"
+grey_fg = "#404040"
+grey_fg2 = "#4a4a4a"
+light_grey = "#525252"
+red = "#dc322f"
+baby_pink = "#a72e5b"
+pink = "#ff75a0"
+line = "#1d1d1d" # for lines like vertsplit
+green = "#AAD84C"
+vibrant_green = "#b9e75b"
+nord_blue = "#18a3af"
+blue = "#25B0BC"
+yellow = "#fdb830"
+sun = "#ffc038"
+purple = "#da70d6"
+dark_purple = "#c65cc2"
+teal = "#749689"
+orange = "#FFA500"
+cyan = "#6BE4E6"
+statusline_bg = "#181818"
+lightbg = "#292929"
+pmenu_bg = "#15bf84"
+folder_bg = "#07929e"
+base00 = "#0e0e0e"
+base01 = "#181818"
+base02 = "#292929"
+base03 = "#363636"
+base04 = "#3f4248"
+base05 = "#c9c7be"
+base06 = "#E6E1CF"
+base07 = "#D9D7CE"
+base08 = "#D9D7CE" # Confirmed: Variables Confirmed
+base09 = "#eaa273" # Confirmed: Integers Booleans
+base0A = "#825aff" # Classes
+base0B = "#E3A587" # Confirmed: Strings
+base0C = "#F09483" # Escape characters Regular expressions
+base0D = "#FFA500" # Functions Methods
+base0E = "#2ca9b4" # Confirmed: Keywords Storage Selector Markup
+base0F = "#d75271" # Deprecated Opening/Closing embedded language tags
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'
diff --git a/templates/falcon.toml b/templates/falcon.toml
new file mode 100644
index 0000000..94e233b
--- /dev/null
+++ b/templates/falcon.toml
@@ -0,0 +1,414 @@
+[information]
+name="falcon"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="dark"
+
+[palette]
+white = "#F8F8FF"
+white2 = "#DFDFE5"
+tan = "#CFC1B2"
+darker_black = "#000015"
+black = "#020222" # nvim bg
+black2 = "#0b0b2b"
+one_bg = "#161636"
+one_bg2 = "#202040"
+one_bg3 = "#2a2a4a"
+grey = "#393959"
+grey_fg = "#434363"
+grey_fg2 = "#4d4d6d"
+light_grey = "#5c5c7c"
+red = "#FF761A"
+baby_pink = "#FF8E78"
+pink = "#ffafb7"
+line = "#202040" # for lines like vertsplit
+green = "#9BCCBF"
+vibrant_green = "#b9e75b"
+nord_blue = "#a1bce1"
+blue = "#6699cc"
+yellow = "#FFC552"
+sun = "#FFD392"
+purple = "#99A4BC"
+dark_purple = "#635196"
+teal = "#34BFA4"
+orange = "#f99157"
+cyan = "#BFDAFF"
+statusline_bg = "#0b0b2b"
+lightbg = "#2a2a4a"
+pmenu_bg = "#FFB07B"
+folder_bg = "#598cbf"
+base00 = "#020222"
+base01 = "#0b0b2b"
+base02 = "#161636"
+base03 = "#202040"
+base04 = "#e4e4eb"
+base05 = "#eeeef5"
+base06 = "#f3f3fa"
+base07 = "#F8F8FF"
+base08 = "#BFDAFF"
+base09 = "#B4B4B9"
+base0A = "#FFC552"
+base0B = "#C8D0E3"
+base0C = "#B4B4B9"
+base0D = "#FFC552"
+base0E = "#8BCCBF"
+base0F = "#DFDFE5"
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'
diff --git a/templates/gruvbox_material.toml b/templates/gruvbox_material.toml
new file mode 100644
index 0000000..58a4a70
--- /dev/null
+++ b/templates/gruvbox_material.toml
@@ -0,0 +1,412 @@
+[information]
+name="gruvbox_material"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="dark"
+
+[palette]
+white = "#ebdbb2"
+darker_black = "#222222"
+black = "#282828" # nvim bg
+black2 = "#2e2e2e"
+one_bg = "#323232"
+one_bg2 = "#3b3b3b"
+one_bg3 = "#434343"
+grey = "#505050"
+grey_fg = "#5a5a5a"
+grey_fg2 = "#646464"
+light_grey = "#6c6c6c"
+red = "#ea6962"
+baby_pink = "#ce8196"
+pink = "#ff75a0"
+line = "#373737" # for lines like vertsplit
+green = "#89b482"
+vibrant_green = "#a9b665"
+nord_blue = "#6f8faf"
+blue = "#6d8dad"
+yellow = "#d8a657"
+sun = "#eab869"
+purple = "#d3869b"
+dark_purple = "#d3869b"
+teal = "#749689"
+orange = "#e78a4e"
+cyan = "#89b482"
+statusline_bg = "#2c2c2c"
+lightbg = "#393939"
+pmenu_bg = "#89b482"
+folder_bg = "#6d8dad"
+base0A = "#d8a657"
+base04 = "#d4be98"
+base07 = "#c7b89d"
+base05 = "#c0b196"
+base0E = "#ea6962"
+base0D = "#a9b665"
+base0C = "#89b482"
+base0B = "#89b482"
+base02 = "#323232"
+base0F = "#dd8044"
+base03 = "#434343"
+base08 = "#7daea3"
+base01 = "#2e2e2e"
+base00 = "#282828"
+base09 = "#e78a4e"
+base06 = "#d4be98"
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'
diff --git a/templates/oceanic-next.toml b/templates/oceanic-next.toml
new file mode 100644
index 0000000..578813f
--- /dev/null
+++ b/templates/oceanic-next.toml
@@ -0,0 +1,413 @@
+[information]
+name="oceanic-next"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="dark"
+
+[palette]
+white = "#D8DEE9" # confirmed
+darker_black = "#15252e"
+black = "#1B2B34" # nvim bg
+black2 = "#21313a"
+one_bg = "#25353e"
+one_bg2 = "#2e3e47"
+one_bg3 = "#36464f"
+grey = "#43535c"
+grey_fg = "#4d5d66"
+grey_fg2 = "#576770"
+light_grey = "#5f6f78"
+red = "#EC5F67"
+baby_pink = "#ff7d85"
+pink = "#ffafb7"
+line = "#2a3a43" # for lines like vertsplit
+green = "#99C794"
+vibrant_green = "#b9e75b"
+nord_blue = "#598cbf"
+blue = "#6699CC"
+yellow = "#FAC863"
+sun = "#ffd06b"
+purple = "#C594C5"
+dark_purple = "#ac7bac"
+teal = "#50a4a4"
+orange = "#F99157"
+cyan = "#62B3B2"
+statusline_bg = "#1f2f38"
+lightbg = "#2c3c45"
+pmenu_bg = "#15bf84"
+folder_bg = "#598cbf"
+# Base16 colors taken from:
+base00 = "#1B2B34" # Confirmed
+base01 = "#343D46" # Confirmed
+base02 = "#4F5B66" # Confirmed
+base03 = "#65737e" # Confirmed
+base04 = "#A7ADBa" # Confirmed
+base05 = "#C0C5Ce" # Confirmed
+base06 = "#CDD3De" # Confirmed
+base07 = "#D8DEE9" # Confirmed
+base08 = "#6cbdbc" # Confirmed
+base09 = "#FAC863" # Confirmed
+base0A = "#F99157" # Confirmed
+base0B = "#99C794" # Confirmed
+base0C = "#5aaeae" # Confirmed
+base0D = "#6699CC" # Confirmed
+base0E = "#C594C5" # Confirmed
+base0F = "#EC5F67" # Confirmed
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'
diff --git a/templates/solarized_dark.toml b/templates/solarized_dark.toml
new file mode 100644
index 0000000..5f28511
--- /dev/null
+++ b/templates/solarized_dark.toml
@@ -0,0 +1,412 @@
+[information]
+name="solarized_dark"
+author="Ken Zhou <kendotzhou@gmail.com>"
+background="dark"
+
+[palette]
+white = "#abb2bf"
+darker_black = "#002530"
+black = "#002b36" # nvim bg
+black2 = "#06313c"
+one_bg = "#0a3540" # real bg of onedark
+one_bg2 = "#133e49"
+one_bg3 = "#1b4651"
+grey = "#28535e"
+grey_fg = "#325d68"
+grey_fg2 = "#3c6772"
+light_grey = "#446f7a"
+red = "#dc322f"
+baby_pink = "#eb413e"
+pink = "#d33682"
+line = "#0f3a45" # for lines like vertsplit
+green = "#859900"
+vibrant_green = "#b2c62d"
+nord_blue = "#197ec5"
+blue = "#268bd2"
+yellow = "#b58900"
+sun = "#c4980f"
+purple = "#6c71c4"
+dark_purple = "#5d62b5"
+teal = "#519ABA"
+orange = "#cb4b16"
+cyan = "#2aa198"
+statusline_bg = "#042f3a"
+lightbg = "#113c47"
+pmenu_bg = "#268bd2"
+folder_bg = "#268bd2"
+base00 = "#002b36"
+base01 = "#073642"
+base02 = "#586e75"
+base03 = "#657b83"
+base04 = "#839496"
+base05 = "#93a1a1"
+base06 = "#eee8d5"
+base07 = "#fdf6e3"
+base08 = "#dc322f"
+base09 = "#cb4b16"
+base0A = "#b58900"
+base0B = "#859900"
+base0C = "#2aa198"
+base0D = "#268bd2"
+base0E = "#6c71c4"
+base0F = "#d33682"
+
+[highlights]
+Normal = 'base05 base00'
+SignColumn = 'base03 - - -'
+MsgArea = 'base05 base00'
+ModeMsg = 'base0B'
+MsgSeparator = 'base05 base00'
+SpellBad = '- - c base08'
+SpellCap = '- - c base0D'
+SpellLocal = '- - c base0C'
+SpellRare = '- - c base0D'
+NormalNC = 'base05 base00'
+Pmenu = '- one_bg'
+PmenuSel = 'black pmenu_bg'
+WildMenu = 'base08 base0A'
+CursorLineNr = 'white'
+Comment = 'grey_fg'
+Folded = 'base03 base01'
+FoldColumn = 'base0C base01'
+LineNr = 'grey'
+FloatBorder = 'blue'
+# Whitespace = 'base00 -'
+VertSplit = 'line'
+CursorLine = '- base01'
+CursorColumn = '- base01'
+ColorColumn = '- base01'
+NormalFloat = '- darker_black'
+Visual = '- base02'
+VisualNOS = 'base08 -'
+WarningMsg = 'base08'
+DiffAdd = 'vibrant_green'
+DiffChange = 'blue'
+DiffDelete = 'red'
+QuickFixLine = '- base01 - -'
+PmenuSbar = '- one_bg'
+PmenuThumb = '- grey'
+MatchWord = 'white grey'
+MatchParen = 'link:MatchWord'
+# MatchWordCur = '- - u'
+# MatchParenCur = '- - u'
+Cursor = 'base00 base05'
+# lCursor = 'base05 base00'
+# CursorIM = 'base05 base00'
+# TermCursor = 'base05 base00'
+# TermCursorNC = 'base05 base00'
+Conceal = '- -'
+Directory = 'base0D'
+SpecialKey = 'base03'
+Title = 'base0D - - -'
+ErrorMsg = 'base08 base00'
+Search = 'base01 base0A'
+IncSearch = 'base01 base09'
+Substitute = 'base01 base0A - -'
+MoreMsg = 'base0B'
+Question = 'base0D'
+# EndOfBuffer = 'base00'
+NonText = 'base03'
+Variable = 'base05'
+String = 'base0B'
+Character = 'base08'
+Constant = 'base08'
+Number = 'base09'
+Boolean = 'base09'
+Float = 'base09'
+Identifier = 'base08 - - -'
+Function = 'base0D'
+Operator = 'base05 - - -'
+Type = 'base0A - - -'
+StorageClass = 'base0A'
+Structure = 'base0E'
+Typedef = 'base0A'
+Keyword = 'base0E'
+Statement = 'base08'
+Conditional = 'base0E'
+Repeat = 'base0A'
+Label = 'base0A'
+Exception = 'base08'
+Include = 'base0D'
+PreProc = 'base0A'
+Define = 'base0E - - -'
+Macro = 'base08'
+# PreCondit = 'purple'
+Special = 'base0C'
+SpecialChar = 'base0F'
+Tag = 'base0A'
+Debug = 'base08'
+# Delimiter = 'grey -'
+# SpecialComment = 'grey_fg'
+Underlined = 'base0B'
+Bold = '- - b'
+Italic = '- - i'
+Ignore = 'cyan base00 b'
+Todo = 'base0A base01'
+Error = 'base00 base08'
+TabLine = 'light_grey line'
+TabLineSel = 'white line'
+TabLineFill = 'line line'
+
+[Treesitter]
+TSComment = 'link:Comment'
+TSAnnotation = 'base0F'
+TSAttribute = 'base0A'
+TSConstructor = 'base0C'
+# TSType = 'cyan'
+TSTypeBuiltin = 'base0A'
+TSConditional = 'link:Conditional'
+TSException = 'base08'
+TSInclude = 'link:Include'
+TSKeywordReturn = 'base0E'
+TSKeyword = 'base0E'
+TSKeywordFunction = 'base0E'
+# TSLabel = 'cyan'
+TSNamespace = 'base08'
+# TSRepeat = 'yellow'
+# TSConstant = 'orange'
+TSConstBuiltin = 'base09'
+TSFloat = 'base09'
+# TSNumber = 'orange'
+# TSBoolean = 'orange'
+TSCharacter = 'base08'
+TSError = 'base08'
+TSFunction = 'base0D'
+TSFuncBuiltin = 'base0D'
+TSMethod = 'base0D'
+TSConstMacro = 'base08'
+TSFuncMacro = 'base08'
+TSVariable = 'base05'
+TSVariableBuiltin = 'base09'
+TSProperty = 'base08'
+TSField = 'base0D'
+TSParameter = 'base08'
+TSParameterReference = 'base05'
+TSSymbol = 'base0B'
+TSText = 'base05'
+# TSOperator = 'base05'
+TSPunctDelimiter = 'base0F'
+TSTagDelimiter = 'base0F'
+TSTagAttribute = 'link:TSProperty'
+TSPunctBracket = 'base0F'
+TSPunctSpecial = 'base08'
+# TSString = 'green'
+TSStringRegex = 'base0C'
+TSStringEscape = 'base0C'
+# TSTag = 'blue'
+TSEmphasis = 'base09'
+# TSUnderline = '- - u'
+# TSTitle = 'base05 - -'
+TSLiteral = 'base09'
+TSURI = 'base09'
+TSKeywordOperator = 'base0E'
+# TSStructure = 'cyan'
+TSStrong = '- - b'
+# TSQueryLinterError = 'base09'
+TreesitterContext = 'link:CursorLine'
+
+[markdown]
+markdownBlockquote = 'green'
+markdownCode = 'orange'
+markdownCodeBlock = 'orange'
+markdownCodeDelimiter = 'orange'
+markdownH1 = 'blue'
+markdownH2 = 'blue'
+markdownH3 = 'blue'
+markdownH4 = 'blue'
+markdownH5 = 'blue'
+markdownH6 = 'blue'
+markdownHeadingDelimiter = 'blue'
+markdownHeadingRule = 'base05 - b'
+markdownId = 'purple'
+markdownIdDeclaration = 'blue'
+markdownIdDelimiter = 'light_grey'
+markdownLinkDelimiter = 'light_grey'
+markdownBold = 'blue - b'
+markdownItalic = '- - i'
+markdownBoldItalic = 'yellow - bi'
+markdownListMarker = 'blue'
+markdownOrderedListMarker = 'blue'
+markdownRule = 'base01'
+markdownUrl = 'cyan - u'
+markdownLinkText = 'blue'
+markdownFootnote = 'orange'
+markdownFootnoteDefinition = 'orange'
+markdownEscape = 'yellow'
+
+[Whichkey]
+WhichKey = 'purple'
+WhichKeySeperator = 'green'
+WhichKeyGroup = 'blue'
+WhichKeyDesc = 'cyan'
+WhichKeyFloat = '- base01'
+
+[Git]
+SignAdd = 'green'
+SignChange = 'blue'
+SignDelete = 'red'
+GitSignsAdd = 'green'
+GitSignsChange = 'blue'
+GitSignsDelete = 'red'
+
+[LSP]
+DiagnosticError = 'base08'
+DiagnosticWarning = 'base09'
+DiagnosticHint = 'purple'
+DiagnosticWarn = 'yellow'
+DiagnosticInfo = 'green'
+LspDiagnosticsDefaultError = 'base08'
+LspDiagnosticsDefaultWarning = 'base09'
+LspDiagnosticsDefaultInformation = 'sun'
+LspDiagnosticsDefaultInfo = 'sun'
+LspDiagnosticsDefaultHint = 'purple'
+LspDiagnosticsVirtualTextError = 'base08'
+LspDiagnosticsVirtualTextWarning = 'base09'
+LspDiagnosticsVirtualTextInformation = 'sun'
+LspDiagnosticsVirtualTextInfo = 'sun'
+LspDiagnosticsVirtualTextHint = 'purple'
+LspDiagnosticsFloatingError = 'base08'
+LspDiagnosticsFloatingWarning = 'base09'
+LspDiagnosticsFloatingInformation = 'sun'
+LspDiagnosticsFloatingInfo = 'sun'
+LspDiagnosticsFloatingHint = 'purple'
+DiagnosticSignError = 'base08'
+DiagnosticSignWarning = 'base09'
+DiagnosticSignInformation = 'sun'
+DiagnosticSignInfo = 'sun'
+DiagnosticSignHint = 'purple'
+LspDiagnosticsSignError = 'base08'
+LspDiagnosticsSignWarning = 'base09'
+LspDiagnosticsSignInformation = 'sun'
+LspDiagnosticsSignInfo = 'sun'
+LspDiagnosticsSignHint = 'purple'
+LspDiagnosticsError = 'base08'
+LspDiagnosticsWarning = 'base09'
+LspDiagnosticsInformation = 'sun'
+LspDiagnosticsInfo = 'sun'
+LspDiagnosticsHint = 'purple'
+LspDiagnosticsUnderlineError = '- - u'
+LspDiagnosticsUnderlineWarning = '- - u'
+LspDiagnosticsUnderlineInformation = '- - u'
+LspDiagnosticsUnderlineInfo = '- - u'
+LspDiagnosticsUnderlineHint = '- - u'
+LspReferenceRead = '- #2e303b'
+LspReferenceText = '- #2e303b'
+LspReferenceWrite = '- #2e303b'
+LspCodeLens = 'base04 - i'
+LspCodeLensSeparator = 'base04 - i'
+
+[Telescope]
+TelescopeNormal = '- darker_black'
+TelescopePreviewTitle = 'black green b'
+TelescopePromptTitle = 'black red b'
+TelescopeResultsTitle = 'darker_black darker_black b'
+TelescopeSelection = 'white black2'
+# TelescopeMatching = 'sun - b'
+TelescopeBorder = 'darker_black darker_black'
+TelescopePromptBorder = 'black2 black2'
+TelescopePromptNormal = 'white black2'
+TelescopePromptPrefix = 'red black2'
+TelescopeResultsDiffAdd = 'green'
+TelescopeResultsDiffChange = 'blue'
+TelescopeResultsDiffDelete = 'red'
+
+[NvimTree]
+NvimTreeFolderIcon = 'blue'
+NvimTreeIndentMarker = '#c5c5c5'
+NvimTreeNormal = '- darker_black'
+NvimTreeVertSplit = 'darker_black darker_black'
+NvimTreeFolderName = 'blue'
+NvimTreeOpenedFolderName = 'blue - bi'
+NvimTreeEmptyFolderName = 'grey - i'
+NvimTreeGitIgnored = 'grey - i'
+NvimTreeImageFile = 'light_grey'
+NvimTreeSpecialFile = 'orange'
+NvimTreeEndOfBuffer = 'darker_black'
+NvimTreeCursorLine = '- #282b37'
+NvimTreeGitignoreIcon = 'red'
+NvimTreeGitStaged = 'vibrant_green'
+NvimTreeGitNew = 'vibrant_green'
+NvimTreeGitRenamed = 'vibrant_green'
+NvimTreeGitDeleted = 'red'
+NvimTreeGitMerge = 'blue'
+NvimTreeGitDirty = 'blue'
+
+NvimTreeSymlink = 'cyan'
+NvimTreeRootFolder = 'base05 - b'
+NvimTreeExecFile = 'green'
+
+[Buffer]
+BufferCurrent = 'base05 base00'
+BufferCurrentIndex = 'base05 base00'
+BufferCurrentMod = 'sun base00'
+BufferCurrentSign = 'purple base00'
+BufferCurrentTarget = 'red base00 b'
+
+BufferVisible = 'base05 base00'
+BufferVisibleIndex = 'base05 base00'
+BufferVisibleMod = 'sun base00'
+BufferVisibleSign = 'grey base00'
+BufferVisibleTarget = 'red base00 b'
+
+BufferInactive = 'grey darker_black'
+BufferInactiveIndex = 'grey darker_black'
+BufferInactiveMod = 'sun darker_black'
+BufferInactiveSign = 'grey darker_black'
+BufferInactiveTarget = 'red darker_black b'
+
+[StatusLine]
+StatusLine = 'line statusline_bg'
+StatusLineNC = '- statusline_bg'
+StatusLineSeparator = 'line'
+StatusLineTerm = 'line'
+StatusLineTermNC = 'line'
+
+[IndentBlankline]
+IndentBlanklineContextChar = 'grey'
+IndentBlanklineContextStart = '- one_bg2'
+IndentBlanklineChar = 'line'
+IndentBlanklineSpaceChar = 'line'
+IndentBlanklineSpaceCharBlankline = 'sun'
+
+[Dashboard]
+DashboardHeader = 'blue'
+DashboardCenter = 'purple'
+DashboardFooter = 'cyan'
+
+[Cmp]
+CmpItemAbbrDeprecated = 'grey - s'
+CmpItemAbbrMatch = 'blue'
+CmpItemAbbrMatchFuzzy = 'blue'
+CmpItemKindFunction = 'blue'
+CmpItemKindMethod = 'blue'
+CmpItemKindConstructor = 'cyan'
+CmpItemKindClass = 'cyan'
+CmpItemKindEnum = 'cyan'
+CmpItemKindEvent = 'yellow'
+CmpItemKindInterface = 'cyan'
+CmpItemKindStruct = 'cyan'
+CmpItemKindVariable = 'red'
+CmpItemKindField = 'red'
+CmpItemKindProperty = 'red'
+CmpItemKindEnumMember = 'orange'
+CmpItemKindConstant = 'orange'
+CmpItemKindKeyword = 'purple'
+CmpItemKindModule = 'cyan'
+CmpItemKindValue = 'base05'
+CmpItemKindUnit = 'base05'
+CmpItemKindText = 'base05'
+CmpItemKindSnippet = 'yellow'
+CmpItemKindFile = 'base05'
+CmpItemKindFolder = 'base05'
+CmpItemKindColor = 'base05'
+CmpItemKindReference = 'base05'
+CmpItemKindOperator = 'base05'
+CmpItemKindTypeParameter = 'red'
+
+[ToggleTerm]
+ToggleTerm1FloatBorder = 'line'
+
+[Illuminate]
+IlluminatedWordText = '- base02 - -'
+IlluminatedWordRead = '- base02 - -'