Skip to content

Commit 4204918

Browse files
committed
Merge branch 'main' into joh/rewrite-privates
2 parents c281755 + f1c9243 commit 4204918

File tree

26 files changed

+202
-114
lines changed

26 files changed

+202
-114
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
"css-loader": "^3.6.0",
141141
"cssnano": "^4.1.11",
142142
"debounce": "^1.0.0",
143-
"deemon": "^1.7.2",
143+
"deemon": "^1.8.0",
144144
"electron": "19.1.3",
145145
"eslint": "8.7.0",
146146
"eslint-plugin-header": "3.1.1",

src/vs/base/browser/ui/button/button.ts

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,19 @@ export interface IButtonOptions extends IButtonStyles {
2323
readonly secondary?: boolean;
2424
}
2525

26-
export type CSSValueString = string;
2726

2827
export interface IButtonStyles {
29-
readonly buttonBackground?: CSSValueString;
30-
readonly buttonHoverBackground?: CSSValueString;
31-
readonly buttonForeground?: CSSValueString;
32-
readonly buttonSeparator?: CSSValueString;
33-
readonly buttonSecondaryBackground?: CSSValueString;
34-
readonly buttonSecondaryHoverBackground?: CSSValueString;
35-
readonly buttonSecondaryForeground?: CSSValueString;
36-
readonly buttonBorder?: CSSValueString;
28+
readonly buttonBackground: string | undefined;
29+
readonly buttonHoverBackground: string | undefined;
30+
readonly buttonForeground: string | undefined;
31+
readonly buttonSeparator: string | undefined;
32+
readonly buttonSecondaryBackground: string | undefined;
33+
readonly buttonSecondaryHoverBackground: string | undefined;
34+
readonly buttonSecondaryForeground: string | undefined;
35+
readonly buttonBorder: string | undefined;
3736
}
3837

