mirror of
https://github.com/stackblitz/bolt.new
synced 2024-11-30 23:56:07 +00:00
37 lines
1.8 KiB
TypeScript
37 lines
1.8 KiB
TypeScript
|
import type { ITheme } from '@xterm/xterm';
|
||
|
|
||
|
const style = getComputedStyle(document.documentElement);
|
||
|
const cssVar = (token: string) => style.getPropertyValue(token) || undefined;
|
||
|
|
||
|
export function getTerminalTheme(overrides?: ITheme): ITheme {
|
||
|
return {
|
||
|
cursor: cssVar('--bolt-elements-terminal-cursorColor'),
|
||
|
cursorAccent: cssVar('--bolt-elements-terminal-cursorColorAccent'),
|
||
|
foreground: cssVar('--bolt-elements-terminal-textColor'),
|
||
|
background: cssVar('--bolt-elements-terminal-backgroundColor'),
|
||
|
selectionBackground: cssVar('--bolt-elements-terminal-selection-backgroundColor'),
|
||
|
selectionForeground: cssVar('--bolt-elements-terminal-selection-textColor'),
|
||
|
selectionInactiveBackground: cssVar('--bolt-elements-terminal-selection-backgroundColorInactive'),
|
||
|
|
||
|
// ansi escape code colors
|
||
|
black: cssVar('--bolt-elements-terminal-color-black'),
|
||
|
red: cssVar('--bolt-elements-terminal-color-red'),
|
||
|
green: cssVar('--bolt-elements-terminal-color-green'),
|
||
|
yellow: cssVar('--bolt-elements-terminal-color-yellow'),
|
||
|
blue: cssVar('--bolt-elements-terminal-color-blue'),
|
||
|
magenta: cssVar('--bolt-elements-terminal-color-magenta'),
|
||
|
cyan: cssVar('--bolt-elements-terminal-color-cyan'),
|
||
|
white: cssVar('--bolt-elements-terminal-color-white'),
|
||
|
brightBlack: cssVar('--bolt-elements-terminal-color-brightBlack'),
|
||
|
brightRed: cssVar('--bolt-elements-terminal-color-brightRed'),
|
||
|
brightGreen: cssVar('--bolt-elements-terminal-color-brightGreen'),
|
||
|
brightYellow: cssVar('--bolt-elements-terminal-color-brightYellow'),
|
||
|
brightBlue: cssVar('--bolt-elements-terminal-color-brightBlue'),
|
||
|
brightMagenta: cssVar('--bolt-elements-terminal-color-brightMagenta'),
|
||
|
brightCyan: cssVar('--bolt-elements-terminal-color-brightCyan'),
|
||
|
brightWhite: cssVar('--bolt-elements-terminal-color-brightWhite'),
|
||
|
|
||
|
...overrides,
|
||
|
};
|
||
|
}
|