| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 | 
							- 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
 
 
  |