39-
export const defaultOptions: IButtonStyles = {
38+
export const unthemedButtonStyles: IButtonStyles = {
4039
buttonBackground: '#0E639C',
4140
buttonHoverBackground: '#006BB3',
4241
buttonSeparator: Color.white.toString(),
@@ -255,16 +254,11 @@ export class ButtonWithDropdown extends Disposable implements IButton {
255254
// Separator styles
256255
const border = options.buttonBorder;
257256
if (border) {
258-
this.separatorContainer.style.borderTopWidth = '1px';
259-
this.separatorContainer.style.borderTopStyle = 'solid';
260-
this.separatorContainer.style.borderTopColor = border;
261-
262-
this.separatorContainer.style.borderBottomWidth = '1px';
263-
this.separatorContainer.style.borderBottomStyle = 'solid';
264-
this.separatorContainer.style.borderBottomColor = border;
257+
this.separatorContainer.style.borderTop = '1px solid ' + border;
258+
this.separatorContainer.style.borderBottom = '1px solid ' + border;
265259
}
266-
this.separatorContainer.style.backgroundColor = options.buttonBackground?.toString() ?? '';
267-
this.separator.style.backgroundColor = options.buttonSeparator?.toString() ?? '';
260+
this.separatorContainer.style.backgroundColor = options.buttonBackground ?? '';
261+
this.separator.style.backgroundColor = options.buttonSeparator ?? '';
268262

269263

270264
this.dropdownButton = this._register(new Button(this.element, { ...options, title: false, supportIcons: true }));

src/vs/base/browser/ui/dialog/dialog.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export interface IDialogOptions {
3838
readonly buttonDetails?: string[];
3939
readonly disableCloseAction?: boolean;
4040
readonly disableDefaultAction?: boolean;
41+
readonly buttonStyles: IButtonStyles;
4142
}
4243

4344
export interface IDialogResult {
@@ -46,7 +47,7 @@ export interface IDialogResult {
4647
readonly values?: string[];
4748
}
4849

49-
export interface IDialogStyles extends IButtonStyles, ICheckboxStyles {
50+
export interface IDialogStyles extends ICheckboxStyles {
5051
readonly dialogForeground?: Color;
5152
readonly dialogBackground?: Color;
5253
readonly dialogShadow?: Color;
@@ -81,8 +82,9 @@ export class Dialog extends Disposable {
8182
private focusToReturn: HTMLElement | undefined;
8283
private readonly inputs: InputBox[];
8384
private readonly buttons: string[];
85+
private readonly buttonStyles: IButtonStyles;
8486

85-
constructor(private container: HTMLElement, private message: string, buttons: string[] | undefined, private options: IDialogOptions) {
87+
constructor(private container: HTMLElement, private message: string, buttons: string[] | undefined, private readonly options: IDialogOptions) {
8688
super();
8789

8890
this.modalElement = this.container.appendChild($(`.monaco-dialog-modal-block.dimmed`));
@@ -92,6 +94,8 @@ export class Dialog extends Disposable {
9294
this.element.tabIndex = -1;
9395
hide(this.element);
9496

97+
this.buttonStyles = options.buttonStyles;
98+
9599
if (Array.isArray(buttons) && buttons.length > 0) {
96100
this.buttons = buttons;
97101
} else if (!this.options.disableDefaultAction) {
@@ -202,7 +206,7 @@ export class Dialog extends Disposable {
202206
// Handle button clicks
203207
buttonMap.forEach((entry, index) => {
204208
const primary = buttonMap[index].index === 0;
205-
const button = this.options.buttonDetails ? this._register(buttonBar.addButtonWithDescription({ title: true, secondary: !primary })) : this._register(buttonBar.addButton({ title: true, secondary: !primary }));
209+
const button = this.options.buttonDetails ? this._register(buttonBar.addButtonWithDescription({ title: true, secondary: !primary, ...this.buttonStyles })) : this._register(buttonBar.addButton({ title: true, secondary: !primary, ...this.buttonStyles }));
206210
button.label = mnemonicButtonLabel(buttonMap[index].label, true);
207211
if (button instanceof ButtonWithDescription) {
208212
button.description = this.options.buttonDetails![buttonMap[index].index];

src/vs/base/common/diff/diff.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export interface IDiffResult {
6969
// The code below has been ported from a C# implementation in VS
7070
//
7171

72-
export class Debug {
72+
class Debug {
7373

7474
public static Assert(condition: boolean, message: string): void {
7575
if (!condition) {
@@ -78,7 +78,7 @@ export class Debug {
7878
}
7979
}
8080

81-
export class MyArray {
81+
class MyArray {
8282
/**
8383
* Copies a range of elements from an Array starting at the specified source index and pastes
8484
* them to another Array starting at the specified destination index. The length and the indexes

src/vs/base/parts/quickinput/test/browser/quickinput.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as assert from 'assert';
7+
import { unthemedButtonStyles } from 'vs/base/browser/ui/button/button';
78
import { IListRenderer, IListVirtualDelegate } from 'vs/base/browser/ui/list/list';
89
import { IListOptions, List } from 'vs/base/browser/ui/list/listWidget';
910
import { raceTimeout } from 'vs/base/common/async';
@@ -52,7 +53,7 @@ suite('QuickInput', () => { // https://github.com/microsoft/vscode/issues/147543
5253
options: IListOptions<T>,
5354
) => new List<T>(user, container, delegate, renderers, options),
5455
styles: {
55-
button: {},
56+
button: unthemedButtonStyles,
5657
countBadge: {},
5758
inputBox: {},
5859
keybindingLabel: {},

src/vs/code/electron-sandbox/issue/issueReporterMain.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'vs/css!./media/issueReporter';
77
import 'vs/base/browser/ui/codicons/codiconStyles'; // make sure codicon css is loaded
88
import { localize } from 'vs/nls';
99
import { $, reset, safeInnerHtml, windowOpenNoOpener } from 'vs/base/browser/dom';
10-
import { Button, defaultOptions } from 'vs/base/browser/ui/button/button';
10+
import { Button, unthemedButtonStyles } from 'vs/base/browser/ui/button/button';
1111
import { renderIcon } from 'vs/base/browser/ui/iconLabel/iconLabels';
1212
import { Delayer } from 'vs/base/common/async';
1313
import { Codicon } from 'vs/base/common/codicons';
@@ -88,7 +88,7 @@ export class IssueReporter extends Disposable {
8888

8989
const issueReporterElement = this.getElementById('issue-reporter');
9090
if (issueReporterElement) {
91-
this.previewButton = new Button(issueReporterElement, defaultOptions);
91+
this.previewButton = new Button(issueReporterElement, unthemedButtonStyles);
9292
this.updatePreviewButtonState();
9393
}
9494

src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,11 @@
2323
.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
2424
margin-top: 1px;
2525
}
26+
27+
.monaco-editor .line-numbers {
28+
color: var(--vscode-editorLineNumber-foreground);
29+
}
30+
31+
.monaco-editor .line-numbers.active-line-number {
32+
color: var(--vscode-editorLineNumber-activeForeground);
33+
}

src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@ import * as platform from 'vs/base/common/platform';
88
import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
99
import { RenderLineNumbersType, EditorOption } from 'vs/editor/common/config/editorOptions';
1010
import { Position } from 'vs/editor/common/core/position';
11-
import { editorActiveLineNumber, editorLineNumbers } from 'vs/editor/common/core/editorColorRegistry';
1211
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
1312
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
1413
import * as viewEvents from 'vs/editor/common/viewEvents';
15-
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
1614

1715
export class LineNumbersOverlay extends DynamicViewOverlay {
1816

@@ -192,16 +190,3 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
192190
return this._renderResult[lineIndex];
193191
}
194192
}
195-
196-
// theming
197-
198-
registerThemingParticipant((theme, collector) => {
199-
const lineNumbers = theme.getColor(editorLineNumbers);
200-
if (lineNumbers) {
201-
collector.addRule(`.monaco-editor .line-numbers { color: ${lineNumbers}; }`);
202-
}
203-
const activeLineNumber = theme.getColor(editorActiveLineNumber);
204-
if (activeLineNumber) {
205-
collector.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${activeLineNumber}; }`);
206-
}
207-
});

src/vs/editor/browser/viewParts/viewZones/viewZones.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import * as viewEvents from 'vs/editor/common/viewEvents';
1414
import { IEditorWhitespace, IViewWhitespaceViewportData, IWhitespaceChangeAccessor } from 'vs/editor/common/viewModel';
1515
import { EditorOption } from 'vs/editor/common/config/editorOptions';
1616

17-
export interface IMyViewZone {
17+
interface IMyViewZone {
1818
whitespaceId: string;
1919
delegate: IViewZone;
2020
isInHiddenArea: boolean;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
.monaco-editor .findOptionsWidget {
7+
background-color: var(--vscode-editorWidget-background);
8+
color: var(--vscode-editorWidget-foreground);
9+
box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
10+
border: 2px solid var(--vscode-contrastBorder);
11+
}

0 commit comments

Comments
 (0)