-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhighlow.toml
197 lines (177 loc) Β· 6.95 KB
/
highlow.toml
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# This is a hi.nvim.rs theme specification. All colors are specified in the
# Oklch color space. All color transformations performed by the theme compiler
# are performed in either the Oklch or Oklab color spaces.
# The name of the color scheme. The color scheme will be loadable in (Neo)vim
# through `:colorscheme {name}`.
name = "highlow"
# The kind of the color scheme specified here (either light or dark). The
# inverse will be generated for free (with optional postprocessing specified in
# `inverse`).
#
# This allows the correct scheme to be loaded based on whether (Neo)vim's
# `background` setting is `light` or `dark`.
kind = "light"
[hues]
# Hues to use in the theme. Groups of colors will be generated from these hues,
# using the lightness and chromacity of the color groups specified in `groups`.
# These can be referenced in the `theme` section as `<group_name>.<hue_name>`.
# For example, `fg.red` refers to the `red` hue with the lightness and
# chromacity of `groups.fg`.
red = 15.0
orange = 62.0
yellow = 98.0
green = 135.0
cyan = 223.0
blue = 262.0
purple = 314.0
pink = 346.0
[groups.fg]
# Specify the lightness and chromacity for foreground colors defined in [hues].
lightness = 0.36
chroma = 0.07
[groups.fg_accented]
# Specify the lightness and chromacity for accented foreground colors defined in [hues].
lightness = 0.36
chroma = 0.10
[groups.fg_unaccented]
# Specify the lightness and chromacity for unaccented foreground colors defined in [hues].
lightness = 0.36
chroma = 0.05
[groups.bg]
# Specify the lightness and chromacity for background colors defined in [hues].
lightness = 0.85
chroma = 0.05
[colors]
# Specify colors (with lightness, chromacity, and hue) to use in the theme. The
# color names can be referenced in the `theme` section without a prefix. This
# is useful for naming specific colors that may differ in lightness and
# chromacity from the colors in the `fg` and `bg` sections.
bg = [ 0.95, 0.016, 77 ]
fg = [ 0.36, 0.035, 272 ]
grey = [ 0.36, 0.0, 77 ]
# [themes]
# In the themes sections the specific color elements that will be used by the
# (Neo)vim highlights are specified. The elements refer to the colors defined
# above with optional transformations. The available transformations are:
#
# `mix`
# Mix the color with another color. Specify the color name and a mixing factor
# between 0 (keep the original color) and 1 (completely take the other color).
# The colors are mixed in the Oklab color space.
#
# `saturate`
# How much to saturate colors (increase chromacity). Specify a negative value
# to desaturate. Bright colors against a dark background tend to need less
# saturation to be distinctive from each other than dark colors against a
# bright background.
#
# `gamma`
# Perform gamma correction: values between 0 and 1 increase overall brightness
# and increase contrast between lightness levels of dark colors. Values over 1
# decrease overall brightness and increase contrast between lightness levels of
# light colors.
#
# Calculates `new_lightness = lightness^factor`.
#
# - `lighten`
# Lighten or darken a color. Specify a negative value to darken. This lightens
# and darkens relative to the maximal lightness and darkness. For example,
# specifying 0.1 moves a color's lightness 10% towards maximal lightness.
#
# Calculates
# ```
# if factor > 0: new_lightness = lightness + factor * (1 - lightness)
# otherwise: new_lightness = (1 + factor) * lightness
# ```
#
# - `lighten_multiplier`
# Lighten or darken a color by a multiplier. Specify a value above 1 to lighten
# and below 1 to darken. If multiple colors are modified by the same
# `lighten_multiplier` value, the lighter colors undergo a perceptually bigger
# change.
#
# Using this, lightness can rise or fall below minimal or maximal lightness,
# leading to clamping.
#
# Calculates `new_lightness = factor * lightness`.
#
# - `lighten_absolute`
# Lighten or darken a color independently from its current lightness. Specify a
# negative value to darken. If multiple colors are modified by the same
# `lighten_absolute` value, they change in lightness by the same perceptual
# amount.
#
# Using this, lightness can rise or fall below minimal or maximal lightness,
# leading to clamping.
#
# Calculates `new_lightness = lightness + factor`.
[themes.ui]
# Normal foreground text
fg = "fg"
fg_dim = { color = "fg", mix = ["bg", 0.1] }
fg_very_dim = { color = "fg", mix = ["bg", 0.3] }
# Background and background highlights
bg = "bg"
bg_visual = { color = "bg", lighten_absolute = -0.15, saturate = 0.04 }
bg_highlight = { color = "bg", lighten_absolute = -0.15, saturate = 0.03 }
bg_highlight_dim = { color = "bg", lighten_absolute = -0.07, saturate = 0.02 }
bg_border = { color = "fg" }
bg_gutter = { color = "bg", lighten_absolute = -0.04, saturate = 0.015 }
bg_dim = { color = "bg", lighten_absolute = -0.05, saturate = -0.005 }
bg_selected = { color = "bg", lighten_absolute = -0.1 }
# Floating windows
float_bg = { color = "bg", lighten_absolute = -0.02, saturate = 0.01 }
float_fg = { color = "fg", lighten_absolute = -0.02 }
float_border = "fg"
# Popup menu (e.g., tab completion)
pmenu_bg = { color = "bg", lighten_absolute = -0.1, saturate = 0.03 }
pmenu_fg = { color = "fg", lighten_absolute = -0.1 }
pmenu_fg_selected = { color = "fg", lighten_absolute = -0.1, saturate = 0.03 }
pmenu_bg_selected = { color = "bg", lighten_absolute = -0.25, saturate = 0.08 }
special = { color = "fg.purple", lighten_absolute = -0.05, saturate = 0.02 }
nontext = { color = "grey", mix = ["bg", 0.15] }
[themes.syn]
string = "fg.green"
number = "fg.orange"
constant = "fg.blue"
regex = "fg.yellow"
preproc = "fg.yellow"
type = "fg.pink"
variable = "fg"
identifier = "fg"
parameter = "fg_unaccented.blue"
function = "fg_unaccented.blue"
constructor = "fg_unaccented.orange"
statement = "fg_unaccented.purple"
keyword = "fg_unaccented.purple"
operator = "fg_unaccented.yellow"
deprecated = { color = "grey", lighten_absolute = 0.05 }
comment = "grey"
special = "fg.yellow"
punctuation = { color = "grey", lighten_absolute = 0.05 }
[themes.diagnostics]
error = { color = "fg_accented.red" }
warning = { color = "fg_accented.orange" }
info = { color = "fg_accented.blue" }
hint = { color = "fg_accented.blue", saturate = -0.05 }
ok = { color = "fg_accented.green" }
[themes.vcs]
removed = "fg.red"
added = "fg.green"
changed = "fg.yellow"
[themes.diff]
removed = "bg.red"
added = "bg.green"
changed = "bg.yellow"
text = "bg"
[inverse]
# Color post-processing for the inverse color theme. This is performed after
# inverting the lightness of all colors. The transformations are the same as
# documented in the themes section.
saturate = -0.03
lighten_absolute = 0.08
[highlights]
# Specify (Neo)vim highlight groups. The default groups are available at
# https://github.com/tomcur/hi-nvim-rs
StatusLine = { fg = "ui.bg", bg = "ui.fg" }
StatusLineNC = { fg = "ui.bg_dim", bg = "ui.fg_very_dim" }