2023-12-06 21:57:50 +01:00

80 lines
2.4 KiB
Lua

local lush = require('lush')
local M = {}
local base = require('lupancolors.lupan').options.light.base
M.colors = {
base = base,
red = base.hue(0),
orange = base.hue(30),
yellow = base.hue(60),
yellow_green = base.hue(90),
green = base.hue(120),
aquamarine = base.hue(150),
cyan = base.hue(180),
blue = base.hue(210),
lavender = base.hue(240),
purple = base.hue(270),
fuchsia = base.hue(300),
hot_pink = base.hue(330),
}
---@diagnostic disable: undefined-global
M.theme = lush(function()
local c = M.colors;
return {
-- See: h highlight-groups
Normal { bg = c.base.de(60).li(90), fg = c.base.de(75) },
CursorLine { bg = Normal.bg.da(4) },
Visual { bg = c.base.de(55).li(70) },
Comment { fg = c.base.de(60).li(20) },
CursorColumn { CursorLine },
LineNr { Comment, gui = "italic" },
CursorLineNr { fg = c.blue, bg = CursorLine.bg, gui = "italic" },
Search { bg = c.yellow, fg = Normal.bg },
IncSearch { bg = c.yellow_green, fg = Normal.bg },
String { fg = c.blue },
PreProc { fg = c.lavender },
Statement { fg = c.orange },
Type { fg = c.yellow },
Identifier { fg = Normal.fg },
Function { fg = c.green },
Operator { fg = c.aquamarine },
Special { fg = c.purple },
Constant { fg = c.cyan },
NonText { fg = Normal.bg.li(10) },
DiffAdd { fg = c.green },
DiffDelete { fg = c.red },
diffRemoved { fg = c.red },
DiffChange { fg = c.blue },
diffChanged { fg = c.blue },
SignColumn { Normal },
diffAdded { DiffAdd },
MoreMsg { fg = c.green, gui = "bold" },
Question { fg = c.green, gui = "bold" },
TelescopeSelection { CursorLine },
WhichKeyFloat { bg = Normal.bg.da(5) },
DiagnosticError { fg = c.red },
DiagnosticWarn { fg = c.orange },
DiagnosticInfo { fg = c.cyan },
Pmenu { bg = Normal.bg.da(5) },
PmenuSel { bg = Normal.bg.da(15) },
Error { bg = c.red.da(25), fg = Normal.bg },
ErrorMsg { Error },
MatchParen { fg = c.hot_pink, gui = "bold" },
SpecialKey { fg = c.red },
Directory { fg = c.cyan },
Title { fg = c.fuchsia, gui = "bold" },
Conceal { bg = Normal.bg.da(15).de(30) },
SpellBad { fg = c.red, gui = "underline" },
SpellRare { fg = Type.fg, gui = "underline" },
SpellLocal { fg = DiagnosticInfo.fg, gui = "underline" },
SpellCap { fg = String.fg, gui = "underline" },
}
end)
return M
-- vi:nowrap:number