summaryrefslogtreecommitdiff
path: root/lua/no-clown-fiesta/groups/highlights.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/no-clown-fiesta/groups/highlights.lua')
-rw-r--r--lua/no-clown-fiesta/groups/highlights.lua127
1 files changed, 127 insertions, 0 deletions
diff --git a/lua/no-clown-fiesta/groups/highlights.lua b/lua/no-clown-fiesta/groups/highlights.lua
new file mode 100644
index 0000000..844b56b
--- /dev/null
+++ b/lua/no-clown-fiesta/groups/highlights.lua
@@ -0,0 +1,127 @@
+local M = {}
+
+function M.highlight(palette, options)
+ return {
+ Normal = {
+ fg = palette.fg,
+ bg = options.transparent and palette.none or palette.bg,
+ },
+ SignColumn = { bg = palette.bg },
+ MsgArea = { fg = palette.fg, bg = palette.bg },
+ ModeMsg = { fg = palette.fg, bg = palette.bg },
+ MsgSeparator = { fg = palette.fg, bg = palette.bg },
+ SpellBad = { sp = palette.error, undercurl = true },
+ SpellCap = { sp = palette.yellow, undercurl = true },
+ SpellLocal = { sp = palette.green, undercurl = true },
+ SpellRare = { sp = palette.purple, undercurl = true },
+ NormalNC = { fg = palette.fg, bg = palette.bg },
+ Pmenu = { fg = palette.light_gray, bg = palette.accent },
+ PmenuSel = { fg = palette.blue, bg = palette.alt_bg },
+ WildMenu = { fg = palette.blue, bg = palette.alt_bg },
+ CursorLineNr = { fg = palette.light_gray, bold = true },
+ Comment = vim.tbl_extend(
+ "force",
+ { fg = palette.medium_gray },
+ options.styles.comments
+ ),
+ Folded = { fg = palette.light_gray, bg = palette.alt_bg },
+ FoldColumn = { fg = palette.light_gray, bg = palette.alt_bg },
+ LineNr = { fg = palette.gray },
+ FloatBoder = { fg = palette.gray, bg = palette.alt_bg },
+ Whitespace = { fg = palette.gray },
+ VertSplit = { fg = palette.bg, bg = palette.accent },
+ CursorLine = { bg = palette.alt_bg },
+ CursorColumn = { bg = palette.alt_bg },
+ ColorColumn = { bg = palette.alt_bg },
+ NormalFloat = { bg = palette.alt_bg },
+ Visual = { bg = palette.gray },
+ VisualNOS = { bg = palette.alt_bg },
+ WarningMsg = { fg = palette.error, bg = palette.bg },
+ DiffAdd = { bg = palette.neogit_green },
+ DiffText = { bg = palette.neogit_blue },
+ DiffChange = {
+ bg = palette.neogit_blue,
+ },
+ DiffDelete = { fg = palette.bg, bg = palette.neogit_red },
+ QuickFixLine = { bg = palette.accent },
+ PmenuSbar = { bg = palette.alt_bg },
+ PmenuThumb = { bg = palette.light_gray },
+ MatchWord = { underline = true },
+ MatchParen = { fg = palette.pale_purple, bg = palette.bg, underline = true },
+ MatchWordCur = { underline = true },
+ MatchParenCur = { underline = true },
+ Cursor = { fg = palette.cursor_fg, bg = palette.cursor_bg },
+ lCursor = { fg = palette.cursor_fg, bg = palette.cursor_bg },
+ CursorIM = { fg = palette.cursor_fg, bg = palette.cursor_bg },
+ TermCursor = { fg = palette.cursor_fg, bg = palette.cursor_bg },
+ TermCursorNC = { fg = palette.cursor_fg, bg = palette.cursor_bg },
+ Conceal = { fg = palette.accent },
+ Directory = { fg = palette.blue },
+ SpecialKey = { fg = palette.blue },
+ Title = { fg = palette.blue },
+ ErrorMsg = { fg = palette.error, bg = palette.bg, bold = true },
+ Search = { fg = palette.orange, bg = palette.alt_bg },
+ IncSearch = { fg = palette.cursor_fg, bg = palette.alt_bg },
+ Substitute = { fg = palette.alt_bg, bg = palette.gray_blue },
+ MoreMsg = { fg = palette.cyan },
+ Question = { fg = palette.cyan },
+ EndOfBuffer = { fg = palette.bg },
+ NonText = { fg = palette.bg },
+ Variable = vim.tbl_extend(
+ "force",
+ { fg = palette.white },
+ options.styles.variables
+ ),
+ String = { fg = palette.medium_gray_blue },
+ Character = { fg = palette.light_green },
+ Constant = { fg = palette.white },
+ Number = { fg = palette.red },
+ Boolean = { fg = palette.red },
+ Float = { fg = palette.red },
+ Identifier = { fg = palette.white },
+ Function = vim.tbl_extend("force", { fg = palette.cyan }, options.styles.functions),
+ Operator = { fg = palette.white },
+ Type = vim.tbl_extend("force", { fg = palette.white }, options.styles.type),
+ StorageClass = { fg = palette.gray_blue },
+ Structure = { fg = palette.gray_blue },
+ Typedef = { fg = palette.white },
+ Keyword = vim.tbl_extend(
+ "force",
+ { fg = palette.gray_blue },
+ options.styles.keywords
+ ),
+ Statement = { fg = palette.gray_blue },
+ Conditional = { fg = palette.gray_blue },
+ Repeat = { fg = palette.gray_blue },
+ Label = { fg = palette.white },
+ Exception = { fg = palette.red },
+ Include = { fg = palette.red },
+ PreProc = { fg = palette.white },
+ Define = { fg = palette.red },
+ Macro = { fg = palette.cyan },
+ PreCondit = { fg = palette.medium_gray },
+ Special = { fg = palette.white },
+ SpecialChar = { fg = palette.medium_gray_blue },
+ Tag = { fg = palette.pale_purple },
+ Debug = { fg = palette.red },
+ Delimiter = { fg = palette.white },
+ SpecialComment = vim.tbl_extend(
+ "force",
+ { fg = palette.medium_gray },
+ options.styles.comments
+ ),
+ Underlined = { underline = true },
+ Bold = { bold = true },
+ Italic = { italic = true },
+ Ignore = { fg = palette.cyan, bg = palette.bg, bold = true },
+ Todo = { fg = palette.red, bg = palette.bg, bold = true },
+ Error = { fg = palette.error, bg = palette.bg, bold = true },
+ TabLine = { fg = palette.gray, bg = palette.alt_bg },
+ TabLineSel = { fg = palette.white, bg = palette.alt_bg },
+ TabLineFill = { fg = palette.white, bg = palette.alt_bg },
+ WinSeparator = { fg = palette.medium_gray, bg = palette.bg },
+ DiagnosticFloatingError = { fg = palette.error },
+ }
+end
+
+return M