提交 b264f113 编写于 作者: D Daniel Imms

Add basic theming

上级 a399c91e
......@@ -143,7 +143,7 @@
background-color: rgba(204, 204, 204, 0.996);
}
.terminal .xterm-color-0 { color: #2e3436; }
/*.terminal .xterm-color-0 { color: #2e3436; }
.terminal .xterm-color-0::selection { background-color: #2e3436; }
.terminal .xterm-bg-color-0 { background-color: #2e3436; }
.terminal .xterm-bg-color-0::selection { color: #2e3436; }
......@@ -252,7 +252,7 @@
.terminal .xterm-bg-color-15 {
background-color: #eeeeec;
}
}*/
.terminal .xterm-color-16 {
color: #000000;
......
......@@ -128,14 +128,6 @@ export class TerminalInstance {
});
}
public setTheme(colors: string[]): void {
if (!this.terminal) {
return;
}
this.terminal.colors = colors;
this.terminal.refresh(0, this.terminal.rows);
}
public setFont(font: ITerminalFont): void {
this.font = font;
this.terminalDomElement.style.fontFamily = this.font.fontFamily;
......
......@@ -88,7 +88,29 @@ export class TerminalPanel extends Panel {
if (!themeId) {
themeId = this.themeService.getTheme();
}
this.terminalInstance.setTheme(this.configurationHelper.getTheme(themeId));
let theme = this.configurationHelper.getTheme(themeId);
let css = '';
theme.forEach((color: string, index: number) => {
let rgba = this.convertHexCssColorToRgba(color, 0.996);
css += `.terminal .xterm-color-${index} { color: ${color}; }` +
`.terminal .xterm-color-${index}::selection { background-color: ${rgba}; }` +
`.terminal .xterm-bg-color-${index} { background-color: ${color}; }` +
`.terminal .xterm-bg-color-${index}::selection { color: ${color}; }`;
});
// TODO: Create in constructor
// TODO: Reuse same element
let styleElement = document.createElement('style');
styleElement.innerHTML = css;
this.parentDomElement.appendChild(styleElement);
}
private convertHexCssColorToRgba(hex: string, alpha: number): string {
let r = parseInt(hex.substr(1, 2), 16);
let g = parseInt(hex.substr(3, 2), 16);
let b = parseInt(hex.substr(5, 2), 16);
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
}
private updateFont(): void {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册