From 56e16603121f94b6ea4b7125c596a09540569841 Mon Sep 17 00:00:00 2001
From: Gustaf Rydholm <gustaf.rydholm@gmail.com>
Date: Thu, 8 Jul 2021 15:28:34 +0200
Subject: Latest updates from LunarVim, new handrolled colorscheme

---
 .config/nvim/lua/cfg/themes/dark.lua      | 367 +++++++++++++++++++++++++++++
 .config/nvim/lua/cfg/themes/spacegray.lua | 373 ------------------------------
 2 files changed, 367 insertions(+), 373 deletions(-)
 create mode 100644 .config/nvim/lua/cfg/themes/dark.lua
 delete mode 100644 .config/nvim/lua/cfg/themes/spacegray.lua

(limited to '.config/nvim/lua/cfg/themes')

diff --git a/.config/nvim/lua/cfg/themes/dark.lua b/.config/nvim/lua/cfg/themes/dark.lua
new file mode 100644
index 0000000..fe2ff03
--- /dev/null
+++ b/.config/nvim/lua/cfg/themes/dark.lua
@@ -0,0 +1,367 @@
+local lush = require "lush"
+local hsl = lush.hsl
+
+local theme = lush(function()
+  local c = {
+    bg = hsl "#0A0A0A",
+    bg1 = hsl "#0D0D0D",
+    bg2 = hsl "#202020",
+
+    white = hsl "#f5f5f5",
+
+    gray = hsl "#505050",
+    light_gray = hsl "#D0D0D0",
+
+    error_red = hsl "#AC4142",
+    warning_orange = hsl "#F4BF75",
+    info_yellow = hsl "#F4BF75",
+    hint_blue = hsl "#A5D6FF",
+
+    red = hsl "#AC4142",
+
+    blue = hsl "#A5D6FF",
+    gray_blue = hsl "#A5D6FF",
+
+    yellow = hsl "#F4BF75",
+
+    orange = hsl "#FFA657",
+
+    green = hsl "#A1B56C",
+    light_green = hsl "#A1B56C",
+
+    aqua = hsl "#A5D6FF",
+
+    purple = hsl "#AA759F",
+    pale_purple = hsl "#A5D6FF",
+
+    sign_add = hsl "#A1B56C",
+    sign_change = hsl "#A5D6FF",
+    sign_delete = hsl "#AC4142",
+  }
+  return {
+    Normal { bg = c.bg, fg = c.white, gui = "NONE" }, -- used for the columns set with 'colorcolumn'
+    SignColumn { Normal },
+    ModeMsg { Normal },
+    MsgArea { Normal },
+    MsgSeparator { Normal },
+    SpellBad { bg = "NONE", fg = c.white, gui = "underline", sp = c.red },
+    SpellCap { bg = "NONE", fg = c.white, gui = "underline", sp = c.yellow },
+    SpellLocal { bg = "NONE", fg = c.white, gui = "underline", sp = c.green },
+    SpellRare { bg = "NONE", fg = c.white, gui = "underline", sp = c.blue },
+    NormalNC { Normal },
+    Pmenu { bg = c.bg2, fg = c.white, gui = "NONE" },
+    PmenuSel { bg = c.gray_blue, fg = c.bg1.da(5), gui = "NONE" },
+    WildMenu { PmenuSel }, -- Non Defaults
+    CursorLineNr { bg = "NONE", fg = c.light_gray, gui = "bold" },
+    Comment { bg = "NONE", fg = c.gray, gui = "italic" }, -- any comment
+    Folded { bg = c.bg1, fg = c.gray, gui = "NONE" },
+    FoldColumn { Normal, fg = c.gray, gui = "NONE" },
+    LineNr { bg = "NONE", fg = c.gray, gui = "NONE" },
+    FloatBorder { bg = c.bg1, fg = c.gray, gui = "NONE" },
+    Whitespace { bg = "NONE", fg = c.gray.da(35), gui = "NONE" },
+    VertSplit { bg = "NONE", fg = c.bg2, gui = "NONE" },
+    CursorLine { bg = c.bg1, fg = "NONE", gui = "NONE" },
+    CursorColumn { CursorLine },
+    ColorColumn { CursorLine },
+    NormalFloat { bg = c.bg2.da(30), fg = "NONE", gui = "NONE" },
+    Visual { bg = c.bg2.da(25), fg = "NONE", gui = "NONE" },
+    VisualNOS { Visual },
+    WarningMsg { bg = "NONE", fg = c.red, gui = "NONE" },
+    DiffText { bg = "NONE", fg = "NONE", gui = "NONE" },
+    DiffAdd { bg = c.sign_add, fg = "NONE", gui = "NONE" },
+    DiffChange { bg = c.sign_change, fg = "NONE", gui = "NONE" },
+    DiffDelete { bg = c.sign_delete, fg = "NONE", gui = "NONE" },
+    QuickFixLine { CursorLine },
+    PmenuSbar { bg = c.bg2.li(15), fg = "NONE", gui = "NONE" },
+    PmenuThumb { bg = c.white, fg = "NONE", gui = "NONE" },
+    MatchParen { CursorLine, fg = "NONE", gui = "NONE" },
+    Cursor { fg = "NONE", bg = "NONE", gui = "reverse" },
+    lCursor { Cursor },
+    CursorIM { Cursor },
+    TermCursor { Cursor },
+    TermCursorNC { Cursor },
+    Conceal { bg = "NONE", fg = c.blue, gui = "NONE" },
+    Directory { bg = "NONE", fg = c.blue, gui = "NONE" },
+    SpecialKey { bg = "NONE", fg = c.blue, gui = "bold" },
+    Title { bg = "NONE", fg = c.blue, gui = "bold" },
+    ErrorMsg { bg = "NONE", fg = c.error_red, gui = "NONE" },
+    Search { bg = c.gray_blue, fg = c.white },
+    IncSearch { Search },
+    Substitute { Search },
+    MoreMsg { bg = "NONE", fg = c.aqua, gui = "NONE" },
+    Question { MoreMsg },
+    EndOfBuffer { bg = "NONE", fg = c.bg, gui = "NONE" },
+    NonText { EndOfBuffer },
+
+    String { fg = c.blue },
+    Character { fg = c.light_green },
+    Constant { fg = c.orange },
+    Number { fg = c.red },
+    Boolean { fg = c.red },
+    Float { fg = c.red },
+
+    Identifier { fg = c.white },
+    Function { fg = c.orange },
+    Operator { fg = c.orange },
+
+    Type { fg = c.blue },
+    StorageClass { Type },
+    Structure { Type },
+    Typedef { Type },
+
+    Keyword { fg = c.blue },
+    Statement { Keyword },
+    Conditional { Keyword },
+    Repeat { Keyword },
+    Label { Keyword },
+    Exception { Keyword },
+
+    Include { Keyword },
+    PreProc { fg = c.aqua },
+    Define { PreProc },
+    Macro { PreProc },
+    PreCondit { PreProc },
+
+    Special { fg = c.orange },
+    SpecialChar { Character },
+    Tag { fg = c.pale_purple },
+    Debug { fg = c.red },
+    Delimiter { fg = c.white.da(25) },
+    SpecialComment { fg = c.gray },
+    Underlined { fg = "NONE", gui = "underline" },
+    Bold { fg = "NONE", gui = "bold" },
+    Italic { fg = "NONE", gui = "italic" },
+
+    -- Todo
+    -- ("Ignore", below, may be invisible...)
+    Ignore { fg = c.white },
+    Todo { bg = "NONE", fg = c.red, gui = "bold" },
+    Error { fg = c.error_red },
+
+    -- Treesitter
+    TSComment { Comment }, -- comment blocks.
+    luaTSConstructor { bg = "NONE", fg = c.white.da(25) }, -- override Lua curly braces
+    TSAnnotation { bg = "NONE", fg = c.aqua }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
+    TSAttribute { bg = "NONE", fg = c.aqua }, -- (unstable) TODO: docs
+    TSConstructor { Type }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
+    TSType { Type }, -- types.
+    TSTypeBuiltin { Type }, -- builtin types.
+    TSConditional { Conditional }, -- keywords related to conditionnals.
+    TSException { Exception }, -- exception related keywords.
+    TSInclude { Include }, -- includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
+    TSKeyword { Keyword }, -- keywords that don't fall in previous categories.
+    TSKeywordFunction { Keyword }, -- keywords used to define a fuction.
+    TSLabel { Label }, -- labels: `label:` in C and `:label:` in Lua.
+    TSNamespace { bg = "NONE", fg = c.blue }, -- For identifiers referring to modules and namespaces.
+    TSRepeat { Repeat }, -- keywords related to loops.
+    TSConstant { Constant }, -- constants
+    TSConstBuiltin { Constant }, -- constant that are built in the language: `nil` in Lua.
+    TSFloat { Float }, -- floats.
+    TSNumber { Number }, -- all numbers
+    TSBoolean { Boolean }, -- booleans.
+    TSCharacter { Character }, -- characters.
+    TSError { bg = "NONE", fg = "NONE" }, -- For syntax/parser errors.
+    TSFunction { Function }, -- function (calls and definitions).
+    TSFuncBuiltin { Function }, -- builtin functions: `table.insert` in Lua.
+    TSMethod { Function }, -- method calls and definitions.
+    TSConstMacro { Macro }, -- constants that are defined by macros: `NULL` in C.
+    TSFuncMacro { Macro }, -- macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
+    TSVariableBuiltin { bg = "NONE", fg = c.aqua }, -- Variable names that are defined by the languages, like `this` or `self`.
+    TSProperty { fg = c.aqua },
+    TSOperator { Operator }, -- any operator: `+`, but also `->` and `*` in C.
+    TSVariable { bg = "NONE", fg = c.white }, -- Any variable name that does not have another highlight.
+    TSField { bg = "NONE", fg = c.white }, -- For fields.
+    TSParameter { TSField }, -- parameters of a function.
+    TSParameterReference { TSParameter }, -- references to parameters of a function.
+    TSSymbol { Identifier }, -- identifiers referring to symbols or atoms.
+    TSText { fg = c.white }, -- strings considered text in a markup language.
+    TSPunctDelimiter { Delimiter }, -- delimiters ie: `.`
+    TSTagDelimiter { Delimiter }, -- Tag delimiter like `<` `>` `/`
+    TSPunctBracket { Delimiter }, -- brackets and parens.
+    TSPunctSpecial { Delimiter }, -- special punctutation that does not fall in the catagories before.
+    TSString { String }, -- strings.
+    TSStringRegex { TSString }, -- regexes.
+    TSStringEscape { Character }, -- escape characters within a string.
+    TSWarning { Todo }, -- Variable names that are defined by the languages, like `this` or `self`.
+    TSTag { Tag }, -- Tags like html tag names.
+    TSEmphasis { gui = "italic" }, -- text to be represented with emphasis.
+    TSUnderline { gui = "underline" }, -- text to be represented with an underline.
+    TSStrike { gui = "strikethrough" }, -- strikethrough text.
+    TSTitle { Title }, -- Text that is part of a title.
+    TSLiteral { String }, -- Literal text.
+    TSURI { fg = c.aqua }, -- Any URI like a link or email.
+    -- TSNone                { },    -- TODO: docs
+
+    -- These groups are for the native LSP client. Some other LSP clients may
+    -- use these groups, or use their own. Consult your LSP client's
+    -- documentation.
+
+    LspDiagnosticsDefaultError { bg = "NONE", fg = c.error_red, gui = "NONE" },
+    LspDiagnosticsDefaultWarning { bg = "NONE", fg = c.warning_orange, gui = "NONE" },
+    LspDiagnosticsDefaultInformation { bg = "NONE", fg = c.info_yellow, gui = "NONE" },
+    LspDiagnosticsDefaultHint { bg = "NONE", fg = c.hint_blue, gui = "NONE" },
+
+    LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError },
+    LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning },
+    LspDiagnosticsVirtualTextInformation { LspDiagnosticsDefaultInformation },
+    LspDiagnosticsVirtualTextHint { LspDiagnosticsDefaultHint },
+
+    LspDiagnosticsFloatingError { fg = c.error_red, gui = "NONE" },
+    LspDiagnosticsFloatingWarning { fg = c.warning_orange, gui = "NONE" },
+    LspDiagnosticsFloatingInformation { fg = c.info_yellow, gui = "NONE" },
+    LspDiagnosticsFloatingHint { fg = c.hint_blue, gui = "NONE" },
+
+    LspDiagnosticsSignError { fg = c.error_red, gui = "NONE" },
+    LspDiagnosticsSignWarning { fg = c.warning_orange, gui = "NONE" },
+    LspDiagnosticsSignInformation { fg = c.info_yellow, gui = "NONE" },
+    LspDiagnosticsSignHint { fg = c.hint_blue, gui = "NONE" }, -- Tree-Sitter
+
+    LspDiagnosticsError { LspDiagnosticsSignError },
+    LspDiagnosticsWarning { LspDiagnosticsSignWarning },
+    LspDiagnosticsInformation { LspDiagnosticsSignInformation },
+    LspDiagnosticsHint { LspDiagnosticsSignHint },
+
+    -- LspReferenceText {bg = c.bg1, fg = "NONE", gui = "underline"},
+    -- LspReferenceRead {bg = c.bg1, fg = "NONE", gui = "underline"},
+    -- LspReferenceWrite {bg = c.bg1, fg = "NONE", gui = "underline"},
+
+    LspDiagnosticsUnderlineError { fg = "NONE", gui = "underline", sp = c.red },
+    LspDiagnosticsUnderlineWarning { fg = "NONE", gui = "underline", sp = c.yellow },
+    LspDiagnosticsUnderlineInformation { fg = "NONE", gui = "underline", sp = c.blue },
+    LspDiagnosticsUnderlineHint { fg = "NONE", gui = "underline", sp = c.green },
+
+    -- gitsigns.nvim
+    SignAdd { fg = c.sign_add },
+    SignChange { fg = c.sign_change },
+    SignDelete { fg = c.sign_delete }, -- Any URI like a link or email.
+    GitSignsAdd { fg = c.sign_add },
+    GitSignsChange { fg = c.sign_change },
+    GitSignsDelete { fg = c.sign_delete },
+
+    -- telescope.nvim
+    TelescopeSelection { bg = "NONE", fg = c.aqua },
+    TelescopeMatching { bg = "NONE", fg = c.red, gui = "bold" },
+    TelescopeBorder { bg = c.bg1, fg = c.gray }, -- nvim-tree.lua
+
+    -- Nvimtree
+    NvimTreeFolderIcon { fg = c.blue },
+    NvimTreeIndentMarker { fg = c.gray },
+    NvimTreeNormal { fg = c.white.da(10), bg = c.bg1 },
+    NvimTreeFolderName { fg = c.blue },
+    NvimTreeOpenedFolderName { fg = c.aqua.da(10), gui = "italic" },
+    NvimTreeOpenedFile { NvimTreeOpenedFolderName },
+    NvimTreeRootFolder { fg = c.blue.da(20) },
+    NvimTreeExecFile { fg = c.green },
+    NvimTreeImageFile { fg = c.purple },
+    NvimTreeSpecialFile { fg = c.aqua },
+
+    NvimTreeGitStaged { fg = c.sign_add },
+    NvimTreeGitNew { fg = c.sign_add },
+    NvimTreeGitDirty { fg = c.sign_add },
+    NvimTreeGitRenamed { fg = c.sign_change },
+    NvimTreeGitMerge { fg = c.sign_change },
+    NvimTreeGitDelete { fg = c.sign_delete },
+    NvimTreeVertSplit { fg = c.bg1, bg = c.bg1 },
+
+    -- BarBar
+    TabLine { bg = c.bg1, fg = c.white, gui = "NONE" },
+    TabLineFill { bg = c.bg1, fg = c.gray, gui = "NONE" },
+    TabLineSel { bg = c.white, fg = c.bg1, gui = "NONE" },
+
+    BufferCurrent { fg = c.fg, bg = c.bg },
+    BufferCurrentIndex { fg = c.aqua, bg = c.bg },
+    BufferCurrentMod { fg = c.info_yellow, bg = c.bg },
+    BufferCurrentSign { fg = c.aqua, bg = c.bg },
+    BufferCurrentTarget { fg = c.red, bg = c.bg, gui = "bold" },
+
+    BufferVisible { fg = c.fg, bg = c.bg },
+    BufferVisibleIndex { fg = c.fg, bg = c.bg },
+    BufferVisibleMod { fg = c.info_yellow, bg = c.bg },
+    BufferVisibleSign { fg = c.info_yellow, bg = c.bg },
+    BufferVisibleTarget { fg = c.red, bg = c.bg, gui = "bold" },
+
+    BufferInactive { fg = c.gray, bg = c.bg1 },
+    BufferInactiveIndex { fg = c.gray, bg = c.bg1 },
+    BufferInactiveMod { fg = c.info_yellow, bg = c.bg1 },
+    BufferInactiveSign { fg = c.gray, bg = c.bg1 },
+    BufferInactiveTarget { fg = c.red, bg = c.bg1 },
+
+    -- some fix for html related stuff
+    htmlH1 { Title }, -- markdown stuff
+    mkdLink { fg = c.aqua, gui = "underline" },
+    mkdLineBreak { bg = "NONE", fg = "NONE", gui = "NONE" },
+    mkdHeading { fg = c.white },
+    mkdInlineURL { mkdLink },
+    mkdUnderline { fg = c.gray },
+    markdownUrl { mkdLink },
+    markdownCode { fg = c.orange, bg = "NONE" },
+    markdownLinkTextDelimiter { Delimiter },
+    markdownLinkDelimiter { Delimiter },
+    markdownIdDelimiter { Delimiter },
+    markdownLinkText { fg = c.aqua },
+    markdownItalic { fg = "NONE", gui = "italic" }, -- flutter-tools.nvim
+    FlutterWidgetGuides { fg = c.gray.li(10) }, -- statusline
+
+    StatusLine { bg = c.bg1, fg = c.white }, -- status line of current window
+    StatusLineNC { bg = c.bg1, fg = c.light_gray }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
+    StatusLineSeparator { bg = c.bg1, fg = "NONE" },
+    StatusLineGit { bg = c.bg1, fg = c.orange },
+    StatusLineGitAdd { bg = c.bg1, fg = c.green },
+    StatusLineGitChange { bg = c.bg1, fg = c.blue },
+    StatusLineGitDelete { bg = c.bg1, fg = c.red },
+    StatusLineLspDiagnosticsError { bg = c.bg1, fg = c.error_red, gui = "NONE" },
+    StatusLineLspDiagnosticsWarning { bg = c.bg1, fg = c.warning_orange, gui = "NONE" },
+    StatusLineLspDiagnosticsInformation { bg = c.bg1, fg = c.info_yellow, gui = "NONE" },
+    StatusLineLspDiagnosticsHint { bg = c.bg1, fg = c.hint_blue, gui = "NONE" },
+    StatusLineTreeSitter { bg = c.bg1, fg = c.green },
+
+    -- StatusLineMode {bg = c.gray, fg = c.bg, gui = "bold"},
+    -- StatusLineDeco {bg = c.bg2, fg = c.yellow},
+    -- StatusLineLCol {bg = c.bg2, fg = c.white},
+    -- StatusLineLColAlt {bg = c.bg1, fg = c.white},
+    -- StatusLineFT {bg = c.bg2, fg = c.white},
+    -- StatusLineFTAlt {bg = c.bg2, fg = c.white},
+    -- StatusLineGitAlt {bg = c.gray, fg = c.bg},
+    -- StatusLineLSP {bg = c.bg1, fg = c.gray.li(25)},
+    -- StatusLineFileName {bg = c.bg1, fg = c.white, gui = "bold"},
+
+    -- lsp-trouble.nvim
+    LspTroubleIndent { fg = c.gray.li(10) }, -- tabline stuff
+
+    -- tabline diagnostic
+    TabLineError { LspDiagnosticsSignError },
+    TabLineWarning { LspDiagnosticsSignWarning },
+    TabLineHint { LspDiagnosticsSignHint },
+    TabLineInformation { LspDiagnosticsSignInformation }, -- which-key.nvim
+
+    WhichKey { fg = c.white }, -- nvim-compe
+    WhichKeySeperator { fg = c.gray }, -- nvim-compe
+    WhichKeyGroup { fg = c.blue }, -- nvim-compe
+    WhichKeyDesc { fg = c.aqua }, -- nvim-compe
+    WhichKeyFloat { bg = c.bg1 }, -- nvim-compe
+
+    CompeDocumentation { Pmenu, fg = "NONE" }, -- diffview
+
+    DiffviewNormal { NvimTreeNormal },
+    DiffviewStatusAdded { SignAdd },
+    DiffviewStatusModified { SignChange },
+    DiffviewStatusRenamed { SignChange },
+    DiffviewStatusDeleted { SignDelete },
+    DiffviewFilePanelInsertion { SignAdd },
+    DiffviewFilePanelDeletion { SignDelete },
+    DiffviewVertSplit { fg = c.gray, bg = c.bg },
+
+    DashboardHeader { fg = c.blue },
+    DashboardCenter { fg = c.purple },
+    DashboardFooter { fg = c.aqua },
+
+    IndentBlanklineContextChar { fg = c.gray.da(20) },
+
+    CodiVirtualText { fg = c.hint_blue },
+  }
+end)
+
+-- return our parsed theme for extension or use else where.
+return theme
+
+-- vi:nowrap
diff --git a/.config/nvim/lua/cfg/themes/spacegray.lua b/.config/nvim/lua/cfg/themes/spacegray.lua
deleted file mode 100644
index 0bb695c..0000000
--- a/.config/nvim/lua/cfg/themes/spacegray.lua
+++ /dev/null
@@ -1,373 +0,0 @@
-local lush = require "lush"
-local hsl = lush.hsl
-
-local theme = lush(function()
-  local c = {
-    bg = hsl "#212121",
-    bg1 = hsl "#2a2a2a",
-    -- bg2 = hsl("#3a3a3a"),
-    bg2 = hsl "#383d45",
-
-    white = hsl "#c8c9d1",
-
-    gray = hsl "#858585",
-    light_gray = hsl "#c8c9c1",
-
-    error_red = hsl "#F44747",
-    warning_orange = hsl "#ff8800",
-    info_yellow = hsl "#ffcc66",
-    hint_blue = hsl "#4fc1ff",
-
-    red = hsl "#b04b57",
-
-    blue = hsl "#5486c0",
-    gray_blue = hsl "#66899d",
-
-    -- yellow = hsl("#ffcb6b"),
-    yellow = hsl "#eeba5a",
-
-    -- orange = hsl("#c98a75"),
-    orange = hsl "#c6735a",
-
-    green = hsl "#87b379",
-    light_green = hsl "#b2d77c",
-
-    -- aqua = hsl("#46b1d0"),
-    aqua = hsl "#65a7c5",
-
-    purple = hsl "#bf83c1",
-    pale_purple = hsl "#7199ee",
-
-    sign_add = hsl "#587C0C",
-    sign_change = hsl "#0C7D9D",
-    sign_delete = hsl "#94151B",
-
-    test = hsl "#ff00ff",
-  }
-  return {
-    Normal { bg = c.bg, fg = c.white, gui = "NONE" }, -- used for the columns set with 'colorcolumn'
-    SignColumn { Normal },
-    ModeMsg { Normal },
-    MsgArea { Normal },
-    MsgSeparator { Normal },
-    SpellBad { bg = "NONE", fg = c.white, gui = "underline", sp = c.red },
-    SpellCap { bg = "NONE", fg = c.white, gui = "underline", sp = c.yellow },
-    SpellLocal { bg = "NONE", fg = c.white, gui = "underline", sp = c.green },
-    SpellRare { bg = "NONE", fg = c.white, gui = "underline", sp = c.blue },
-    NormalNC { Normal },
-    Pmenu { bg = c.bg2, fg = c.white, gui = "NONE" },
-    PmenuSel { bg = c.gray_blue, fg = c.bg1.da(5), gui = "NONE" },
-    WildMenu { PmenuSel }, -- Non Defaults
-    CursorLineNr { bg = "NONE", fg = c.light_gray, gui = "bold" },
-    Comment { bg = "NONE", fg = c.gray, gui = "italic" }, -- any comment
-    Folded { bg = c.bg1, fg = c.gray, gui = "NONE" },
-    FoldColumn { Normal, fg = c.gray, gui = "NONE" },
-    LineNr { bg = "NONE", fg = c.gray, gui = "NONE" },
-    FloatBorder { bg = c.bg1, fg = c.gray, gui = "NONE" },
-    Whitespace { bg = "NONE", fg = c.gray.da(35), gui = "NONE" },
-    VertSplit { bg = "NONE", fg = c.bg2, gui = "NONE" },
-    CursorLine { bg = c.bg1, fg = "NONE", gui = "NONE" },
-    CursorColumn { CursorLine },
-    ColorColumn { CursorLine },
-    NormalFloat { bg = c.bg2.da(30), fg = "NONE", gui = "NONE" },
-    Visual { bg = c.bg2.da(25), fg = "NONE", gui = "NONE" },
-    VisualNOS { Visual },
-    WarningMsg { bg = "NONE", fg = c.red, gui = "NONE" },
-    DiffText { bg = "NONE", fg = "NONE", gui = "NONE" },
-    DiffAdd { bg = c.sign_add, fg = "NONE", gui = "NONE" },
-    DiffChange { bg = c.sign_change, fg = "NONE", gui = "NONE" },
-    DiffDelete { bg = c.sign_delete, fg = "NONE", gui = "NONE" },
-    QuickFixLine { CursorLine },
-    PmenuSbar { bg = c.bg2.li(15), fg = "NONE", gui = "NONE" },
-    PmenuThumb { bg = c.white, fg = "NONE", gui = "NONE" },
-    MatchParen { CursorLine, fg = "NONE", gui = "NONE" },
-    Cursor { fg = "NONE", bg = "NONE", gui = "reverse" },
-    lCursor { Cursor },
-    CursorIM { Cursor },
-    TermCursor { Cursor },
-    TermCursorNC { Cursor },
-    Conceal { bg = "NONE", fg = c.blue, gui = "NONE" },
-    Directory { bg = "NONE", fg = c.blue, gui = "NONE" },
-    SpecialKey { bg = "NONE", fg = c.blue, gui = "bold" },
-    Title { bg = "NONE", fg = c.blue, gui = "bold" },
-    ErrorMsg { bg = "NONE", fg = c.error_red, gui = "NONE" },
-    Search { bg = c.gray_blue, fg = c.white },
-    IncSearch { Search },
-    Substitute { Search },
-    MoreMsg { bg = "NONE", fg = c.aqua, gui = "NONE" },
-    Question { MoreMsg },
-    EndOfBuffer { bg = "NONE", fg = c.bg, gui = "NONE" },
-    NonText { EndOfBuffer },
-
-    String { fg = c.green },
-    Character { fg = c.light_green },
-    Constant { fg = c.orange },
-    Number { fg = c.red },
-    Boolean { fg = c.red },
-    Float { fg = c.red },
-
-    Identifier { fg = c.white },
-    Function { fg = c.yellow },
-    Operator { fg = c.gray_blue },
-
-    Type { fg = c.purple },
-    StorageClass { Type },
-    Structure { Type },
-    Typedef { Type },
-
-    Keyword { fg = c.blue },
-    Statement { Keyword },
-    Conditional { Keyword },
-    Repeat { Keyword },
-    Label { Keyword },
-    Exception { Keyword },
-
-    Include { Keyword },
-    PreProc { fg = c.aqua },
-    Define { PreProc },
-    Macro { PreProc },
-    PreCondit { PreProc },
-
-    Special { fg = c.orange },
-    SpecialChar { Character },
-    Tag { fg = c.pale_purple },
-    Debug { fg = c.red },
-    Delimiter { fg = c.white.da(25) },
-    SpecialComment { fg = c.gray },
-    Underlined { fg = "NONE", gui = "underline" },
-    Bold { fg = "NONE", gui = "bold" },
-    Italic { fg = "NONE", gui = "italic" },
-
-    -- Todo
-    -- ("Ignore", below, may be invisible...)
-    Ignore { fg = c.white },
-    Todo { bg = "NONE", fg = c.red, gui = "bold" },
-    Error { fg = c.error_red },
-
-    -- Treesitter
-    TSComment { Comment }, -- comment blocks.
-    luaTSConstructor { bg = "NONE", fg = c.white.da(25) }, -- override Lua curly braces
-    TSAnnotation { bg = "NONE", fg = c.aqua }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
-    TSAttribute { bg = "NONE", fg = c.aqua }, -- (unstable) TODO: docs
-    TSConstructor { Type }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
-    TSType { Type }, -- types.
-    TSTypeBuiltin { Type }, -- builtin types.
-    TSConditional { Conditional }, -- keywords related to conditionnals.
-    TSException { Exception }, -- exception related keywords.
-    TSInclude { Include }, -- includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
-    TSKeyword { Keyword }, -- keywords that don't fall in previous categories.
-    TSKeywordFunction { Keyword }, -- keywords used to define a fuction.
-    TSLabel { Label }, -- labels: `label:` in C and `:label:` in Lua.
-    TSNamespace { bg = "NONE", fg = c.blue }, -- For identifiers referring to modules and namespaces.
-    TSRepeat { Repeat }, -- keywords related to loops.
-    TSConstant { Constant }, -- constants
-    TSConstBuiltin { Constant }, -- constant that are built in the language: `nil` in Lua.
-    TSFloat { Float }, -- floats.
-    TSNumber { Number }, -- all numbers
-    TSBoolean { Boolean }, -- booleans.
-    TSCharacter { Character }, -- characters.
-    TSError { bg = "NONE", fg = "NONE" }, -- For syntax/parser errors.
-    TSFunction { Function }, -- function (calls and definitions).
-    TSFuncBuiltin { Function }, -- builtin functions: `table.insert` in Lua.
-    TSMethod { Function }, -- method calls and definitions.
-    TSConstMacro { Macro }, -- constants that are defined by macros: `NULL` in C.
-    TSFuncMacro { Macro }, -- macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
-    TSVariableBuiltin { bg = "NONE", fg = c.aqua }, -- Variable names that are defined by the languages, like `this` or `self`.
-    TSProperty { fg = c.aqua },
-    TSOperator { Operator }, -- any operator: `+`, but also `->` and `*` in C.
-    TSVariable { bg = "NONE", fg = c.white }, -- Any variable name that does not have another highlight.
-    TSField { bg = "NONE", fg = c.white }, -- For fields.
-    TSParameter { TSField }, -- parameters of a function.
-    TSParameterReference { TSParameter }, -- references to parameters of a function.
-    TSSymbol { Identifier }, -- identifiers referring to symbols or atoms.
-    TSText { fg = c.white }, -- strings considered text in a markup language.
-    TSPunctDelimiter { Delimiter }, -- delimiters ie: `.`
-    TSTagDelimiter { Delimiter }, -- Tag delimiter like `<` `>` `/`
-    TSPunctBracket { Delimiter }, -- brackets and parens.
-    TSPunctSpecial { Delimiter }, -- special punctutation that does not fall in the catagories before.
-    TSString { String }, -- strings.
-    TSStringRegex { TSString }, -- regexes.
-    TSStringEscape { Character }, -- escape characters within a string.
-    TSWarning { Todo }, -- Variable names that are defined by the languages, like `this` or `self`.
-    TSTag { Tag }, -- Tags like html tag names.
-    TSEmphasis { gui = "italic" }, -- text to be represented with emphasis.
-    TSUnderline { gui = "underline" }, -- text to be represented with an underline.
-    TSStrike { gui = "strikethrough" }, -- strikethrough text.
-    TSTitle { Title }, -- Text that is part of a title.
-    TSLiteral { String }, -- Literal text.
-    TSURI { fg = c.aqua }, -- Any URI like a link or email.
-    -- TSNone                { },    -- TODO: docs
-
-    -- These groups are for the native LSP client. Some other LSP clients may
-    -- use these groups, or use their own. Consult your LSP client's
-    -- documentation.
-
-    LspDiagnosticsDefaultError { bg = "NONE", fg = c.error_red, gui = "NONE" },
-    LspDiagnosticsDefaultWarning { bg = "NONE", fg = c.warning_orange, gui = "NONE" },
-    LspDiagnosticsDefaultInformation { bg = "NONE", fg = c.info_yellow, gui = "NONE" },
-    LspDiagnosticsDefaultHint { bg = "NONE", fg = c.hint_blue, gui = "NONE" },
-
-    LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError },
-    LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning },
-    LspDiagnosticsVirtualTextInformation { LspDiagnosticsDefaultInformation },
-    LspDiagnosticsVirtualTextHint { LspDiagnosticsDefaultHint },
-
-    LspDiagnosticsFloatingError { fg = c.error_red, gui = "NONE" },
-    LspDiagnosticsFloatingWarning { fg = c.warning_orange, gui = "NONE" },
-    LspDiagnosticsFloatingInformation { fg = c.info_yellow, gui = "NONE" },
-    LspDiagnosticsFloatingHint { fg = c.hint_blue, gui = "NONE" },
-
-    LspDiagnosticsSignError { fg = c.error_red, gui = "NONE" },
-    LspDiagnosticsSignWarning { fg = c.warning_orange, gui = "NONE" },
-    LspDiagnosticsSignInformation { fg = c.info_yellow, gui = "NONE" },
-    LspDiagnosticsSignHint { fg = c.hint_blue, gui = "NONE" }, -- Tree-Sitter
-
-    LspDiagnosticsError { LspDiagnosticsSignError },
-    LspDiagnosticsWarning { LspDiagnosticsSignWarning },
-    LspDiagnosticsInformation { LspDiagnosticsSignInformation },
-    LspDiagnosticsHint { LspDiagnosticsSignHint },
-
-    -- LspReferenceText {bg = c.bg1, fg = "NONE", gui = "underline"},
-    -- LspReferenceRead {bg = c.bg1, fg = "NONE", gui = "underline"},
-    -- LspReferenceWrite {bg = c.bg1, fg = "NONE", gui = "underline"},
-
-    LspDiagnosticsUnderlineError { fg = "NONE", gui = "underline", sp = c.red },
-    LspDiagnosticsUnderlineWarning { fg = "NONE", gui = "underline", sp = c.yellow },
-    LspDiagnosticsUnderlineInformation { fg = "NONE", gui = "underline", sp = c.blue },
-    LspDiagnosticsUnderlineHint { fg = "NONE", gui = "underline", sp = c.green },
-
-    -- gitsigns.nvim
-    SignAdd { fg = c.sign_add },
-    SignChange { fg = c.sign_change },
-    SignDelete { fg = c.sign_delete }, -- Any URI like a link or email.
-    GitSignsAdd { fg = c.sign_add },
-    GitSignsChange { fg = c.sign_change },
-    GitSignsDelete { fg = c.sign_delete },
-
-    -- telescope.nvim
-    TelescopeSelection { bg = "NONE", fg = c.aqua },
-    TelescopeMatching { bg = "NONE", fg = c.red, gui = "bold" },
-    TelescopeBorder { bg = c.bg1, fg = c.gray }, -- nvim-tree.lua
-
-    -- Nvimtree
-    NvimTreeFolderIcon { fg = c.blue },
-    NvimTreeIndentMarker { fg = c.gray },
-    NvimTreeNormal { fg = c.white.da(10), bg = c.bg1 },
-    NvimTreeFolderName { fg = c.blue },
-    NvimTreeOpenedFolderName { fg = c.aqua.da(10), gui = "italic" },
-    NvimTreeOpenedFile { NvimTreeOpenedFolderName },
-    NvimTreeRootFolder { fg = c.blue.da(20) },
-    NvimTreeExecFile { fg = c.green },
-    NvimTreeImageFile { fg = c.purple },
-    NvimTreeSpecialFile { fg = c.aqua },
-
-    NvimTreeGitStaged { fg = c.sign_add },
-    NvimTreeGitNew { fg = c.sign_add },
-    NvimTreeGitDirty { fg = c.sign_add },
-    NvimTreeGitRenamed { fg = c.sign_change },
-    NvimTreeGitMerge { fg = c.sign_change },
-    NvimTreeGitDelete { fg = c.sign_delete },
-    NvimTreeVertSplit { fg = c.bg1, bg = c.bg1 },
-
-    -- BarBar
-    TabLine { bg = c.bg1, fg = c.white, gui = "NONE" },
-    TabLineFill { bg = c.bg1, fg = c.white, gui = "NONE" },
-    TabLineSel { bg = c.blue, fg = c.bg1, gui = "NONE" },
-
-    BufferCurrent { fg = c.fg, bg = c.bg },
-    BufferCurrentIndex { fg = c.aqua, bg = c.bg },
-    BufferCurrentMod { fg = c.info_yellow, bg = c.bg },
-    BufferCurrentSign { fg = c.aqua, bg = c.bg },
-    BufferCurrentTarget { fg = c.red, bg = c.bg, gui = "bold" },
-
-    BufferVisible { fg = c.fg, bg = c.bg },
-    BufferVisibleIndex { fg = c.fg, bg = c.bg },
-    BufferVisibleMod { fg = c.info_yellow, bg = c.bg },
-    BufferVisibleSign { fg = c.info_yellow, bg = c.bg },
-    BufferVisibleTarget { fg = c.red, bg = c.bg, gui = "bold" },
-
-    BufferInactive { fg = c.gray, bg = c.bg1 },
-    BufferInactiveIndex { fg = c.gray, bg = c.bg1 },
-    BufferInactiveMod { fg = c.info_yellow, bg = c.bg1 },
-    BufferInactiveSign { fg = c.gray, bg = c.bg1 },
-    BufferInactiveTarget { fg = c.red, bg = c.bg1 },
-
-    -- some fix for html related stuff
-    htmlH1 { Title }, -- markdown stuff
-    mkdLink { fg = c.aqua, gui = "underline" },
-    mkdLineBreak { bg = "NONE", fg = "NONE", gui = "NONE" },
-    mkdHeading { fg = c.white },
-    mkdInlineURL { mkdLink },
-    mkdUnderline { fg = c.gray },
-    markdownUrl { mkdLink },
-    markdownCode { fg = c.orange, bg = "NONE" },
-    markdownLinkTextDelimiter { Delimiter },
-    markdownLinkDelimiter { Delimiter },
-    markdownIdDelimiter { Delimiter },
-    markdownLinkText { fg = c.aqua },
-    markdownItalic { fg = "NONE", gui = "italic" }, -- flutter-tools.nvim
-    FlutterWidgetGuides { fg = c.gray.li(10) }, -- statusline
-
-    StatusLine { bg = c.bg1, fg = c.white }, -- status line of current window
-    StatusLineNC { bg = c.bg1, fg = c.light_gray }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
-    StatusLineSeparator { bg = c.bg1, fg = "NONE" },
-    StatusLineGit { bg = c.bg1, fg = c.orange },
-    StatusLineGitAdd { bg = c.bg1, fg = c.green },
-    StatusLineGitChange { bg = c.bg1, fg = c.blue },
-    StatusLineGitDelete { bg = c.bg1, fg = c.red },
-    StatusLineLspDiagnosticsError { bg = c.bg1, fg = c.error_red, gui = "NONE" },
-    StatusLineLspDiagnosticsWarning { bg = c.bg1, fg = c.warning_orange, gui = "NONE" },
-    StatusLineLspDiagnosticsInformation { bg = c.bg1, fg = c.info_yellow, gui = "NONE" },
-    StatusLineLspDiagnosticsHint { bg = c.bg1, fg = c.hint_blue, gui = "NONE" },
-    StatusLineTreeSitter { bg = c.bg1, fg = c.green },
-
-    -- StatusLineMode {bg = c.gray, fg = c.bg, gui = "bold"},
-    -- StatusLineDeco {bg = c.bg2, fg = c.yellow},
-    -- StatusLineLCol {bg = c.bg2, fg = c.white},
-    -- StatusLineLColAlt {bg = c.bg1, fg = c.white},
-    -- StatusLineFT {bg = c.bg2, fg = c.white},
-    -- StatusLineFTAlt {bg = c.bg2, fg = c.white},
-    -- StatusLineGitAlt {bg = c.gray, fg = c.bg},
-    -- StatusLineLSP {bg = c.bg1, fg = c.gray.li(25)},
-    -- StatusLineFileName {bg = c.bg1, fg = c.white, gui = "bold"},
-
-    -- lsp-trouble.nvim
-    LspTroubleIndent { fg = c.gray.li(10) }, -- tabline stuff
-
-    -- tabline diagnostic
-    TabLineError { LspDiagnosticsSignError },
-    TabLineWarning { LspDiagnosticsSignWarning },
-    TabLineHint { LspDiagnosticsSignHint },
-    TabLineInformation { LspDiagnosticsSignInformation }, -- which-key.nvim
-
-    WhichKey { fg = c.purple }, -- nvim-compe
-    WhichKeySeperator { fg = c.green }, -- nvim-compe
-    WhichKeyGroup { fg = c.blue }, -- nvim-compe
-    WhichKeyDesc { fg = c.aqua }, -- nvim-compe
-    WhichKeyFloat { bg = c.bg1 }, -- nvim-compe
-
-    CompeDocumentation { Pmenu, fg = "NONE" }, -- diffview
-
-    DiffviewNormal { NvimTreeNormal },
-    DiffviewStatusAdded { SignAdd },
-    DiffviewStatusModified { SignChange },
-    DiffviewStatusRenamed { SignChange },
-    DiffviewStatusDeleted { SignDelete },
-    DiffviewFilePanelInsertion { SignAdd },
-    DiffviewFilePanelDeletion { SignDelete },
-    DiffviewVertSplit { fg = c.gray, bg = c.bg },
-
-    DashboardHeader { fg = c.blue },
-    DashboardCenter { fg = c.purple },
-    DashboardFooter { fg = c.aqua },
-
-    IndentBlanklineContextChar { fg = c.gray.da(20) },
-
-    CodiVirtualText { fg = c.hint_blue },
-  }
-end)
-
--- return our parsed theme for extension or use else where.
-return theme
-
--- vi:nowrap
-- 
cgit v1.2.3-70-g09d2