summaryrefslogtreecommitdiff
path: root/dot_config/nvim/colors/starlight.fnl
blob: c17a0849f06ab128618b5c82e4fe6805fc9c52e3 (plain) (blame)
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
(local {: mini_palette : setup} (require :mini.base16))

(local starlight {:black      :#242424
                  :brblack    :#616161

                  :red        :#F62B5A
                  :brred      :#FF4D51

                  :green      :#47B413
                  :brgreen    :#35D450

                  :yellow     :#E3C401
                  :bryellow   :#E9E836

                  :blue       :#24ACD4
                  :brblue     :#5DC5F8

                  :magenta    :#F2AFFD
                  :brmagenta  :#FEABF2

                  :cyan       :#13C299
                  :brcyan     :#24DFC4

                  :white      :#E6E6E6
                  :brwhite    :#FFFFFF})
(set starlight.background starlight.black)
(set starlight.foreground starlight.brwhite)

; we have 4 points (black -> brblack -> white -> brwhite)
; we need 8 (00 -> 07)
; we will use mini_palette to help us generate those
; we also specify the chrome of starlight.yellow for potential reuse
(local b16p (mini_palette starlight.background
                          starlight.foreground
                          87))

(local palette {; these are selected manually for easier future control
                ; all of the bg/fg are generated by mini.base16
                :base00 b16p.base00 ; default bg
                :base01 b16p.base01 ; lighter bg
                :base02 b16p.base02 ; selection bg
                :base03 b16p.base03 ; comments, invisibles, line hi
                :base04 b16p.base04 ; dark fg
                :base05 b16p.base05 ; default fg, caret, delim, oper
                :base06 b16p.base06 ; light fg, rare
                :base07 b16p.base07 ; light bg, rare

                ; all of the actual highlight colors are hand-picked
                ; we have red, green, yellow, blue, magenta, cyan to work with
                ; 6 options and 8 slots to fill
                :base08 starlight.yellow  ; variables, xml tags, markup links & lists, diff-
                :base09 starlight.brcyan  ; ints, bools, consts, xml attrs, markup link urls
                :base0A starlight.cyan    ; classes, bold, search bg
                :base0B starlight.green   ; strings, inherits, markup code, diff+
                :base0C starlight.brred   ; support, regexp, escapes, quotes
                :base0D starlight.blue    ; functions, methods, attributes, headings
                :base0E starlight.magenta ; keywords, storage, selector, markup italic, diff~
                :base0F starlight.white}) ; deprecated, open/close

(setup {:palette palette})

; extra highlight groups

(set vim.g.colors_name :starlight)