58 lines
2.0 KiB
Lua

local lush = require('lush')
local hsl = lush.hsl -- We'll use hsl a lot so its nice to bind it separately
---@diagnostic disable: undefined-global
local theme = lush(function()
return {
-- See: h highlight-groups
Normal { bg = hsl(210, 25, 97), fg = hsl(210, 30, 20) },
CursorLine { bg = Normal.bg.da(4) },
Visual { bg = hsl(210, 30, 75) },
Comment { fg = hsl(210, 10, 50) },
CursorColumn { CursorLine },
LineNr { Comment, gui = "italic" },
CursorLineNr { fg = hsl(210, 50, 30), bg = CursorLine.bg, gui = "italic" },
Search { bg = hsl(50, 15, 60), fg = Normal.fg },
IncSearch { bg = hsl(130, 15, 60), fg = Normal.fg },
String { fg = hsl(210, 50, 35) },
PreProc { fg = hsl(300, 50, 35) },
Statement { fg = hsl(10, 50, 35) },
Type { fg = hsl(50, 50, 35) },
Identifier { fg = Normal.fg },
Function { fg = hsl(130, 50, 35) },
Operator { fg = hsl(270, 50, 35) },
Special { fg = hsl(325, 50, 35) },
Constant { fg = hsl(195, 50, 35) },
NonText { fg = Normal.bg.li(10) },
DiffAdd { Function },
DiffDelete { Special },
DiffChange { String },
SignColumn { Normal },
diffAdded { DiffAdd },
MoreMsg { Function, gui = "bold" },
Question { Function, gui = "bold" },
TelescopeSelection { CursorLine },
WhichKeyFloat { bg = Normal.bg.da(5) },
DiagnosticError { fg = hsl(0, 80, 35) },
DiagnosticWarn { fg = hsl(25, 80, 35) },
DiagnosticInfo { fg = hsl(195, 80, 35) },
Pmenu { bg = Normal.bg.da(5) },
PmenuSel { bg = Normal.bg.da(10) },
Error { bg = hsl(0, 50, 65), fg = Normal.fg },
ErrorMsg { Error },
MatchParen { bg = hsl(195, 50, 65), fg = Normal.fg },
SpecialKey { fg = "red" },
Directory { Constant },
Title { Operator, gui = "bold" },
Conceal { bg = Normal.bg.da(15).de(30) },
SpellBad { fg = Special.fg, gui = "underline" },
SpellRare { fg = Type.fg, gui = "underline" },
SpellLocal { fg = Constant.fg, gui = "underline" },
SpellCap { fg = String.fg, gui = "underline" },
}
end)
return theme
-- vi:nowrap:number