summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotken12 <kendotzhou@gmail.com>2022-10-25 12:20:05 -0400
committernotken12 <kendotzhou@gmail.com>2022-10-25 12:20:05 -0400
commit8cbabdea421cb8133b976b6e304454ca62048e13 (patch)
tree8ea5f5df55f9cb6ebed93f83a1f9100fc845dcc8
parentnew colorschemes (diff)
dash to underscore to prevent errors
-rw-r--r--colors/ayu_light.vim4
-rw-r--r--colors/oceanic_next.vim4
-rwxr-xr-xcompile.py2
-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/oceanic_next/init.lua18
-rw-r--r--lua/oceanic_next/palette.lua50
-rw-r--r--lua/oceanic_next/theme.lua342
-rw-r--r--templates/ayu_light.toml412
-rw-r--r--templates/oceanic_next.toml413
11 files changed, 1654 insertions, 1 deletions
diff --git a/colors/ayu_light.vim b/colors/ayu_light.vim
new file mode 100644
index 0000000..e24d2ae
--- /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/oceanic_next.vim b/colors/oceanic_next.vim
new file mode 100644
index 0000000..96d40de
--- /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/compile.py b/compile.py
index 457cc74..2f80db3 100755
--- a/compile.py
+++ b/compile.py
@@ -24,7 +24,7 @@ for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file
if os.path.isfile(f):
- themename = filename.split('.')[0]
+ themename = filename.split('.')[0].replace('-', '_')
palette = ''
bg = 'dark'
with open(f, "r") as text_file:
diff --git a/lua/ayu_light/init.lua b/lua/ayu_light/init.lua
new file mode 100644
index 0000000..8ffbec0
--- /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..b4d2bf0
--- /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/oceanic_next/init.lua b/lua/oceanic_next/init.lua
new file mode 100644
index 0000000..dd4b530
--- /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..89a05c9
--- /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/templates/ayu_light.toml b/templates/ayu_light.toml
new file mode 100644
index 0000000..f94c67f
--- /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/oceanic_next.toml b/templates/oceanic_next.toml
new file mode 100644
index 0000000..4ef187b
--- /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 - -'