mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
One highlighter for the client: a synchronous fine-grained shiki core (JS regex engine, no WASM) in ui-primitives with an explicit grammar allowlist (typescript, shellscript, json — aliases resolve, unknown languages take a geometry-identical plain arm). The shared CodeBlock component owns both arms; markdown fences, the run_code expanded program body (typescript), and the details panel Input (json) all route through it. Token colors live in a new ui-theme shiki.css sheet as --shiki-* custom properties (light/dark blocks), wired through the shell's base.css chain — tokens-only styling holds; shiki's generated span tree is the sanctioned innerHTML path (static output, no user HTML). jsdom specs pin token spans, aliases, both fallbacks, and the fence route; the built-bundle snapshot asserts the highlighted program under the code row.
31 lines
960 B
CSS
31 lines
960 B
CSS
/* Shell-owned global base: full-height mount plus the theme token sheets.
|
|
* The four ui-theme sheets are the sole token source (--dsw-*); the shell
|
|
* links them here so tokens exist before any plugin CSS lands. */
|
|
@import '@deepseek-ai/dsh-client-ui-theme/styles/base.css';
|
|
@import '@deepseek-ai/dsh-client-ui-theme/styles/design-platform.css';
|
|
@import '@deepseek-ai/dsh-client-ui-theme/styles/gradient-shadow-text.css';
|
|
@import '@deepseek-ai/dsh-client-ui-theme/styles/shiki.css';
|
|
|
|
html,
|
|
body,
|
|
#root {
|
|
height: 100%;
|
|
margin: 0;
|
|
}
|
|
|
|
body {
|
|
font-family: var(--dsw-font-family);
|
|
color: var(--dsw-alias-label-primary);
|
|
background: var(--dsw-alias-bg-base);
|
|
}
|
|
|
|
/* Form controls don't inherit the body font (UA sheets pin their families —
|
|
Chrome buttons fall back to Arial, textareas to monospace), so the app
|
|
stack is re-applied to them explicitly, as upstream's global reset does. */
|
|
button,
|
|
input,
|
|
select,
|
|
textarea {
|
|
font-family: inherit;
|
|
}
|