mirror of
https://github.com/anomalyco/opencode.git
synced 2026-08-02 19:03:32 +00:00
76 lines
2.3 KiB
TypeScript
76 lines
2.3 KiB
TypeScript
import type { RGBA } from "@opentui/core"
|
|
|
|
export type Theme = {
|
|
readonly primary: RGBA
|
|
readonly secondary: RGBA
|
|
readonly accent: RGBA
|
|
readonly error: RGBA
|
|
readonly warning: RGBA
|
|
readonly success: RGBA
|
|
readonly info: RGBA
|
|
readonly text: RGBA
|
|
readonly textMuted: RGBA
|
|
readonly selectedListItemText: RGBA
|
|
readonly background: RGBA
|
|
readonly backgroundPanel: RGBA
|
|
readonly backgroundElement: RGBA
|
|
readonly backgroundMenu: RGBA
|
|
readonly border: RGBA
|
|
readonly borderActive: RGBA
|
|
readonly borderSubtle: RGBA
|
|
readonly diffAdded: RGBA
|
|
readonly diffRemoved: RGBA
|
|
readonly diffContext: RGBA
|
|
readonly diffHunkHeader: RGBA
|
|
readonly diffHighlightAdded: RGBA
|
|
readonly diffHighlightRemoved: RGBA
|
|
readonly diffAddedBg: RGBA
|
|
readonly diffRemovedBg: RGBA
|
|
readonly diffContextBg: RGBA
|
|
readonly diffLineNumber: RGBA
|
|
readonly diffAddedLineNumberBg: RGBA
|
|
readonly diffRemovedLineNumberBg: RGBA
|
|
readonly markdownText: RGBA
|
|
readonly markdownHeading: RGBA
|
|
readonly markdownLink: RGBA
|
|
readonly markdownLinkText: RGBA
|
|
readonly markdownCode: RGBA
|
|
readonly markdownBlockQuote: RGBA
|
|
readonly markdownEmph: RGBA
|
|
readonly markdownStrong: RGBA
|
|
readonly markdownHorizontalRule: RGBA
|
|
readonly markdownListItem: RGBA
|
|
readonly markdownListEnumeration: RGBA
|
|
readonly markdownImage: RGBA
|
|
readonly markdownImageText: RGBA
|
|
readonly markdownCodeBlock: RGBA
|
|
readonly syntaxComment: RGBA
|
|
readonly syntaxKeyword: RGBA
|
|
readonly syntaxFunction: RGBA
|
|
readonly syntaxVariable: RGBA
|
|
readonly syntaxString: RGBA
|
|
readonly syntaxNumber: RGBA
|
|
readonly syntaxType: RGBA
|
|
readonly syntaxOperator: RGBA
|
|
readonly syntaxPunctuation: RGBA
|
|
readonly thinkingOpacity: number
|
|
_hasSelectedListItemText: boolean
|
|
}
|
|
|
|
export type ThemeColor = Exclude<keyof Theme, "thinkingOpacity" | "_hasSelectedListItemText">
|
|
export type HexColor = `#${string}`
|
|
export type RefName = string
|
|
export type Variant = {
|
|
dark: HexColor | RefName
|
|
light: HexColor | RefName
|
|
}
|
|
export type ColorValue = HexColor | RefName | Variant | RGBA | number
|
|
export type ThemeV1Json = {
|
|
$schema?: string
|
|
defs?: Record<string, HexColor | RefName>
|
|
theme: Omit<Record<ThemeColor, ColorValue>, "selectedListItemText" | "backgroundMenu"> & {
|
|
selectedListItemText?: ColorValue
|
|
backgroundMenu?: ColorValue
|
|
thinkingOpacity?: number
|
|
}
|
|
}
|