about summary refs log tree commit diff
path: root/fnl/nvrc/colors.fnl
blob: b080a5f1faa3929cc077537a1a93e186a0d8b909 (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
(local colors {:bg "#151515"
               :bar "#202020"
               :fg "#cbc0ab"
               :white "#e8e8d3"
               :black "#181818"
               :black2 "#101010"
               :bblack "#252525"
               :dgrey "#333333"
               :mgrey "#444444"
               :grey2 "#666666"
               :grey "#888888"
               :bgrey "#999999"
               :red "#cf6a4c"
               :orange "#fabb6e"
               :yellow "#fad07a"
               :lyellow "#ffe2a9"
               :green "#99ad6a"
               :skyblue "#8fbfdc"
               :blue "#8197bf"
               :violet "#c6b6ee"
               :magenta "#f0a0c0"})


(lambda colors.apply [colorscheme]
  (import-macros {: highlight! : link!} :nvrc.macro.color)
  (vim.cmd (.. "colorscheme " colorscheme))

  ; Statusline
  (highlight! :StatusLine {:fg (. colors :fg) :bg (. colors :bar)})
  (highlight! :StatusLineNC {:fg (. colors :grey) :bg (. colors :black) :underline true})
  (highlight! :StatusLinePad {:fg (. colors :skyblue) :bg (. colors :bar)})
  (highlight! :StatusLineAccent {:fg (. colors :green) :bg (. colors :bar)})
  (highlight! :StatusLineInsertAccent {:fg (. colors :red) :bg (. colors :bar)})
  (highlight! :StatusLineVisualAccent {:fg (. colors :yellow) :bg (. colors :bar)})
  (highlight! :StatusLineReplaceAccent {:fg (. colors :violet) :bg (. colors :bar)})
  (highlight! :StatusLineCmdLineAccent {:fg (. colors :green) :bg (. colors :bar)})
  (highlight! :StatusLineTerminalAccent {:fg (. colors :skyblue) :bg (. colors :bar)})
  (highlight! :StatusLineFile {:fg (. colors :orange) :bg (. colors :bar) :bold true})
  (highlight! :StatusLineFileData {:fg (. colors :magenta) :bg (. colors :bar) :bold true})

  ; Buffer
  (highlight! :EndOfBuffer {:fg (. colors :bar)})
  (highlight! :FloatBorder {:fg (. colors :blue)})
  (highlight! :NormalFloat {:bg (. colors :bblack)})

  ; Pmenu
  (highlight! :Pmenu {:bg (. colors :bblack)})
  (highlight! :PmenuSbar {:bg (. colors :bblack)})
  (highlight! :PmenuSel {:fg (. colors :orange) :bg (. colors :dgrey)})
  (highlight! :PmenuThumb {:bg (. colors :skyblue)})
  (highlight! :CmpItemAbbr {:fg (. colors :fg)})
  (highlight! :CmpItemAbbrMatch {:fg (. colors :fg)})
  (highlight! :CmpItemKind {:fg (. colors :fg)})
  (highlight! :CmpItemMenu {:fg (. colors :fg)})

  ; LSP
  (highlight! :DiagnosticError {:fg (. colors :red)})
  (highlight! :DiagnosticWarn {:fg (. colors :yellow)})
  (highlight! :DiagnosticInfo {:fg (. colors :green)})
  (highlight! :DiagnosticHint {:fg (. colors :grey)})
  (highlight! :DiagnosticSignError {:fg (. colors :red) :bg (. colors :bar)})
  (highlight! :DiagnosticSignWarn {:fg (. colors :yellow) :bg (. colors :bar)})
  (highlight! :DiagnosticSignInfo {:fg (. colors :green) :bg (. colors :bar)})
  (highlight! :DiagnosticSignHint {:fg (. colors :grey) :bg (. colors :bar)})
  (highlight! :LspReferenceRead {:underline true})
  (highlight! :LspReferenceText {:underline true})
  (highlight! :LspReferenceWrite {:underline true})
  (highlight! :LspSemantic_variable {:bg :gray})
  (link! :LspSemantic_type :Include)
  (link! :LspSemantic_function :Identifier)
  (link! :LspSemantic_struct :Number)
  (link! :LspSemantic_keyword :Structure)

  ; Lir
  (highlight! :LirFloatNormal {:bg (. colors :black)})
  (highlight! :LirDir {:fg (. colors :skyblue)})
  (highlight! :LirSymLink {:fg (. colors :grey)})
  (highlight! :LirEmptyDirText {:fg (. colors :blue)})
  (highlight! :LirFloatCurdirWindowNormal {:bg (. colors :black)})
  (highlight! :LirFloatCurdirWindowDirName {:fg (. colors :skyblue)})

  ; Misc
  (highlight! :TabLine {:fg (. colors :fg) :bg (. colors :mgrey)})
  (highlight! :TabLineFill {:fg (. colors :fg) :bg (. colors :bar)})
  (highlight! :TabLineSel {:fg (. colors :fg) :bg (. colors :grey2)})
  (highlight! :LineNr {:fg (. colors :grey)})
  (highlight! :NvimInternalError {:fg (. colors :red)})
  (highlight! :VertSplit {:fg (. colors :grey2)}))

colors