Support minimum contrast ratio in terminal

Fixes #84935
This commit is contained in:
Daniel Imms 2019-11-22 18:51:47 -08:00
parent 7c29e087da
commit 55c9c29b8e
3 changed files with 8 additions and 0 deletions

View file

@ -169,6 +169,11 @@ configurationRegistry.registerConfiguration({
type: 'number',
default: DEFAULT_LINE_HEIGHT
},
'terminal.integrated.minimumContrastRatio': {
description: nls.localize('terminal.integrated.minimumContrastRatio', "When set the foreground color of each cell will change to try meet the contrast ratio specified. Example values:\n\n- 1: The default, do nothing.\n- 4.5: Minimum for WCAG AA compliance.\n- 7: Minimum for WCAG AAA compliance.\n- 21: White on black or black on white."),
type: 'number',
default: 1
},
'terminal.integrated.fontWeight': {
type: 'string',
enum: ['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'],

View file

@ -464,6 +464,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
fontSize: font.fontSize,
letterSpacing: font.letterSpacing,
lineHeight: font.lineHeight,
minimumContrastRatio: config.minimumContrastRatio,
bellStyle: config.enableBell ? 'sound' : 'none',
macOptionIsMeta: config.macOptionIsMeta,
macOptionClickForcesSelection: config.macOptionClickForcesSelection,
@ -1223,6 +1224,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
this._setCommandsToSkipShell(config.commandsToSkipShell);
this._setEnableBell(config.enableBell);
this._safeSetOption('scrollback', config.scrollback);
this._safeSetOption('minimumContrastRatio', config.minimumContrastRatio);
this._safeSetOption('macOptionIsMeta', config.macOptionIsMeta);
this._safeSetOption('macOptionClickForcesSelection', config.macOptionClickForcesSelection);
this._safeSetOption('rightClickSelectsWord', config.rightClickBehavior === 'selectWord');

View file

@ -95,6 +95,7 @@ export interface ITerminalConfiguration {
fontFamily: string;
fontWeight: FontWeight;
fontWeightBold: FontWeight;
minimumContrastRatio: number;
// fontLigatures: boolean;
fontSize: number;
letterSpacing: number;