320 lines
14 KiB
Lua
320 lines
14 KiB
Lua
|
--
|
||
|
-- Built with,
|
||
|
--
|
||
|
-- ,gggg,
|
||
|
-- d8" "8I ,dPYb,
|
||
|
-- 88 ,dP IP'`Yb
|
||
|
-- 8888888P" I8 8I
|
||
|
-- 88 I8 8'
|
||
|
-- 88 gg gg ,g, I8 dPgg,
|
||
|
-- ,aa,_88 I8 8I ,8'8, I8dP" "8I
|
||
|
-- dP" "88P I8, ,8I ,8' Yb I8P I8
|
||
|
-- Yb,_,d88b,,_ ,d8b, ,d8b,,8'_ 8) ,d8 I8,
|
||
|
-- "Y8P" "Y888888P'"Y88P"`Y8P' "YY8P8P88P `Y8
|
||
|
--
|
||
|
|
||
|
-- This is a starter colorscheme for use with Lush,
|
||
|
-- for usage guides, see :h lush or :LushRunTutorial
|
||
|
|
||
|
--
|
||
|
-- Note: Because this is a lua file, vim will append it to the runtime,
|
||
|
-- which means you can require(...) it in other lua code (this is useful),
|
||
|
-- but you should also take care not to conflict with other libraries.
|
||
|
--
|
||
|
-- (This is a lua quirk, as it has somewhat poor support for namespacing.)
|
||
|
|
||
|
local lush = require('lush')
|
||
|
local hsl = lush.hsl
|
||
|
|
||
|
local base00 = "#191830"
|
||
|
local base06 = "#ffffff"
|
||
|
local base09 = "#78a9ff"
|
||
|
local colors = {
|
||
|
base00 = base00,
|
||
|
base01 = base00,
|
||
|
base02 = "#FFFFFF",
|
||
|
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",
|
||
|
|
||
|
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.macro, 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.base04, bg = colors.none, undercurl = true},
|
||
|
DiagnosticUnderlineHint {fg = colors.base04, 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.base09, bg = colors.none},
|
||
|
Character {fg = colors.base14, bg = colors.none},
|
||
|
Comment {fg = colors.base03, bg = colors.none, italic = true},
|
||
|
Conceal {fg = colors.none, bg = colors.none},
|
||
|
Conditional {fg = colors.base09, bg = colors.none},
|
||
|
Constant {fg = colors.base04, bg = colors.none},
|
||
|
Decorator {fg = colors.base12, bg = colors.none},
|
||
|
Define {fg = colors.storage, bg = colors.none},
|
||
|
Delimeter {fg = colors.base06, bg = colors.none},
|
||
|
Exception {fg = colors.base09, bg = colors.none},
|
||
|
Float {link = "Number"},
|
||
|
Function {fg = colors.type, bg = colors.none},
|
||
|
Identifier {fg = colors.type, 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.base15, bg = colors.none},
|
||
|
Operator {fg = colors.base09, 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.base09, bg = colors.none},
|
||
|
Tag {fg = colors.base04, bg = colors.none},
|
||
|
Todo {fg = colors.base13, bg = colors.none},
|
||
|
Type {fg = colors.type, bg = colors.none},
|
||
|
markdownBlockquote {fg = colors.base08, bg = colors.none},
|
||
|
markdownBold {link = "Bold"},
|
||
|
markdownItalic {link = "Italic"},
|
||
|
markdownBoldItalic {fg = colors.none, bg = colors.none, bold = true, italic = true},
|
||
|
markdownRule {link = "Comment"},
|
||
|
markdownH1 {fg = colors.base10, bg = colors.none},
|
||
|
markdownH2 {link = "markdownH1"},
|
||
|
markdownH3 {link = "markdownH1"},
|
||
|
markdownH4 {link = "markdownH1"},
|
||
|
markdownH5 {link = "markdownH1"},
|
||
|
markdownH6 {link = "markdownH1"},
|
||
|
markdownHeadingDelimiter {link = "markdownH1"},
|
||
|
markdownHeadingRule {link = "markdownH1"},
|
||
|
markdownCode {link = "String"},
|
||
|
markdownCodeBlock {link = "markdownCode"},
|
||
|
markdownCodeDelimiter {link = "markdownCode"},
|
||
|
markdownUrl {link = "String"},
|
||
|
markdownListMarker {fg = colors.base08, bg = colors.none},
|
||
|
markdownOrderedListMarker {fg = colors.base08, bg = colors.none},
|
||
|
asciidocAttributeEntry {fg = colors.base15, bg = colors.none},
|
||
|
asciidocAttributeList {link = "asciidocAttributeEntry"},
|
||
|
asciidocAttributeRef {link = "asciidocAttributeEntry"},
|
||
|
|
||
|
NvimInternalError {fg = colors.base00, bg = colors.base08},
|
||
|
NormalFloat {fg = colors.base05, bg = colors.blend},
|
||
|
FloatBorder {fg = colors.blend, bg = colors.blend},
|
||
|
NormalNC {fg = colors.base05, bg = colors.base00},
|
||
|
TermCursor {fg = colors.base00, bg = colors.base04},
|
||
|
TermCursorNC {fg = colors.base00, bg = colors.base04},
|
||
|
StatusLine {fg = colors.base04, bg = colors.base00},
|
||
|
StatusLineNC {fg = colors.base04, bg = colors.base01},
|
||
|
StatusReplace {fg = colors.base00, bg = colors.base08},
|
||
|
StatusInsert {fg = colors.base00, bg = colors.base12},
|
||
|
StatusVisual {fg = colors.base00, bg = colors.base14},
|
||
|
StatusTerminal {fg = colors.base00, bg = colors.base11},
|
||
|
StatusNormal {fg = colors.base00, bg = colors.base15},
|
||
|
StatusCommand {fg = colors.base00, bg = colors.base13},
|
||
|
StatusLineDiagnosticWarn {fg = colors.base14, bg = colors.base00, bold = true},
|
||
|
StatusLineDiagnosticError {fg = colors.base10, bg = colors.base00, bold = true},
|
||
|
TelescopeBorder {fg = colors.blend, bg = colors.blend},
|
||
|
TelescopePromptBorder {fg = colors.base02, bg = colors.base02},
|
||
|
TelescopePromptNormal {fg = colors.base05, bg = colors.base02},
|
||
|
TelescopePromptPrefix {fg = colors.base08, bg = colors.base02},
|
||
|
TelescopeNormal {fg = colors.none, bg = colors.blend},
|
||
|
TelescopePreviewTitle {fg = colors.base02, bg = colors.base12},
|
||
|
TelescopePromptTitle {fg = colors.base02, bg = colors.base11},
|
||
|
TelescopeResultsTitle {fg = colors.blend, bg = colors.blend},
|
||
|
TelescopeSelection {fg = colors.none, bg = colors.base02},
|
||
|
TelescopePreviewLine {fg = colors.none, bg = colors.base01},
|
||
|
TelescopeMatching {fg = colors.base08, bg = colors.none, bold = true, italic = true},
|
||
|
NotifyERRORBorder {fg = colors.base08, bg = colors.none},
|
||
|
NotifyWARNBorder {fg = colors.base14, bg = colors.none},
|
||
|
NotifyINFOBorder {fg = colors.base05, bg = colors.none},
|
||
|
NotifyDEBUGBorder {fg = colors.base13, bg = colors.none},
|
||
|
NotifyTRACEBorder {fg = colors.base13, bg = colors.none},
|
||
|
NotifyERRORIcon {fg = colors.base08, bg = colors.none},
|
||
|
NotifyWARNIcon {fg = colors.base14, bg = colors.none},
|
||
|
NotifyINFOIcon {fg = colors.base05, bg = colors.none},
|
||
|
NotifyDEBUGIcon {fg = colors.base13, bg = colors.none},
|
||
|
NotifyTRACEIcon {fg = colors.base13, bg = colors.none},
|
||
|
NotifyERRORTitle {fg = colors.base08, bg = colors.none},
|
||
|
NotifyWARNTitle {fg = colors.base14, bg = colors.none},
|
||
|
NotifyINFOTitle {fg = colors.base05, bg = colors.none},
|
||
|
NotifyDEBUGTitle {fg = colors.base13, bg = colors.none},
|
||
|
NotifyTRACETitle {fg = colors.base13, bg = colors.none},
|
||
|
CmpItemAbbr {fg = "#adadad", bg = colors.none},
|
||
|
CmpItemAbbrMatch {fg = colors.base05, bg = colors.none, bold = true},
|
||
|
CmpItemAbbrMatchFuzzy {fg = colors.base04, bg = colors.none, bold = true},
|
||
|
CmpItemMenu {fg = colors.base04, bg = colors.none, italic = true},
|
||
|
CmpItemKindInterface {fg = colors.white, bg = colors.macro},
|
||
|
CmpItemKindColor {fg = colors.base01, bg = colors.base08},
|
||
|
CmpItemKindTypeParameter {fg = colors.base01, bg = colors.base08},
|
||
|
CmpItemKindText {fg = colors.macro, bg = colors.bg},
|
||
|
CmpItemKindEnum {fg = colors.base01, bg = colors.base09},
|
||
|
CmpItemKindKeyword {fg = colors.base01, bg = colors.base09},
|
||
|
CmpItemKindConstant {fg = colors.base01, bg = colors.base10},
|
||
|
CmpItemKindConstructor {fg = colors.base01, bg = colors.base10},
|
||
|
CmpItemKindReference {fg = colors.base01, bg = colors.base10},
|
||
|
CmpItemKindFunction {fg = colors.base01, bg = colors.base11},
|
||
|
CmpItemKindStruct {fg = colors.base01, bg = colors.base11},
|
||
|
CmpItemKindClass {fg = colors.base01, bg = colors.base11},
|
||
|
CmpItemKindModule {fg = colors.base01, bg = colors.base11},
|
||
|
CmpItemKindOperator {fg = colors.base01, bg = colors.base11},
|
||
|
CmpItemKindField {fg = colors.base01, bg = colors.base12},
|
||
|
CmpItemKindProperty {fg = colors.base01, bg = colors.base12},
|
||
|
CmpItemKindEvent {fg = colors.base01, bg = colors.base12},
|
||
|
CmpItemKindUnit {fg = colors.base01, bg = colors.base13},
|
||
|
CmpItemKindSnippet {fg = colors.base01, bg = colors.base13},
|
||
|
CmpItemKindFolder {fg = colors.base01, bg = colors.base13},
|
||
|
CmpItemKindVariable {fg = colors.base01, bg = colors.base14},
|
||
|
CmpItemKindFile {fg = colors.base01, bg = colors.base14},
|
||
|
CmpItemKindMethod {fg = colors.base01, bg = colors.base15},
|
||
|
CmpItemKindValue {fg = colors.base01, bg = colors.base15},
|
||
|
CmpItemKindEnumMember {fg = colors.base01, bg = colors.base15},
|
||
|
NvimTreeImageFile {fg = colors.base12, bg = colors.none},
|
||
|
NvimTreeFolderIcon {fg = colors.base12, bg = colors.none},
|
||
|
NvimTreeWinSeparator {fg = colors.base00, bg = colors.base00},
|
||
|
NvimTreeFolderName {fg = colors.base09, bg = colors.none},
|
||
|
NvimTreeIndentMarker {fg = colors.base02, bg = colors.none},
|
||
|
NvimTreeEmptyFolderName {fg = colors.base15, bg = colors.none},
|
||
|
NvimTreeOpenedFolderName {fg = colors.base15, bg = colors.none},
|
||
|
NvimTreeNormal {fg = colors.base04, bg = colors.base00},
|
||
|
NeogitBranch {fg = colors.base10, bg = colors.none},
|
||
|
NeogitRemote {fg = colors.base09, bg = colors.none},
|
||
|
NeogitHunkHeader {fg = colors.base04, bg = colors.base02},
|
||
|
NeogitHunkHeaderHighlight {fg = colors.base04, bg = colors.base03},
|
||
|
HydraRed {fg = colors.base12, bg = colors.none},
|
||
|
HydraBlue {fg = colors.base09, bg = colors.none},
|
||
|
HydraAmaranth {fg = colors.base10, bg = colors.none},
|
||
|
HydraTeal {fg = colors.base08, bg = colors.none},
|
||
|
HydraHint {fg = colors.none, bg = colors.blend},
|
||
|
alpha1 {fg = colors.base03, bg = colors.none},
|
||
|
alpha2 {fg = colors.base04, bg = colors.none},
|
||
|
alpha3 {fg = colors.base03, bg = colors.none},
|
||
|
CodeBlock {fg = colors.none, bg = colors.base01},
|
||
|
BufferLineDiagnostic {fg = colors.base10, bg = colors.none, bold = true},
|
||
|
BufferLineDiagnosticVisible {fg = colors.base10, bg = colors.none, bold = true},
|
||
|
htmlH1 {link = "markdownH1"},
|
||
|
mkdRule {link = "markdownRule"},
|
||
|
mkdListItem {link = "markdownListMarker"},
|
||
|
mkdListItemCheckbox {link = "markdownListMarker"},
|
||
|
VimwikiHeader1 {link = "markdownH1"},
|
||
|
VimwikiHeader2 {link = "markdownH1"},
|
||
|
VimwikiHeader3 {link = "markdownH1"},
|
||
|
VimwikiHeader4 {link = "markdownH1"},
|
||
|
VimwikiHeader5 {link = "markdownH1"},
|
||
|
VimwikiHeader6 {link = "markdownH1"},
|
||
|
VimwikiHeaderChar {link = "markdownH1"},
|
||
|
VimwikiList {link = "markdownListMarker"},
|
||
|
VimwikiCode {link = "markdownCode"},
|
||
|
|
||
|
-- Language specific stuff
|
||
|
-- rustModPath {fg = "#fad000" },
|
||
|
|
||
|
}
|
||
|
end)
|
||
|
|
||
|
-- Return our parsed theme for extension or use elsewhere.
|
||
|
return theme
|
||
|
|
||
|
-- vi:nowrap
|