提交 8b3b72d1 编写于 作者: D Daniel Imms

Add fontWeight/fontWeightBold terminal settings, remove enableBold

Fixes #29887
上级 2fe28295
......@@ -8,6 +8,11 @@
*/
declare module 'vscode-xterm' {
/**
* A string representing text font weight.
*/
export type FontWeight = 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
/**
* An object containing start up options for the terminal.
*/
......@@ -57,6 +62,16 @@ declare module 'vscode-xterm' {
*/
fontFamily?: string;
/**
* The font weight used to render non-bold text.
*/
fontWeight?: FontWeight;
/**
* The font weight used to render bold text.
*/
fontWeightBold?: FontWeight;
/**
* The spacing in whole pixels between characters..
*/
......
......@@ -49,6 +49,8 @@ export const TerminalCursorStyle = {
export const TERMINAL_CONFIG_SECTION = 'terminal.integrated';
export type FontWeight = 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
export interface ITerminalConfiguration {
shell: {
linux: string;
......@@ -60,12 +62,13 @@ export interface ITerminalConfiguration {
osx: string[];
windows: string[];
};
enableBold: boolean;
macOptionIsMeta: boolean;
rightClickCopyPaste: boolean;
cursorBlinking: boolean;
cursorStyle: string;
fontFamily: string;
fontWeight: FontWeight;
fontWeightBold: FontWeight;
// fontLigatures: boolean;
fontSize: number;
lineHeight: number;
......
......@@ -150,10 +150,17 @@ configurationRegistry.registerConfiguration({
'type': 'number',
'default': 1
},
'terminal.integrated.enableBold': {
'type': 'boolean',
'description': nls.localize('terminal.integrated.enableBold', "Whether to enable bold text within the terminal, note that this requires support from the terminal shell."),
'default': true
'terminal.integrated.fontWeight': {
'type': 'string',
'enum': ['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'],
'description': nls.localize('terminal.integrated.fontWeight', "The font weight to use within the termianl for non-bold text."),
'default': 'normal'
},
'terminal.integrated.fontWeightBold': {
'type': 'string',
'enum': ['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'],
'description': nls.localize('terminal.integrated.fontWeightBold', "The font weight to use within the termianl for bold text."),
'default': 'bold'
},
'terminal.integrated.cursorBlinking': {
'description': nls.localize('terminal.integrated.cursorBlinking', "Controls whether the terminal cursor blinks."),
......
......@@ -278,9 +278,10 @@ export class TerminalInstance implements ITerminalInstance {
scrollback: this._configHelper.config.scrollback,
theme: this._getXtermTheme(),
fontFamily: font.fontFamily,
fontWeight: this._configHelper.config.fontWeight,
fontWeightBold: this._configHelper.config.fontWeightBold,
fontSize: font.fontSize,
lineHeight: font.lineHeight,
enableBold: this._configHelper.config.enableBold,
bellStyle: this._configHelper.config.enableBell ? 'sound' : 'none',
screenReaderMode: accessibilitySupport === 'on',
macOptionIsMeta: this._configHelper.config.macOptionIsMeta
......@@ -1056,8 +1057,11 @@ export class TerminalInstance implements ITerminalInstance {
if (this._xterm.getOption('fontFamily') !== font.fontFamily) {
this._xterm.setOption('fontFamily', font.fontFamily);
}
if (this._xterm.getOption('enableBold') !== this._configHelper.config.enableBold) {
this._xterm.setOption('enableBold', this._configHelper.config.enableBold);
if (this._xterm.getOption('fontWeight') !== this._configHelper.config.fontWeight) {
this._xterm.setOption('fontWeight', this._configHelper.config.fontWeight);
}
if (this._xterm.getOption('fontWeightBold') !== this._configHelper.config.fontWeightBold) {
this._xterm.setOption('fontWeightBold', this._configHelper.config.fontWeightBold);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册