summaryrefslogtreecommitdiff
path: root/lua/no-clown-fiesta/highlights.lua
blob: 5ed61694837a42b99594cdeb1a970b204e5a0cd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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_red, style = "undercurl" },
    SpellCap = { sp = palette.yellow, style = "undercurl" },
    SpellLocal = { sp = palette.green, style = "undercurl" },
    SpellRare = { sp = palette.purple, style = "undercurl" },
    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, style = "bold" },
    Comment = vim.tbl_extend(
      "force",
      { fg = palette.medium_gray },
      options.style.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_red, 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 = { style = "underline" },
    MatchParen = { fg = palette.pale_purple, bg = palette.bg, style = "underline" },
    MatchWordCur = { style = "underline" },
    MatchParenCur = { style = "underline" },
    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_red, bg = palette.bg, style = "bold" },
    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.style.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.style.functions),
    Operator = { fg = palette.white },
    Type = vim.tbl_extend("force", { fg = palette.white }, options.style.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.style.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.style.comments
    ),
    Underlined = { style = "underline" },
    Bold = { style = "bold" },
    Italic = { style = "italic" },
    Ignore = { fg = palette.cyan, bg = palette.bg, style = "bold" },
    Todo = { fg = palette.red, bg = palette.bg, style = "bold" },
    Error = { fg = palette.error_red, bg = palette.bg, style = "bold" },
    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_red },
  }
end

return M