local lush = require('lush') local hsl = lush.hsl local base00 = "#191830" local base06 = "#ffffff" local base09 = "#78a9ff" local colors = { base00 = base00, base01 = base00, base02 = "#fad000", base03 = "#FFFFFF", base04 = "#FFFFFF", base05 = "#FFFFFF", base06 = "#FFFFFF", base07 = "#fad000", base08 = "#3ddbd9", base09 = base09, base10 = "#ee5396", base11 = "#33b1ff", base12 = "#ff7eb6", base13 = "#42be65", base14 = "#be95ff", base15 = "#82cfff", blend = "#131313", string = "#A5FF90", keyword = "#ff9d00", type = "#fad000", error = "#EC3A37F5", storage = "#FB94FF", macro = "#fad000", fg = "#FFFFFF", lineNumber = "#7870ab", bg = "#191830", white = "#FFFFFF", meta = "#9efff", number = "#FF628C", cyan = "#9EFFFF", none = "NONE" } -- LSP/Linters mistakenly show `undefined global` errors in the spec, they may -- support an annotation like the following. Consult your server documentation. ---@diagnostic disable: undefined-global local theme = lush(function(injected_functions) local sym = injected_functions.sym return { ColorColumn {fg = colors.none, bg = colors.bg }, Cursor {fg = colors.base00, bg = colors.base04}, CursorLine {fg = colors.none, bg = colors.base01}, CursorColumn {fg = colors.none, bg = colors.base01}, CursorLineNr {fg = colors.base04, bg = colors.none}, QuickFixLine {fg = colors.none, bg = colors.base01}, Error {fg = colors.error, bg = colors.base01}, LineNr {fg = colors.lineNumber, bg = colors.base00}, NonText {fg = colors.fg, bg = colors.none}, Normal {fg = colors.fg, bg = colors.base00}, Pmenu {fg = colors.base04, bg = colors.base01}, PmenuSbar {fg = colors.base04, bg = colors.base01}, PmenuSel {fg = colors.base08, bg = colors.base02}, PmenuThumb {fg = colors.base08, bg = colors.base02}, SpecialKey {fg = colors.base03, bg = colors.none}, Visual {fg = colors.none, bg = colors.base02}, VisualNOS {fg = colors.none, bg = colors.base02}, TooLong {fg = colors.none, bg = colors.base02}, Debug {fg = colors.white, bg = colors.none}, Macro {fg = colors.cyan, bg = colors.none}, MatchParen {fg = colors.none, bg = colors.base02, underline = true}, Bold {fg = colors.none, bg = colors.none, bold = true}, Italic {fg = colors.none, bg = colors.none, italic = true}, Underlined {fg = colors.none, bg = colors.none, underline = true}, DiagnosticWarn {fg = colors.base14, bg = colors.none}, DiagnosticError {fg = colors.base10, bg = colors.none}, DiagnosticInfo {fg = colors.base09, bg = colors.none}, DiagnosticHint {fg = colors.base04, bg = colors.none}, DiagnosticUnderlineWarn {fg = colors.base14, bg = colors.none, undercurl = true}, DiagnosticUnderlineError {fg = colors.base10, bg = colors.none, undercurl = true}, DiagnosticUnderlineInfo {fg = colors.macro, bg = colors.none, undercurl = true}, DiagnosticUnderlineHint {fg = colors.macro, bg = colors.none, undercurl = true}, HealthError {fg = colors.base10, bg = colors.none}, HealthWarning {fg = colors.base14, bg = colors.none}, HealthSuccess {fg = colors.base13, bg = colors.none}, LspCodeLens {fg = colors.none, bg = colors.base03}, LspReferenceText {fg = colors.none, bg = colors.base03}, LspReferenceread {fg = colors.none, bg = colors.base03}, LspReferenceWrite {fg = colors.none, bg = colors.base03}, LspSignatureActiveParameter {fg = colors.base08, bg = colors.none}, Folded {fg = colors.base02, bg = colors.base01}, FoldColumn {fg = colors.base01, bg = colors.base00}, SignColumn {fg = colors.base01, bg = colors.base00}, Directory {fg = colors.base08, bg = colors.none}, EndOfBuffer {fg = colors.base01, bg = colors.none}, ErrorMsg {fg = colors.error, bg = colors.none}, ModeMsg {fg = colors.base04, bg = colors.none}, MoreMsg {fg = colors.base08, bg = colors.none}, Question {fg = colors.base04, bg = colors.none}, Substitute {fg = colors.base01, bg = colors.base08}, WarningMsg {fg = colors.base14, bg = colors.none}, WildMenu {fg = colors.base08, bg = colors.base01}, helpHyperTextJump {fg = colors.base08, bg = colors.none}, helpSpecial {fg = colors.base09, bg = colors.none}, helpHeadline {fg = colors.base10, bg = colors.none}, helpHeader {fg = colors.base15, bg = colors.none}, DiffAdded {fg = colors.base07, bg = colors.none}, DiffChanged {fg = colors.base09, bg = colors.none}, DiffRemoved {fg = colors.base10, bg = colors.none}, DiffAdd {bg = "#122f2f", fg = colors.none}, DiffChange {bg = "#222a39", fg = colors.none}, DiffText {bg = "#2f3f5c", fg = colors.none}, DiffDelete {bg = "#361c28", fg = colors.none}, IncSearch {fg = colors.base06, bg = colors.base10}, Search {fg = colors.base01, bg = colors.base08}, TabLine {link = "StatusLineNC"}, TabLineFill {link = "TabLine"}, TabLineSel {link = "StatusLine"}, Title {fg = colors.base04, bg = colors.none}, VertSplit {fg = colors.base01, bg = colors.base00}, WinSeparator {fg = colors.base01, bg = colors.base00}, Boolean {fg = colors.number, bg = colors.none}, Character {fg = colors.base14, bg = colors.none}, Comment {fg = colors.error, bg = colors.none, italic = true}, Conceal {fg = colors.none, bg = colors.none}, Conditional {fg = colors.base09, bg = colors.none}, Constant {fg = colors.macro, bg = colors.none}, Decorator {fg = colors.base12, bg = colors.none}, Define {fg = colors.storage, bg = colors.none}, Delimeter {fg = colors.keyword, bg = colors.none}, Exception {fg = colors.base09, bg = colors.none}, Float {link = "Number"}, Function {fg = colors.type, bg = colors.none}, Identifier {fg = colors.white, bg = colors.none}, Include {fg = colors.macro, bg = colors.none}, Keyword {fg = colors.keyword, bg = colors.none}, Label {fg = colors.type, bg = colors.none}, Number {fg = colors.number, bg = colors.none}, Operator {fg = colors.keyword, bg = colors.none}, PreProc {fg = colors.meta, bg = colors.none}, Repeat {fg = colors.base09, bg = colors.none}, Special {fg = colors.base04, bg = colors.none}, SpecialChar {fg = colors.base04, bg = colors.none}, SpecialComment {fg = colors.base08, bg = colors.none}, Statement {fg = colors.type, bg = colors.none}, StorageClass {fg = colors.keyword, bg = colors.none}, String {fg = colors.string, bg = colors.none}, Structure {fg = colors.macro, bg = colors.none}, Tag {fg = colors.base04, bg = colors.none}, Todo {fg = colors.base13, bg = colors.none}, Type {fg = colors.type, bg = colors.none}, -- Language specific stuff -- rustModPath {fg = "#fad000" }, rustFoldBraces = {fg = colors.macro }, rustFloat = { fg = colors.number }, -- Plugins RainbowRed = { fg = "#E06C75" }, RainbowYellow= { fg = "#E5C07B" }, } end) -- Return our parsed theme for extension or use elsewhere. return theme -- vi:nowrap