merge ThemeIcon and CSSIcon (#171279)

This commit is contained in:
Martin Aeschlimann
2023-01-13 20:15:16 +01:00
committed by GitHub
parent 99ecdd4122
commit d4237bd8d5
193 changed files with 555 additions and 444 deletions
+1 -1
View File
@@ -68,7 +68,7 @@ export interface ICommandHandler {
#include(vs/platform/markers/common/markers): IMarker, IMarkerData, IRelatedInformation
#include(vs/editor/standalone/browser/colorizer): IColorizerOptions, IColorizerElementOptions
#include(vs/base/common/scrollable): ScrollbarVisibility
#include(vs/platform/theme/common/themeService): ThemeColor
#include(vs/base/common/themables): ThemeColor
#include(vs/editor/common/core/editOperation): ISingleEditOperation
#include(vs/editor/common/core/wordHelper): IWordAtPosition
#includeAll(vs/editor/common/model): IScrollEvent
@@ -7,7 +7,7 @@ import * as dom from 'vs/base/browser/dom';
import { IMouseEvent } from 'vs/base/browser/mouseEvent';
import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
import { commonPrefixLength } from 'vs/base/common/arrays';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { DisposableStore, dispose, IDisposable } from 'vs/base/common/lifecycle';
import { ScrollbarVisibility } from 'vs/base/common/scrollable';
@@ -51,7 +51,7 @@ export class BreadcrumbsWidget {
private readonly _items = new Array<BreadcrumbsItem>();
private readonly _nodes = new Array<HTMLDivElement>();
private readonly _freeNodes = new Array<HTMLDivElement>();
private readonly _separatorIcon: CSSIcon;
private readonly _separatorIcon: ThemeIcon;
private _enabled: boolean = true;
private _focusedItemIdx: number = -1;
@@ -63,7 +63,7 @@ export class BreadcrumbsWidget {
constructor(
container: HTMLElement,
horizontalScrollbarSize: number,
separatorIcon: CSSIcon,
separatorIcon: ThemeIcon,
styles: IBreadcrumbsWidgetStyles
) {
this._domNode = document.createElement('div');
@@ -340,7 +340,7 @@ export class BreadcrumbsWidget {
container.tabIndex = -1;
container.setAttribute('role', 'listitem');
container.classList.add('monaco-breadcrumb-item');
const iconContainer = dom.$(CSSIcon.asCSSSelector(this._separatorIcon));
const iconContainer = dom.$(ThemeIcon.asCSSSelector(this._separatorIcon));
container.appendChild(iconContainer);
}
+7 -6
View File
@@ -9,7 +9,8 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { EventType as TouchEventType, Gesture } from 'vs/base/browser/touch';
import { renderLabelWithIcons } from 'vs/base/browser/ui/iconLabel/iconLabels';
import { Action, IAction, IActionRunner } from 'vs/base/common/actions';
import { Codicon, CSSIcon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { Emitter, Event as BaseEvent } from 'vs/base/common/event';
import { KeyCode } from 'vs/base/common/keyCodes';
@@ -50,7 +51,7 @@ export interface IButton extends IDisposable {
readonly element: HTMLElement;
readonly onDidClick: BaseEvent<Event | undefined>;
label: string;
icon: CSSIcon;
icon: ThemeIcon;
enabled: boolean;
focus(): void;
hasFocus(): boolean;
@@ -215,8 +216,8 @@ export class Button extends Disposable implements IButton {
}
}
set icon(icon: CSSIcon) {
this._element.classList.add(...CSSIcon.asClassNameArray(icon));
set icon(icon: ThemeIcon) {
this._element.classList.add(...ThemeIcon.asClassNameArray(icon));
}
set enabled(value: boolean) {
@@ -313,7 +314,7 @@ export class ButtonWithDropdown extends Disposable implements IButton {
this.action.label = value;
}
set icon(icon: CSSIcon) {
set icon(icon: ThemeIcon) {
this.button.icon = icon;
}
@@ -366,7 +367,7 @@ export class ButtonWithDescription implements IButtonWithDescription {
this._button.label = value;
}
set icon(icon: CSSIcon) {
set icon(icon: ThemeIcon) {
this._button.icon = icon;
}
+10 -9
View File
@@ -10,7 +10,8 @@ import { ButtonBar, ButtonWithDescription, IButtonStyles } from 'vs/base/browser
import { ICheckboxStyles, Checkbox } from 'vs/base/browser/ui/toggle/toggle';
import { IInputBoxStyles, InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
import { Action } from 'vs/base/common/actions';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
import { mnemonicButtonLabel } from 'vs/base/common/labels';
import { Disposable } from 'vs/base/common/lifecycle';
@@ -33,7 +34,7 @@ export interface IDialogOptions {
readonly inputs?: IDialogInputOptions[];
readonly keyEventProcessor?: (event: StandardKeyboardEvent) => void;
readonly renderBody?: (container: HTMLElement) => void;
readonly icon?: CSSIcon;
readonly icon?: ThemeIcon;
readonly buttonDetails?: string[];
readonly disableCloseAction?: boolean;
readonly disableDefaultAction?: boolean;
@@ -358,26 +359,26 @@ export class Dialog extends Disposable {
const spinModifierClassName = 'codicon-modifier-spin';
this.iconElement.classList.remove(...CSSIcon.asClassNameArray(Codicon.dialogError), ...CSSIcon.asClassNameArray(Codicon.dialogWarning), ...CSSIcon.asClassNameArray(Codicon.dialogInfo), ...CSSIcon.asClassNameArray(Codicon.loading), spinModifierClassName);
this.iconElement.classList.remove(...ThemeIcon.asClassNameArray(Codicon.dialogError), ...ThemeIcon.asClassNameArray(Codicon.dialogWarning), ...ThemeIcon.asClassNameArray(Codicon.dialogInfo), ...ThemeIcon.asClassNameArray(Codicon.loading), spinModifierClassName);
if (this.options.icon) {
this.iconElement.classList.add(...CSSIcon.asClassNameArray(this.options.icon));
this.iconElement.classList.add(...ThemeIcon.asClassNameArray(this.options.icon));
} else {
switch (this.options.type) {
case 'error':
this.iconElement.classList.add(...CSSIcon.asClassNameArray(Codicon.dialogError));
this.iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.dialogError));
break;
case 'warning':
this.iconElement.classList.add(...CSSIcon.asClassNameArray(Codicon.dialogWarning));
this.iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.dialogWarning));
break;
case 'pending':
this.iconElement.classList.add(...CSSIcon.asClassNameArray(Codicon.loading), spinModifierClassName);
this.iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.loading), spinModifierClassName);
break;
case 'none':
case 'info':
case 'question':
default:
this.iconElement.classList.add(...CSSIcon.asClassNameArray(Codicon.dialogInfo));
this.iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.dialogInfo));
break;
}
}
@@ -386,7 +387,7 @@ export class Dialog extends Disposable {
if (!this.options.disableCloseAction) {
const actionBar = this._register(new ActionBar(this.toolbarContainer, {}));
const action = this._register(new Action('dialog.close', nls.localize('dialogClose', "Close Dialog"), CSSIcon.asClassName(Codicon.dialogClose), true, async () => {
const action = this._register(new Action('dialog.close', nls.localize('dialogClose', "Close Dialog"), ThemeIcon.asClassName(Codicon.dialogClose), true, async () => {
resolve({
button: this.options.cancelId || 0,
checkboxChecked: this.checkbox ? this.checkbox.checked : undefined
@@ -12,7 +12,8 @@ import { ActionViewItem, BaseActionViewItem, IActionViewItemOptions, IBaseAction
import { AnchorAlignment } from 'vs/base/browser/ui/contextview/contextview';
import { DropdownMenu, IActionProvider, IDropdownMenuOptions, ILabelRenderer } from 'vs/base/browser/ui/dropdown/dropdown';
import { Action, IAction, IActionRunner } from 'vs/base/common/actions';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter } from 'vs/base/common/event';
import { KeyCode } from 'vs/base/common/keyCodes';
import { ResolvedKeybinding } from 'vs/base/common/keybindings';
@@ -200,7 +201,7 @@ export class ActionWithDropdownActionViewItem extends ActionViewItem {
separator.classList.toggle('prominent', menuActionClassNames.includes('prominent'));
append(this.element, separator);
this.dropdownMenuActionViewItem = new DropdownMenuActionViewItem(this._register(new Action('dropdownAction', nls.localize('moreActions', "More Actions..."))), menuActionsProvider, this.contextMenuProvider, { classNames: ['dropdown', ...CSSIcon.asClassNameArray(Codicon.dropDownButton), ...menuActionClassNames] });
this.dropdownMenuActionViewItem = new DropdownMenuActionViewItem(this._register(new Action('dropdownAction', nls.localize('moreActions', "More Actions..."))), menuActionsProvider, this.contextMenuProvider, { classNames: ['dropdown', ...ThemeIcon.asClassNameArray(Codicon.dropDownButton), ...menuActionClassNames] });
this.dropdownMenuActionViewItem.render(this.element);
this._register(addDisposableListener(this.element, EventType.KEY_DOWN, e => {
@@ -4,9 +4,9 @@
*--------------------------------------------------------------------------------------------*/
import * as dom from 'vs/base/browser/dom';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
const labelWithIconsRegex = new RegExp(`(\\\\)?\\$\\((${CSSIcon.iconNameExpression}(?:${CSSIcon.iconModifierExpression})?)\\)`, 'g');
const labelWithIconsRegex = new RegExp(`(\\\\)?\\$\\((${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?)\\)`, 'g');
export function renderLabelWithIcons(text: string): Array<HTMLSpanElement | string> {
const elements = new Array<HTMLSpanElement | string>();
let match: RegExpExecArray | null;
@@ -29,8 +29,8 @@ export function renderLabelWithIcons(text: string): Array<HTMLSpanElement | stri
return elements;
}
export function renderIcon(icon: CSSIcon): HTMLSpanElement {
export function renderIcon(icon: ThemeIcon): HTMLSpanElement {
const node = dom.$(`span`);
node.classList.add(...CSSIcon.asClassNameArray(icon));
node.classList.add(...ThemeIcon.asClassNameArray(icon));
return node;
}
+5 -4
View File
@@ -14,7 +14,8 @@ import { AnchorAlignment, layout, LayoutAnchorPosition } from 'vs/base/browser/u
import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
import { EmptySubmenuAction, IAction, IActionRunner, Separator, SubmenuAction } from 'vs/base/common/actions';
import { RunOnceScheduler } from 'vs/base/common/async';
import { CSSIcon, Codicon, getCodiconFontCharacters } from 'vs/base/common/codicons';
import { Codicon, getCodiconFontCharacters } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { Event } from 'vs/base/common/event';
import { stripIcons } from 'vs/base/common/iconLabels';
@@ -524,7 +525,7 @@ class BaseMenuActionViewItem extends BaseActionViewItem {
}
}
this.check = append(this.item, $('span.menu-item-check' + CSSIcon.asCSSSelector(Codicon.menuSelection)));
this.check = append(this.item, $('span.menu-item-check' + ThemeIcon.asCSSSelector(Codicon.menuSelection)));
this.check.setAttribute('role', 'none');
this.label = append(this.item, $('span.action-label'));
@@ -755,7 +756,7 @@ class SubmenuMenuActionViewItem extends BaseMenuActionViewItem {
this.item.tabIndex = 0;
this.item.setAttribute('aria-haspopup', 'true');
this.updateAriaExpanded('false');
this.submenuIndicator = append(this.item, $('span.submenu-indicator' + CSSIcon.asCSSSelector(Codicon.menuSubmenu)));
this.submenuIndicator = append(this.item, $('span.submenu-indicator' + ThemeIcon.asCSSSelector(Codicon.menuSubmenu)));
this.submenuIndicator.setAttribute('aria-hidden', 'true');
}
@@ -1001,7 +1002,7 @@ export function cleanMnemonic(label: string): string {
return label.replace(regex, mnemonicInText ? '$2$3' : '').trim();
}
export function formatRule(c: CSSIcon) {
export function formatRule(c: ThemeIcon) {
const fontCharacter = getCodiconFontCharacters()[c.id];
return `.codicon-${c.id}:before { content: '\\${fontCharacter.toString(16)}'; }`;
}
+3 -2
View File
@@ -12,7 +12,8 @@ import { cleanMnemonic, Direction, IMenuOptions, IMenuStyles, Menu, MENU_ESCAPED
import { ActionRunner, IAction, IActionRunner, Separator, SubmenuAction } from 'vs/base/common/actions';
import { asArray } from 'vs/base/common/arrays';
import { RunOnceScheduler } from 'vs/base/common/async';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { KeyCode, KeyMod, ScanCode, ScanCodeUtils } from 'vs/base/common/keyCodes';
import { ResolvedKeybinding } from 'vs/base/common/keybindings';
@@ -314,7 +315,7 @@ export class MenuBar extends Disposable {
createOverflowMenu(): void {
const label = this.isCompact ? nls.localize('mAppMenu', 'Application Menu') : nls.localize('mMore', 'More');
const buttonElement = $('div.menubar-menu-button', { 'role': 'menuitem', 'tabindex': this.isCompact ? 0 : -1, 'aria-label': label, 'aria-haspopup': true });
const titleElement = $('div.menubar-menu-title.toolbar-toggle-more' + CSSIcon.asCSSSelector(Codicon.menuBarMore), { 'role': 'none', 'aria-hidden': true });
const titleElement = $('div.menubar-menu-title.toolbar-toggle-more' + ThemeIcon.asCSSSelector(Codicon.menuBarMore), { 'role': 'none', 'aria-hidden': true });
buttonElement.appendChild(titleElement);
this.container.appendChild(buttonElement);
@@ -6,7 +6,7 @@
import { GlobalPointerMoveMonitor } from 'vs/base/browser/globalPointerMoveMonitor';
import { Widget } from 'vs/base/browser/ui/widget';
import { IntervalTimer, TimeoutTimer } from 'vs/base/common/async';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import * as dom from 'vs/base/browser/dom';
/**
@@ -17,7 +17,7 @@ export const ARROW_IMG_SIZE = 11;
export interface ScrollbarArrowOptions {
onActivate: () => void;
className: string;
icon: CSSIcon;
icon: ThemeIcon;
bgWidth: number;
bgHeight: number;
@@ -61,7 +61,7 @@ export class ScrollbarArrow extends Widget {
this.domNode = document.createElement('div');
this.domNode.className = opts.className;
this.domNode.classList.add(...CSSIcon.asClassNameArray(opts.icon));
this.domNode.classList.add(...ThemeIcon.asClassNameArray(opts.icon));
this.domNode.style.position = 'absolute';
this.domNode.style.width = ARROW_IMG_SIZE + 'px';
+8 -7
View File
@@ -7,14 +7,15 @@ import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { BaseActionViewItem, IActionViewItemOptions } from 'vs/base/browser/ui/actionbar/actionViewItems';
import { Widget } from 'vs/base/browser/ui/widget';
import { IAction } from 'vs/base/common/actions';
import { Codicon, CSSIcon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { KeyCode } from 'vs/base/common/keyCodes';
import 'vs/css!./toggle';
export interface IToggleOpts extends IToggleStyles {
readonly actionClassName?: string;
readonly icon?: CSSIcon;
readonly icon?: ThemeIcon;
readonly title: string;
readonly isChecked: boolean;
readonly notFocusable?: boolean;
@@ -101,7 +102,7 @@ export class Toggle extends Widget {
readonly onKeyDown: Event<IKeyboardEvent> = this._onKeyDown.event;
private readonly _opts: IToggleOpts;
private _icon: CSSIcon | undefined;
private _icon: ThemeIcon | undefined;
readonly domNode: HTMLElement;
private _checked: boolean;
@@ -115,7 +116,7 @@ export class Toggle extends Widget {
const classes = ['monaco-custom-toggle'];
if (this._opts.icon) {
this._icon = this._opts.icon;
classes.push(...CSSIcon.asClassNameArray(this._icon));
classes.push(...ThemeIcon.asClassNameArray(this._icon));
}
if (this._opts.actionClassName) {
classes.push(...this._opts.actionClassName.split(' '));
@@ -180,13 +181,13 @@ export class Toggle extends Widget {
this.applyStyles();
}
setIcon(icon: CSSIcon | undefined): void {
setIcon(icon: ThemeIcon | undefined): void {
if (this._icon) {
this.domNode.classList.remove(...CSSIcon.asClassNameArray(this._icon));
this.domNode.classList.remove(...ThemeIcon.asClassNameArray(this._icon));
}
this._icon = icon;
if (this._icon) {
this.domNode.classList.add(...CSSIcon.asClassNameArray(this._icon));
this.domNode.classList.add(...ThemeIcon.asClassNameArray(this._icon));
}
}
+4 -3
View File
@@ -8,7 +8,8 @@ import { ActionBar, ActionsOrientation, IActionViewItemProvider } from 'vs/base/
import { AnchorAlignment } from 'vs/base/browser/ui/contextview/contextview';
import { DropdownMenuActionViewItem } from 'vs/base/browser/ui/dropdown/dropdownActionViewItem';
import { Action, IAction, IActionRunner, SubmenuAction } from 'vs/base/common/actions';
import { Codicon, CSSIcon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { EventMultiplexer } from 'vs/base/common/event';
import { ResolvedKeybinding } from 'vs/base/common/keybindings';
import { Disposable, DisposableStore } from 'vs/base/common/lifecycle';
@@ -27,7 +28,7 @@ export interface IToolBarOptions {
toggleMenuTitle?: string;
anchorAlignmentProvider?: () => AnchorAlignment;
renderDropdownAsChildElement?: boolean;
moreIcon?: CSSIcon;
moreIcon?: ThemeIcon;
allowContextMenu?: boolean;
}
@@ -75,7 +76,7 @@ export class ToolBar extends Disposable {
actionViewItemProvider: this.options.actionViewItemProvider,
actionRunner: this.actionRunner,
keybindingProvider: this.options.getKeyBinding,
classNames: CSSIcon.asClassNameArray(options.moreIcon ?? Codicon.toolBarMore),
classNames: ThemeIcon.asClassNameArray(options.moreIcon ?? Codicon.toolBarMore),
anchorAlignmentProvider: this.options.anchorAlignmentProvider,
menuAsChild: !!this.options.renderDropdownAsChildElement
}
+4 -3
View File
@@ -20,7 +20,8 @@ import { ICollapseStateChangeEvent, ITreeContextMenuEvent, ITreeDragAndDrop, ITr
import { Action } from 'vs/base/common/actions';
import { distinct, equals, firstOrDefault, range } from 'vs/base/common/arrays';
import { disposableTimeout, timeout } from 'vs/base/common/async';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { SetMap } from 'vs/base/common/collections';
import { Emitter, Event, EventBufferer, Relay } from 'vs/base/common/event';
import { fuzzyScore, FuzzyScore } from 'vs/base/common/filters';
@@ -455,7 +456,7 @@ class TreeRenderer<T, TFilterData, TRef, TTemplateData> implements IListRenderer
templateData.container.removeAttribute('aria-expanded');
}
templateData.twistie.classList.remove(...CSSIcon.asClassNameArray(Codicon.treeItemExpanded));
templateData.twistie.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));
let twistieRendered = false;
@@ -465,7 +466,7 @@ class TreeRenderer<T, TFilterData, TRef, TTemplateData> implements IListRenderer
if (node.collapsible && (!this.hideTwistiesOfChildlessElements || node.visibleChildrenCount > 0)) {
if (!twistieRendered) {
templateData.twistie.classList.add(...CSSIcon.asClassNameArray(Codicon.treeItemExpanded));
templateData.twistie.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));
}
templateData.twistie.classList.add('collapsible');
+6 -5
View File
@@ -13,7 +13,8 @@ import { getVisibleState, isFilterResult } from 'vs/base/browser/ui/tree/indexTr
import { CompressibleObjectTree, ICompressibleKeyboardNavigationLabelProvider, ICompressibleObjectTreeOptions, ICompressibleTreeRenderer, IObjectTreeOptions, IObjectTreeSetChildrenOptions, ObjectTree } from 'vs/base/browser/ui/tree/objectTree';
import { IAsyncDataSource, ICollapseStateChangeEvent, ITreeContextMenuEvent, ITreeDragAndDrop, ITreeElement, ITreeEvent, ITreeFilter, ITreeMouseEvent, ITreeNode, ITreeRenderer, ITreeSorter, TreeError, TreeFilterResult, TreeVisibility, WeakMapper } from 'vs/base/browser/ui/tree/tree';
import { CancelablePromise, createCancelablePromise, Promises, timeout } from 'vs/base/common/async';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { isCancellationError, onUnexpectedError } from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event';
import { Iterable } from 'vs/base/common/iterator';
@@ -110,10 +111,10 @@ class AsyncDataTreeRenderer<TInput, T, TFilterData, TTemplateData> implements IT
renderTwistie(element: IAsyncDataTreeNode<TInput, T>, twistieElement: HTMLElement): boolean {
if (element.slow) {
twistieElement.classList.add(...CSSIcon.asClassNameArray(Codicon.treeItemLoading));
twistieElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));
return true;
} else {
twistieElement.classList.remove(...CSSIcon.asClassNameArray(Codicon.treeItemLoading));
twistieElement.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));
return false;
}
}
@@ -1105,10 +1106,10 @@ class CompressibleAsyncDataTreeRenderer<TInput, T, TFilterData, TTemplateData> i
renderTwistie(element: IAsyncDataTreeNode<TInput, T>, twistieElement: HTMLElement): boolean {
if (element.slow) {
twistieElement.classList.add(...CSSIcon.asClassNameArray(Codicon.treeItemLoading));
twistieElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));
return true;
} else {
twistieElement.classList.remove(...CSSIcon.asClassNameArray(Codicon.treeItemLoading));
twistieElement.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));
return false;
}
}
+3 -36
View File
@@ -3,6 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ThemeIcon } from 'vs/base/common/themables';
import { isString } from 'vs/base/common/types';
// Selects all codicon names encapsulated in the `$()` syntax and wraps the
@@ -17,7 +18,7 @@ export function getCodiconAriaLabel(text: string | undefined) {
const _codiconFontCharacters: { [id: string]: number } = Object.create(null);
function register(id: string, fontCharacter: number | string): CSSIcon {
function register(id: string, fontCharacter: number | string): ThemeIcon {
if (isString(fontCharacter)) {
const val = _codiconFontCharacters[fontCharacter];
if (val === undefined) {
@@ -39,7 +40,7 @@ export function getCodiconFontCharacters(): { [id: string]: number } {
/**
* Only to be used by the iconRegistry.
*/
export function getAllCodicons(): CSSIcon[] {
export function getAllCodicons(): ThemeIcon[] {
return Object.values(Codicon);
}
@@ -604,37 +605,3 @@ export const Codicon = {
} as const;
export interface CSSIcon {
readonly id: string;
}
export namespace CSSIcon {
export const iconNameSegment = '[A-Za-z0-9]+';
export const iconNameExpression = '[A-Za-z0-9-]+';
export const iconModifierExpression = '~[A-Za-z]+';
export const iconNameCharacter = '[A-Za-z0-9~-]';
const cssIconIdRegex = new RegExp(`^(${iconNameExpression})(${iconModifierExpression})?$`);
export function asClassNameArray(icon: CSSIcon): string[] {
const match = cssIconIdRegex.exec(icon.id);
if (!match) {
return asClassNameArray(Codicon.error);
}
const [, id, modifier] = match;
const classNames = ['codicon', 'codicon-' + id];
if (modifier) {
classNames.push('codicon-modifier-' + modifier.substring(1));
}
return classNames;
}
export function asClassName(icon: CSSIcon): string {
return asClassNameArray(icon).join(' ');
}
export function asCSSSelector(icon: CSSIcon): string {
return '.' + asClassNameArray(icon).join('.');
}
}
+3 -3
View File
@@ -3,13 +3,13 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { CSSIcon } from 'vs/base/common/codicons';
import { IMatch, matchesFuzzy } from 'vs/base/common/filters';
import { ltrim } from 'vs/base/common/strings';
import { ThemeIcon } from 'vs/base/common/themables';
const iconStartMarker = '$(';
const iconsRegex = new RegExp(`\\$\\(${CSSIcon.iconNameExpression}(?:${CSSIcon.iconModifierExpression})?\\)`, 'g'); // no capturing groups
const iconsRegex = new RegExp(`\\$\\(${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?\\)`, 'g'); // no capturing groups
const escapeIconsRegex = new RegExp(`(\\\\)?${iconsRegex.source}`, 'g');
export function escapeIcons(text: string): string {
@@ -37,7 +37,7 @@ export interface IParsedLabelWithIcons {
readonly iconOffsets?: readonly number[];
}
const _parseIconsRegex = new RegExp(`\\$\\(${CSSIcon.iconNameCharacter}+\\)`, 'g');
const _parseIconsRegex = new RegExp(`\\$\\(${ThemeIcon.iconNameCharacter}+\\)`, 'g');
export function parseLabelWithIcons(input: string): IParsedLabelWithIcons {
+104
View File
@@ -0,0 +1,104 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Codicon } from 'vs/base/common/codicons';
export type ColorIdentifier = string;
export type IconIdentifier = string;
export interface ThemeColor {
id: string;
}
export namespace ThemeColor {
export function isThemeColor(obj: any): obj is ThemeColor {
return obj && typeof obj === 'object' && typeof (<ThemeColor>obj).id === 'string';
}
}
export function themeColorFromId(id: ColorIdentifier) {
return { id };
}
export interface ThemeIcon {
readonly id: string;
readonly color?: ThemeColor;
}
export namespace ThemeIcon {
export const iconNameSegment = '[A-Za-z0-9]+';
export const iconNameExpression = '[A-Za-z0-9-]+';
export const iconModifierExpression = '~[A-Za-z]+';
export const iconNameCharacter = '[A-Za-z0-9~-]';
const ThemeIconIdRegex = new RegExp(`^(${iconNameExpression})(${iconModifierExpression})?$`);
export function asClassNameArray(icon: ThemeIcon): string[] {
const match = ThemeIconIdRegex.exec(icon.id);
if (!match) {
return asClassNameArray(Codicon.error);
}
const [, id, modifier] = match;
const classNames = ['codicon', 'codicon-' + id];
if (modifier) {
classNames.push('codicon-modifier-' + modifier.substring(1));
}
return classNames;
}
export function asClassName(icon: ThemeIcon): string {
return asClassNameArray(icon).join(' ');
}
export function asCSSSelector(icon: ThemeIcon): string {
return '.' + asClassNameArray(icon).join('.');
}
export function isThemeIcon(obj: any): obj is ThemeIcon {
return obj && typeof obj === 'object' && typeof (<ThemeIcon>obj).id === 'string' && (typeof (<ThemeIcon>obj).color === 'undefined' || ThemeColor.isThemeColor((<ThemeIcon>obj).color));
}
const _regexFromString = new RegExp(`^\\$\\((${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?)\\)$`);
export function fromString(str: string): ThemeIcon | undefined {
const match = _regexFromString.exec(str);
if (!match) {
return undefined;
}
const [, name] = match;
return { id: name };
}
export function fromId(id: string): ThemeIcon {
return { id };
}
export function modify(icon: ThemeIcon, modifier: 'disabled' | 'spin' | undefined): ThemeIcon {
let id = icon.id;
const tildeIndex = id.lastIndexOf('~');
if (tildeIndex !== -1) {
id = id.substring(0, tildeIndex);
}
if (modifier) {
id = `${id}~${modifier}`;
}
return { id };
}
export function getModifier(icon: ThemeIcon): string | undefined {
const tildeIndex = icon.id.lastIndexOf('~');
if (tildeIndex !== -1) {
return icon.id.substring(tildeIndex + 1);
}
return undefined;
}
export function isEqual(ti1: ThemeIcon, ti2: ThemeIcon): boolean {
return ti1.id === ti2.id && ti1.color?.id === ti2.color?.id;
}
}
@@ -20,7 +20,8 @@ import { Action } from 'vs/base/common/actions';
import { equals } from 'vs/base/common/arrays';
import { TimeoutTimer } from 'vs/base/common/async';
import { CancellationToken } from 'vs/base/common/cancellation';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { Emitter, Event } from 'vs/base/common/event';
import { KeyCode } from 'vs/base/common/keyCodes';
@@ -77,7 +78,7 @@ const $ = dom.$;
type Writeable<T> = { -readonly [P in keyof T]: T[P] };
const backButton = {
iconClass: CSSIcon.asClassName(Codicon.quickInputBack),
iconClass: ThemeIcon.asClassName(Codicon.quickInputBack),
tooltip: localize('quickInput.back', "Back"),
handle: -1 // TODO
};
+1 -1
View File
@@ -10,7 +10,7 @@ import { RunOnceScheduler } from 'vs/base/common/async';
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { asCssValue } from 'vs/platform/theme/common/colorRegistry';
import { ThemeColor } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
/**
* Coordinates relative to the whole document (e.g. mouse event's pageX and pageY)
+1 -1
View File
@@ -20,7 +20,7 @@ import { IKeybindings, KeybindingsRegistry, KeybindingWeight } from 'vs/platform
import { Registry } from 'vs/platform/registry/common/platform';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { withNullAsUndefined, assertType } from 'vs/base/common/types';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IDisposable } from 'vs/base/common/lifecycle';
import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
import { ILogService } from 'vs/platform/log/common/log';
@@ -14,7 +14,8 @@ import { ICodeEditorOpenHandler, ICodeEditorService } from 'vs/editor/browser/se
import { IContentDecorationRenderOptions, IDecorationRenderOptions, IThemeDecorationRenderOptions, isThemeColor } from 'vs/editor/common/editorCommon';
import { IModelDecorationOptions, IModelDecorationOverviewRulerOptions, InjectedTextOptions, ITextModel, OverviewRulerLane, TrackedRangeStickiness } from 'vs/editor/common/model';
import { IResourceEditorInput } from 'vs/platform/editor/common/editor';
import { IColorTheme, IThemeService, ThemeColor } from 'vs/platform/theme/common/themeService';
import { IColorTheme, IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
export abstract class AbstractCodeEditorService extends Disposable implements ICodeEditorService {
@@ -56,7 +56,8 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import { IEditorProgressService, IProgressRunner } from 'vs/platform/progress/common/progress';
import { defaultInsertColor, defaultRemoveColor, diffDiagonalFill, diffInserted, diffOverviewRulerInserted, diffOverviewRulerRemoved, diffRemoved } from 'vs/platform/theme/common/colorRegistry';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { getThemeTypeSelector, IColorTheme, IThemeService, registerThemingParticipant, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { getThemeTypeSelector, IColorTheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
export interface IDiffCodeEditorWidgetOptions {
originalEditor?: ICodeEditorWidgetOptions;
+1 -1
View File
@@ -26,7 +26,7 @@ import { RenderLineInput, renderViewLine2 as renderViewLine } from 'vs/editor/co
import { ViewLineRenderingData } from 'vs/editor/common/viewModel';
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { Constants } from 'vs/base/common/uint';
import { Codicon } from 'vs/base/common/codicons';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
@@ -13,7 +13,8 @@ import { IEditorMouseEvent, MouseTargetType } from 'vs/editor/browser/editorBrow
import { Range } from 'vs/editor/common/core/range';
import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
import { EditorOption } from 'vs/editor/common/config/editorOptions';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { EndOfLineSequence, ITextModel } from 'vs/editor/common/model';
export interface IDiffLinesChange {
@@ -60,7 +61,7 @@ export class InlineDiffMargin extends Disposable {
this._marginDomNode.style.zIndex = '10';
this._diffActions = document.createElement('div');
this._diffActions.className = CSSIcon.asClassName(Codicon.lightBulb) + ' lightbulb-glyph';
this._diffActions.className = ThemeIcon.asClassName(Codicon.lightBulb) + ' lightbulb-glyph';
this._diffActions.style.position = 'absolute';
const lineHeight = editor.getOption(EditorOption.lineHeight);
const lineFeed = editor.getModel()!.getEOL();
+1 -1
View File
@@ -12,7 +12,7 @@ import { IPosition, Position } from 'vs/editor/common/core/position';
import { IRange, Range } from 'vs/editor/common/core/range';
import { ISelection, Selection } from 'vs/editor/common/core/selection';
import { IModelDecorationsChangeAccessor, ITextModel, OverviewRulerLane, TrackedRangeStickiness, IValidEditOperation, IModelDeltaDecoration, IModelDecoration } from 'vs/editor/common/model';
import { ThemeColor } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { IDimension } from 'vs/editor/common/core/dimension';
import { IModelDecorationsChangedEvent } from 'vs/editor/common/textModelEvents';
+6 -6
View File
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import { CancellationToken } from 'vs/base/common/cancellation';
import { Codicon, CSSIcon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { VSDataTransfer } from 'vs/base/common/dataTransfer';
import { Event } from 'vs/base/common/event';
@@ -20,7 +21,6 @@ import * as model from 'vs/editor/common/model';
import { TokenizationRegistry as TokenizationRegistryImpl } from 'vs/editor/common/tokenizationRegistry';
import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
import { IMarkerData } from 'vs/platform/markers/common/markers';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
/**
* @internal
@@ -279,7 +279,7 @@ export const enum CompletionItemKind {
*/
export namespace CompletionItemKinds {
const byKind = new Map<CompletionItemKind, CSSIcon>();
const byKind = new Map<CompletionItemKind, ThemeIcon>();
byKind.set(CompletionItemKind.Method, Codicon.symbolMethod);
byKind.set(CompletionItemKind.Function, Codicon.symbolFunction);
byKind.set(CompletionItemKind.Constructor, Codicon.symbolConstructor);
@@ -313,7 +313,7 @@ export namespace CompletionItemKinds {
/**
* @internal
*/
export function toIcon(kind: CompletionItemKind): CSSIcon {
export function toIcon(kind: CompletionItemKind): ThemeIcon {
let codicon = byKind.get(kind);
if (!codicon) {
console.info('No codicon found for CompletionItemKind ' + kind);
@@ -1066,7 +1066,7 @@ export const enum SymbolTag {
*/
export namespace SymbolKinds {
const byKind = new Map<SymbolKind, CSSIcon>();
const byKind = new Map<SymbolKind, ThemeIcon>();
byKind.set(SymbolKind.File, Codicon.symbolFile);
byKind.set(SymbolKind.Module, Codicon.symbolModule);
byKind.set(SymbolKind.Namespace, Codicon.symbolNamespace);
@@ -1096,7 +1096,7 @@ export namespace SymbolKinds {
/**
* @internal
*/
export function toIcon(kind: SymbolKind): CSSIcon {
export function toIcon(kind: SymbolKind): ThemeIcon {
let icon = byKind.get(kind);
if (!icon) {
console.info('No codicon found for SymbolKind ' + kind);
+1 -1
View File
@@ -20,7 +20,7 @@ import { IBracketPairsTextModelPart } from 'vs/editor/common/textModelBracketPai
import { IModelContentChange, IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelOptionsChangedEvent, IModelTokensChangedEvent, InternalModelContentChangeEvent, ModelInjectedTextChangedEvent } from 'vs/editor/common/textModelEvents';
import { IGuidesTextModelPart } from 'vs/editor/common/textModelGuides';
import { ITokenizationTextModelPart } from 'vs/editor/common/tokenizationTextModelPart';
import { ThemeColor } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { UndoRedoGroup } from 'vs/platform/undoRedo/common/undoRedo';
/**
+2 -1
View File
@@ -41,7 +41,8 @@ import { IBracketPairsTextModelPart } from 'vs/editor/common/textModelBracketPai
import { IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelOptionsChangedEvent, InternalModelContentChangeEvent, LineInjectedText, ModelInjectedTextChangedEvent, ModelRawChange, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted } from 'vs/editor/common/textModelEvents';
import { IGuidesTextModelPart } from 'vs/editor/common/textModelGuides';
import { ITokenizationTextModelPart } from 'vs/editor/common/tokenizationTextModelPart';
import { IColorTheme, ThemeColor } from 'vs/platform/theme/common/themeService';
import { IColorTheme } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { IUndoRedoService, ResourceEditStackSnapshot, UndoRedoGroup } from 'vs/platform/undoRedo/common/undoRedo';
export function createTextBufferFactory(text: string): model.ITextBufferFactory {
@@ -8,7 +8,8 @@ import { Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri';
import { IModelDeltaDecoration, ITextModel, IModelDecorationOptions, TrackedRangeStickiness, OverviewRulerLane, IModelDecoration, MinimapPosition, IModelDecorationMinimapOptions } from 'vs/editor/common/model';
import { ClassName } from 'vs/editor/common/model/intervalTree';
import { themeColorFromId, ThemeColor } from 'vs/platform/theme/common/themeService';
import { themeColorFromId } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { overviewRulerWarning, overviewRulerInfo, overviewRulerError } from 'vs/editor/common/core/editorColorRegistry';
import { IModelService } from 'vs/editor/common/services/model';
import { Range } from 'vs/editor/common/core/range';
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import 'vs/base/browser/ui/codicons/codiconStyles'; // The codicon symbol styles are defined here and must be loaded
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { ResolvedKeybinding } from 'vs/base/common/keybindings';
import { CodeAction } from 'vs/editor/common/languages';
import { CodeActionItem, CodeActionKind } from 'vs/editor/contrib/codeAction/common/types';
@@ -15,7 +16,7 @@ import { ActionListItemKind, IListMenuItem } from 'vs/platform/actionWidget/brow
interface ActionGroup {
readonly kind: CodeActionKind;
readonly title: string;
readonly icon?: { readonly codicon: CSSIcon; readonly color?: string };
readonly icon?: { readonly codicon: ThemeIcon; readonly color?: string };
}
const uncategorizedCodeActionGroup = Object.freeze<ActionGroup>({ kind: CodeActionKind.Empty, title: localize('codeAction.widget.id.more', 'More Actions...') });
@@ -5,7 +5,8 @@
import * as dom from 'vs/base/browser/dom';
import { Gesture } from 'vs/base/browser/touch';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { Disposable } from 'vs/base/common/lifecycle';
import { withNullAsUndefined } from 'vs/base/common/types';
@@ -210,8 +211,8 @@ export class LightBulbWidget extends Disposable implements IContentWidget {
private _updateLightBulbTitleAndIcon(): void {
if (this.state.type === LightBulbState.Type.Showing && this.state.actions.hasAutoFix) {
// update icon
this._domNode.classList.remove(...CSSIcon.asClassNameArray(Codicon.lightBulb));
this._domNode.classList.add(...CSSIcon.asClassNameArray(Codicon.lightbulbAutofix));
this._domNode.classList.remove(...ThemeIcon.asClassNameArray(Codicon.lightBulb));
this._domNode.classList.add(...ThemeIcon.asClassNameArray(Codicon.lightbulbAutofix));
if (this._preferredKbLabel) {
this.title = nls.localize('preferredcodeActionWithKb', "Show Code Actions. Preferred Quick Fix Available ({0})", this._preferredKbLabel);
@@ -220,8 +221,8 @@ export class LightBulbWidget extends Disposable implements IContentWidget {
}
// update icon
this._domNode.classList.remove(...CSSIcon.asClassNameArray(Codicon.lightbulbAutofix));
this._domNode.classList.add(...CSSIcon.asClassNameArray(Codicon.lightBulb));
this._domNode.classList.remove(...ThemeIcon.asClassNameArray(Codicon.lightbulbAutofix));
this._domNode.classList.add(...ThemeIcon.asClassNameArray(Codicon.lightBulb));
if (this._quickFixKbLabel) {
this.title = nls.localize('codeActionWithKb', "Show Code Actions ({0})", this._quickFixKbLabel);
@@ -38,7 +38,8 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { asCssValue, contrastBorder, editorFindMatch, editorFindMatchBorder, editorFindMatchHighlight, editorFindMatchHighlightBorder, editorFindRangeHighlight, editorFindRangeHighlightBorder, editorWidgetBackground, editorWidgetBorder, editorWidgetForeground, editorWidgetResizeBorder, errorForeground, focusBorder, inputActiveOptionBackground, inputActiveOptionBorder, inputActiveOptionForeground, toolbarHoverBackground, widgetBorder, widgetShadow } from 'vs/platform/theme/common/colorRegistry';
import { registerIcon, widgetClose } from 'vs/platform/theme/common/iconRegistry';
import { IThemeService, registerThemingParticipant, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { isHighContrast } from 'vs/platform/theme/common/theme';
import { assertIsDefined } from 'vs/base/common/types';
import { defaultInputBoxStyles, defaultToggleStyles } from 'vs/platform/theme/browser/defaultStyles';
@@ -11,7 +11,8 @@ import { IDecorationProvider } from 'vs/editor/contrib/folding/browser/foldingMo
import { localize } from 'vs/nls';
import { editorSelectionBackground, iconForeground, registerColor, transparent } from 'vs/platform/theme/common/colorRegistry';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { themeColorFromId, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { themeColorFromId } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
const foldBackground = registerColor('editor.foldBackground', { light: transparent(editorSelectionBackground, 0.3), dark: transparent(editorSelectionBackground, 0.3), hcDark: null, hcLight: null }, localize('foldBackgroundBackground', "Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."), true);
registerColor('editorGutter.foldingControlForeground', { dark: iconForeground, light: iconForeground, hcDark: iconForeground, hcLight: iconForeground }, localize('editorGutter.foldingControlForeground', 'Color of the folding control in the editor gutter.'));
@@ -25,7 +25,7 @@ import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/c
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { listHighlightForeground, registerColor } from 'vs/platform/theme/common/colorRegistry';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
const $ = dom.$;
@@ -7,7 +7,8 @@ import * as dom from 'vs/base/browser/dom';
import { IMouseEvent } from 'vs/base/browser/mouseEvent';
import { ActionBar, ActionsOrientation, IActionBarOptions } from 'vs/base/browser/ui/actionbar/actionbar';
import { Action } from 'vs/base/common/actions';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { Emitter } from 'vs/base/common/event';
import { IDisposable } from 'vs/base/common/lifecycle';
@@ -200,7 +201,7 @@ export abstract class PeekViewWidget extends ZoneWidget {
this._disposables.add(this._actionbarWidget);
if (!noCloseAction) {
this._actionbarWidget.push(new Action('peekview.close', nls.localize('label.close', "Close"), CSSIcon.asClassName(Codicon.close), true, () => {
this._actionbarWidget.push(new Action('peekview.close', nls.localize('label.close', "Close"), ThemeIcon.asClassName(Codicon.close), true, () => {
this.dispose();
return Promise.resolve();
}), { label: false, icon: true });
@@ -5,7 +5,8 @@
import { DeferredPromise } from 'vs/base/common/async';
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IMatch } from 'vs/base/common/filters';
import { IPreparedQuery, pieceToQuery, prepareQuery, scoreFuzzy2 } from 'vs/base/common/fuzzyScorer';
import { Disposable, DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
@@ -242,7 +243,7 @@ export abstract class AbstractGotoSymbolQuickAccessProvider extends AbstractEdit
const openSideBySideDirection = this.options?.openSideBySideDirection?.();
if (openSideBySideDirection) {
buttons = [{
iconClass: openSideBySideDirection === 'right' ? CSSIcon.asClassName(Codicon.splitHorizontal) : CSSIcon.asClassName(Codicon.splitVertical),
iconClass: openSideBySideDirection === 'right' ? ThemeIcon.asClassName(Codicon.splitHorizontal) : ThemeIcon.asClassName(Codicon.splitVertical),
tooltip: openSideBySideDirection === 'right' ? localize('openToSide', "Open to the Side") : localize('openToBottom', "Open to the Bottom")
}];
}
@@ -5,7 +5,8 @@
import * as dom from 'vs/base/browser/dom';
import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { MarkdownString } from 'vs/base/common/htmlContent';
import { DisposableStore } from 'vs/base/common/lifecycle';
@@ -62,7 +63,7 @@ export class SuggestDetailsWidget {
this._disposables.add(this._scrollbar);
this._header = dom.append(this._body, dom.$('.header'));
this._close = dom.append(this._header, dom.$('span' + CSSIcon.asCSSSelector(Codicon.close)));
this._close = dom.append(this._header, dom.$('span' + ThemeIcon.asCSSSelector(Codicon.close)));
this._close.title = nls.localize('details.close', "Close");
this._type = dom.append(this._header, dom.$('p.type'));
@@ -6,7 +6,8 @@
import { $, append, hide, show } from 'vs/base/browser/dom';
import { IconLabel, IIconLabelValueOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
import { IListRenderer } from 'vs/base/browser/ui/list/list';
import { Codicon, CSSIcon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { createMatches } from 'vs/base/common/filters';
import { DisposableStore } from 'vs/base/common/lifecycle';
@@ -20,7 +21,7 @@ import { ILanguageService } from 'vs/editor/common/languages/language';
import * as nls from 'vs/nls';
import { FileKind } from 'vs/platform/files/common/files';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { CompletionItem } from './suggest';
import { canExpandCompletionItem } from './suggestWidgetDetails';
@@ -199,7 +200,7 @@ export class ItemRenderer implements IListRenderer<CompletionItem, ISuggestionTe
// normal icon
data.icon.className = 'icon hide';
data.iconContainer.className = '';
data.iconContainer.classList.add('suggest-icon', ...CSSIcon.asClassNameArray(CompletionItemKinds.toIcon(completion.kind)));
data.iconContainer.classList.add('suggest-icon', ...ThemeIcon.asClassNameArray(CompletionItemKinds.toIcon(completion.kind)));
}
if (completion.tags && completion.tags.indexOf(CompletionItemTag.Deprecated) >= 0) {
@@ -13,7 +13,7 @@ import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { ILinkDescriptor, Link } from 'vs/platform/opener/browser/link';
import { widgetClose } from 'vs/platform/theme/common/iconRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
const BANNER_ELEMENT_HEIGHT = 26;
+1 -1
View File
@@ -5,7 +5,7 @@
import { URI, UriDto } from 'vs/base/common/uri';
import { ContextKeyExpression } from 'vs/platform/contextkey/common/contextkey';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { Categories } from './actionCommonCategories';
export interface ILocalizedString {
@@ -7,7 +7,8 @@ import { HighlightedLabel } from 'vs/base/browser/ui/highlightedlabel/highlighte
import { KeybindingLabel } from 'vs/base/browser/ui/keybindingLabel/keybindingLabel';
import { IListEvent, IListMouseEvent, IListRenderer, IListVirtualDelegate } from 'vs/base/browser/ui/list/list';
import { List } from 'vs/base/browser/ui/list/listWidget';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { ResolvedKeybinding } from 'vs/base/common/keybindings';
import { Disposable } from 'vs/base/common/lifecycle';
import { OS } from 'vs/base/common/platform';
@@ -28,7 +29,7 @@ export interface IRenderDelegate {
export interface IListMenuItem<T extends IActionItem> {
readonly item?: T;
readonly kind: ActionListItemKind;
readonly group?: { kind?: any; icon?: { codicon: CSSIcon; color?: string }; title: string };
readonly group?: { kind?: any; icon?: { codicon: ThemeIcon; color?: string }; title: string };
readonly disabled?: boolean;
readonly label?: string;
readonly description?: string;
@@ -102,10 +103,10 @@ class ActionItemRenderer<T extends IListMenuItem<IActionItem>> implements IListR
renderElement(element: T, _index: number, data: IActionMenuTemplateData): void {
if (element.group?.icon) {
data.icon.className = CSSIcon.asClassName(element.group.icon.codicon);
data.icon.className = ThemeIcon.asClassName(element.group.icon.codicon);
data.icon.style.color = element.group.icon.color ?? '';
} else {
data.icon.className = CSSIcon.asClassName(Codicon.lightBulb);
data.icon.className = ThemeIcon.asClassName(Codicon.lightBulb);
data.icon.style.color = 'var(--vscode-editorLightBulb-foreground)';
}
@@ -23,7 +23,8 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { isDark } from 'vs/platform/theme/common/theme';
import { IHoverDelegate } from 'vs/base/browser/ui/iconLabel/iconHoverDelegate';
import { assertType } from 'vs/base/common/types';
+2 -3
View File
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { Action, IAction, SubmenuAction } from 'vs/base/common/actions';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { Event, MicrotaskEmitter } from 'vs/base/common/event';
import { DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { LinkedList } from 'vs/base/common/linkedList';
@@ -15,7 +15,6 @@ import { ContextKeyExpr, ContextKeyExpression, IContextKeyService } from 'vs/pla
import { SyncDescriptor, SyncDescriptor0 } from 'vs/platform/instantiation/common/descriptors';
import { BrandedService, createDecorator, IConstructorSignature, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { IKeybindingRule, IKeybindings, KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
export interface IMenuItem {
command: ICommandAction;
@@ -454,7 +453,7 @@ export class MenuItemAction implements IAction {
this.alt = alt ? new MenuItemAction(alt, undefined, options, hideActions, contextKeyService, _commandService) : undefined;
this._options = options;
if (ThemeIcon.isThemeIcon(item.icon)) {
this.class = CSSIcon.asClassName(item.icon);
this.class = ThemeIcon.asClassName(item.icon);
}
}
+2 -2
View File
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { Event } from 'vs/base/common/event';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IMarkdownString } from 'vs/base/common/htmlContent';
import { basename } from 'vs/base/common/resources';
import Severity from 'vs/base/common/severity';
@@ -188,7 +188,7 @@ export interface ICustomDialogOptions {
readonly buttonDetails?: string[];
readonly markdownDetails?: ICustomDialogMarkdown[];
readonly classes?: string[];
readonly icon?: CSSIcon;
readonly icon?: ThemeIcon;
readonly disableCloseAction?: boolean;
}
@@ -7,7 +7,7 @@ import { Codicon } from 'vs/base/common/codicons';
import { localize } from 'vs/nls';
import { IQuickPick, IQuickPickItem, QuickPickItem } from 'vs/platform/quickinput/common/quickInput';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
const pinButtonClass = ThemeIcon.asClassName(Codicon.pin);
const pinnedButtonClass = ThemeIcon.asClassName(Codicon.pinned);
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import 'vs/css!./media/severityIcon';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import Severity from 'vs/base/common/severity';
export namespace SeverityIcon {
@@ -12,13 +13,13 @@ export namespace SeverityIcon {
export function className(severity: Severity): string {
switch (severity) {
case Severity.Ignore:
return 'severity-ignore ' + CSSIcon.asClassName(Codicon.info);
return 'severity-ignore ' + ThemeIcon.asClassName(Codicon.info);
case Severity.Info:
return CSSIcon.asClassName(Codicon.info);
return ThemeIcon.asClassName(Codicon.info);
case Severity.Warning:
return CSSIcon.asClassName(Codicon.warning);
return ThemeIcon.asClassName(Codicon.warning);
case Severity.Error:
return CSSIcon.asClassName(Codicon.error);
return ThemeIcon.asClassName(Codicon.error);
default:
return '';
}
+1 -1
View File
@@ -9,7 +9,7 @@ import { URI, UriComponents } from 'vs/base/common/uri';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { IPtyHostProcessReplayEvent, ISerializedCommandDetectionCapability, ITerminalCapabilityStore } from 'vs/platform/terminal/common/capabilities/capabilities';
import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { ISerializableEnvironmentVariableCollections } from 'vs/platform/terminal/common/environmentVariable';
import { ITerminalCommandSelector } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
@@ -7,7 +7,7 @@ import { Codicon } from 'vs/base/common/codicons';
import { URI, UriComponents } from 'vs/base/common/uri';
import { localize } from 'vs/nls';
import { IExtensionTerminalProfile, ITerminalProfile, TerminalIcon } from 'vs/platform/terminal/common/terminal';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
export function createProfileSchemaEnums(detectedProfiles: ITerminalProfile[], extensionProfiles?: readonly IExtensionTerminalProfile[]): {
values: (string | null)[] | undefined;
@@ -15,7 +15,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import { ILogService } from 'vs/platform/log/common/log';
import { ITerminalEnvironment, ITerminalExecutable, ITerminalProfile, ITerminalProfileSource, ITerminalUnsafePath, ProfileSource, TerminalIcon, TerminalSettingId } from 'vs/platform/terminal/common/terminal';
import { findExecutable, getWindowsBuildNumber } from 'vs/platform/terminal/node/terminalEnvironment';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
let profileSources: Map<string, IPotentialTerminalProfile> | undefined;
let logIfWslNotInstalled: boolean = true;
@@ -276,7 +276,7 @@ async function initializeWindowsProfiles(testPwshSourcePaths?: string[]): Promis
profileSources.set('PowerShell', {
profileName: 'PowerShell',
paths: testPwshSourcePaths || await getPowershellPaths(),
icon: ThemeIcon.asThemeIcon(Codicon.terminalPowershell)
icon: Codicon.terminalPowershell
});
}
@@ -335,11 +335,11 @@ async function getWslProfiles(wslPath: string, defaultProfileName: string | unde
function getWslIcon(distroName: string): ThemeIcon {
if (distroName.includes('Ubuntu')) {
return ThemeIcon.asThemeIcon(Codicon.terminalUbuntu);
return Codicon.terminalUbuntu;
} else if (distroName.includes('Debian')) {
return ThemeIcon.asThemeIcon(Codicon.terminalDebian);
return Codicon.terminalDebian;
} else {
return ThemeIcon.asThemeIcon(Codicon.terminalLinux);
return Codicon.terminalLinux;
}
}
@@ -5,8 +5,9 @@
import { asCSSPropertyValue, asCSSUrl } from 'vs/base/browser/dom';
import { Emitter, Event } from 'vs/base/common/event';
import { ThemeIcon } from 'vs/base/common/themables';
import { getIconRegistry, IconContribution, IconFontDefinition } from 'vs/platform/theme/common/iconRegistry';
import { IProductIconTheme, IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IProductIconTheme, IThemeService } from 'vs/platform/theme/common/themeService';
export interface IIconsStyleSheet {
getCSS(): string;
+3 -4
View File
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import { RunOnceScheduler } from 'vs/base/common/async';
import { Codicon, CSSIcon, getCodiconFontCharacters } from 'vs/base/common/codicons';
import { Codicon, getCodiconFontCharacters } from 'vs/base/common/codicons';
import { ThemeIcon, IconIdentifier } from 'vs/base/common/themables';
import { Emitter, Event } from 'vs/base/common/event';
import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema';
import { isString } from 'vs/base/common/types';
@@ -12,11 +13,9 @@ import { URI } from 'vs/base/common/uri';
import { localize } from 'vs/nls';
import { Extensions as JSONExtensions, IJSONContributionRegistry } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
import * as platform from 'vs/platform/registry/common/platform';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
// ------ API types
export type IconIdentifier = string;
// icon registry
export const Extensions = {
@@ -166,7 +165,7 @@ class IconRegistry implements IIconRegistry {
type: 'object',
properties: {}
};
private iconReferenceSchema: IJSONSchema & { enum: string[]; enumDescriptions: string[] } = { type: 'string', pattern: `^${CSSIcon.iconNameExpression}$`, enum: [], enumDescriptions: [] };
private iconReferenceSchema: IJSONSchema & { enum: string[]; enumDescriptions: string[] } = { type: 'string', pattern: `^${ThemeIcon.iconNameExpression}$`, enum: [], enumDescriptions: [] };
private iconFontsById: { [key: string]: IconFontDefinition };
+1 -70
View File
@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Codicon, CSSIcon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { Color } from 'vs/base/common/color';
import { Emitter, Event } from 'vs/base/common/event';
import { Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
@@ -16,79 +16,10 @@ import { ColorScheme } from 'vs/platform/theme/common/theme';
export const IThemeService = createDecorator<IThemeService>('themeService');
export interface ThemeColor {
id: string;
}
export namespace ThemeColor {
export function isThemeColor(obj: any): obj is ThemeColor {
return obj && typeof obj === 'object' && typeof (<ThemeColor>obj).id === 'string';
}
}
export function themeColorFromId(id: ColorIdentifier) {
return { id };
}
// theme icon
export interface ThemeIcon {
readonly id: string;
readonly color?: ThemeColor;
}
export namespace ThemeIcon {
export function isThemeIcon(obj: any): obj is ThemeIcon {
return obj && typeof obj === 'object' && typeof (<ThemeIcon>obj).id === 'string' && (typeof (<ThemeIcon>obj).color === 'undefined' || ThemeColor.isThemeColor((<ThemeIcon>obj).color));
}
const _regexFromString = new RegExp(`^\\$\\((${CSSIcon.iconNameExpression}(?:${CSSIcon.iconModifierExpression})?)\\)$`);
export function fromString(str: string): ThemeIcon | undefined {
const match = _regexFromString.exec(str);
if (!match) {
return undefined;
}
const [, name] = match;
return { id: name };
}
export function fromId(id: string): ThemeIcon {
return { id };
}
export function modify(icon: ThemeIcon, modifier: 'disabled' | 'spin' | undefined): ThemeIcon {
let id = icon.id;
const tildeIndex = id.lastIndexOf('~');
if (tildeIndex !== -1) {
id = id.substring(0, tildeIndex);
}
if (modifier) {
id = `${id}~${modifier}`;
}
return { id };
}
export function getModifier(icon: ThemeIcon): string | undefined {
const tildeIndex = icon.id.lastIndexOf('~');
if (tildeIndex !== -1) {
return icon.id.substring(tildeIndex + 1);
}
return undefined;
}
export function isEqual(ti1: ThemeIcon, ti2: ThemeIcon): boolean {
return ti1.id === ti2.id && ti1.color?.id === ti2.color?.id;
}
export function asThemeIcon(codicon: CSSIcon, color?: string): ThemeIcon {
return { id: codicon.id, color: color ? themeColorFromId(color) : undefined };
}
export const asClassNameArray: (icon: ThemeIcon) => string[] = CSSIcon.asClassNameArray;
export const asClassName: (icon: ThemeIcon) => string = CSSIcon.asClassName;
export const asCSSSelector: (icon: ThemeIcon) => string = CSSIcon.asCSSSelector;
}
export const FileThemeIcon = Codicon.file;
export const FolderThemeIcon = Codicon.folder;
@@ -31,7 +31,7 @@ import { IProtocolMainService } from 'vs/platform/protocol/electron-main/protoco
import { resolveMarketplaceHeaders } from 'vs/platform/externalServices/common/marketplace';
import { IApplicationStorageMainService, IStorageMainService } from 'vs/platform/storage/electron-main/storageMainService';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IThemeMainService } from 'vs/platform/theme/electron-main/themeMainService';
import { getMenuBarVisibility, getTitleBarStyle, IFolderToOpen, INativeWindowConfiguration, IWindowSettings, IWorkspaceToOpen, MenuBarVisibility, useWindowControlsOverlay, WindowMinimumSize, zoomLevelToZoomFactor } from 'vs/platform/window/common/window';
import { IWindowsMainService, OpenContext } from 'vs/platform/windows/electron-main/windows';
@@ -13,7 +13,7 @@ import { extHostNamedCustomer, IExtHostContext } from 'vs/workbench/services/ext
import { ISplice, Sequence } from 'vs/base/common/sequence';
import { CancellationToken } from 'vs/base/common/cancellation';
import { MarshalledId } from 'vs/base/common/marshallingIds';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IMarkdownString } from 'vs/base/common/htmlContent';
import { IQuickDiffService, QuickDiffProvider } from 'vs/workbench/contrib/scm/common/quickDiff';
@@ -5,7 +5,7 @@
import { IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment, IStatusbarEntryAccessor, IStatusbarEntry, StatusbarAlignment } from 'vs/workbench/services/statusbar/browser/statusbar';
import { MainThreadStatusBarShape, MainContext } from '../common/extHost.protocol';
import { ThemeColor } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { extHostNamedCustomer, IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers';
import { dispose } from 'vs/base/common/lifecycle';
import { Command } from 'vs/editor/common/languages';
@@ -13,7 +13,7 @@ import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensio
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { Registry } from 'vs/platform/registry/common/platform';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { Extensions as ViewletExtensions, PaneCompositeRegistry } from 'vs/workbench/browser/panecomposite';
import { CustomTreeView, RawCustomTreeViewContextKey, TreeViewPane } from 'vs/workbench/browser/parts/views/treeView';
import { ViewPaneContainer } from 'vs/workbench/browser/parts/views/viewPaneContainer';
@@ -40,7 +40,7 @@ import { IRemoteConnectionData, TunnelDescription } from 'vs/platform/remote/com
import { ClassifiedEvent, IGDPRProperty, OmitMetadata, StrictPropertyCheck } from 'vs/platform/telemetry/common/gdprTypings';
import { TelemetryLevel } from 'vs/platform/telemetry/common/telemetry';
import { ICreateContributedTerminalProfileOptions, IProcessProperty, IShellLaunchConfigDto, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, TerminalExitReason, TerminalLocation } from 'vs/platform/terminal/common/terminal';
import { ThemeColor, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon, ThemeColor } from 'vs/base/common/themables';
import { ProvidedPortAttributes, TunnelCreationOptions, TunnelOptions, TunnelPrivacyId, TunnelProviderFeatures } from 'vs/platform/tunnel/common/tunnel';
import { WorkspaceTrustRequestOptions } from 'vs/platform/workspace/common/workspaceTrust';
import * as tasks from 'vs/workbench/api/common/shared/tasks';
@@ -16,7 +16,7 @@ import { isCancellationError } from 'vs/base/common/errors';
import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
import { coalesce } from 'vs/base/common/arrays';
import Severity from 'vs/base/common/severity';
import { ThemeIcon as ThemeIconUtils } from 'vs/platform/theme/common/themeService';
import { ThemeIcon as ThemeIconUtils } from 'vs/base/common/themables';
export type Item = string | QuickPickItem;
+1 -1
View File
@@ -18,7 +18,7 @@ import { ILogService } from 'vs/platform/log/common/log';
import { CancellationToken } from 'vs/base/common/cancellation';
import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
import { MarshalledId } from 'vs/base/common/marshallingIds';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IMarkdownString } from 'vs/base/common/htmlContent';
import { MarkdownString } from 'vs/workbench/api/common/extHostTypeConverters';
import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
@@ -20,7 +20,7 @@ import { generateUuid } from 'vs/base/common/uuid';
import { ISerializableEnvironmentVariableCollection } from 'vs/platform/terminal/common/environmentVariable';
import { ICreateContributedTerminalProfileOptions, IProcessReadyEvent, IShellLaunchConfigDto, ITerminalChildProcess, ITerminalLaunchError, ITerminalProfile, TerminalIcon, TerminalLocation, IProcessProperty, ProcessPropertyType, IProcessPropertyMap } from 'vs/platform/terminal/common/terminal';
import { TerminalDataBufferer } from 'vs/platform/terminal/common/terminalDataBuffering';
import { ThemeColor } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { withNullAsUndefined } from 'vs/base/common/types';
import { Promises } from 'vs/base/common/async';
import { EditorGroupColumn } from 'vs/workbench/services/editor/common/editorGroupColumn';
@@ -23,10 +23,10 @@ import { ToggleAuxiliaryBarAction } from 'vs/workbench/browser/parts/auxiliaryba
import { TogglePanelAction } from 'vs/workbench/browser/parts/panel/panelActions';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { AuxiliaryBarVisibleContext, PanelAlignmentContext, PanelVisibleContext, SideBarVisibleContext, FocusedViewContext, InEditorZenModeContext, IsCenteredLayoutContext, EditorAreaVisibleContext, IsFullscreenContext, PanelPositionContext } from 'vs/workbench/common/contextkeys';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { DisposableStore } from 'vs/base/common/lifecycle';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ICommandActionTitle } from 'vs/platform/action/common/action';
// Register Icons
@@ -1110,10 +1110,10 @@ interface CustomizeLayoutItem {
id: string;
active: ContextKeyExpression;
label: string;
activeIcon: CSSIcon;
activeIcon: ThemeIcon;
visualIcon?: LayoutVisualIcon;
activeAriaLabel: string;
inactiveIcon?: CSSIcon;
inactiveIcon?: ThemeIcon;
inactiveAriaLabel?: string;
useButtons: boolean;
}
@@ -1237,7 +1237,7 @@ registerAction2(class CustomizeLayoutAction extends Action2 {
{
alwaysVisible: false,
tooltip: ariaLabel,
iconClass: icon ? CSSIcon.asClassName(icon) : undefined
iconClass: icon ? ThemeIcon.asClassName(icon) : undefined
}
]
};
@@ -1286,13 +1286,13 @@ registerAction2(class CustomizeLayoutAction extends Action2 {
const closeButton = {
alwaysVisible: true,
iconClass: CSSIcon.asClassName(Codicon.close),
iconClass: ThemeIcon.asClassName(Codicon.close),
tooltip: localize('close', "Close")
};
const resetButton = {
alwaysVisible: true,
iconClass: CSSIcon.asClassName(Codicon.discard),
iconClass: ThemeIcon.asClassName(Codicon.discard),
tooltip: localize('restore defaults', "Restore Defaults")
};
@@ -28,7 +28,8 @@ import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { inQuickPickContext, getQuickNavigateHandler } from 'vs/workbench/browser/quickaccess';
import { IHostService } from 'vs/workbench/services/host/browser/host';
import { ResourceMap } from 'vs/base/common/map';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { isHTMLElement } from 'vs/base/browser/dom';
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
@@ -48,12 +49,12 @@ const fileCategory = { value: localize('file', "File"), original: 'File' };
abstract class BaseOpenRecentAction extends Action2 {
private readonly removeFromRecentlyOpened: IQuickInputButton = {
iconClass: CSSIcon.asClassName(Codicon.removeClose),
iconClass: ThemeIcon.asClassName(Codicon.removeClose),
tooltip: localize('remove', "Remove from Recently Opened")
};
private readonly dirtyRecentlyOpenedFolder: IQuickInputButton = {
iconClass: 'dirty-workspace ' + CSSIcon.asClassName(Codicon.closeDirty),
iconClass: 'dirty-workspace ' + ThemeIcon.asClassName(Codicon.closeDirty),
tooltip: localize('dirtyRecentlyOpenedFolder', "Folder With Unsaved Files"),
alwaysVisible: true
};
@@ -15,7 +15,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { IDisposable, toDisposable, DisposableStore, Disposable } from 'vs/base/common/lifecycle';
import { Event } from 'vs/base/common/event';
import { ToggleActivityBarVisibilityAction, ToggleSidebarPositionAction } from 'vs/workbench/browser/actions/layoutActions';
import { IThemeService, IColorTheme, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService, IColorTheme } from 'vs/platform/theme/common/themeService';
import { ACTIVITY_BAR_BACKGROUND, ACTIVITY_BAR_BORDER, ACTIVITY_BAR_FOREGROUND, ACTIVITY_BAR_ACTIVE_BORDER, ACTIVITY_BAR_BADGE_BACKGROUND, ACTIVITY_BAR_BADGE_FOREGROUND, ACTIVITY_BAR_INACTIVE_FOREGROUND, ACTIVITY_BAR_ACTIVE_BACKGROUND, ACTIVITY_BAR_DRAG_AND_DROP_BORDER, ACTIVITY_BAR_PROFILE_FOREGROUND } from 'vs/workbench/common/theme';
import { contrastBorder } from 'vs/platform/theme/common/colorRegistry';
import { CompositeBar, ICompositeBarItem, CompositeDragAndDrop } from 'vs/workbench/browser/parts/compositeBar';
@@ -34,7 +34,8 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import { getMenuBarVisibility } from 'vs/platform/window/common/window';
import { isNative } from 'vs/base/common/platform';
import { Before2D } from 'vs/workbench/browser/dnd';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IAction, Separator, toAction } from 'vs/base/common/actions';
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { KeyCode } from 'vs/base/common/keyCodes';
@@ -575,7 +576,7 @@ export class ActivitybarPart extends Part implements IPaneCompositeSelectorPart
this.accountsActivityAction = this._register(new ActivityAction({
id: 'workbench.actions.accounts',
name: localize('accounts', "Accounts"),
cssClass: CSSIcon.asClassName(Codicon.account)
cssClass: ThemeIcon.asClassName(Codicon.account)
}));
this.globalActivityActionBar.push(this.accountsActivityAction, { index: ActivitybarPart.ACCOUNTS_ACTION_INDEX });
}
@@ -10,7 +10,8 @@ import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { Part } from 'vs/workbench/browser/part';
import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/browser/layoutService';
import { Action } from 'vs/base/common/actions';
@@ -9,7 +9,7 @@ import { $, addDisposableListener, append, clearNode, EventHelper, EventType, ge
import { ICommandService } from 'vs/platform/commands/common/commands';
import { toDisposable, MutableDisposable, DisposableStore, disposeIfDisposable } from 'vs/base/common/lifecycle';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { IThemeService, IColorTheme, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService, IColorTheme } from 'vs/platform/theme/common/themeService';
import { TextBadge, NumberBadge, IBadge, IconBadge, ProgressBadge } from 'vs/workbench/services/activity/common/activity';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { contrastBorder } from 'vs/platform/theme/common/colorRegistry';
@@ -20,7 +20,8 @@ import { Emitter, Event } from 'vs/base/common/event';
import { CompositeDragAndDropObserver, ICompositeDragAndDrop, Before2D, toggleDropEffect } from 'vs/workbench/browser/dnd';
import { Color } from 'vs/base/common/color';
import { IBaseActionViewItemOptions, BaseActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IHoverService, IHoverWidget } from 'vs/workbench/services/hover/browser/hover';
import { RunOnceScheduler } from 'vs/base/common/async';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
@@ -465,7 +466,7 @@ export class CompositeOverflowActivityAction extends ActivityAction {
super({
id: 'additionalComposites.action',
name: localize('additionalViews', "Additional Views"),
cssClass: CSSIcon.asClassName(Codicon.more)
cssClass: ThemeIcon.asClassName(Codicon.more)
});
}
@@ -59,7 +59,7 @@ import { FloatingClickMenu } from 'vs/workbench/browser/codeeditor';
import { Extensions as WorkbenchExtensions, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle';
import { EditorAutoSave } from 'vs/workbench/browser/parts/editor/editorAutoSave';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IQuickAccessRegistry, Extensions as QuickAccessExtensions } from 'vs/platform/quickinput/common/quickAccess';
import { ActiveGroupEditorsByMostRecentlyUsedQuickAccess, AllEditorsByAppearanceQuickAccess, AllEditorsByMostRecentlyUsedQuickAccess } from 'vs/workbench/browser/parts/editor/editorQuickAccess';
import { FileAccess } from 'vs/base/common/network';
@@ -22,7 +22,8 @@ import { IWorkspacesService } from 'vs/platform/workspaces/common/workspaces';
import { IFileDialogService, ConfirmResult, IDialogService } from 'vs/platform/dialogs/common/dialogs';
import { ItemActivation, IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
import { AllEditorsByMostRecentlyUsedQuickAccess, ActiveGroupEditorsByMostRecentlyUsedQuickAccess, AllEditorsByAppearanceQuickAccess } from 'vs/workbench/browser/parts/editor/editorQuickAccess';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IFilesConfigurationService, AutoSaveMode } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService';
import { IEditorResolverService } from 'vs/workbench/services/editor/common/editorResolverService';
import { isLinux, isNative, isWindows } from 'vs/base/common/platform';
@@ -405,7 +406,7 @@ export class CloseEditorAction extends Action {
label: string,
@ICommandService private readonly commandService: ICommandService
) {
super(id, label, CSSIcon.asClassName(Codicon.close));
super(id, label, ThemeIcon.asClassName(Codicon.close));
}
override run(context?: IEditorCommandsContext): Promise<void> {
@@ -423,7 +424,7 @@ export class UnpinEditorAction extends Action {
label: string,
@ICommandService private readonly commandService: ICommandService
) {
super(id, label, CSSIcon.asClassName(Codicon.pinned));
super(id, label, ThemeIcon.asClassName(Codicon.pinned));
}
override run(context?: IEditorCommandsContext): Promise<void> {
@@ -441,7 +442,7 @@ export class CloseOneEditorAction extends Action {
label: string,
@IEditorGroupsService private readonly editorGroupService: IEditorGroupsService
) {
super(id, label, CSSIcon.asClassName(Codicon.close));
super(id, label, ThemeIcon.asClassName(Codicon.close));
}
override async run(context?: IEditorCommandsContext): Promise<void> {
@@ -731,7 +732,7 @@ export class CloseAllEditorsAction extends AbstractCloseAllAction {
@IEditorService editorService: IEditorService,
@IFilesConfigurationService filesConfigurationService: IFilesConfigurationService
) {
super(id, label, CSSIcon.asClassName(Codicon.closeAll), fileDialogService, editorGroupService, editorService, filesConfigurationService);
super(id, label, ThemeIcon.asClassName(Codicon.closeAll), fileDialogService, editorGroupService, editorService, filesConfigurationService);
}
protected get excludeSticky(): boolean {
@@ -16,7 +16,8 @@ import { getIconClasses } from 'vs/editor/common/services/getIconClasses';
import { prepareQuery, scoreItemFuzzy, compareItemsByFuzzyScore, FuzzyScorerCache } from 'vs/base/common/fuzzyScorer';
import { CancellationToken } from 'vs/base/common/cancellation';
import { IDisposable } from 'vs/base/common/lifecycle';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
interface IEditorQuickPickItem extends IQuickPickItemWithResource, IPickerQuickAccessItem {
groupId: GroupIdentifier;
@@ -161,7 +162,7 @@ export abstract class BaseEditorQuickAccessProvider extends PickerQuickAccessPro
buttons: (() => {
return [
{
iconClass: isDirty ? ('dirty-editor ' + CSSIcon.asClassName(Codicon.closeDirty)) : CSSIcon.asClassName(Codicon.close),
iconClass: isDirty ? ('dirty-editor ' + ThemeIcon.asClassName(Codicon.closeDirty)) : ThemeIcon.asClassName(Codicon.close),
tooltip: localize('closeEditor', "Close Editor"),
alwaysVisible: isDirty
}
@@ -14,7 +14,7 @@ import { ICommandService } from 'vs/platform/commands/common/commands';
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
import { Codicon } from 'vs/base/common/codicons';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { hash } from 'vs/base/common/hash';
const clearIcon = registerIcon('notifications-clear', Codicon.close, localize('clearIcon', 'Icon for the clear action in notifications.'));
@@ -20,7 +20,8 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
import { Severity } from 'vs/platform/notification/common/notification';
import { isNonEmptyArray } from 'vs/base/common/arrays';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { DropdownMenuActionViewItem } from 'vs/base/browser/ui/dropdown/dropdownActionViewItem';
import { DomEmitter } from 'vs/base/browser/event';
import { Gesture, EventType as GestureEventType } from 'vs/base/browser/touch';
@@ -380,10 +381,10 @@ export class NotificationTemplateRenderer extends Disposable {
// first remove, then set as the codicon class names overlap
NotificationTemplateRenderer.SEVERITIES.forEach(severity => {
if (notification.severity !== severity) {
this.template.icon.classList.remove(...CSSIcon.asClassNameArray(this.toSeverityIcon(severity)));
this.template.icon.classList.remove(...ThemeIcon.asClassNameArray(this.toSeverityIcon(severity)));
}
});
this.template.icon.classList.add(...CSSIcon.asClassNameArray(this.toSeverityIcon(notification.severity)));
this.template.icon.classList.add(...ThemeIcon.asClassNameArray(this.toSeverityIcon(notification.severity)));
}
private renderMessage(notification: INotificationViewItem): boolean {
@@ -536,7 +537,7 @@ export class NotificationTemplateRenderer extends Disposable {
}
}
private toSeverityIcon(severity: Severity): CSSIcon {
private toSeverityIcon(severity: Severity): ThemeIcon {
switch (severity) {
case Severity.Warning:
return Codicon.warning;
@@ -19,7 +19,8 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { PanelActivityAction, TogglePanelAction, PlaceHolderPanelActivityAction, PlaceHolderToggleCompositePinnedAction } from 'vs/workbench/browser/parts/panel/panelActions';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { PANEL_BACKGROUND, PANEL_BORDER, PANEL_ACTIVE_TITLE_FOREGROUND, PANEL_INACTIVE_TITLE_FOREGROUND, PANEL_ACTIVE_TITLE_BORDER, EDITOR_DRAG_AND_DROP_BACKGROUND, PANEL_DRAG_AND_DROP_BORDER } from 'vs/workbench/common/theme';
import { contrastBorder, badgeBackground, badgeForeground } from 'vs/platform/theme/common/colorRegistry';
import { CompositeBar, ICompositeBarItem, CompositeDragAndDrop } from 'vs/workbench/browser/parts/compositeBar';
@@ -10,7 +10,8 @@ import { ICommandService } from 'vs/platform/commands/common/commands';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IStatusbarEntry, ShowTooltipCommand } from 'vs/workbench/services/statusbar/browser/statusbar';
import { WorkbenchActionExecutedEvent, WorkbenchActionExecutedClassification } from 'vs/base/common/actions';
import { IThemeService, ThemeColor } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeColor } from 'vs/base/common/themables';
import { isThemeColor } from 'vs/editor/common/editorCommon';
import { addDisposableListener, EventType, hide, show, append, EventHelper } from 'vs/base/browser/dom';
import { INotificationService } from 'vs/platform/notification/common/notification';
@@ -14,7 +14,8 @@ import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
import { IConfigurationService, IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration';
import { DisposableStore } from 'vs/base/common/lifecycle';
import { IBrowserWorkbenchEnvironmentService } from 'vs/workbench/services/environment/browser/environmentService';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { TITLE_BAR_ACTIVE_BACKGROUND, TITLE_BAR_ACTIVE_FOREGROUND, TITLE_BAR_INACTIVE_FOREGROUND, TITLE_BAR_INACTIVE_BACKGROUND, TITLE_BAR_BORDER, WORKBENCH_BACKGROUND } from 'vs/workbench/common/theme';
import { isMacintosh, isWindows, isLinux, isWeb, isNative } from 'vs/base/common/platform';
import { Color } from 'vs/base/common/color';
@@ -51,7 +51,8 @@ import { IProgressService } from 'vs/platform/progress/common/progress';
import { Registry } from 'vs/platform/registry/common/platform';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { ColorScheme } from 'vs/platform/theme/common/theme';
import { FileThemeIcon, FolderThemeIcon, IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { FileThemeIcon, FolderThemeIcon, IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { DraggedTreeItemsIdentifier, fillEditorsDragData, LocalSelectionTransfer } from 'vs/workbench/browser/dnd';
import { IResourceLabel, ResourceLabels } from 'vs/workbench/browser/labels';
import { API_OPEN_DIFF_EDITOR_COMMAND_ID, API_OPEN_EDITOR_COMMAND_ID } from 'vs/workbench/browser/parts/editor/editorCommands';
@@ -16,7 +16,8 @@ import { Registry } from 'vs/platform/registry/common/platform';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IPaneOptions, Pane, IPaneStyles } from 'vs/base/browser/ui/splitview/paneview';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { Extensions as ViewContainerExtensions, IView, IViewDescriptorService, ViewContainerLocation, IViewsRegistry, IViewContentDescriptor, defaultViewIcon, IViewsService, ViewContainerLocationToString } from 'vs/workbench/common/views';
+1 -1
View File
@@ -10,7 +10,7 @@ import { ContextKeyExpression } from 'vs/platform/contextkey/common/contextkey';
import { localize } from 'vs/nls';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { IDisposable, Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { getOrSet } from 'vs/base/common/map';
import { Registry } from 'vs/platform/registry/common/platform';
import { IKeybindings } from 'vs/platform/keybinding/common/keybindingsRegistry';
@@ -3,7 +3,8 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { localize } from 'vs/nls';
import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility';
import { Action2 } from 'vs/platform/actions/common/actions';
@@ -38,7 +39,7 @@ export class ShowAudioCueHelp extends Action2 {
: `${audioCueService.isEnabled(cue) ? '$(check)' : ' '} ${cue.name}`,
audioCue: cue,
buttons: [{
iconClass: CSSIcon.asClassName(Codicon.settingsGear),
iconClass: ThemeIcon.asClassName(Codicon.settingsGear),
tooltip: localize('audioCues.help.settings', 'Enable/Disable Audio Cue'),
}],
}));
@@ -21,7 +21,8 @@ import { ILabelService } from 'vs/platform/label/common/label';
import type { IListAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { IconLabel } from 'vs/base/browser/ui/iconLabel/iconLabel';
import { basename } from 'vs/base/common/resources';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { compare } from 'vs/base/common/strings';
import { URI } from 'vs/base/common/uri';
import { IUndoRedoService } from 'vs/platform/undoRedo/common/undoRedo';
@@ -14,7 +14,7 @@ import { compare } from 'vs/base/common/strings';
import { Range } from 'vs/editor/common/core/range';
import { IListAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { localize } from 'vs/nls';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
export class Call {
constructor(
@@ -120,7 +120,7 @@ export class CallRenderer implements ITreeRenderer<Call, FuzzyScore, CallRenderi
const { element, filterData } = node;
const deprecated = element.item.tags?.includes(SymbolTag.Deprecated);
template.icon.className = '';
template.icon.classList.add('inline', ...CSSIcon.asClassNameArray(SymbolKinds.toIcon(element.item.kind)));
template.icon.classList.add('inline', ...ThemeIcon.asClassNameArray(SymbolKinds.toIcon(element.item.kind)));
template.label.setLabel(
element.item.name,
element.item.detail,
@@ -23,7 +23,7 @@ import { IdleValue } from 'vs/base/common/async';
import { ITextResourceConfigurationService } from 'vs/editor/common/services/textResourceConfiguration';
import { IListAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { IOutlineComparator, OutlineConfigKeys } from 'vs/workbench/services/outline/browser/outline';
import { CSSIcon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
export type DocumentSymbolItem = OutlineGroup | OutlineElement;
@@ -143,7 +143,7 @@ export class DocumentSymbolRenderer implements ITreeRenderer<OutlineElement, Fuz
if (this._configurationService.getValue(OutlineConfigKeys.icons)) {
// add styles for the icons
template.iconClass.className = '';
template.iconClass.classList.add('outline-element-icon', 'inline', ...CSSIcon.asClassNameArray(SymbolKinds.toIcon(element.symbol.kind)));
template.iconClass.classList.add('outline-element-icon', 'inline', ...ThemeIcon.asClassNameArray(SymbolKinds.toIcon(element.symbol.kind)));
}
if (element.symbol.tags.indexOf(SymbolTag.Deprecated) >= 0) {
extraClasses.push(`deprecated`);
@@ -32,7 +32,8 @@ import { CommentFormActions } from 'vs/workbench/contrib/comments/browser/commen
import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vs/base/browser/ui/mouseCursor/mouseCursor';
import { ActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems';
import { DropdownMenuActionViewItem } from 'vs/base/browser/ui/dropdown/dropdownActionViewItem';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { MarshalledId } from 'vs/base/common/marshallingIds';
import { TimestampWidget } from 'vs/workbench/contrib/comments/browser/timestamp';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
@@ -215,7 +216,7 @@ export class CommentNode<T extends IRange | ICellRange> extends Disposable {
{
actionViewItemProvider: action => this.actionViewItemProvider(action as Action),
actionRunner: this.actionRunner,
classNames: ['toolbar-toggle-pickReactions', ...CSSIcon.asClassNameArray(Codicon.reactions)],
classNames: ['toolbar-toggle-pickReactions', ...ThemeIcon.asClassNameArray(Codicon.reactions)],
anchorAlignmentProvider: () => AnchorAlignment.RIGHT
}
);
@@ -343,7 +344,7 @@ export class CommentNode<T extends IRange | ICellRange> extends Disposable {
{
actionViewItemProvider: action => this.actionViewItemProvider(action as Action),
actionRunner: this.actionRunner,
classNames: ['toolbar-toggle-pickReactions', ...CSSIcon.asClassNameArray(Codicon.reactions)],
classNames: ['toolbar-toggle-pickReactions', ...ThemeIcon.asClassNameArray(Codicon.reactions)],
anchorAlignmentProvider: () => AnchorAlignment.RIGHT
}
);
@@ -17,7 +17,7 @@ import { IMenu, MenuItemAction, SubmenuItemAction } from 'vs/platform/actions/co
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { CommentMenus } from 'vs/workbench/contrib/comments/browser/commentMenus';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { MarshalledId } from 'vs/base/common/marshallingIds';
@@ -15,11 +15,12 @@ import { IListVirtualDelegate, IListRenderer } from 'vs/base/browser/ui/list/lis
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { WorkbenchAsyncDataTree, IListService, IWorkbenchAsyncDataTreeOptions } from 'vs/platform/list/browser/listService';
import { IColorTheme, IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IColorTheme, IThemeService } from 'vs/platform/theme/common/themeService';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IColorMapping } from 'vs/platform/theme/common/styler';
import { TimestampWidget } from 'vs/workbench/contrib/comments/browser/timestamp';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IMarkdownString } from 'vs/base/common/htmlContent';
import { commentViewThreadStateColorVar, getCommentThreadStateColor } from 'vs/workbench/contrib/comments/browser/commentColors';
import { CommentThreadState } from 'vs/editor/common/languages';
@@ -188,7 +189,7 @@ export class CommentNodeRenderer implements IListRenderer<ITreeNode<CommentNode>
return renderedComment;
}
private getIcon(threadState?: CommentThreadState): CSSIcon {
private getIcon(threadState?: CommentThreadState): ThemeIcon {
if (threadState === CommentThreadState.Unresolved) {
return Codicon.commentUnresolved;
} else {
@@ -9,7 +9,8 @@ import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
import { HighlightedLabel, IHighlight } from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';
import { IInputValidationOptions, InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
import { ITreeNode, ITreeRenderer } from 'vs/base/browser/ui/tree/tree';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { createMatches, FuzzyScore } from 'vs/base/common/filters';
import { once } from 'vs/base/common/functional';
import { KeyCode } from 'vs/base/common/keyCodes';
@@ -157,7 +158,7 @@ export abstract class AbstractExpressionsRenderer implements ITreeRenderer<IExpr
const expression = dom.append(container, $('.expression'));
const name = dom.append(expression, $('span.name'));
const lazyButton = dom.append(expression, $('span.lazy-button'));
lazyButton.classList.add(...CSSIcon.asClassNameArray(Codicon.eye));
lazyButton.classList.add(...ThemeIcon.asClassNameArray(Codicon.eye));
lazyButton.title = localize('debug.lazyButton.tooltip', "Click to expand");
const value = dom.append(expression, $('span.value'));
@@ -33,7 +33,8 @@ import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { ILabelService } from 'vs/platform/label/common/label';
import { registerColor } from 'vs/platform/theme/common/colorRegistry';
import { registerThemingParticipant, themeColorFromId, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { registerThemingParticipant, themeColorFromId } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { getBreakpointMessageAndIcon } from 'vs/workbench/contrib/debug/browser/breakpointsView';
import { BreakpointWidget } from 'vs/workbench/contrib/debug/browser/breakpointWidget';
import * as icons from 'vs/workbench/contrib/debug/browser/debugIcons';
@@ -39,7 +39,8 @@ import { WorkbenchList } from 'vs/platform/list/browser/listService';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { defaultInputBoxStyles } from 'vs/platform/theme/browser/defaultStyles';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { ViewAction, ViewPane } from 'vs/workbench/browser/parts/views/viewPane';
import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { IEditorPane } from 'vs/workbench/common/editor';
@@ -14,7 +14,8 @@ import { IModelDecorationOptions, IModelDeltaDecoration, OverviewRulerLane, Trac
import { localize } from 'vs/nls';
import { ILogService } from 'vs/platform/log/common/log';
import { registerColor } from 'vs/platform/theme/common/colorRegistry';
import { themeColorFromId, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { themeColorFromId } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity';
import { debugStackframe, debugStackframeFocused } from 'vs/workbench/contrib/debug/browser/debugIcons';
import { IDebugService, IStackFrame } from 'vs/workbench/contrib/debug/common/debug';
@@ -37,7 +37,8 @@ import { IOpenerService } from 'vs/platform/opener/common/opener';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { textLinkForeground } from 'vs/platform/theme/common/colorRegistry';
import { attachStylerCallback } from 'vs/platform/theme/common/styler';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { ViewAction, ViewPane } from 'vs/workbench/browser/parts/views/viewPane';
import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { IViewDescriptorService } from 'vs/workbench/common/views';
@@ -12,7 +12,8 @@ import { SelectBox, ISelectOptionItem } from 'vs/base/browser/ui/selectBox/selec
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { IDebugService, IDebugSession, IDebugConfiguration, IConfig, ILaunch, State } from 'vs/workbench/contrib/debug/common/debug';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { attachSelectBoxStyler, attachStylerCallback } from 'vs/platform/theme/common/styler';
import { selectBorder, selectBackground } from 'vs/platform/theme/common/colorRegistry';
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import { registerColor, foreground, editorInfoForeground, editorWarningForeground, errorForeground, badgeBackground, badgeForeground, listDeemphasizedForeground, contrastBorder, inputBorder, toolbarHoverBackground } from 'vs/platform/theme/common/colorRegistry';
import { registerThemingParticipant, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { localize } from 'vs/nls';
import * as icons from 'vs/workbench/contrib/debug/browser/debugIcons';
@@ -23,7 +23,7 @@ import { IJSONContributionRegistry, Extensions as JSONExtensions } from 'vs/plat
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
import { Registry } from 'vs/platform/registry/common/platform';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity';
import { IWorkspaceContextService, IWorkspaceFolder, IWorkspaceFoldersChangeEvent, WorkbenchState } from 'vs/platform/workspace/common/workspace';
import { IEditorPane } from 'vs/workbench/common/editor';
@@ -14,7 +14,7 @@ import { matchesFuzzy } from 'vs/base/common/filters';
import { withNullAsUndefined } from 'vs/base/common/types';
import { ADD_CONFIGURATION_ID, DEBUG_QUICK_ACCESS_PREFIX } from 'vs/workbench/contrib/debug/browser/debugCommands';
import { debugConfigure, debugRemoveConfig } from 'vs/workbench/contrib/debug/browser/debugIcons';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
export class StartDebugQuickAccessProvider extends PickerQuickAccessProvider<IPickerQuickAccessItem> {
@@ -28,7 +28,8 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { widgetBorder, widgetShadow } from 'vs/platform/theme/common/colorRegistry';
import { IThemeService, Themable, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService, Themable } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
import { FocusSessionActionViewItem } from 'vs/workbench/contrib/debug/browser/debugActionViewItems';
import { debugToolBarBackground, debugToolBarBorder } from 'vs/workbench/contrib/debug/browser/debugColors';
@@ -10,7 +10,8 @@ import { ZoneWidget } from 'vs/editor/contrib/zoneWidget/browser/zoneWidget';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { IExceptionInfo, IDebugSession, IDebugEditorContribution, EDITOR_CONTRIBUTION_ID } from 'vs/workbench/contrib/debug/common/debug';
import { RunOnceScheduler } from 'vs/base/common/async';
import { IThemeService, IColorTheme, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService, IColorTheme } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { Color } from 'vs/base/common/color';
import { registerColor } from 'vs/platform/theme/common/colorRegistry';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
@@ -54,7 +54,8 @@ import { IOpenerService } from 'vs/platform/opener/common/opener';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { editorForeground, resolveColorValue } from 'vs/platform/theme/common/colorRegistry';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { FilterViewPane, IViewPaneOptions, ViewAction } from 'vs/workbench/browser/parts/views/viewPane';
import { IViewDescriptorService, IViewsService } from 'vs/workbench/common/views';
import { getSimpleCodeEditorWidgetOptions, getSimpleEditorOptions } from 'vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
@@ -18,7 +18,8 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { ILabelService } from 'vs/platform/label/common/label';
import { defaultCountBadgeStyles } from 'vs/platform/theme/browser/defaultStyles';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { AbstractExpressionsRenderer, IExpressionTemplateData, IInputBoxOptions, renderExpressionValue, renderVariable } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { handleANSIOutput } from 'vs/workbench/contrib/debug/browser/debugANSIHandling';
import { debugConsoleEvaluationInput } from 'vs/workbench/contrib/debug/browser/debugIcons';
@@ -17,7 +17,7 @@ import { getContext, getContextForContributedActions, getSpecificSourceName } fr
import { getStackFrameThreadAndSessionToFocus } from 'vs/workbench/contrib/debug/browser/debugService';
import { generateUuid } from 'vs/base/common/uuid';
import { debugStackframe, debugStackframeFocused } from 'vs/workbench/contrib/debug/browser/debugIcons';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
import { MockRawSession } from 'vs/workbench/contrib/debug/test/common/mockDebug';
@@ -50,7 +50,7 @@ import { VirtualWorkspaceContext, WorkspaceFolderCountContext } from 'vs/workben
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import { equals } from 'vs/base/common/objects';
import { EditSessionIdentityMatch, IEditSessionIdentityService } from 'vs/platform/workspace/common/editSessions';
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { IOutputService } from 'vs/workbench/services/output/common/output';
import { sha1Hex } from 'vs/base/browser/hash';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
@@ -25,14 +25,15 @@ import { ICredentialsService } from 'vs/platform/credentials/common/credentials'
import { getCurrentAuthenticationSessionInfo } from 'vs/workbench/services/authentication/browser/authenticationService';
import { isWeb } from 'vs/base/common/platform';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { CSSIcon, Codicon } from 'vs/base/common/codicons';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { IUserDataSyncMachinesService, UserDataSyncMachinesService } from 'vs/platform/userDataSync/common/userDataSyncMachines';
import { Emitter } from 'vs/base/common/event';
type ExistingSession = IQuickPickItem & { session: AuthenticationSession & { providerId: string } };
type AuthenticationProviderOption = IQuickPickItem & { provider: IAuthenticationProvider };
const configureContinueOnPreference = { iconClass: CSSIcon.asClassName(Codicon.settingsGear), tooltip: localize('configure continue on', 'Configure this preference in settings') };
const configureContinueOnPreference = { iconClass: ThemeIcon.asClassName(Codicon.settingsGear), tooltip: localize('configure continue on', 'Configure this preference in settings') };
export class EditSessionsWorkbenchService extends Disposable implements IEditSessionsStorageService {
declare _serviceBrand: undefined;
@@ -34,7 +34,8 @@ import {
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
import { IOpenerService, matchesScheme } from 'vs/platform/opener/common/opener';
import { IColorTheme, ICssStyleCollector, IThemeService, registerThemingParticipant, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IColorTheme, ICssStyleCollector, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { KeybindingLabel } from 'vs/base/browser/ui/keybindingLabel/keybindingLabel';
import { ContextKeyExpr, IContextKey, IContextKeyService, RawContextKey } from 'vs/platform/contextkey/common/contextkey';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
@@ -27,7 +27,8 @@ import { IExtensionService, toExtension, toExtensionDescription } from 'vs/workb
import { URI } from 'vs/base/common/uri';
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { registerThemingParticipant, IColorTheme, ICssStyleCollector, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { registerThemingParticipant, IColorTheme, ICssStyleCollector } from 'vs/platform/theme/common/themeService';
import { ThemeIcon } from 'vs/base/common/themables';
import { buttonBackground, buttonForeground, buttonHoverBackground, registerColor, editorWarningForeground, editorInfoForeground, editorErrorForeground, buttonSeparator } from 'vs/platform/theme/common/colorRegistry';
import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing';
import { ITextEditorSelection } from 'vs/platform/editor/common/editor';

Some files were not shown because too many files have changed in this diff Show More