More improvements
- Added tsx colors - Some improvements on rust - Diagnostics
This commit is contained in:
parent
10e062d78b
commit
03e6ced5b9
|
@ -1,55 +1,88 @@
|
|||
local lush = require('lush')
|
||||
local lush = require("lush")
|
||||
local hsl = lush.hsl
|
||||
|
||||
local colors = {
|
||||
lightgreen = "#A5FF90",
|
||||
orange_peel = "#ff9d00",
|
||||
gold= "#fad000",
|
||||
violet = "#FB94FF",
|
||||
crayola = "#FF628C",
|
||||
amethyst = "#b362ff",
|
||||
white = "#FFFFFF",
|
||||
cyan = "#9EFFFF",
|
||||
space_cadet = "#191830",
|
||||
|
||||
none = "NONE"
|
||||
lightgreen = "#A5FF90",
|
||||
orange_peel = "#ff9d00",
|
||||
gold = "#fad000",
|
||||
violet = "#FB94FF",
|
||||
crayola = "#FF628C",
|
||||
amethyst = "#b362ff",
|
||||
white = "#FFFFFF",
|
||||
cyan = "#9EFFFF",
|
||||
space_cadet = "#191830",
|
||||
aquamarine = "#80FFBB",
|
||||
maize = "#FFEE80",
|
||||
|
||||
none = "NONE",
|
||||
}
|
||||
|
||||
local theme = lush(function(injected_functions)
|
||||
local sym = injected_functions.sym
|
||||
return {
|
||||
local sym = injected_functions.sym
|
||||
return {
|
||||
|
||||
ColorColumn {fg = colors.none, bg = colors.gold },
|
||||
-- Editor
|
||||
ColorColumn({ fg = colors.none, bg = colors.gold }),
|
||||
Normal({ fg = colors.fg, bg = colors.space_cadet }),
|
||||
Comment({ fg = colors.amethyst, bg = colors.none, italic = true }),
|
||||
Constant({ fg = colors.gold, bg = colors.none }),
|
||||
Number({ fg = colors.crayola, bg = colors.none }),
|
||||
Include({ fg = colors.gold, bg = colors.none }),
|
||||
Keyword({ fg = colors.orange_peel, bg = colors.none }),
|
||||
Label({ fg = colors.orange_peel, bg = colors.none }),
|
||||
Statement({ fg = colors.orange_peel, bg = colors.none }),
|
||||
Operator({ fg = colors.orange_peel, bg = colors.none }),
|
||||
Special({ fg = colors.orange_peel, bg = colors.none }),
|
||||
PreProc({ fg = colors.cyan, bg = colors.none }),
|
||||
Float({ link = "Number" }),
|
||||
Function({ fg = colors.gold, bg = colors.none }),
|
||||
Identifier({ fg = colors.cyan, bg = colors.none }),
|
||||
Type({ fg = colors.gold, bg = colors.none }),
|
||||
String({ fg = colors.lightgreen, bg = colors.none }),
|
||||
sym("@variable")({ fg = colors.cyan }),
|
||||
|
||||
Normal {fg = colors.fg, bg = colors.space_cadet },
|
||||
Comment {fg = colors.amethyst, bg = colors.none, italic = true},
|
||||
Constant {fg = colors.gold, bg = colors.none},
|
||||
Number {fg = colors.crayola, bg = colors.none},
|
||||
-- Plugins
|
||||
DiagnosticUnnecessary({ fg = colors.none }),
|
||||
-- Language specific stuff..
|
||||
|
||||
Include {fg = colors.gold, bg = colors.none},
|
||||
Keyword {fg = colors.orange_peel, bg = colors.none},
|
||||
Label {fg = colors.orange_peel, bg = colors.none},
|
||||
Operator {fg = colors.orange_peel, bg = colors.none},
|
||||
PreProc {fg = colors.cyan, bg = colors.none},
|
||||
Float {link = "Number"},
|
||||
Function {fg = colors.gold, bg = colors.none},
|
||||
Identifier {fg = colors.cyan, bg = colors.none},
|
||||
Type {fg = colors.gold, bg = colors.none},
|
||||
String {fg = colors.lightgreen, bg = colors.none},
|
||||
-- Rust
|
||||
sym("@lsp.typemod.selfKeyword.reference.rust")({ fg = colors.violet }),
|
||||
sym("@lsp.typemod.variable.reference.rust")({ fg = colors.violet }),
|
||||
sym("@lsp.type.selfTypeKeyword")({ fg = colors.violet }),
|
||||
sym("@lsp.type.variable.rust")({ fg = colors.white }),
|
||||
sym("@lsp.type.derive.rust")({ fg = colors.gold }),
|
||||
rustSigil({ fg = colors.orange_peel }),
|
||||
rustSelf({ fg = colors.violet }),
|
||||
rustFoldBraces({ fg = colors.cyan }),
|
||||
rustStorage({ fg = colors.orange_peel }),
|
||||
|
||||
rustFoldBraces {fg = colors.cyan },
|
||||
rustStorage { fg = colors.orange_peel },
|
||||
-- Protobuf
|
||||
protoStructure({ fg = colors.orange_peel }),
|
||||
protoRepeat({ fg = colors.orange_peel }),
|
||||
protoType({ fg = colors.gold }),
|
||||
-- TODO message names shall be orage_peel
|
||||
|
||||
-- Language specific stuff..
|
||||
sym"@lsp.typemod.selfKeyword.reference.rust" { fg = colors.violet },
|
||||
sym"@lsp.typemod.variable.reference.rust" { fg = colors.violet },
|
||||
-- sym"@lsp.typemod.property.public" { fg = colors.white },
|
||||
sym"@lsp.type.selfTypeKeyword" { fg = colors.violet },
|
||||
rustSigil {fg = colors.orange_peel },
|
||||
rustSelf { fg = colors.violet },
|
||||
-- Typescript, tsx
|
||||
typescriptImport({ fg = colors.orange_peel }),
|
||||
typescriptIdentifierName({ fg = colors.cyan }),
|
||||
typescriptVariableName({ fg = colors.orange_peel }),
|
||||
typescriptVariable({ fg = colors.orange_peel }),
|
||||
typescriptStatementKeyword({ fg = colors.orange_peel }),
|
||||
typescriptPromiseMethod({ fg = colors.gold }),
|
||||
typescriptFuncCallArg({ fg = colors.gold }),
|
||||
typescriptBlock({ fg = colors.gold }),
|
||||
typescriptFuncArg({ fg = colors.gold }),
|
||||
typescriptPredefinedType({ fg = colors.aquamarine }),
|
||||
sym("@lsp.type.interface.typescriptreact")({ fg = colors.cyan }),
|
||||
sym("@lsp.type.parameter.typescriptreact")({ fg = colors.cyan }),
|
||||
sym("@lsp.type.namespace.typescriptreact")({ fg = colors.cyan }),
|
||||
typescriptTemplateSB({ fg = colors.maize }),
|
||||
tsxTagName({ fg = colors.cyan }),
|
||||
-- TODO color variables inside HTML tags to cyan. Like onInputChange = {variable}
|
||||
|
||||
}
|
||||
-- Html
|
||||
htmlTagName({ fg = colors.cyan }),
|
||||
}
|
||||
end)
|
||||
|
||||
return theme
|
||||
|
|
Loading…
Reference in a new issue