Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
853 B · 30 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031import { type ColorType, colorize } from '../../ink/colorize.js'import type { Color } from '../../ink/styles.js'import { getTheme, type Theme, type ThemeName } from '../../utils/theme.js'
/** * Curried theme-aware color function. Resolves theme keys to raw color * values before delegating to the ink renderer's colorize. */export function color( c: keyof Theme | Color | undefined, theme: ThemeName, type: ColorType = 'foreground',): (text: string) => string { return text => { if (!c) { return text } // Raw color values bypass theme lookup if ( c.startsWith('rgb(') || c.startsWith('#') || c.startsWith('ansi256(') || c.startsWith('ansi:') ) { return colorize(text, c, type) } // Theme key lookup return colorize(text, getTheme(theme)[c as keyof Theme], type) }}