Spaces:
Sleeping
Sleeping
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, | |
}; | |
} | |