@brimveyn/aimux-config 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/actions.ts +11 -8
- package/src/defaults.ts +3 -2
- package/src/house-themes.ts +44 -302
- package/src/index.ts +20 -16
- package/src/palette-to-shiki.ts +134 -0
- package/src/palette-utils.ts +92 -0
- package/src/resolver.ts +0 -1
- package/src/themes/opencode.ts +1460 -0
- package/src/themes.ts +18 -88
- package/src/types.ts +42 -130
- package/src/normalize-theme.ts +0 -260
- package/src/themes/generated/andromeeda.ts +0 -346
- package/src/themes/generated/aurora-x.ts +0 -603
- package/src/themes/generated/ayu-dark.ts +0 -817
- package/src/themes/generated/ayu-light.ts +0 -817
- package/src/themes/generated/ayu-mirage.ts +0 -817
- package/src/themes/generated/catppuccin-frappe.ts +0 -2041
- package/src/themes/generated/catppuccin-latte.ts +0 -2041
- package/src/themes/generated/catppuccin-macchiato.ts +0 -2041
- package/src/themes/generated/catppuccin-mocha.ts +0 -2041
- package/src/themes/generated/dark-plus.ts +0 -614
- package/src/themes/generated/dracula-soft.ts +0 -947
- package/src/themes/generated/dracula.ts +0 -947
- package/src/themes/generated/everforest-dark.ts +0 -2246
- package/src/themes/generated/everforest-light.ts +0 -2246
- package/src/themes/generated/github-dark-default.ts +0 -605
- package/src/themes/generated/github-dark-dimmed.ts +0 -605
- package/src/themes/generated/github-dark-high-contrast.ts +0 -608
- package/src/themes/generated/github-dark.ts +0 -519
- package/src/themes/generated/github-light-default.ts +0 -602
- package/src/themes/generated/github-light-high-contrast.ts +0 -604
- package/src/themes/generated/github-light.ts +0 -515
- package/src/themes/generated/gruvbox-dark-hard.ts +0 -1124
- package/src/themes/generated/gruvbox-dark-medium.ts +0 -1124
- package/src/themes/generated/gruvbox-dark-soft.ts +0 -1124
- package/src/themes/generated/gruvbox-light-hard.ts +0 -1124
- package/src/themes/generated/gruvbox-light-medium.ts +0 -1124
- package/src/themes/generated/gruvbox-light-soft.ts +0 -1124
- package/src/themes/generated/horizon-bright.ts +0 -420
- package/src/themes/generated/horizon.ts +0 -418
- package/src/themes/generated/houston.ts +0 -1819
- package/src/themes/generated/index.ts +0 -140
- package/src/themes/generated/kanagawa-dragon.ts +0 -753
- package/src/themes/generated/kanagawa-lotus.ts +0 -753
- package/src/themes/generated/kanagawa-wave.ts +0 -753
- package/src/themes/generated/laserwave.ts +0 -489
- package/src/themes/generated/light-plus.ts +0 -639
- package/src/themes/generated/material-theme-darker.ts +0 -759
- package/src/themes/generated/material-theme-lighter.ts +0 -759
- package/src/themes/generated/material-theme-ocean.ts +0 -759
- package/src/themes/generated/material-theme-palenight.ts +0 -759
- package/src/themes/generated/material-theme.ts +0 -759
- package/src/themes/generated/min-dark.ts +0 -326
- package/src/themes/generated/min-light.ts +0 -331
- package/src/themes/generated/monokai.ts +0 -463
- package/src/themes/generated/night-owl-light.ts +0 -1526
- package/src/themes/generated/night-owl.ts +0 -1628
- package/src/themes/generated/nord.ts +0 -1277
- package/src/themes/generated/one-dark-pro.ts +0 -1920
- package/src/themes/generated/one-light.ts +0 -1599
- package/src/themes/generated/plastic.ts +0 -315
- package/src/themes/generated/poimandres.ts +0 -1233
- package/src/themes/generated/red.ts +0 -395
- package/src/themes/generated/rose-pine-dawn.ts +0 -696
- package/src/themes/generated/rose-pine-moon.ts +0 -696
- package/src/themes/generated/rose-pine.ts +0 -696
- package/src/themes/generated/slack-dark.ts +0 -594
- package/src/themes/generated/slack-ochin.ts +0 -461
- package/src/themes/generated/snazzy-light.ts +0 -1254
- package/src/themes/generated/solarized-dark.ts +0 -387
- package/src/themes/generated/solarized-light.ts +0 -379
- package/src/themes/generated/synthwave-84.ts +0 -751
- package/src/themes/generated/tokyo-night.ts +0 -1420
- package/src/themes/generated/vesper.ts +0 -578
- package/src/themes/generated/vitesse-black.ts +0 -629
- package/src/themes/generated/vitesse-dark.ts +0 -629
- package/src/themes/generated/vitesse-light.ts +0 -627
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { AimuxPalette } from './types'
|
|
2
|
+
|
|
3
|
+
function stripAlpha(hex: string): string {
|
|
4
|
+
if (hex.length === 9) return hex.slice(0, 7)
|
|
5
|
+
if (hex.length === 5) return hex.slice(0, 4)
|
|
6
|
+
return hex
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function expand3(hex: string): string {
|
|
10
|
+
if (hex.length === 4) return `#${hex[1]}${hex[1]}${hex[2]}${hex[2]}${hex[3]}${hex[3]}`
|
|
11
|
+
return hex
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function parseHex(hex: string): { b: number; g: number; r: number } {
|
|
15
|
+
const clean = expand3(stripAlpha(hex))
|
|
16
|
+
return {
|
|
17
|
+
b: parseInt(clean.slice(5, 7), 16),
|
|
18
|
+
g: parseInt(clean.slice(3, 5), 16),
|
|
19
|
+
r: parseInt(clean.slice(1, 3), 16),
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function toHex({ b, g, r }: { b: number; g: number; r: number }): string {
|
|
24
|
+
const clamp = (n: number): number => Math.max(0, Math.min(255, Math.round(n)))
|
|
25
|
+
const h = (n: number): string => clamp(n).toString(16).padStart(2, '0')
|
|
26
|
+
return `#${h(r)}${h(g)}${h(b)}`
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Linearly mix two hex colors. `t=0` returns `a`, `t=1` returns `b`. */
|
|
30
|
+
export function mix(a: string, b: string, t: number): string {
|
|
31
|
+
const ca = parseHex(a)
|
|
32
|
+
const cb = parseHex(b)
|
|
33
|
+
return toHex({
|
|
34
|
+
b: ca.b + (cb.b - ca.b) * t,
|
|
35
|
+
g: ca.g + (cb.g - ca.g) * t,
|
|
36
|
+
r: ca.r + (cb.r - ca.r) * t,
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Muted foreground — half-way between background and ink. */
|
|
41
|
+
export function muted(p: AimuxPalette): string {
|
|
42
|
+
return mix(p.neutral, p.ink, 0.55)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Slightly recessed foreground for line numbers / placeholders. */
|
|
46
|
+
export function faint(p: AimuxPalette): string {
|
|
47
|
+
return mix(p.neutral, p.ink, 0.3)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** A surface tone above the base background — sidebars, headers. */
|
|
51
|
+
export function elevated(p: AimuxPalette): string {
|
|
52
|
+
return mix(p.neutral, p.ink, 0.04)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Hover/highlight surface (line highlight, list hover). */
|
|
56
|
+
export function hover(p: AimuxPalette): string {
|
|
57
|
+
return mix(p.neutral, p.ink, 0.08)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Selected/active row surface. Falls back to a primary-tinted shade. */
|
|
61
|
+
export function selected(p: AimuxPalette): string {
|
|
62
|
+
return p.interactive ?? mix(p.neutral, p.primary, 0.18)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Subtle border between panels. */
|
|
66
|
+
export function border(p: AimuxPalette): string {
|
|
67
|
+
return mix(p.neutral, p.ink, 0.18)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** Background tint for inserted diff lines. */
|
|
71
|
+
export function diffAddBg(p: AimuxPalette): string {
|
|
72
|
+
return p.diffAdd ?? mix(p.neutral, p.success, 0.18)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Background tint for removed diff lines. */
|
|
76
|
+
export function diffDeleteBg(p: AimuxPalette): string {
|
|
77
|
+
return p.diffDelete ?? mix(p.neutral, p.error, 0.18)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** Resolve `accent`, falling back to `primary`. */
|
|
81
|
+
export function accent(p: AimuxPalette): string {
|
|
82
|
+
return p.accent ?? p.primary
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Merge a partial palette onto a base palette. */
|
|
86
|
+
export function extendPalette(
|
|
87
|
+
base: AimuxPalette,
|
|
88
|
+
overrides: Partial<AimuxPalette> | undefined
|
|
89
|
+
): AimuxPalette {
|
|
90
|
+
if (!overrides) return base
|
|
91
|
+
return { ...base, ...overrides }
|
|
92
|
+
}
|
package/src/resolver.ts
CHANGED