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) } } end) return theme -- vi:nowrap:number