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(235, 15, 20), fg = hsl(235, 30, 85) },
CursorLine { bg = Normal.bg.li(10) },
Visual { bg = hsl(235, 30, 30) },
Comment { fg = hsl(235, 10, 60) },
CursorColumn { CursorLine },
LineNr { Comment, gui = "italic" },
CursorLineNr { fg = hsl(235, 50, 75), bg = CursorLine.bg, gui = "italic" },
Search { bg = hsl(50, 15, 60), fg = Normal.bg },
IncSearch { bg = hsl(130, 15, 60), fg = Normal.bg },
String { fg = hsl(235, 50, 75) },
PreProc { fg = hsl(300, 50, 75) },
Statement { fg = hsl(10, 50, 75) },
Type { fg = hsl(50, 50, 75) },
Identifier { fg = Normal.fg },
Function { fg = hsl(130, 50, 75) },
Operator { fg = hsl(270, 50, 75) },
Special { fg = hsl(325, 50, 75) },
Constant { fg = hsl(195, 50, 75) },
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 = hsl(235, 15, 30) },
DiagnosticError { fg = hsl(0, 80, 75) },
DiagnosticWarn { fg = hsl(25, 80, 75) },
DiagnosticInfo { fg = hsl(195, 80, 75) },
Pmenu { bg = Normal.bg.li(20) },
PmenuSel { bg = Normal.bg.li(30) },
Error { bg = hsl(0, 50, 50), fg = Normal.fg },
ErrorMsg { Error },
MatchParen { bg = hsl(195, 50, 35), fg = Normal.fg },
SpecialKey { fg = "red" },
Directory { Constant },
Title { Operator, gui = "bold" },
Conceal { bg = Normal.bg.li(40).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