| 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'), |
|
|
| |
| 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, |
| }; |
| } |
|
|