diff options
Diffstat (limited to 'lua/lv-themes/spacegray.lua')
-rw-r--r-- | lua/lv-themes/spacegray.lua | 729 |
1 files changed, 364 insertions, 365 deletions
diff --git a/lua/lv-themes/spacegray.lua b/lua/lv-themes/spacegray.lua index ef4ecc17..0bb695c0 100644 --- a/lua/lv-themes/spacegray.lua +++ b/lua/lv-themes/spacegray.lua @@ -1,371 +1,370 @@ -local lush = require('lush') +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} - } + 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. |