Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Add six more built-in palette themes

97b3b0223992b99e3a862c366fa2a830add058b5 · Keenan Nemetz · 1d ago · parent b42d384d

Add six more built-in palette themes

Rosé Pine Moon and Dawn, Kanagawa Wave, Dracula, Tokyo Night, and Ayu Light join the picker. Each has the full token set, including syntax colours, and the six new ids are reserved against instance theme packs.

Record the five upstream projects and their MIT license texts in NOTICE.

server/web/static/palettes.css +258

@@ -177,3 +177,261 @@
177 177 --syn-added: #859900;
178 178 --syn-deleted: #dc322f;
179 179 }
180
181 /* ---------- Rosé Pine Moon ---------- */
182
183 :root[data-theme="rose-pine-moon"] {
184 color-scheme: dark;
185
186 --bg: #232136;
187 --bg-panel: #2a273f;
188 --bg-raised: #393552;
189 --bg-hover: #44415a;
190 --bg-active: #524f67;
191 --border: #393552;
192 --border-strong: #524f67;
193
194 --fg: #e0def4;
195 --fg-muted: #908caa;
196 --fg-faint: #6e6a86;
197
198 --accent: #c4a7e7;
199 --accent-fg: #232136;
200 --accent-soft: rgba(196, 167, 231, 0.16);
201 --running: #3e8fb0;
202 --good: #9ccfd8;
203 --good-soft: rgba(156, 207, 216, 0.14);
204 --bad: #eb6f92;
205 --bad-soft: rgba(235, 111, 146, 0.14);
206 --warn: #f6c177;
207 --warn-soft: rgba(246, 193, 119, 0.14);
208 --merged: #ea9a97;
209 --merged-soft: rgba(234, 154, 151, 0.14);
210
211 --syn-comment: #6e6a86;
212 --syn-punctuation: #908caa;
213 --syn-operator: #ea9a97;
214 --syn-number: #f6c177;
215 --syn-string: #9ccfd8;
216 --syn-keyword: #eb6f92;
217 --syn-function: #3e8fb0;
218 --syn-type: #c4a7e7;
219 --syn-variable: #e0def4;
220 --syn-added: #9ccfd8;
221 --syn-deleted: #eb6f92;
222 }
223
224 /* ---------- Rosé Pine Dawn ---------- */
225
226 :root[data-theme="rose-pine-dawn"] {
227 color-scheme: light;
228
229 --bg: #faf4ed;
230 --bg-panel: #fffaf3;
231 --bg-raised: #f2e9e1;
232 --bg-hover: #dfdad9;
233 --bg-active: #cecacd;
234 --border: #f2e9e1;
235 --border-strong: #dfdad9;
236
237 --fg: #464261;
238 --fg-muted: #797593;
239 --fg-faint: #9893a5;
240
241 --accent: #907aa9;
242 --accent-fg: #faf4ed;
243 --accent-soft: rgba(144, 122, 169, 0.12);
244 --running: #56949f;
245 --good: #286983;
246 --good-soft: rgba(40, 105, 131, 0.12);
247 --bad: #b4637a;
248 --bad-soft: rgba(180, 99, 122, 0.10);
249 --warn: #ea9d34;
250 --warn-soft: rgba(234, 157, 52, 0.12);
251 --merged: #d7827e;
252 --merged-soft: rgba(215, 130, 126, 0.12);
253
254 --syn-comment: #9893a5;
255 --syn-punctuation: #797593;
256 --syn-operator: #d7827e;
257 --syn-number: #907aa9;
258 --syn-string: #56949f;
259 --syn-keyword: #b4637a;
260 --syn-function: #286983;
261 --syn-type: #ea9d34;
262 --syn-variable: #464261;
263 --syn-added: #286983;
264 --syn-deleted: #b4637a;
265 }
266
267 /* ---------- Kanagawa Wave ---------- */
268
269 :root[data-theme="kanagawa-wave"] {
270 color-scheme: dark;
271
272 --bg: #1f1f28;
273 --bg-panel: #181820;
274 --bg-raised: #2a2a37;
275 --bg-hover: #363646;
276 --bg-active: #54546d;
277 --border: #2a2a37;
278 --border-strong: #54546d;
279
280 --fg: #dcd7ba;
281 --fg-muted: #c8c093;
282 --fg-faint: #727169;
283
284 --accent: #7e9cd8;
285 --accent-fg: #1f1f28;
286 --accent-soft: rgba(126, 156, 216, 0.16);
287 --running: #7fb4ca;
288 --good: #98bb6c;
289 --good-soft: rgba(152, 187, 108, 0.14);
290 --bad: #c34043;
291 --bad-soft: rgba(195, 64, 67, 0.14);
292 --warn: #dca561;
293 --warn-soft: rgba(220, 165, 97, 0.14);
294 --merged: #957fb8;
295 --merged-soft: rgba(149, 127, 184, 0.14);
296
297 --syn-comment: #727169;
298 --syn-punctuation: #c8c093;
299 --syn-operator: #ffa066;
300 --syn-number: #d27e99;
301 --syn-string: #98bb6c;
302 --syn-keyword: #e46876;
303 --syn-function: #7e9cd8;
304 --syn-type: #e6c384;
305 --syn-variable: #dcd7ba;
306 --syn-added: #98bb6c;
307 --syn-deleted: #c34043;
308 }
309
310 /* ---------- Dracula ---------- */
311
312 :root[data-theme="dracula"] {
313 color-scheme: dark;
314
315 --bg: #282a36;
316 --bg-panel: #21222c;
317 --bg-raised: #44475a;
318 --bg-hover: #52556b;
319 --bg-active: #5f6379;
320 --border: #44475a;
321 --border-strong: #6272a4;
322
323 --fg: #f8f8f2;
324 --fg-muted: #c5c8d6;
325 --fg-faint: #8f93b0;
326
327 --accent: #bd93f9;
328 --accent-fg: #282a36;
329 --accent-soft: rgba(189, 147, 249, 0.16);
330 --running: #8be9fd;
331 --good: #50fa7b;
332 --good-soft: rgba(80, 250, 123, 0.14);
333 --bad: #ff5555;
334 --bad-soft: rgba(255, 85, 85, 0.14);
335 --warn: #f1fa8c;
336 --warn-soft: rgba(241, 250, 140, 0.14);
337 --merged: #ff79c6;
338 --merged-soft: rgba(255, 121, 198, 0.14);
339
340 --syn-comment: #6272a4;
341 --syn-punctuation: #b0b3c5;
342 --syn-operator: #ff79c6;
343 --syn-number: #bd93f9;
344 --syn-string: #f1fa8c;
345 --syn-keyword: #ff79c6;
346 --syn-function: #50fa7b;
347 --syn-type: #8be9fd;
348 --syn-variable: #f8f8f2;
349 --syn-added: #50fa7b;
350 --syn-deleted: #ff5555;
351 }
352
353 /* ---------- Tokyo Night ---------- */
354
355 :root[data-theme="tokyo-night"] {
356 color-scheme: dark;
357
358 --bg: #1a1b26;
359 --bg-panel: #16161e;
360 --bg-raised: #292e42;
361 --bg-hover: #2f334d;
362 --bg-active: #363b54;
363 --border: #292e42;
364 --border-strong: #3b4261;
365
366 --fg: #c0caf5;
367 --fg-muted: #a9b1d6;
368 --fg-faint: #565f89;
369
370 --accent: #7aa2f7;
371 --accent-fg: #1a1b26;
372 --accent-soft: rgba(122, 162, 247, 0.16);
373 --running: #7dcfff;
374 --good: #9ece6a;
375 --good-soft: rgba(158, 206, 106, 0.14);
376 --bad: #f7768e;
377 --bad-soft: rgba(247, 118, 142, 0.14);
378 --warn: #e0af68;
379 --warn-soft: rgba(224, 175, 104, 0.14);
380 --merged: #bb9af7;
381 --merged-soft: rgba(187, 154, 247, 0.14);
382
383 --syn-comment: #565f89;
384 --syn-punctuation: #a9b1d6;
385 --syn-operator: #89ddff;
386 --syn-number: #ff9e64;
387 --syn-string: #9ece6a;
388 --syn-keyword: #bb9af7;
389 --syn-function: #7aa2f7;
390 --syn-type: #2ac3de;
391 --syn-variable: #c0caf5;
392 --syn-added: #9ece6a;
393 --syn-deleted: #f7768e;
394 }
395
396 /* ---------- Ayu Light ---------- */
397
398 :root[data-theme="ayu-light"] {
399 color-scheme: light;
400
401 --bg: #fcfcfc;
402 --bg-panel: #f8f9fa;
403 --bg-raised: #ebeef0;
404 --bg-hover: #e1e5e8;
405 --bg-active: #d6dbdf;
406 --border: #e1e5e8;
407 --border-strong: #c9cfd4;
408
409 --fg: #5c6773;
410 --fg-muted: #6b7d8f;
411 --fg-faint: #9aa5af;
412
413 --accent: #d97706;
414 --accent-fg: #fcfcfc;
415 --accent-soft: rgba(217, 119, 6, 0.12);
416 --running: #22a4e6;
417 --good: #5c8a00;
418 --good-soft: rgba(92, 138, 0, 0.12);
419 --bad: #e65050;
420 --bad-soft: rgba(230, 80, 80, 0.10);
421 --warn: #b8860b;
422 --warn-soft: rgba(184, 134, 11, 0.12);
423 --merged: #a37acc;
424 --merged-soft: rgba(163, 122, 204, 0.12);
425
426 --syn-comment: #9aa5af;
427 --syn-punctuation: #6b7d8f;
428 --syn-operator: #ed9366;
429 --syn-number: #a37acc;
430 --syn-string: #5c8a00;
431 --syn-keyword: #d97706;
432 --syn-function: #22a4e6;
433 --syn-type: #22a4e6;
434 --syn-variable: #5c6773;
435 --syn-added: #5c8a00;
436 --syn-deleted: #e65050;
437 }