2024-12-16 19:18:38 +01:00
|
|
|
local lush = require('lush')
|
|
|
|
local hsl = lush.hsl
|
|
|
|
|
|
|
|
local base00 = "#191830"
|
|
|
|
local base06 = "#ffffff"
|
|
|
|
local base09 = "#78a9ff"
|
|
|
|
local colors = {
|
2024-12-17 18:57:11 +01:00
|
|
|
base00 = base00,
|
2024-12-16 19:18:38 +01:00
|
|
|
base01 = base00,
|
2024-12-17 18:57:11 +01:00
|
|
|
base02 = "#fad000",
|
2024-12-16 19:18:38 +01:00
|
|
|
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",
|
2024-12-17 18:57:11 +01:00
|
|
|
number = "#FF628C",
|
|
|
|
cyan = "#9EFFFF",
|
2024-12-16 19:18:38 +01:00
|
|
|
|
|
|
|
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},
|
2024-12-17 18:57:11 +01:00
|
|
|
Macro {fg = colors.cyan, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
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},
|
2024-12-17 18:57:11 +01:00
|
|
|
DiagnosticUnderlineInfo {fg = colors.macro, bg = colors.none, undercurl = true},
|
|
|
|
DiagnosticUnderlineHint {fg = colors.macro, bg = colors.none, undercurl = true},
|
2024-12-16 19:18:38 +01:00
|
|
|
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},
|
2024-12-17 18:57:11 +01:00
|
|
|
|
2024-12-16 19:18:38 +01:00
|
|
|
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},
|
2024-12-17 18:57:11 +01:00
|
|
|
Boolean {fg = colors.number, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
Character {fg = colors.base14, bg = colors.none},
|
2024-12-17 18:57:11 +01:00
|
|
|
Comment {fg = colors.error, bg = colors.none, italic = true},
|
2024-12-16 19:18:38 +01:00
|
|
|
Conceal {fg = colors.none, bg = colors.none},
|
|
|
|
Conditional {fg = colors.base09, bg = colors.none},
|
2024-12-17 18:57:11 +01:00
|
|
|
Constant {fg = colors.macro, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
Decorator {fg = colors.base12, bg = colors.none},
|
|
|
|
Define {fg = colors.storage, bg = colors.none},
|
2024-12-17 18:57:11 +01:00
|
|
|
Delimeter {fg = colors.keyword, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
Exception {fg = colors.base09, bg = colors.none},
|
|
|
|
Float {link = "Number"},
|
|
|
|
Function {fg = colors.type, bg = colors.none},
|
2024-12-17 18:57:11 +01:00
|
|
|
Identifier {fg = colors.white, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
Include {fg = colors.macro, bg = colors.none},
|
|
|
|
Keyword {fg = colors.keyword, bg = colors.none},
|
|
|
|
Label {fg = colors.type, bg = colors.none},
|
2024-12-17 18:57:11 +01:00
|
|
|
Number {fg = colors.number, bg = colors.none},
|
|
|
|
Operator {fg = colors.keyword, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
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},
|
2024-12-17 18:57:11 +01:00
|
|
|
Structure {fg = colors.macro, bg = colors.none},
|
2024-12-16 19:18:38 +01:00
|
|
|
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" },
|
2024-12-17 18:57:11 +01:00
|
|
|
rustFoldBraces = {fg = colors.macro },
|
|
|
|
rustFloat = { fg = colors.number },
|
|
|
|
|
|
|
|
-- Plugins
|
|
|
|
RainbowRed = { fg = "#E06C75" },
|
|
|
|
RainbowYellow= { fg = "#E5C07B" },
|
2024-12-16 19:18:38 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
end)
|
|
|
|
|
|
|
|
-- Return our parsed theme for extension or use elsewhere.
|
|
|
|
return theme
|
|
|
|
|
|
|
|
-- vi:nowrap
|