From de2a4bfc93948b2c0f3d5b83b3b5e85521fef484 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 13 Jan 2023 09:49:42 +0100 Subject: [PATCH 1/2] perf - do not use `class` for `Codicon` --- .../base/browser/ui/codicons/codiconStyles.ts | 6 +- src/vs/base/browser/ui/dialog/dialog.ts | 18 +- .../ui/dropdown/dropdownActionViewItem.ts | 2 +- src/vs/base/browser/ui/menu/menu.ts | 4 +- src/vs/base/browser/ui/menu/menubar.ts | 2 +- .../browser/ui/scrollbar/scrollbarArrow.ts | 6 +- src/vs/base/browser/ui/tree/abstractTree.ts | 4 +- src/vs/base/browser/ui/tree/asyncDataTree.ts | 8 +- src/vs/base/common/codicons.ts | 1133 +++++++++-------- .../parts/quickinput/browser/quickInput.ts | 2 +- .../editor/browser/widget/inlineDiffMargin.ts | 2 +- .../codeAction/browser/codeActionMenu.ts | 4 +- .../codeAction/browser/lightBulbWidget.ts | 8 +- .../contrib/peekView/browser/peekView.ts | 2 +- .../browser/gotoSymbolQuickAccess.ts | 2 +- .../suggest/browser/suggestWidgetDetails.ts | 2 +- .../actionWidget/browser/actionList.ts | 8 +- src/vs/platform/dialogs/common/dialogs.ts | 4 +- .../severityIcon/browser/severityIcon.ts | 8 +- src/vs/platform/theme/common/iconRegistry.ts | 2 +- src/vs/platform/theme/common/themeService.ts | 4 +- .../browser/actions/layoutActions.ts | 12 +- .../browser/actions/windowActions.ts | 4 +- .../parts/activitybar/activitybarPart.ts | 2 +- .../browser/parts/banner/bannerPart.ts | 6 +- .../browser/parts/compositeBarActions.ts | 2 +- .../browser/parts/editor/editorActions.ts | 8 +- .../browser/parts/editor/editorQuickAccess.ts | 2 +- .../notifications/notificationsViewer.ts | 8 +- .../contrib/audioCues/browser/commands.ts | 2 +- .../contrib/comments/browser/commentNode.ts | 4 +- .../comments/browser/commentsTreeViewer.ts | 4 +- .../contrib/debug/browser/baseDebugView.ts | 2 +- .../browser/editSessionsStorageService.ts | 2 +- .../contrib/feedback/browser/feedback.ts | 4 +- .../contrib/files/browser/fileActions.ts | 4 +- .../browser/languageStatus.contribution.ts | 4 +- .../markers/browser/markersViewActions.ts | 2 +- .../view/editors/inputCodeEditorView.ts | 4 +- .../browser/commandsQuickAccess.ts | 2 +- .../contrib/scm/browser/dirtydiffDecorator.ts | 2 +- .../contrib/scm/browser/scmViewPane.ts | 2 +- .../search/browser/anythingQuickAccess.ts | 4 +- .../search/browser/symbolsQuickAccess.ts | 2 +- .../contrib/snippets/browser/snippetPicker.ts | 4 +- .../widgets/terminalQuickFixMenuItems.ts | 4 +- .../testing/browser/testingOutputPeek.ts | 8 +- .../welcomeOverlay/browser/welcomeOverlay.ts | 2 +- .../electron-sandbox/actions/windowActions.ts | 2 +- .../parts/titlebar/titlebarPart.ts | 12 +- 50 files changed, 688 insertions(+), 663 deletions(-) diff --git a/src/vs/base/browser/ui/codicons/codiconStyles.ts b/src/vs/base/browser/ui/codicons/codiconStyles.ts index 36fa1c47cfffc..bd965bd49a1c8 100644 --- a/src/vs/base/browser/ui/codicons/codiconStyles.ts +++ b/src/vs/base/browser/ui/codicons/codiconStyles.ts @@ -3,10 +3,10 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { Codicon } from 'vs/base/common/codicons'; +import { ICodicon } from 'vs/base/common/codicons'; import 'vs/css!./codicon/codicon'; import 'vs/css!./codicon/codicon-modifiers'; -export function formatRule(c: Codicon) { - return `.codicon-${c.id}:before { content: '${c.fontCharacter}'; }`; +export function formatRule(c: ICodicon) { + return `.codicon-${c.id}:before { content: '${c.codiconFontCharacter}'; }`; } diff --git a/src/vs/base/browser/ui/dialog/dialog.ts b/src/vs/base/browser/ui/dialog/dialog.ts index e4411793cd7d0..b41b87fd19744 100644 --- a/src/vs/base/browser/ui/dialog/dialog.ts +++ b/src/vs/base/browser/ui/dialog/dialog.ts @@ -10,7 +10,7 @@ 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 { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { mnemonicButtonLabel } from 'vs/base/common/labels'; import { Disposable } from 'vs/base/common/lifecycle'; @@ -33,7 +33,7 @@ export interface IDialogOptions { readonly inputs?: IDialogInputOptions[]; readonly keyEventProcessor?: (event: StandardKeyboardEvent) => void; readonly renderBody?: (container: HTMLElement) => void; - readonly icon?: Codicon; + readonly icon?: ICodicon; readonly buttonDetails?: string[]; readonly disableCloseAction?: boolean; readonly disableDefaultAction?: boolean; @@ -358,26 +358,26 @@ export class Dialog extends Disposable { const spinModifierClassName = 'codicon-modifier-spin'; - this.iconElement.classList.remove(...Codicon.dialogError.classNamesArray, ...Codicon.dialogWarning.classNamesArray, ...Codicon.dialogInfo.classNamesArray, ...Codicon.loading.classNamesArray, spinModifierClassName); + this.iconElement.classList.remove(...Codicon.classNamesArray(Codicon.dialogError), ...Codicon.classNamesArray(Codicon.dialogWarning), ...Codicon.classNamesArray(Codicon.dialogInfo), ...Codicon.classNamesArray(Codicon.loading), spinModifierClassName); if (this.options.icon) { - this.iconElement.classList.add(...this.options.icon.classNamesArray); + this.iconElement.classList.add(...Codicon.classNamesArray(this.options.icon)); } else { switch (this.options.type) { case 'error': - this.iconElement.classList.add(...Codicon.dialogError.classNamesArray); + this.iconElement.classList.add(...Codicon.classNamesArray(Codicon.dialogError)); break; case 'warning': - this.iconElement.classList.add(...Codicon.dialogWarning.classNamesArray); + this.iconElement.classList.add(...Codicon.classNamesArray(Codicon.dialogWarning)); break; case 'pending': - this.iconElement.classList.add(...Codicon.loading.classNamesArray, spinModifierClassName); + this.iconElement.classList.add(...Codicon.classNamesArray(Codicon.loading), spinModifierClassName); break; case 'none': case 'info': case 'question': default: - this.iconElement.classList.add(...Codicon.dialogInfo.classNamesArray); + this.iconElement.classList.add(...Codicon.classNamesArray(Codicon.dialogInfo)); break; } } @@ -386,7 +386,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"), Codicon.dialogClose.classNames, true, async () => { + const action = this._register(new Action('dialog.close', nls.localize('dialogClose', "Close Dialog"), Codicon.classNames(Codicon.dialogClose), true, async () => { resolve({ button: this.options.cancelId || 0, checkboxChecked: this.checkbox ? this.checkbox.checked : undefined diff --git a/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.ts b/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.ts index c23cbd44b046a..d68dcfe20f004 100644 --- a/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.ts +++ b/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.ts @@ -200,7 +200,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', ...Codicon.dropDownButton.classNamesArray, ...menuActionClassNames] }); + this.dropdownMenuActionViewItem = new DropdownMenuActionViewItem(this._register(new Action('dropdownAction', nls.localize('moreActions', "More Actions..."))), menuActionsProvider, this.contextMenuProvider, { classNames: ['dropdown', ...Codicon.classNamesArray(Codicon.dropDownButton), ...menuActionClassNames] }); this.dropdownMenuActionViewItem.render(this.element); this._register(addDisposableListener(this.element, EventType.KEY_DOWN, e => { diff --git a/src/vs/base/browser/ui/menu/menu.ts b/src/vs/base/browser/ui/menu/menu.ts index 322ac1f3c634a..f8e24a19e0c77 100644 --- a/src/vs/base/browser/ui/menu/menu.ts +++ b/src/vs/base/browser/ui/menu/menu.ts @@ -525,7 +525,7 @@ class BaseMenuActionViewItem extends BaseActionViewItem { } } - this.check = append(this.item, $('span.menu-item-check' + Codicon.menuSelection.cssSelector)); + this.check = append(this.item, $('span.menu-item-check' + Codicon.cssSelector(Codicon.menuSelection))); this.check.setAttribute('role', 'none'); this.label = append(this.item, $('span.action-label')); @@ -756,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' + Codicon.menuSubmenu.cssSelector)); + this.submenuIndicator = append(this.item, $('span.submenu-indicator' + Codicon.cssSelector(Codicon.menuSubmenu))); this.submenuIndicator.setAttribute('aria-hidden', 'true'); } diff --git a/src/vs/base/browser/ui/menu/menubar.ts b/src/vs/base/browser/ui/menu/menubar.ts index 9408ea0d0b7cb..b8550e9568c83 100644 --- a/src/vs/base/browser/ui/menu/menubar.ts +++ b/src/vs/base/browser/ui/menu/menubar.ts @@ -314,7 +314,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' + Codicon.menuBarMore.cssSelector, { 'role': 'none', 'aria-hidden': true }); + const titleElement = $('div.menubar-menu-title.toolbar-toggle-more' + Codicon.cssSelector(Codicon.menuBarMore), { 'role': 'none', 'aria-hidden': true }); buttonElement.appendChild(titleElement); this.container.appendChild(buttonElement); diff --git a/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts b/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts index a916f66db4809..a42e650504d1f 100644 --- a/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +++ b/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts @@ -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 { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; 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: Codicon; + icon: ICodicon; 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(...opts.icon.classNamesArray); + this.domNode.classList.add(...Codicon.classNamesArray(opts.icon)); this.domNode.style.position = 'absolute'; this.domNode.style.width = ARROW_IMG_SIZE + 'px'; diff --git a/src/vs/base/browser/ui/tree/abstractTree.ts b/src/vs/base/browser/ui/tree/abstractTree.ts index 7929e13f1fc37..9431154b3f7c2 100644 --- a/src/vs/base/browser/ui/tree/abstractTree.ts +++ b/src/vs/base/browser/ui/tree/abstractTree.ts @@ -455,7 +455,7 @@ class TreeRenderer implements IListRenderer templateData.container.removeAttribute('aria-expanded'); } - templateData.twistie.classList.remove(...Codicon.treeItemExpanded.classNamesArray); + templateData.twistie.classList.remove(...Codicon.classNamesArray(Codicon.treeItemExpanded)); let twistieRendered = false; @@ -465,7 +465,7 @@ class TreeRenderer implements IListRenderer if (node.collapsible && (!this.hideTwistiesOfChildlessElements || node.visibleChildrenCount > 0)) { if (!twistieRendered) { - templateData.twistie.classList.add(...Codicon.treeItemExpanded.classNamesArray); + templateData.twistie.classList.add(...Codicon.classNamesArray(Codicon.treeItemExpanded)); } templateData.twistie.classList.add('collapsible'); diff --git a/src/vs/base/browser/ui/tree/asyncDataTree.ts b/src/vs/base/browser/ui/tree/asyncDataTree.ts index 7d9d0b581b2aa..fca82da0d7141 100644 --- a/src/vs/base/browser/ui/tree/asyncDataTree.ts +++ b/src/vs/base/browser/ui/tree/asyncDataTree.ts @@ -110,10 +110,10 @@ class AsyncDataTreeRenderer implements IT renderTwistie(element: IAsyncDataTreeNode, twistieElement: HTMLElement): boolean { if (element.slow) { - twistieElement.classList.add(...Codicon.treeItemLoading.classNamesArray); + twistieElement.classList.add(...Codicon.classNamesArray(Codicon.treeItemLoading)); return true; } else { - twistieElement.classList.remove(...Codicon.treeItemLoading.classNamesArray); + twistieElement.classList.remove(...Codicon.classNamesArray(Codicon.treeItemLoading)); return false; } } @@ -1105,10 +1105,10 @@ class CompressibleAsyncDataTreeRenderer i renderTwistie(element: IAsyncDataTreeNode, twistieElement: HTMLElement): boolean { if (element.slow) { - twistieElement.classList.add(...Codicon.treeItemLoading.classNamesArray); + twistieElement.classList.add(...Codicon.classNamesArray(Codicon.treeItemLoading)); return true; } else { - twistieElement.classList.remove(...Codicon.treeItemLoading.classNamesArray); + twistieElement.classList.remove(...Codicon.classNamesArray(Codicon.treeItemLoading)); return false; } } diff --git a/src/vs/base/common/codicons.ts b/src/vs/base/common/codicons.ts index 3845d75164924..3d69069faee37 100644 --- a/src/vs/base/common/codicons.ts +++ b/src/vs/base/common/codicons.ts @@ -13,6 +13,30 @@ export function getCodiconAriaLabel(text: string | undefined) { return text.replace(/\$\((.*?)\)/g, (_match, codiconName) => ` ${codiconName} `).trim(); } +export interface ICodicon extends CSSIcon { + readonly codiconFontCharacter: string; + readonly description?: string; +} + +const allCodicons: ICodicon[] = []; + +function makeCodicon(id: string, codiconFontCharacter: string, description?: string): ICodicon { + const codicon = { id, codiconFontCharacter, description }; + allCodicons.push(codicon); + + return codicon; +} + +export function isCodicon(obj: unknown): obj is ICodicon { + if (!obj) { + return false; + } + + const candidate: ICodicon = obj as ICodicon; + + return typeof candidate.id === 'string' && typeof candidate.codiconFontCharacter === 'string'; +} + /** * The Codicon library is a set of default icons that are built-in in VS Code. * @@ -20,575 +44,576 @@ export function getCodiconAriaLabel(text: string | undefined) { * themeable, component should define new, UI component specific icons using `iconRegistry.registerIcon`. * In that call a Codicon can be named as default. */ -export class Codicon implements CSSIcon { +export namespace Codicon { - private constructor(public readonly id: string, public readonly fontCharacter: string, public description?: string) { - Codicon._allCodicons.push(this); - } - public get classNames() { return 'codicon codicon-' + this.id; } - // classNamesArray is useful for migrating to ES6 classlist - public get classNamesArray() { return ['codicon', 'codicon-' + this.id]; } - public get cssSelector() { return '.codicon.codicon-' + this.id; } + // built-in icons, with image name + export const add = makeCodicon('add', '\\ea60'); + export const plus = makeCodicon('plus', Codicon.add.codiconFontCharacter); + export const gistNew = makeCodicon('gist-new', Codicon.add.codiconFontCharacter); + export const repoCreate = makeCodicon('repo-create', Codicon.add.codiconFontCharacter); + export const lightbulb = makeCodicon('lightbulb', '\\ea61'); + export const lightBulb = makeCodicon('light-bulb', '\\ea61'); + export const repo = makeCodicon('repo', '\\ea62'); + export const repoDelete = makeCodicon('repo-delete', '\\ea62'); + export const gistFork = makeCodicon('gist-fork', '\\ea63'); + export const repoForked = makeCodicon('repo-forked', '\\ea63'); + export const gitPullRequest = makeCodicon('git-pull-request', '\\ea64'); + export const gitPullRequestAbandoned = makeCodicon('git-pull-request-abandoned', '\\ea64'); + export const recordKeys = makeCodicon('record-keys', '\\ea65'); + export const keyboard = makeCodicon('keyboard', '\\ea65'); + export const tag = makeCodicon('tag', '\\ea66'); + export const tagAdd = makeCodicon('tag-add', '\\ea66'); + export const tagRemove = makeCodicon('tag-remove', '\\ea66'); + export const person = makeCodicon('person', '\\ea67'); + export const personFollow = makeCodicon('person-follow', '\\ea67'); + export const personOutline = makeCodicon('person-outline', '\\ea67'); + export const personFilled = makeCodicon('person-filled', '\\ea67'); + export const gitBranch = makeCodicon('git-branch', '\\ea68'); + export const gitBranchCreate = makeCodicon('git-branch-create', '\\ea68'); + export const gitBranchDelete = makeCodicon('git-branch-delete', '\\ea68'); + export const sourceControl = makeCodicon('source-control', '\\ea68'); + export const mirror = makeCodicon('mirror', '\\ea69'); + export const mirrorPublic = makeCodicon('mirror-public', '\\ea69'); + export const star = makeCodicon('star', '\\ea6a'); + export const starAdd = makeCodicon('star-add', '\\ea6a'); + export const starDelete = makeCodicon('star-delete', '\\ea6a'); + export const starEmpty = makeCodicon('star-empty', '\\ea6a'); + export const comment = makeCodicon('comment', '\\ea6b'); + export const commentAdd = makeCodicon('comment-add', '\\ea6b'); + export const alert = makeCodicon('alert', '\\ea6c'); + export const warning = makeCodicon('warning', '\\ea6c'); + export const search = makeCodicon('search', '\\ea6d'); + export const searchSave = makeCodicon('search-save', '\\ea6d'); + export const logOut = makeCodicon('log-out', '\\ea6e'); + export const signOut = makeCodicon('sign-out', '\\ea6e'); + export const logIn = makeCodicon('log-in', '\\ea6f'); + export const signIn = makeCodicon('sign-in', '\\ea6f'); + export const eye = makeCodicon('eye', '\\ea70'); + export const eyeUnwatch = makeCodicon('eye-unwatch', '\\ea70'); + export const eyeWatch = makeCodicon('eye-watch', '\\ea70'); + export const circleFilled = makeCodicon('circle-filled', '\\ea71'); + export const primitiveDot = makeCodicon('primitive-dot', Codicon.circleFilled.codiconFontCharacter); + export const closeDirty = makeCodicon('close-dirty', Codicon.circleFilled.codiconFontCharacter); + export const debugBreakpoint = makeCodicon('debug-breakpoint', Codicon.circleFilled.codiconFontCharacter); + export const debugBreakpointDisabled = makeCodicon('debug-breakpoint-disabled', Codicon.circleFilled.codiconFontCharacter); + export const debugHint = makeCodicon('debug-hint', Codicon.circleFilled.codiconFontCharacter); + export const primitiveSquare = makeCodicon('primitive-square', '\\ea72'); + export const edit = makeCodicon('edit', '\\ea73'); + export const pencil = makeCodicon('pencil', '\\ea73'); + export const info = makeCodicon('info', '\\ea74'); + export const issueOpened = makeCodicon('issue-opened', '\\ea74'); + export const gistPrivate = makeCodicon('gist-private', '\\ea75'); + export const gitForkPrivate = makeCodicon('git-fork-private', '\\ea75'); + export const lock = makeCodicon('lock', '\\ea75'); + export const mirrorPrivate = makeCodicon('mirror-private', '\\ea75'); + export const close = makeCodicon('close', '\\ea76'); + export const removeClose = makeCodicon('remove-close', '\\ea76'); + export const x = makeCodicon('x', '\\ea76'); + export const repoSync = makeCodicon('repo-sync', '\\ea77'); + export const sync = makeCodicon('sync', '\\ea77'); + export const clone = makeCodicon('clone', '\\ea78'); + export const desktopDownload = makeCodicon('desktop-download', '\\ea78'); + export const beaker = makeCodicon('beaker', '\\ea79'); + export const microscope = makeCodicon('microscope', '\\ea79'); + export const vm = makeCodicon('vm', '\\ea7a'); + export const deviceDesktop = makeCodicon('device-desktop', '\\ea7a'); + export const file = makeCodicon('file', '\\ea7b'); + export const fileText = makeCodicon('file-text', '\\ea7b'); + export const more = makeCodicon('more', '\\ea7c'); + export const ellipsis = makeCodicon('ellipsis', '\\ea7c'); + export const kebabHorizontal = makeCodicon('kebab-horizontal', '\\ea7c'); + export const mailReply = makeCodicon('mail-reply', '\\ea7d'); + export const reply = makeCodicon('reply', '\\ea7d'); + export const organization = makeCodicon('organization', '\\ea7e'); + export const organizationFilled = makeCodicon('organization-filled', '\\ea7e'); + export const organizationOutline = makeCodicon('organization-outline', '\\ea7e'); + export const newFile = makeCodicon('new-file', '\\ea7f'); + export const fileAdd = makeCodicon('file-add', '\\ea7f'); + export const newFolder = makeCodicon('new-folder', '\\ea80'); + export const fileDirectoryCreate = makeCodicon('file-directory-create', '\\ea80'); + export const trash = makeCodicon('trash', '\\ea81'); + export const trashcan = makeCodicon('trashcan', '\\ea81'); + export const history = makeCodicon('history', '\\ea82'); + export const clock = makeCodicon('clock', '\\ea82'); + export const folder = makeCodicon('folder', '\\ea83'); + export const fileDirectory = makeCodicon('file-directory', '\\ea83'); + export const symbolFolder = makeCodicon('symbol-folder', '\\ea83'); + export const logoGithub = makeCodicon('logo-github', '\\ea84'); + export const markGithub = makeCodicon('mark-github', '\\ea84'); + export const github = makeCodicon('github', '\\ea84'); + export const terminal = makeCodicon('terminal', '\\ea85'); + export const console = makeCodicon('console', '\\ea85'); + export const repl = makeCodicon('repl', '\\ea85'); + export const zap = makeCodicon('zap', '\\ea86'); + export const symbolEvent = makeCodicon('symbol-event', '\\ea86'); + export const error = makeCodicon('error', '\\ea87'); + export const stop = makeCodicon('stop', '\\ea87'); + export const variable = makeCodicon('variable', '\\ea88'); + export const symbolVariable = makeCodicon('symbol-variable', '\\ea88'); + export const array = makeCodicon('array', '\\ea8a'); + export const symbolArray = makeCodicon('symbol-array', '\\ea8a'); + export const symbolModule = makeCodicon('symbol-module', '\\ea8b'); + export const symbolPackage = makeCodicon('symbol-package', '\\ea8b'); + export const symbolNamespace = makeCodicon('symbol-namespace', '\\ea8b'); + export const symbolObject = makeCodicon('symbol-object', '\\ea8b'); + export const symbolMethod = makeCodicon('symbol-method', '\\ea8c'); + export const symbolFunction = makeCodicon('symbol-function', '\\ea8c'); + export const symbolConstructor = makeCodicon('symbol-constructor', '\\ea8c'); + export const symbolBoolean = makeCodicon('symbol-boolean', '\\ea8f'); + export const symbolNull = makeCodicon('symbol-null', '\\ea8f'); + export const symbolNumeric = makeCodicon('symbol-numeric', '\\ea90'); + export const symbolNumber = makeCodicon('symbol-number', '\\ea90'); + export const symbolStructure = makeCodicon('symbol-structure', '\\ea91'); + export const symbolStruct = makeCodicon('symbol-struct', '\\ea91'); + export const symbolParameter = makeCodicon('symbol-parameter', '\\ea92'); + export const symbolTypeParameter = makeCodicon('symbol-type-parameter', '\\ea92'); + export const symbolKey = makeCodicon('symbol-key', '\\ea93'); + export const symbolText = makeCodicon('symbol-text', '\\ea93'); + export const symbolReference = makeCodicon('symbol-reference', '\\ea94'); + export const goToFile = makeCodicon('go-to-file', '\\ea94'); + export const symbolEnum = makeCodicon('symbol-enum', '\\ea95'); + export const symbolValue = makeCodicon('symbol-value', '\\ea95'); + export const symbolRuler = makeCodicon('symbol-ruler', '\\ea96'); + export const symbolUnit = makeCodicon('symbol-unit', '\\ea96'); + export const activateBreakpoints = makeCodicon('activate-breakpoints', '\\ea97'); + export const archive = makeCodicon('archive', '\\ea98'); + export const arrowBoth = makeCodicon('arrow-both', '\\ea99'); + export const arrowDown = makeCodicon('arrow-down', '\\ea9a'); + export const arrowLeft = makeCodicon('arrow-left', '\\ea9b'); + export const arrowRight = makeCodicon('arrow-right', '\\ea9c'); + export const arrowSmallDown = makeCodicon('arrow-small-down', '\\ea9d'); + export const arrowSmallLeft = makeCodicon('arrow-small-left', '\\ea9e'); + export const arrowSmallRight = makeCodicon('arrow-small-right', '\\ea9f'); + export const arrowSmallUp = makeCodicon('arrow-small-up', '\\eaa0'); + export const arrowUp = makeCodicon('arrow-up', '\\eaa1'); + export const bell = makeCodicon('bell', '\\eaa2'); + export const bold = makeCodicon('bold', '\\eaa3'); + export const book = makeCodicon('book', '\\eaa4'); + export const bookmark = makeCodicon('bookmark', '\\eaa5'); + export const debugBreakpointConditionalUnverified = makeCodicon('debug-breakpoint-conditional-unverified', '\\eaa6'); + export const debugBreakpointConditional = makeCodicon('debug-breakpoint-conditional', '\\eaa7'); + export const debugBreakpointConditionalDisabled = makeCodicon('debug-breakpoint-conditional-disabled', '\\eaa7'); + export const debugBreakpointDataUnverified = makeCodicon('debug-breakpoint-data-unverified', '\\eaa8'); + export const debugBreakpointData = makeCodicon('debug-breakpoint-data', '\\eaa9'); + export const debugBreakpointDataDisabled = makeCodicon('debug-breakpoint-data-disabled', '\\eaa9'); + export const debugBreakpointLogUnverified = makeCodicon('debug-breakpoint-log-unverified', '\\eaaa'); + export const debugBreakpointLog = makeCodicon('debug-breakpoint-log', '\\eaab'); + export const debugBreakpointLogDisabled = makeCodicon('debug-breakpoint-log-disabled', '\\eaab'); + export const briefcase = makeCodicon('briefcase', '\\eaac'); + export const broadcast = makeCodicon('broadcast', '\\eaad'); + export const browser = makeCodicon('browser', '\\eaae'); + export const bug = makeCodicon('bug', '\\eaaf'); + export const calendar = makeCodicon('calendar', '\\eab0'); + export const caseSensitive = makeCodicon('case-sensitive', '\\eab1'); + export const check = makeCodicon('check', '\\eab2'); + export const checklist = makeCodicon('checklist', '\\eab3'); + export const chevronDown = makeCodicon('chevron-down', '\\eab4'); + export const dropDownButton = makeCodicon('drop-down-button', Codicon.chevronDown.codiconFontCharacter); + export const chevronLeft = makeCodicon('chevron-left', '\\eab5'); + export const chevronRight = makeCodicon('chevron-right', '\\eab6'); + export const chevronUp = makeCodicon('chevron-up', '\\eab7'); + export const chromeClose = makeCodicon('chrome-close', '\\eab8'); + export const chromeMaximize = makeCodicon('chrome-maximize', '\\eab9'); + export const chromeMinimize = makeCodicon('chrome-minimize', '\\eaba'); + export const chromeRestore = makeCodicon('chrome-restore', '\\eabb'); + export const circle = makeCodicon('circle', '\\eabc'); + export const circleOutline = makeCodicon('circle-outline', Codicon.circle.codiconFontCharacter); + export const debugBreakpointUnverified = makeCodicon('debug-breakpoint-unverified', Codicon.circle.codiconFontCharacter); + export const circleSlash = makeCodicon('circle-slash', '\\eabd'); + export const circuitBoard = makeCodicon('circuit-board', '\\eabe'); + export const clearAll = makeCodicon('clear-all', '\\eabf'); + export const clippy = makeCodicon('clippy', '\\eac0'); + export const closeAll = makeCodicon('close-all', '\\eac1'); + export const cloudDownload = makeCodicon('cloud-download', '\\eac2'); + export const cloudUpload = makeCodicon('cloud-upload', '\\eac3'); + export const code = makeCodicon('code', '\\eac4'); + export const collapseAll = makeCodicon('collapse-all', '\\eac5'); + export const colorMode = makeCodicon('color-mode', '\\eac6'); + export const commentDiscussion = makeCodicon('comment-discussion', '\\eac7'); + export const compareChanges = makeCodicon('compare-changes', '\\eafd'); + export const creditCard = makeCodicon('credit-card', '\\eac9'); + export const dash = makeCodicon('dash', '\\eacc'); + export const dashboard = makeCodicon('dashboard', '\\eacd'); + export const database = makeCodicon('database', '\\eace'); + export const debugContinue = makeCodicon('debug-continue', '\\eacf'); + export const debugDisconnect = makeCodicon('debug-disconnect', '\\ead0'); + export const debugPause = makeCodicon('debug-pause', '\\ead1'); + export const debugRestart = makeCodicon('debug-restart', '\\ead2'); + export const debugStart = makeCodicon('debug-start', '\\ead3'); + export const debugStepInto = makeCodicon('debug-step-into', '\\ead4'); + export const debugStepOut = makeCodicon('debug-step-out', '\\ead5'); + export const debugStepOver = makeCodicon('debug-step-over', '\\ead6'); + export const debugStop = makeCodicon('debug-stop', '\\ead7'); + export const debug = makeCodicon('debug', '\\ead8'); + export const deviceCameraVideo = makeCodicon('device-camera-video', '\\ead9'); + export const deviceCamera = makeCodicon('device-camera', '\\eada'); + export const deviceMobile = makeCodicon('device-mobile', '\\eadb'); + export const diffAdded = makeCodicon('diff-added', '\\eadc'); + export const diffIgnored = makeCodicon('diff-ignored', '\\eadd'); + export const diffModified = makeCodicon('diff-modified', '\\eade'); + export const diffRemoved = makeCodicon('diff-removed', '\\eadf'); + export const diffRenamed = makeCodicon('diff-renamed', '\\eae0'); + export const diff = makeCodicon('diff', '\\eae1'); + export const discard = makeCodicon('discard', '\\eae2'); + export const editorLayout = makeCodicon('editor-layout', '\\eae3'); + export const emptyWindow = makeCodicon('empty-window', '\\eae4'); + export const exclude = makeCodicon('exclude', '\\eae5'); + export const extensions = makeCodicon('extensions', '\\eae6'); + export const eyeClosed = makeCodicon('eye-closed', '\\eae7'); + export const fileBinary = makeCodicon('file-binary', '\\eae8'); + export const fileCode = makeCodicon('file-code', '\\eae9'); + export const fileMedia = makeCodicon('file-media', '\\eaea'); + export const filePdf = makeCodicon('file-pdf', '\\eaeb'); + export const fileSubmodule = makeCodicon('file-submodule', '\\eaec'); + export const fileSymlinkDirectory = makeCodicon('file-symlink-directory', '\\eaed'); + export const fileSymlinkFile = makeCodicon('file-symlink-file', '\\eaee'); + export const fileZip = makeCodicon('file-zip', '\\eaef'); + export const files = makeCodicon('files', '\\eaf0'); + export const filter = makeCodicon('filter', '\\eaf1'); + export const flame = makeCodicon('flame', '\\eaf2'); + export const foldDown = makeCodicon('fold-down', '\\eaf3'); + export const foldUp = makeCodicon('fold-up', '\\eaf4'); + export const fold = makeCodicon('fold', '\\eaf5'); + export const folderActive = makeCodicon('folder-active', '\\eaf6'); + export const folderOpened = makeCodicon('folder-opened', '\\eaf7'); + export const gear = makeCodicon('gear', '\\eaf8'); + export const gift = makeCodicon('gift', '\\eaf9'); + export const gistSecret = makeCodicon('gist-secret', '\\eafa'); + export const gist = makeCodicon('gist', '\\eafb'); + export const gitCommit = makeCodicon('git-commit', '\\eafc'); + export const gitCompare = makeCodicon('git-compare', '\\eafd'); + export const gitMerge = makeCodicon('git-merge', '\\eafe'); + export const githubAction = makeCodicon('github-action', '\\eaff'); + export const githubAlt = makeCodicon('github-alt', '\\eb00'); + export const globe = makeCodicon('globe', '\\eb01'); + export const grabber = makeCodicon('grabber', '\\eb02'); + export const graph = makeCodicon('graph', '\\eb03'); + export const gripper = makeCodicon('gripper', '\\eb04'); + export const heart = makeCodicon('heart', '\\eb05'); + export const home = makeCodicon('home', '\\eb06'); + export const horizontalRule = makeCodicon('horizontal-rule', '\\eb07'); + export const hubot = makeCodicon('hubot', '\\eb08'); + export const inbox = makeCodicon('inbox', '\\eb09'); + export const issueClosed = makeCodicon('issue-closed', '\\eba4'); + export const issueReopened = makeCodicon('issue-reopened', '\\eb0b'); + export const issues = makeCodicon('issues', '\\eb0c'); + export const italic = makeCodicon('italic', '\\eb0d'); + export const jersey = makeCodicon('jersey', '\\eb0e'); + export const json = makeCodicon('json', '\\eb0f'); + export const kebabVertical = makeCodicon('kebab-vertical', '\\eb10'); + export const key = makeCodicon('key', '\\eb11'); + export const law = makeCodicon('law', '\\eb12'); + export const lightbulbAutofix = makeCodicon('lightbulb-autofix', '\\eb13'); + export const linkExternal = makeCodicon('link-external', '\\eb14'); + export const link = makeCodicon('link', '\\eb15'); + export const listOrdered = makeCodicon('list-ordered', '\\eb16'); + export const listUnordered = makeCodicon('list-unordered', '\\eb17'); + export const liveShare = makeCodicon('live-share', '\\eb18'); + export const loading = makeCodicon('loading', '\\eb19'); + export const location = makeCodicon('location', '\\eb1a'); + export const mailRead = makeCodicon('mail-read', '\\eb1b'); + export const mail = makeCodicon('mail', '\\eb1c'); + export const markdown = makeCodicon('markdown', '\\eb1d'); + export const megaphone = makeCodicon('megaphone', '\\eb1e'); + export const mention = makeCodicon('mention', '\\eb1f'); + export const milestone = makeCodicon('milestone', '\\eb20'); + export const mortarBoard = makeCodicon('mortar-board', '\\eb21'); + export const move = makeCodicon('move', '\\eb22'); + export const multipleWindows = makeCodicon('multiple-windows', '\\eb23'); + export const mute = makeCodicon('mute', '\\eb24'); + export const noNewline = makeCodicon('no-newline', '\\eb25'); + export const note = makeCodicon('note', '\\eb26'); + export const octoface = makeCodicon('octoface', '\\eb27'); + export const openPreview = makeCodicon('open-preview', '\\eb28'); + export const package_ = makeCodicon('package', '\\eb29'); + export const paintcan = makeCodicon('paintcan', '\\eb2a'); + export const pin = makeCodicon('pin', '\\eb2b'); + export const play = makeCodicon('play', '\\eb2c'); + export const run = makeCodicon('run', '\\eb2c'); + export const plug = makeCodicon('plug', '\\eb2d'); + export const preserveCase = makeCodicon('preserve-case', '\\eb2e'); + export const preview = makeCodicon('preview', '\\eb2f'); + export const project = makeCodicon('project', '\\eb30'); + export const pulse = makeCodicon('pulse', '\\eb31'); + export const question = makeCodicon('question', '\\eb32'); + export const quote = makeCodicon('quote', '\\eb33'); + export const radioTower = makeCodicon('radio-tower', '\\eb34'); + export const reactions = makeCodicon('reactions', '\\eb35'); + export const references = makeCodicon('references', '\\eb36'); + export const refresh = makeCodicon('refresh', '\\eb37'); + export const regex = makeCodicon('regex', '\\eb38'); + export const remoteExplorer = makeCodicon('remote-explorer', '\\eb39'); + export const remote = makeCodicon('remote', '\\eb3a'); + export const remove = makeCodicon('remove', '\\eb3b'); + export const replaceAll = makeCodicon('replace-all', '\\eb3c'); + export const replace = makeCodicon('replace', '\\eb3d'); + export const repoClone = makeCodicon('repo-clone', '\\eb3e'); + export const repoForcePush = makeCodicon('repo-force-push', '\\eb3f'); + export const repoPull = makeCodicon('repo-pull', '\\eb40'); + export const repoPush = makeCodicon('repo-push', '\\eb41'); + export const report = makeCodicon('report', '\\eb42'); + export const requestChanges = makeCodicon('request-changes', '\\eb43'); + export const rocket = makeCodicon('rocket', '\\eb44'); + export const rootFolderOpened = makeCodicon('root-folder-opened', '\\eb45'); + export const rootFolder = makeCodicon('root-folder', '\\eb46'); + export const rss = makeCodicon('rss', '\\eb47'); + export const ruby = makeCodicon('ruby', '\\eb48'); + export const saveAll = makeCodicon('save-all', '\\eb49'); + export const saveAs = makeCodicon('save-as', '\\eb4a'); + export const save = makeCodicon('save', '\\eb4b'); + export const screenFull = makeCodicon('screen-full', '\\eb4c'); + export const screenNormal = makeCodicon('screen-normal', '\\eb4d'); + export const searchStop = makeCodicon('search-stop', '\\eb4e'); + export const server = makeCodicon('server', '\\eb50'); + export const settingsGear = makeCodicon('settings-gear', '\\eb51'); + export const settings = makeCodicon('settings', '\\eb52'); + export const shield = makeCodicon('shield', '\\eb53'); + export const smiley = makeCodicon('smiley', '\\eb54'); + export const sortPrecedence = makeCodicon('sort-precedence', '\\eb55'); + export const splitHorizontal = makeCodicon('split-horizontal', '\\eb56'); + export const splitVertical = makeCodicon('split-vertical', '\\eb57'); + export const squirrel = makeCodicon('squirrel', '\\eb58'); + export const starFull = makeCodicon('star-full', '\\eb59'); + export const starHalf = makeCodicon('star-half', '\\eb5a'); + export const symbolClass = makeCodicon('symbol-class', '\\eb5b'); + export const symbolColor = makeCodicon('symbol-color', '\\eb5c'); + export const symbolCustomColor = makeCodicon('symbol-customcolor', '\\eb5c'); + export const symbolConstant = makeCodicon('symbol-constant', '\\eb5d'); + export const symbolEnumMember = makeCodicon('symbol-enum-member', '\\eb5e'); + export const symbolField = makeCodicon('symbol-field', '\\eb5f'); + export const symbolFile = makeCodicon('symbol-file', '\\eb60'); + export const symbolInterface = makeCodicon('symbol-interface', '\\eb61'); + export const symbolKeyword = makeCodicon('symbol-keyword', '\\eb62'); + export const symbolMisc = makeCodicon('symbol-misc', '\\eb63'); + export const symbolOperator = makeCodicon('symbol-operator', '\\eb64'); + export const symbolProperty = makeCodicon('symbol-property', '\\eb65'); + export const wrench = makeCodicon('wrench', '\\eb65'); + export const wrenchSubaction = makeCodicon('wrench-subaction', '\\eb65'); + export const symbolSnippet = makeCodicon('symbol-snippet', '\\eb66'); + export const tasklist = makeCodicon('tasklist', '\\eb67'); + export const telescope = makeCodicon('telescope', '\\eb68'); + export const textSize = makeCodicon('text-size', '\\eb69'); + export const threeBars = makeCodicon('three-bars', '\\eb6a'); + export const thumbsdown = makeCodicon('thumbsdown', '\\eb6b'); + export const thumbsup = makeCodicon('thumbsup', '\\eb6c'); + export const tools = makeCodicon('tools', '\\eb6d'); + export const triangleDown = makeCodicon('triangle-down', '\\eb6e'); + export const triangleLeft = makeCodicon('triangle-left', '\\eb6f'); + export const triangleRight = makeCodicon('triangle-right', '\\eb70'); + export const triangleUp = makeCodicon('triangle-up', '\\eb71'); + export const twitter = makeCodicon('twitter', '\\eb72'); + export const unfold = makeCodicon('unfold', '\\eb73'); + export const unlock = makeCodicon('unlock', '\\eb74'); + export const unmute = makeCodicon('unmute', '\\eb75'); + export const unverified = makeCodicon('unverified', '\\eb76'); + export const verified = makeCodicon('verified', '\\eb77'); + export const versions = makeCodicon('versions', '\\eb78'); + export const vmActive = makeCodicon('vm-active', '\\eb79'); + export const vmOutline = makeCodicon('vm-outline', '\\eb7a'); + export const vmRunning = makeCodicon('vm-running', '\\eb7b'); + export const watch = makeCodicon('watch', '\\eb7c'); + export const whitespace = makeCodicon('whitespace', '\\eb7d'); + export const wholeWord = makeCodicon('whole-word', '\\eb7e'); + export const window = makeCodicon('window', '\\eb7f'); + export const wordWrap = makeCodicon('word-wrap', '\\eb80'); + export const zoomIn = makeCodicon('zoom-in', '\\eb81'); + export const zoomOut = makeCodicon('zoom-out', '\\eb82'); + export const listFilter = makeCodicon('list-filter', '\\eb83'); + export const listFlat = makeCodicon('list-flat', '\\eb84'); + export const listSelection = makeCodicon('list-selection', '\\eb85'); + export const selection = makeCodicon('selection', '\\eb85'); + export const listTree = makeCodicon('list-tree', '\\eb86'); + export const debugBreakpointFunctionUnverified = makeCodicon('debug-breakpoint-function-unverified', '\\eb87'); + export const debugBreakpointFunction = makeCodicon('debug-breakpoint-function', '\\eb88'); + export const debugBreakpointFunctionDisabled = makeCodicon('debug-breakpoint-function-disabled', '\\eb88'); + export const debugStackframeActive = makeCodicon('debug-stackframe-active', '\\eb89'); + export const circleSmallFilled = makeCodicon('circle-small-filled', '\\eb8a'); + export const debugStackframeDot = makeCodicon('debug-stackframe-dot', circleSmallFilled.codiconFontCharacter); + export const debugStackframe = makeCodicon('debug-stackframe', '\\eb8b'); + export const debugStackframeFocused = makeCodicon('debug-stackframe-focused', '\\eb8b'); + export const debugBreakpointUnsupported = makeCodicon('debug-breakpoint-unsupported', '\\eb8c'); + export const symbolString = makeCodicon('symbol-string', '\\eb8d'); + export const debugReverseContinue = makeCodicon('debug-reverse-continue', '\\eb8e'); + export const debugStepBack = makeCodicon('debug-step-back', '\\eb8f'); + export const debugRestartFrame = makeCodicon('debug-restart-frame', '\\eb90'); + export const callIncoming = makeCodicon('call-incoming', '\\eb92'); + export const callOutgoing = makeCodicon('call-outgoing', '\\eb93'); + export const menu = makeCodicon('menu', '\\eb94'); + export const expandAll = makeCodicon('expand-all', '\\eb95'); + export const feedback = makeCodicon('feedback', '\\eb96'); + export const groupByRefType = makeCodicon('group-by-ref-type', '\\eb97'); + export const ungroupByRefType = makeCodicon('ungroup-by-ref-type', '\\eb98'); + export const account = makeCodicon('account', '\\eb99'); + export const bellDot = makeCodicon('bell-dot', '\\eb9a'); + export const debugConsole = makeCodicon('debug-console', '\\eb9b'); + export const library = makeCodicon('library', '\\eb9c'); + export const output = makeCodicon('output', '\\eb9d'); + export const runAll = makeCodicon('run-all', '\\eb9e'); + export const syncIgnored = makeCodicon('sync-ignored', '\\eb9f'); + export const pinned = makeCodicon('pinned', '\\eba0'); + export const githubInverted = makeCodicon('github-inverted', '\\eba1'); + export const debugAlt = makeCodicon('debug-alt', '\\eb91'); + export const serverProcess = makeCodicon('server-process', '\\eba2'); + export const serverEnvironment = makeCodicon('server-environment', '\\eba3'); + export const pass = makeCodicon('pass', '\\eba4'); + export const stopCircle = makeCodicon('stop-circle', '\\eba5'); + export const playCircle = makeCodicon('play-circle', '\\eba6'); + export const record = makeCodicon('record', '\\eba7'); + export const debugAltSmall = makeCodicon('debug-alt-small', '\\eba8'); + export const vmConnect = makeCodicon('vm-connect', '\\eba9'); + export const cloud = makeCodicon('cloud', '\\ebaa'); + export const merge = makeCodicon('merge', '\\ebab'); + export const exportIcon = makeCodicon('export', '\\ebac'); + export const graphLeft = makeCodicon('graph-left', '\\ebad'); + export const magnet = makeCodicon('magnet', '\\ebae'); + export const notebook = makeCodicon('notebook', '\\ebaf'); + export const redo = makeCodicon('redo', '\\ebb0'); + export const checkAll = makeCodicon('check-all', '\\ebb1'); + export const pinnedDirty = makeCodicon('pinned-dirty', '\\ebb2'); + export const passFilled = makeCodicon('pass-filled', '\\ebb3'); + export const circleLargeFilled = makeCodicon('circle-large-filled', '\\ebb4'); + export const circleLarge = makeCodicon('circle-large', '\\ebb5'); + export const circleLargeOutline = makeCodicon('circle-large-outline', circleLarge.codiconFontCharacter); + export const combine = makeCodicon('combine', '\\ebb6'); + export const gather = makeCodicon('gather', '\\ebb6'); + export const table = makeCodicon('table', '\\ebb7'); + export const variableGroup = makeCodicon('variable-group', '\\ebb8'); + export const typeHierarchy = makeCodicon('type-hierarchy', '\\ebb9'); + export const typeHierarchySub = makeCodicon('type-hierarchy-sub', '\\ebba'); + export const typeHierarchySuper = makeCodicon('type-hierarchy-super', '\\ebbb'); + export const gitPullRequestCreate = makeCodicon('git-pull-request-create', '\\ebbc'); + export const runAbove = makeCodicon('run-above', '\\ebbd'); + export const runBelow = makeCodicon('run-below', '\\ebbe'); + export const notebookTemplate = makeCodicon('notebook-template', '\\ebbf'); + export const debugRerun = makeCodicon('debug-rerun', '\\ebc0'); + export const workspaceTrusted = makeCodicon('workspace-trusted', '\\ebc1'); + export const workspaceUntrusted = makeCodicon('workspace-untrusted', '\\ebc2'); + export const workspaceUnspecified = makeCodicon('workspace-unspecified', '\\ebc3'); + export const terminalCmd = makeCodicon('terminal-cmd', '\\ebc4'); + export const terminalDebian = makeCodicon('terminal-debian', '\\ebc5'); + export const terminalLinux = makeCodicon('terminal-linux', '\\ebc6'); + export const terminalPowershell = makeCodicon('terminal-powershell', '\\ebc7'); + export const terminalTmux = makeCodicon('terminal-tmux', '\\ebc8'); + export const terminalUbuntu = makeCodicon('terminal-ubuntu', '\\ebc9'); + export const terminalBash = makeCodicon('terminal-bash', '\\ebca'); + export const arrowSwap = makeCodicon('arrow-swap', '\\ebcb'); + export const copy = makeCodicon('copy', '\\ebcc'); + export const personAdd = makeCodicon('person-add', '\\ebcd'); + export const filterFilled = makeCodicon('filter-filled', '\\ebce'); + export const wand = makeCodicon('wand', '\\ebcf'); + export const debugLineByLine = makeCodicon('debug-line-by-line', '\\ebd0'); + export const inspect = makeCodicon('inspect', '\\ebd1'); + export const layers = makeCodicon('layers', '\\ebd2'); + export const layersDot = makeCodicon('layers-dot', '\\ebd3'); + export const layersActive = makeCodicon('layers-active', '\\ebd4'); + export const compass = makeCodicon('compass', '\\ebd5'); + export const compassDot = makeCodicon('compass-dot', '\\ebd6'); + export const compassActive = makeCodicon('compass-active', '\\ebd7'); + export const azure = makeCodicon('azure', '\\ebd8'); + export const issueDraft = makeCodicon('issue-draft', '\\ebd9'); + export const gitPullRequestClosed = makeCodicon('git-pull-request-closed', '\\ebda'); + export const gitPullRequestDraft = makeCodicon('git-pull-request-draft', '\\ebdb'); + export const debugAll = makeCodicon('debug-all', '\\ebdc'); + export const debugCoverage = makeCodicon('debug-coverage', '\\ebdd'); + export const runErrors = makeCodicon('run-errors', '\\ebde'); + export const folderLibrary = makeCodicon('folder-library', '\\ebdf'); + export const debugContinueSmall = makeCodicon('debug-continue-small', '\\ebe0'); + export const beakerStop = makeCodicon('beaker-stop', '\\ebe1'); + export const graphLine = makeCodicon('graph-line', '\\ebe2'); + export const graphScatter = makeCodicon('graph-scatter', '\\ebe3'); + export const pieChart = makeCodicon('pie-chart', '\\ebe4'); + export const bracket = makeCodicon('bracket', json.codiconFontCharacter); + export const bracketDot = makeCodicon('bracket-dot', '\\ebe5'); + export const bracketError = makeCodicon('bracket-error', '\\ebe6'); + export const lockSmall = makeCodicon('lock-small', '\\ebe7'); + export const azureDevops = makeCodicon('azure-devops', '\\ebe8'); + export const verifiedFilled = makeCodicon('verified-filled', '\\ebe9'); + export const newLine = makeCodicon('newline', '\\ebea'); + export const layout = makeCodicon('layout', '\\ebeb'); + export const layoutActivitybarLeft = makeCodicon('layout-activitybar-left', '\\ebec'); + export const layoutActivitybarRight = makeCodicon('layout-activitybar-right', '\\ebed'); + export const layoutPanelLeft = makeCodicon('layout-panel-left', '\\ebee'); + export const layoutPanelCenter = makeCodicon('layout-panel-center', '\\ebef'); + export const layoutPanelJustify = makeCodicon('layout-panel-justify', '\\ebf0'); + export const layoutPanelRight = makeCodicon('layout-panel-right', '\\ebf1'); + export const layoutPanel = makeCodicon('layout-panel', '\\ebf2'); + export const layoutSidebarLeft = makeCodicon('layout-sidebar-left', '\\ebf3'); + export const layoutSidebarRight = makeCodicon('layout-sidebar-right', '\\ebf4'); + export const layoutStatusbar = makeCodicon('layout-statusbar', '\\ebf5'); + export const layoutMenubar = makeCodicon('layout-menubar', '\\ebf6'); + export const layoutCentered = makeCodicon('layout-centered', '\\ebf7'); + export const layoutSidebarRightOff = makeCodicon('layout-sidebar-right-off', '\\ec00'); + export const layoutPanelOff = makeCodicon('layout-panel-off', '\\ec01'); + export const layoutSidebarLeftOff = makeCodicon('layout-sidebar-left-off', '\\ec02'); + export const target = makeCodicon('target', '\\ebf8'); + export const indent = makeCodicon('indent', '\\ebf9'); + export const recordSmall = makeCodicon('record-small', '\\ebfa'); + export const errorSmall = makeCodicon('error-small', '\\ebfb'); + export const arrowCircleDown = makeCodicon('arrow-circle-down', '\\ebfc'); + export const arrowCircleLeft = makeCodicon('arrow-circle-left', '\\ebfd'); + export const arrowCircleRight = makeCodicon('arrow-circle-right', '\\ebfe'); + export const arrowCircleUp = makeCodicon('arrow-circle-up', '\\ebff'); + export const heartFilled = makeCodicon('heart-filled', '\\ec04'); + export const map = makeCodicon('map', '\\ec05'); + export const mapFilled = makeCodicon('map-filled', '\\ec06'); + export const circleSmall = makeCodicon('circle-small', '\\ec07'); + export const bellSlash = makeCodicon('bell-slash', '\\ec08'); + export const bellSlashDot = makeCodicon('bell-slash-dot', '\\ec09'); + export const commentUnresolved = makeCodicon('comment-unresolved', '\\ec0a'); + export const gitPullRequestGoToChanges = makeCodicon('git-pull-request-go-to-changes', '\\ec0b'); + export const gitPullRequestNewChanges = makeCodicon('git-pull-request-new-changes', '\\ec0c'); + export const searchFuzzy = makeCodicon('search-fuzzy', '\\ec0d'); + export const commentDraft = makeCodicon('comment-draft', '\\ec0e'); - // registry - private static _allCodicons: Codicon[] = []; - /** - * @returns Returns all default icons covered by the codicon font. Only to be used by the icon registry in platform. - */ - public static getAll(): readonly Codicon[] { - return Codicon._allCodicons; - } + // derived icons, that could become separate icons - // built-in icons, with image name - public static readonly add = new Codicon('add', '\\ea60'); - public static readonly plus = new Codicon('plus', Codicon.add.fontCharacter); - public static readonly gistNew = new Codicon('gist-new', Codicon.add.fontCharacter); - public static readonly repoCreate = new Codicon('repo-create', Codicon.add.fontCharacter); - public static readonly lightbulb = new Codicon('lightbulb', '\\ea61'); - public static readonly lightBulb = new Codicon('light-bulb', '\\ea61'); - public static readonly repo = new Codicon('repo', '\\ea62'); - public static readonly repoDelete = new Codicon('repo-delete', '\\ea62'); - public static readonly gistFork = new Codicon('gist-fork', '\\ea63'); - public static readonly repoForked = new Codicon('repo-forked', '\\ea63'); - public static readonly gitPullRequest = new Codicon('git-pull-request', '\\ea64'); - public static readonly gitPullRequestAbandoned = new Codicon('git-pull-request-abandoned', '\\ea64'); - public static readonly recordKeys = new Codicon('record-keys', '\\ea65'); - public static readonly keyboard = new Codicon('keyboard', '\\ea65'); - public static readonly tag = new Codicon('tag', '\\ea66'); - public static readonly tagAdd = new Codicon('tag-add', '\\ea66'); - public static readonly tagRemove = new Codicon('tag-remove', '\\ea66'); - public static readonly person = new Codicon('person', '\\ea67'); - public static readonly personFollow = new Codicon('person-follow', '\\ea67'); - public static readonly personOutline = new Codicon('person-outline', '\\ea67'); - public static readonly personFilled = new Codicon('person-filled', '\\ea67'); - public static readonly gitBranch = new Codicon('git-branch', '\\ea68'); - public static readonly gitBranchCreate = new Codicon('git-branch-create', '\\ea68'); - public static readonly gitBranchDelete = new Codicon('git-branch-delete', '\\ea68'); - public static readonly sourceControl = new Codicon('source-control', '\\ea68'); - public static readonly mirror = new Codicon('mirror', '\\ea69'); - public static readonly mirrorPublic = new Codicon('mirror-public', '\\ea69'); - public static readonly star = new Codicon('star', '\\ea6a'); - public static readonly starAdd = new Codicon('star-add', '\\ea6a'); - public static readonly starDelete = new Codicon('star-delete', '\\ea6a'); - public static readonly starEmpty = new Codicon('star-empty', '\\ea6a'); - public static readonly comment = new Codicon('comment', '\\ea6b'); - public static readonly commentAdd = new Codicon('comment-add', '\\ea6b'); - public static readonly alert = new Codicon('alert', '\\ea6c'); - public static readonly warning = new Codicon('warning', '\\ea6c'); - public static readonly search = new Codicon('search', '\\ea6d'); - public static readonly searchSave = new Codicon('search-save', '\\ea6d'); - public static readonly logOut = new Codicon('log-out', '\\ea6e'); - public static readonly signOut = new Codicon('sign-out', '\\ea6e'); - public static readonly logIn = new Codicon('log-in', '\\ea6f'); - public static readonly signIn = new Codicon('sign-in', '\\ea6f'); - public static readonly eye = new Codicon('eye', '\\ea70'); - public static readonly eyeUnwatch = new Codicon('eye-unwatch', '\\ea70'); - public static readonly eyeWatch = new Codicon('eye-watch', '\\ea70'); - public static readonly circleFilled = new Codicon('circle-filled', '\\ea71'); - public static readonly primitiveDot = new Codicon('primitive-dot', Codicon.circleFilled.fontCharacter); - public static readonly closeDirty = new Codicon('close-dirty', Codicon.circleFilled.fontCharacter); - public static readonly debugBreakpoint = new Codicon('debug-breakpoint', Codicon.circleFilled.fontCharacter); - public static readonly debugBreakpointDisabled = new Codicon('debug-breakpoint-disabled', Codicon.circleFilled.fontCharacter); - public static readonly debugHint = new Codicon('debug-hint', Codicon.circleFilled.fontCharacter); - public static readonly primitiveSquare = new Codicon('primitive-square', '\\ea72'); - public static readonly edit = new Codicon('edit', '\\ea73'); - public static readonly pencil = new Codicon('pencil', '\\ea73'); - public static readonly info = new Codicon('info', '\\ea74'); - public static readonly issueOpened = new Codicon('issue-opened', '\\ea74'); - public static readonly gistPrivate = new Codicon('gist-private', '\\ea75'); - public static readonly gitForkPrivate = new Codicon('git-fork-private', '\\ea75'); - public static readonly lock = new Codicon('lock', '\\ea75'); - public static readonly mirrorPrivate = new Codicon('mirror-private', '\\ea75'); - public static readonly close = new Codicon('close', '\\ea76'); - public static readonly removeClose = new Codicon('remove-close', '\\ea76'); - public static readonly x = new Codicon('x', '\\ea76'); - public static readonly repoSync = new Codicon('repo-sync', '\\ea77'); - public static readonly sync = new Codicon('sync', '\\ea77'); - public static readonly clone = new Codicon('clone', '\\ea78'); - public static readonly desktopDownload = new Codicon('desktop-download', '\\ea78'); - public static readonly beaker = new Codicon('beaker', '\\ea79'); - public static readonly microscope = new Codicon('microscope', '\\ea79'); - public static readonly vm = new Codicon('vm', '\\ea7a'); - public static readonly deviceDesktop = new Codicon('device-desktop', '\\ea7a'); - public static readonly file = new Codicon('file', '\\ea7b'); - public static readonly fileText = new Codicon('file-text', '\\ea7b'); - public static readonly more = new Codicon('more', '\\ea7c'); - public static readonly ellipsis = new Codicon('ellipsis', '\\ea7c'); - public static readonly kebabHorizontal = new Codicon('kebab-horizontal', '\\ea7c'); - public static readonly mailReply = new Codicon('mail-reply', '\\ea7d'); - public static readonly reply = new Codicon('reply', '\\ea7d'); - public static readonly organization = new Codicon('organization', '\\ea7e'); - public static readonly organizationFilled = new Codicon('organization-filled', '\\ea7e'); - public static readonly organizationOutline = new Codicon('organization-outline', '\\ea7e'); - public static readonly newFile = new Codicon('new-file', '\\ea7f'); - public static readonly fileAdd = new Codicon('file-add', '\\ea7f'); - public static readonly newFolder = new Codicon('new-folder', '\\ea80'); - public static readonly fileDirectoryCreate = new Codicon('file-directory-create', '\\ea80'); - public static readonly trash = new Codicon('trash', '\\ea81'); - public static readonly trashcan = new Codicon('trashcan', '\\ea81'); - public static readonly history = new Codicon('history', '\\ea82'); - public static readonly clock = new Codicon('clock', '\\ea82'); - public static readonly folder = new Codicon('folder', '\\ea83'); - public static readonly fileDirectory = new Codicon('file-directory', '\\ea83'); - public static readonly symbolFolder = new Codicon('symbol-folder', '\\ea83'); - public static readonly logoGithub = new Codicon('logo-github', '\\ea84'); - public static readonly markGithub = new Codicon('mark-github', '\\ea84'); - public static readonly github = new Codicon('github', '\\ea84'); - public static readonly terminal = new Codicon('terminal', '\\ea85'); - public static readonly console = new Codicon('console', '\\ea85'); - public static readonly repl = new Codicon('repl', '\\ea85'); - public static readonly zap = new Codicon('zap', '\\ea86'); - public static readonly symbolEvent = new Codicon('symbol-event', '\\ea86'); - public static readonly error = new Codicon('error', '\\ea87'); - public static readonly stop = new Codicon('stop', '\\ea87'); - public static readonly variable = new Codicon('variable', '\\ea88'); - public static readonly symbolVariable = new Codicon('symbol-variable', '\\ea88'); - public static readonly array = new Codicon('array', '\\ea8a'); - public static readonly symbolArray = new Codicon('symbol-array', '\\ea8a'); - public static readonly symbolModule = new Codicon('symbol-module', '\\ea8b'); - public static readonly symbolPackage = new Codicon('symbol-package', '\\ea8b'); - public static readonly symbolNamespace = new Codicon('symbol-namespace', '\\ea8b'); - public static readonly symbolObject = new Codicon('symbol-object', '\\ea8b'); - public static readonly symbolMethod = new Codicon('symbol-method', '\\ea8c'); - public static readonly symbolFunction = new Codicon('symbol-function', '\\ea8c'); - public static readonly symbolConstructor = new Codicon('symbol-constructor', '\\ea8c'); - public static readonly symbolBoolean = new Codicon('symbol-boolean', '\\ea8f'); - public static readonly symbolNull = new Codicon('symbol-null', '\\ea8f'); - public static readonly symbolNumeric = new Codicon('symbol-numeric', '\\ea90'); - public static readonly symbolNumber = new Codicon('symbol-number', '\\ea90'); - public static readonly symbolStructure = new Codicon('symbol-structure', '\\ea91'); - public static readonly symbolStruct = new Codicon('symbol-struct', '\\ea91'); - public static readonly symbolParameter = new Codicon('symbol-parameter', '\\ea92'); - public static readonly symbolTypeParameter = new Codicon('symbol-type-parameter', '\\ea92'); - public static readonly symbolKey = new Codicon('symbol-key', '\\ea93'); - public static readonly symbolText = new Codicon('symbol-text', '\\ea93'); - public static readonly symbolReference = new Codicon('symbol-reference', '\\ea94'); - public static readonly goToFile = new Codicon('go-to-file', '\\ea94'); - public static readonly symbolEnum = new Codicon('symbol-enum', '\\ea95'); - public static readonly symbolValue = new Codicon('symbol-value', '\\ea95'); - public static readonly symbolRuler = new Codicon('symbol-ruler', '\\ea96'); - public static readonly symbolUnit = new Codicon('symbol-unit', '\\ea96'); - public static readonly activateBreakpoints = new Codicon('activate-breakpoints', '\\ea97'); - public static readonly archive = new Codicon('archive', '\\ea98'); - public static readonly arrowBoth = new Codicon('arrow-both', '\\ea99'); - public static readonly arrowDown = new Codicon('arrow-down', '\\ea9a'); - public static readonly arrowLeft = new Codicon('arrow-left', '\\ea9b'); - public static readonly arrowRight = new Codicon('arrow-right', '\\ea9c'); - public static readonly arrowSmallDown = new Codicon('arrow-small-down', '\\ea9d'); - public static readonly arrowSmallLeft = new Codicon('arrow-small-left', '\\ea9e'); - public static readonly arrowSmallRight = new Codicon('arrow-small-right', '\\ea9f'); - public static readonly arrowSmallUp = new Codicon('arrow-small-up', '\\eaa0'); - public static readonly arrowUp = new Codicon('arrow-up', '\\eaa1'); - public static readonly bell = new Codicon('bell', '\\eaa2'); - public static readonly bold = new Codicon('bold', '\\eaa3'); - public static readonly book = new Codicon('book', '\\eaa4'); - public static readonly bookmark = new Codicon('bookmark', '\\eaa5'); - public static readonly debugBreakpointConditionalUnverified = new Codicon('debug-breakpoint-conditional-unverified', '\\eaa6'); - public static readonly debugBreakpointConditional = new Codicon('debug-breakpoint-conditional', '\\eaa7'); - public static readonly debugBreakpointConditionalDisabled = new Codicon('debug-breakpoint-conditional-disabled', '\\eaa7'); - public static readonly debugBreakpointDataUnverified = new Codicon('debug-breakpoint-data-unverified', '\\eaa8'); - public static readonly debugBreakpointData = new Codicon('debug-breakpoint-data', '\\eaa9'); - public static readonly debugBreakpointDataDisabled = new Codicon('debug-breakpoint-data-disabled', '\\eaa9'); - public static readonly debugBreakpointLogUnverified = new Codicon('debug-breakpoint-log-unverified', '\\eaaa'); - public static readonly debugBreakpointLog = new Codicon('debug-breakpoint-log', '\\eaab'); - public static readonly debugBreakpointLogDisabled = new Codicon('debug-breakpoint-log-disabled', '\\eaab'); - public static readonly briefcase = new Codicon('briefcase', '\\eaac'); - public static readonly broadcast = new Codicon('broadcast', '\\eaad'); - public static readonly browser = new Codicon('browser', '\\eaae'); - public static readonly bug = new Codicon('bug', '\\eaaf'); - public static readonly calendar = new Codicon('calendar', '\\eab0'); - public static readonly caseSensitive = new Codicon('case-sensitive', '\\eab1'); - public static readonly check = new Codicon('check', '\\eab2'); - public static readonly checklist = new Codicon('checklist', '\\eab3'); - public static readonly chevronDown = new Codicon('chevron-down', '\\eab4'); - public static readonly dropDownButton = new Codicon('drop-down-button', Codicon.chevronDown.fontCharacter); - public static readonly chevronLeft = new Codicon('chevron-left', '\\eab5'); - public static readonly chevronRight = new Codicon('chevron-right', '\\eab6'); - public static readonly chevronUp = new Codicon('chevron-up', '\\eab7'); - public static readonly chromeClose = new Codicon('chrome-close', '\\eab8'); - public static readonly chromeMaximize = new Codicon('chrome-maximize', '\\eab9'); - public static readonly chromeMinimize = new Codicon('chrome-minimize', '\\eaba'); - public static readonly chromeRestore = new Codicon('chrome-restore', '\\eabb'); - public static readonly circle = new Codicon('circle', '\\eabc'); - public static readonly circleOutline = new Codicon('circle-outline', Codicon.circle.fontCharacter); - public static readonly debugBreakpointUnverified = new Codicon('debug-breakpoint-unverified', Codicon.circle.fontCharacter); - public static readonly circleSlash = new Codicon('circle-slash', '\\eabd'); - public static readonly circuitBoard = new Codicon('circuit-board', '\\eabe'); - public static readonly clearAll = new Codicon('clear-all', '\\eabf'); - public static readonly clippy = new Codicon('clippy', '\\eac0'); - public static readonly closeAll = new Codicon('close-all', '\\eac1'); - public static readonly cloudDownload = new Codicon('cloud-download', '\\eac2'); - public static readonly cloudUpload = new Codicon('cloud-upload', '\\eac3'); - public static readonly code = new Codicon('code', '\\eac4'); - public static readonly collapseAll = new Codicon('collapse-all', '\\eac5'); - public static readonly colorMode = new Codicon('color-mode', '\\eac6'); - public static readonly commentDiscussion = new Codicon('comment-discussion', '\\eac7'); - public static readonly compareChanges = new Codicon('compare-changes', '\\eafd'); - public static readonly creditCard = new Codicon('credit-card', '\\eac9'); - public static readonly dash = new Codicon('dash', '\\eacc'); - public static readonly dashboard = new Codicon('dashboard', '\\eacd'); - public static readonly database = new Codicon('database', '\\eace'); - public static readonly debugContinue = new Codicon('debug-continue', '\\eacf'); - public static readonly debugDisconnect = new Codicon('debug-disconnect', '\\ead0'); - public static readonly debugPause = new Codicon('debug-pause', '\\ead1'); - public static readonly debugRestart = new Codicon('debug-restart', '\\ead2'); - public static readonly debugStart = new Codicon('debug-start', '\\ead3'); - public static readonly debugStepInto = new Codicon('debug-step-into', '\\ead4'); - public static readonly debugStepOut = new Codicon('debug-step-out', '\\ead5'); - public static readonly debugStepOver = new Codicon('debug-step-over', '\\ead6'); - public static readonly debugStop = new Codicon('debug-stop', '\\ead7'); - public static readonly debug = new Codicon('debug', '\\ead8'); - public static readonly deviceCameraVideo = new Codicon('device-camera-video', '\\ead9'); - public static readonly deviceCamera = new Codicon('device-camera', '\\eada'); - public static readonly deviceMobile = new Codicon('device-mobile', '\\eadb'); - public static readonly diffAdded = new Codicon('diff-added', '\\eadc'); - public static readonly diffIgnored = new Codicon('diff-ignored', '\\eadd'); - public static readonly diffModified = new Codicon('diff-modified', '\\eade'); - public static readonly diffRemoved = new Codicon('diff-removed', '\\eadf'); - public static readonly diffRenamed = new Codicon('diff-renamed', '\\eae0'); - public static readonly diff = new Codicon('diff', '\\eae1'); - public static readonly discard = new Codicon('discard', '\\eae2'); - public static readonly editorLayout = new Codicon('editor-layout', '\\eae3'); - public static readonly emptyWindow = new Codicon('empty-window', '\\eae4'); - public static readonly exclude = new Codicon('exclude', '\\eae5'); - public static readonly extensions = new Codicon('extensions', '\\eae6'); - public static readonly eyeClosed = new Codicon('eye-closed', '\\eae7'); - public static readonly fileBinary = new Codicon('file-binary', '\\eae8'); - public static readonly fileCode = new Codicon('file-code', '\\eae9'); - public static readonly fileMedia = new Codicon('file-media', '\\eaea'); - public static readonly filePdf = new Codicon('file-pdf', '\\eaeb'); - public static readonly fileSubmodule = new Codicon('file-submodule', '\\eaec'); - public static readonly fileSymlinkDirectory = new Codicon('file-symlink-directory', '\\eaed'); - public static readonly fileSymlinkFile = new Codicon('file-symlink-file', '\\eaee'); - public static readonly fileZip = new Codicon('file-zip', '\\eaef'); - public static readonly files = new Codicon('files', '\\eaf0'); - public static readonly filter = new Codicon('filter', '\\eaf1'); - public static readonly flame = new Codicon('flame', '\\eaf2'); - public static readonly foldDown = new Codicon('fold-down', '\\eaf3'); - public static readonly foldUp = new Codicon('fold-up', '\\eaf4'); - public static readonly fold = new Codicon('fold', '\\eaf5'); - public static readonly folderActive = new Codicon('folder-active', '\\eaf6'); - public static readonly folderOpened = new Codicon('folder-opened', '\\eaf7'); - public static readonly gear = new Codicon('gear', '\\eaf8'); - public static readonly gift = new Codicon('gift', '\\eaf9'); - public static readonly gistSecret = new Codicon('gist-secret', '\\eafa'); - public static readonly gist = new Codicon('gist', '\\eafb'); - public static readonly gitCommit = new Codicon('git-commit', '\\eafc'); - public static readonly gitCompare = new Codicon('git-compare', '\\eafd'); - public static readonly gitMerge = new Codicon('git-merge', '\\eafe'); - public static readonly githubAction = new Codicon('github-action', '\\eaff'); - public static readonly githubAlt = new Codicon('github-alt', '\\eb00'); - public static readonly globe = new Codicon('globe', '\\eb01'); - public static readonly grabber = new Codicon('grabber', '\\eb02'); - public static readonly graph = new Codicon('graph', '\\eb03'); - public static readonly gripper = new Codicon('gripper', '\\eb04'); - public static readonly heart = new Codicon('heart', '\\eb05'); - public static readonly home = new Codicon('home', '\\eb06'); - public static readonly horizontalRule = new Codicon('horizontal-rule', '\\eb07'); - public static readonly hubot = new Codicon('hubot', '\\eb08'); - public static readonly inbox = new Codicon('inbox', '\\eb09'); - public static readonly issueClosed = new Codicon('issue-closed', '\\eba4'); - public static readonly issueReopened = new Codicon('issue-reopened', '\\eb0b'); - public static readonly issues = new Codicon('issues', '\\eb0c'); - public static readonly italic = new Codicon('italic', '\\eb0d'); - public static readonly jersey = new Codicon('jersey', '\\eb0e'); - public static readonly json = new Codicon('json', '\\eb0f'); - public static readonly kebabVertical = new Codicon('kebab-vertical', '\\eb10'); - public static readonly key = new Codicon('key', '\\eb11'); - public static readonly law = new Codicon('law', '\\eb12'); - public static readonly lightbulbAutofix = new Codicon('lightbulb-autofix', '\\eb13'); - public static readonly linkExternal = new Codicon('link-external', '\\eb14'); - public static readonly link = new Codicon('link', '\\eb15'); - public static readonly listOrdered = new Codicon('list-ordered', '\\eb16'); - public static readonly listUnordered = new Codicon('list-unordered', '\\eb17'); - public static readonly liveShare = new Codicon('live-share', '\\eb18'); - public static readonly loading = new Codicon('loading', '\\eb19'); - public static readonly location = new Codicon('location', '\\eb1a'); - public static readonly mailRead = new Codicon('mail-read', '\\eb1b'); - public static readonly mail = new Codicon('mail', '\\eb1c'); - public static readonly markdown = new Codicon('markdown', '\\eb1d'); - public static readonly megaphone = new Codicon('megaphone', '\\eb1e'); - public static readonly mention = new Codicon('mention', '\\eb1f'); - public static readonly milestone = new Codicon('milestone', '\\eb20'); - public static readonly mortarBoard = new Codicon('mortar-board', '\\eb21'); - public static readonly move = new Codicon('move', '\\eb22'); - public static readonly multipleWindows = new Codicon('multiple-windows', '\\eb23'); - public static readonly mute = new Codicon('mute', '\\eb24'); - public static readonly noNewline = new Codicon('no-newline', '\\eb25'); - public static readonly note = new Codicon('note', '\\eb26'); - public static readonly octoface = new Codicon('octoface', '\\eb27'); - public static readonly openPreview = new Codicon('open-preview', '\\eb28'); - public static readonly package_ = new Codicon('package', '\\eb29'); - public static readonly paintcan = new Codicon('paintcan', '\\eb2a'); - public static readonly pin = new Codicon('pin', '\\eb2b'); - public static readonly play = new Codicon('play', '\\eb2c'); - public static readonly run = new Codicon('run', '\\eb2c'); - public static readonly plug = new Codicon('plug', '\\eb2d'); - public static readonly preserveCase = new Codicon('preserve-case', '\\eb2e'); - public static readonly preview = new Codicon('preview', '\\eb2f'); - public static readonly project = new Codicon('project', '\\eb30'); - public static readonly pulse = new Codicon('pulse', '\\eb31'); - public static readonly question = new Codicon('question', '\\eb32'); - public static readonly quote = new Codicon('quote', '\\eb33'); - public static readonly radioTower = new Codicon('radio-tower', '\\eb34'); - public static readonly reactions = new Codicon('reactions', '\\eb35'); - public static readonly references = new Codicon('references', '\\eb36'); - public static readonly refresh = new Codicon('refresh', '\\eb37'); - public static readonly regex = new Codicon('regex', '\\eb38'); - public static readonly remoteExplorer = new Codicon('remote-explorer', '\\eb39'); - public static readonly remote = new Codicon('remote', '\\eb3a'); - public static readonly remove = new Codicon('remove', '\\eb3b'); - public static readonly replaceAll = new Codicon('replace-all', '\\eb3c'); - public static readonly replace = new Codicon('replace', '\\eb3d'); - public static readonly repoClone = new Codicon('repo-clone', '\\eb3e'); - public static readonly repoForcePush = new Codicon('repo-force-push', '\\eb3f'); - public static readonly repoPull = new Codicon('repo-pull', '\\eb40'); - public static readonly repoPush = new Codicon('repo-push', '\\eb41'); - public static readonly report = new Codicon('report', '\\eb42'); - public static readonly requestChanges = new Codicon('request-changes', '\\eb43'); - public static readonly rocket = new Codicon('rocket', '\\eb44'); - public static readonly rootFolderOpened = new Codicon('root-folder-opened', '\\eb45'); - public static readonly rootFolder = new Codicon('root-folder', '\\eb46'); - public static readonly rss = new Codicon('rss', '\\eb47'); - public static readonly ruby = new Codicon('ruby', '\\eb48'); - public static readonly saveAll = new Codicon('save-all', '\\eb49'); - public static readonly saveAs = new Codicon('save-as', '\\eb4a'); - public static readonly save = new Codicon('save', '\\eb4b'); - public static readonly screenFull = new Codicon('screen-full', '\\eb4c'); - public static readonly screenNormal = new Codicon('screen-normal', '\\eb4d'); - public static readonly searchStop = new Codicon('search-stop', '\\eb4e'); - public static readonly server = new Codicon('server', '\\eb50'); - public static readonly settingsGear = new Codicon('settings-gear', '\\eb51'); - public static readonly settings = new Codicon('settings', '\\eb52'); - public static readonly shield = new Codicon('shield', '\\eb53'); - public static readonly smiley = new Codicon('smiley', '\\eb54'); - public static readonly sortPrecedence = new Codicon('sort-precedence', '\\eb55'); - public static readonly splitHorizontal = new Codicon('split-horizontal', '\\eb56'); - public static readonly splitVertical = new Codicon('split-vertical', '\\eb57'); - public static readonly squirrel = new Codicon('squirrel', '\\eb58'); - public static readonly starFull = new Codicon('star-full', '\\eb59'); - public static readonly starHalf = new Codicon('star-half', '\\eb5a'); - public static readonly symbolClass = new Codicon('symbol-class', '\\eb5b'); - public static readonly symbolColor = new Codicon('symbol-color', '\\eb5c'); - public static readonly symbolCustomColor = new Codicon('symbol-customcolor', '\\eb5c'); - public static readonly symbolConstant = new Codicon('symbol-constant', '\\eb5d'); - public static readonly symbolEnumMember = new Codicon('symbol-enum-member', '\\eb5e'); - public static readonly symbolField = new Codicon('symbol-field', '\\eb5f'); - public static readonly symbolFile = new Codicon('symbol-file', '\\eb60'); - public static readonly symbolInterface = new Codicon('symbol-interface', '\\eb61'); - public static readonly symbolKeyword = new Codicon('symbol-keyword', '\\eb62'); - public static readonly symbolMisc = new Codicon('symbol-misc', '\\eb63'); - public static readonly symbolOperator = new Codicon('symbol-operator', '\\eb64'); - public static readonly symbolProperty = new Codicon('symbol-property', '\\eb65'); - public static readonly wrench = new Codicon('wrench', '\\eb65'); - public static readonly wrenchSubaction = new Codicon('wrench-subaction', '\\eb65'); - public static readonly symbolSnippet = new Codicon('symbol-snippet', '\\eb66'); - public static readonly tasklist = new Codicon('tasklist', '\\eb67'); - public static readonly telescope = new Codicon('telescope', '\\eb68'); - public static readonly textSize = new Codicon('text-size', '\\eb69'); - public static readonly threeBars = new Codicon('three-bars', '\\eb6a'); - public static readonly thumbsdown = new Codicon('thumbsdown', '\\eb6b'); - public static readonly thumbsup = new Codicon('thumbsup', '\\eb6c'); - public static readonly tools = new Codicon('tools', '\\eb6d'); - public static readonly triangleDown = new Codicon('triangle-down', '\\eb6e'); - public static readonly triangleLeft = new Codicon('triangle-left', '\\eb6f'); - public static readonly triangleRight = new Codicon('triangle-right', '\\eb70'); - public static readonly triangleUp = new Codicon('triangle-up', '\\eb71'); - public static readonly twitter = new Codicon('twitter', '\\eb72'); - public static readonly unfold = new Codicon('unfold', '\\eb73'); - public static readonly unlock = new Codicon('unlock', '\\eb74'); - public static readonly unmute = new Codicon('unmute', '\\eb75'); - public static readonly unverified = new Codicon('unverified', '\\eb76'); - public static readonly verified = new Codicon('verified', '\\eb77'); - public static readonly versions = new Codicon('versions', '\\eb78'); - public static readonly vmActive = new Codicon('vm-active', '\\eb79'); - public static readonly vmOutline = new Codicon('vm-outline', '\\eb7a'); - public static readonly vmRunning = new Codicon('vm-running', '\\eb7b'); - public static readonly watch = new Codicon('watch', '\\eb7c'); - public static readonly whitespace = new Codicon('whitespace', '\\eb7d'); - public static readonly wholeWord = new Codicon('whole-word', '\\eb7e'); - public static readonly window = new Codicon('window', '\\eb7f'); - public static readonly wordWrap = new Codicon('word-wrap', '\\eb80'); - public static readonly zoomIn = new Codicon('zoom-in', '\\eb81'); - public static readonly zoomOut = new Codicon('zoom-out', '\\eb82'); - public static readonly listFilter = new Codicon('list-filter', '\\eb83'); - public static readonly listFlat = new Codicon('list-flat', '\\eb84'); - public static readonly listSelection = new Codicon('list-selection', '\\eb85'); - public static readonly selection = new Codicon('selection', '\\eb85'); - public static readonly listTree = new Codicon('list-tree', '\\eb86'); - public static readonly debugBreakpointFunctionUnverified = new Codicon('debug-breakpoint-function-unverified', '\\eb87'); - public static readonly debugBreakpointFunction = new Codicon('debug-breakpoint-function', '\\eb88'); - public static readonly debugBreakpointFunctionDisabled = new Codicon('debug-breakpoint-function-disabled', '\\eb88'); - public static readonly debugStackframeActive = new Codicon('debug-stackframe-active', '\\eb89'); - public static readonly circleSmallFilled = new Codicon('circle-small-filled', '\\eb8a'); - public static readonly debugStackframeDot = new Codicon('debug-stackframe-dot', Codicon.circleSmallFilled.fontCharacter); - public static readonly debugStackframe = new Codicon('debug-stackframe', '\\eb8b'); - public static readonly debugStackframeFocused = new Codicon('debug-stackframe-focused', '\\eb8b'); - public static readonly debugBreakpointUnsupported = new Codicon('debug-breakpoint-unsupported', '\\eb8c'); - public static readonly symbolString = new Codicon('symbol-string', '\\eb8d'); - public static readonly debugReverseContinue = new Codicon('debug-reverse-continue', '\\eb8e'); - public static readonly debugStepBack = new Codicon('debug-step-back', '\\eb8f'); - public static readonly debugRestartFrame = new Codicon('debug-restart-frame', '\\eb90'); - public static readonly callIncoming = new Codicon('call-incoming', '\\eb92'); - public static readonly callOutgoing = new Codicon('call-outgoing', '\\eb93'); - public static readonly menu = new Codicon('menu', '\\eb94'); - public static readonly expandAll = new Codicon('expand-all', '\\eb95'); - public static readonly feedback = new Codicon('feedback', '\\eb96'); - public static readonly groupByRefType = new Codicon('group-by-ref-type', '\\eb97'); - public static readonly ungroupByRefType = new Codicon('ungroup-by-ref-type', '\\eb98'); - public static readonly account = new Codicon('account', '\\eb99'); - public static readonly bellDot = new Codicon('bell-dot', '\\eb9a'); - public static readonly debugConsole = new Codicon('debug-console', '\\eb9b'); - public static readonly library = new Codicon('library', '\\eb9c'); - public static readonly output = new Codicon('output', '\\eb9d'); - public static readonly runAll = new Codicon('run-all', '\\eb9e'); - public static readonly syncIgnored = new Codicon('sync-ignored', '\\eb9f'); - public static readonly pinned = new Codicon('pinned', '\\eba0'); - public static readonly githubInverted = new Codicon('github-inverted', '\\eba1'); - public static readonly debugAlt = new Codicon('debug-alt', '\\eb91'); - public static readonly serverProcess = new Codicon('server-process', '\\eba2'); - public static readonly serverEnvironment = new Codicon('server-environment', '\\eba3'); - public static readonly pass = new Codicon('pass', '\\eba4'); - public static readonly stopCircle = new Codicon('stop-circle', '\\eba5'); - public static readonly playCircle = new Codicon('play-circle', '\\eba6'); - public static readonly record = new Codicon('record', '\\eba7'); - public static readonly debugAltSmall = new Codicon('debug-alt-small', '\\eba8'); - public static readonly vmConnect = new Codicon('vm-connect', '\\eba9'); - public static readonly cloud = new Codicon('cloud', '\\ebaa'); - public static readonly merge = new Codicon('merge', '\\ebab'); - public static readonly exportIcon = new Codicon('export', '\\ebac'); - public static readonly graphLeft = new Codicon('graph-left', '\\ebad'); - public static readonly magnet = new Codicon('magnet', '\\ebae'); - public static readonly notebook = new Codicon('notebook', '\\ebaf'); - public static readonly redo = new Codicon('redo', '\\ebb0'); - public static readonly checkAll = new Codicon('check-all', '\\ebb1'); - public static readonly pinnedDirty = new Codicon('pinned-dirty', '\\ebb2'); - public static readonly passFilled = new Codicon('pass-filled', '\\ebb3'); - public static readonly circleLargeFilled = new Codicon('circle-large-filled', '\\ebb4'); - public static readonly circleLarge = new Codicon('circle-large', '\\ebb5'); - public static readonly circleLargeOutline = new Codicon('circle-large-outline', Codicon.circleLarge.fontCharacter); - public static readonly combine = new Codicon('combine', '\\ebb6'); - public static readonly gather = new Codicon('gather', '\\ebb6'); - public static readonly table = new Codicon('table', '\\ebb7'); - public static readonly variableGroup = new Codicon('variable-group', '\\ebb8'); - public static readonly typeHierarchy = new Codicon('type-hierarchy', '\\ebb9'); - public static readonly typeHierarchySub = new Codicon('type-hierarchy-sub', '\\ebba'); - public static readonly typeHierarchySuper = new Codicon('type-hierarchy-super', '\\ebbb'); - public static readonly gitPullRequestCreate = new Codicon('git-pull-request-create', '\\ebbc'); - public static readonly runAbove = new Codicon('run-above', '\\ebbd'); - public static readonly runBelow = new Codicon('run-below', '\\ebbe'); - public static readonly notebookTemplate = new Codicon('notebook-template', '\\ebbf'); - public static readonly debugRerun = new Codicon('debug-rerun', '\\ebc0'); - public static readonly workspaceTrusted = new Codicon('workspace-trusted', '\\ebc1'); - public static readonly workspaceUntrusted = new Codicon('workspace-untrusted', '\\ebc2'); - public static readonly workspaceUnspecified = new Codicon('workspace-unspecified', '\\ebc3'); - public static readonly terminalCmd = new Codicon('terminal-cmd', '\\ebc4'); - public static readonly terminalDebian = new Codicon('terminal-debian', '\\ebc5'); - public static readonly terminalLinux = new Codicon('terminal-linux', '\\ebc6'); - public static readonly terminalPowershell = new Codicon('terminal-powershell', '\\ebc7'); - public static readonly terminalTmux = new Codicon('terminal-tmux', '\\ebc8'); - public static readonly terminalUbuntu = new Codicon('terminal-ubuntu', '\\ebc9'); - public static readonly terminalBash = new Codicon('terminal-bash', '\\ebca'); - public static readonly arrowSwap = new Codicon('arrow-swap', '\\ebcb'); - public static readonly copy = new Codicon('copy', '\\ebcc'); - public static readonly personAdd = new Codicon('person-add', '\\ebcd'); - public static readonly filterFilled = new Codicon('filter-filled', '\\ebce'); - public static readonly wand = new Codicon('wand', '\\ebcf'); - public static readonly debugLineByLine = new Codicon('debug-line-by-line', '\\ebd0'); - public static readonly inspect = new Codicon('inspect', '\\ebd1'); - public static readonly layers = new Codicon('layers', '\\ebd2'); - public static readonly layersDot = new Codicon('layers-dot', '\\ebd3'); - public static readonly layersActive = new Codicon('layers-active', '\\ebd4'); - public static readonly compass = new Codicon('compass', '\\ebd5'); - public static readonly compassDot = new Codicon('compass-dot', '\\ebd6'); - public static readonly compassActive = new Codicon('compass-active', '\\ebd7'); - public static readonly azure = new Codicon('azure', '\\ebd8'); - public static readonly issueDraft = new Codicon('issue-draft', '\\ebd9'); - public static readonly gitPullRequestClosed = new Codicon('git-pull-request-closed', '\\ebda'); - public static readonly gitPullRequestDraft = new Codicon('git-pull-request-draft', '\\ebdb'); - public static readonly debugAll = new Codicon('debug-all', '\\ebdc'); - public static readonly debugCoverage = new Codicon('debug-coverage', '\\ebdd'); - public static readonly runErrors = new Codicon('run-errors', '\\ebde'); - public static readonly folderLibrary = new Codicon('folder-library', '\\ebdf'); - public static readonly debugContinueSmall = new Codicon('debug-continue-small', '\\ebe0'); - public static readonly beakerStop = new Codicon('beaker-stop', '\\ebe1'); - public static readonly graphLine = new Codicon('graph-line', '\\ebe2'); - public static readonly graphScatter = new Codicon('graph-scatter', '\\ebe3'); - public static readonly pieChart = new Codicon('pie-chart', '\\ebe4'); - public static readonly bracket = new Codicon('bracket', Codicon.json.fontCharacter); - public static readonly bracketDot = new Codicon('bracket-dot', '\\ebe5'); - public static readonly bracketError = new Codicon('bracket-error', '\\ebe6'); - public static readonly lockSmall = new Codicon('lock-small', '\\ebe7'); - public static readonly azureDevops = new Codicon('azure-devops', '\\ebe8'); - public static readonly verifiedFilled = new Codicon('verified-filled', '\\ebe9'); - public static readonly newLine = new Codicon('newline', '\\ebea'); - public static readonly layout = new Codicon('layout', '\\ebeb'); - public static readonly layoutActivitybarLeft = new Codicon('layout-activitybar-left', '\\ebec'); - public static readonly layoutActivitybarRight = new Codicon('layout-activitybar-right', '\\ebed'); - public static readonly layoutPanelLeft = new Codicon('layout-panel-left', '\\ebee'); - public static readonly layoutPanelCenter = new Codicon('layout-panel-center', '\\ebef'); - public static readonly layoutPanelJustify = new Codicon('layout-panel-justify', '\\ebf0'); - public static readonly layoutPanelRight = new Codicon('layout-panel-right', '\\ebf1'); - public static readonly layoutPanel = new Codicon('layout-panel', '\\ebf2'); - public static readonly layoutSidebarLeft = new Codicon('layout-sidebar-left', '\\ebf3'); - public static readonly layoutSidebarRight = new Codicon('layout-sidebar-right', '\\ebf4'); - public static readonly layoutStatusbar = new Codicon('layout-statusbar', '\\ebf5'); - public static readonly layoutMenubar = new Codicon('layout-menubar', '\\ebf6'); - public static readonly layoutCentered = new Codicon('layout-centered', '\\ebf7'); - public static readonly layoutSidebarRightOff = new Codicon('layout-sidebar-right-off', '\\ec00'); - public static readonly layoutPanelOff = new Codicon('layout-panel-off', '\\ec01'); - public static readonly layoutSidebarLeftOff = new Codicon('layout-sidebar-left-off', '\\ec02'); - public static readonly target = new Codicon('target', '\\ebf8'); - public static readonly indent = new Codicon('indent', '\\ebf9'); - public static readonly recordSmall = new Codicon('record-small', '\\ebfa'); - public static readonly errorSmall = new Codicon('error-small', '\\ebfb'); - public static readonly arrowCircleDown = new Codicon('arrow-circle-down', '\\ebfc'); - public static readonly arrowCircleLeft = new Codicon('arrow-circle-left', '\\ebfd'); - public static readonly arrowCircleRight = new Codicon('arrow-circle-right', '\\ebfe'); - public static readonly arrowCircleUp = new Codicon('arrow-circle-up', '\\ebff'); - public static readonly heartFilled = new Codicon('heart-filled', '\\ec04'); - public static readonly map = new Codicon('map', '\\ec05'); - public static readonly mapFilled = new Codicon('map-filled', '\\ec06'); - public static readonly circleSmall = new Codicon('circle-small', '\\ec07'); - public static readonly bellSlash = new Codicon('bell-slash', '\\ec08'); - public static readonly bellSlashDot = new Codicon('bell-slash-dot', '\\ec09'); - public static readonly commentUnresolved = new Codicon('comment-unresolved', '\\ec0a'); - public static readonly gitPullRequestGoToChanges = new Codicon('git-pull-request-go-to-changes', '\\ec0b'); - public static readonly gitPullRequestNewChanges = new Codicon('git-pull-request-new-changes', '\\ec0c'); - public static readonly searchFuzzy = new Codicon('search-fuzzy', '\\ec0d'); - public static readonly commentDraft = new Codicon('comment-draft', '\\ec0e'); + export const dialogError = makeCodicon('dialog-error', error.codiconFontCharacter); + export const dialogWarning = makeCodicon('dialog-warning', warning.codiconFontCharacter); + export const dialogInfo = makeCodicon('dialog-info', info.codiconFontCharacter); + export const dialogClose = makeCodicon('dialog-close', close.codiconFontCharacter); + export const treeItemExpanded = makeCodicon('tree-item-expanded', chevronDown.codiconFontCharacter); // collapsed is done with rotation - // derived icons, that could become separate icons + export const treeFilterOnTypeOn = makeCodicon('tree-filter-on-type-on', listFilter.codiconFontCharacter); + export const treeFilterOnTypeOff = makeCodicon('tree-filter-on-type-off', listSelection.codiconFontCharacter); + export const treeFilterClear = makeCodicon('tree-filter-clear', close.codiconFontCharacter); + + export const treeItemLoading = makeCodicon('tree-item-loading', loading.codiconFontCharacter); - public static readonly dialogError = new Codicon('dialog-error', Codicon.error.fontCharacter); - public static readonly dialogWarning = new Codicon('dialog-warning', Codicon.warning.fontCharacter); - public static readonly dialogInfo = new Codicon('dialog-info', Codicon.info.fontCharacter); - public static readonly dialogClose = new Codicon('dialog-close', Codicon.close.fontCharacter); + export const menuSelection = makeCodicon('menu-selection', check.codiconFontCharacter); + export const menuSubmenu = makeCodicon('menu-submenu', chevronRight.codiconFontCharacter); - public static readonly treeItemExpanded = new Codicon('tree-item-expanded', Codicon.chevronDown.fontCharacter); // collapsed is done with rotation + export const menuBarMore = makeCodicon('menubar-more', more.codiconFontCharacter); - public static readonly treeFilterOnTypeOn = new Codicon('tree-filter-on-type-on', Codicon.listFilter.fontCharacter); - public static readonly treeFilterOnTypeOff = new Codicon('tree-filter-on-type-off', Codicon.listSelection.fontCharacter); - public static readonly treeFilterClear = new Codicon('tree-filter-clear', Codicon.close.fontCharacter); + export const scrollbarButtonLeft = makeCodicon('scrollbar-button-left', triangleLeft.codiconFontCharacter); + export const scrollbarButtonRight = makeCodicon('scrollbar-button-right', triangleRight.codiconFontCharacter); - public static readonly treeItemLoading = new Codicon('tree-item-loading', Codicon.loading.fontCharacter); + export const scrollbarButtonUp = makeCodicon('scrollbar-button-up', triangleUp.codiconFontCharacter); + export const scrollbarButtonDown = makeCodicon('scrollbar-button-down', triangleDown.codiconFontCharacter); - public static readonly menuSelection = new Codicon('menu-selection', Codicon.check.fontCharacter); - public static readonly menuSubmenu = new Codicon('menu-submenu', Codicon.chevronRight.fontCharacter); + export const toolBarMore = makeCodicon('toolbar-more', more.codiconFontCharacter); - public static readonly menuBarMore = new Codicon('menubar-more', Codicon.more.fontCharacter); + export const quickInputBack = makeCodicon('quick-input-back', arrowLeft.codiconFontCharacter); - public static readonly scrollbarButtonLeft = new Codicon('scrollbar-button-left', Codicon.triangleLeft.fontCharacter); - public static readonly scrollbarButtonRight = new Codicon('scrollbar-button-right', Codicon.triangleRight.fontCharacter); + /** + * @returns Returns all default icons covered by the codicon font. Only to be used by the icon registry in platform. + */ + export function getAll(): ICodicon[] { + return allCodicons; + } - public static readonly scrollbarButtonUp = new Codicon('scrollbar-button-up', Codicon.triangleUp.fontCharacter); - public static readonly scrollbarButtonDown = new Codicon('scrollbar-button-down', Codicon.triangleDown.fontCharacter); + export function classNames(codicon: ICodicon): string { + return 'codicon codicon-' + codicon.id; + } - public static readonly toolBarMore = new Codicon('toolbar-more', Codicon.more.fontCharacter); + export function classNamesArray(codicon: ICodicon): string[] { + return ['codicon', 'codicon-' + codicon.id]; + } - public static readonly quickInputBack = new Codicon('quick-input-back', Codicon.arrowLeft.fontCharacter); + export function cssSelector(codicon: ICodicon): string { + return '.codicon.codicon-' + codicon.id; + } } export interface CSSIcon { @@ -605,7 +630,7 @@ export namespace CSSIcon { const cssIconIdRegex = new RegExp(`^(${iconNameExpression})(${iconModifierExpression})?$`); export function asClassNameArray(icon: CSSIcon): string[] { - if (icon instanceof Codicon) { + if (isCodicon(icon)) { return ['codicon', 'codicon-' + icon.id]; } const match = cssIconIdRegex.exec(icon.id); diff --git a/src/vs/base/parts/quickinput/browser/quickInput.ts b/src/vs/base/parts/quickinput/browser/quickInput.ts index 94e68d6c43b93..a3b46086acb3d 100644 --- a/src/vs/base/parts/quickinput/browser/quickInput.ts +++ b/src/vs/base/parts/quickinput/browser/quickInput.ts @@ -77,7 +77,7 @@ const $ = dom.$; type Writeable = { -readonly [P in keyof T]: T[P] }; const backButton = { - iconClass: Codicon.quickInputBack.classNames, + iconClass: Codicon.classNames(Codicon.quickInputBack), tooltip: localize('quickInput.back', "Back"), handle: -1 // TODO }; diff --git a/src/vs/editor/browser/widget/inlineDiffMargin.ts b/src/vs/editor/browser/widget/inlineDiffMargin.ts index 3449ce176700d..3de35fc4da509 100644 --- a/src/vs/editor/browser/widget/inlineDiffMargin.ts +++ b/src/vs/editor/browser/widget/inlineDiffMargin.ts @@ -60,7 +60,7 @@ export class InlineDiffMargin extends Disposable { this._marginDomNode.style.zIndex = '10'; this._diffActions = document.createElement('div'); - this._diffActions.className = Codicon.lightBulb.classNames + ' lightbulb-glyph'; + this._diffActions.className = Codicon.classNames(Codicon.lightBulb) + ' lightbulb-glyph'; this._diffActions.style.position = 'absolute'; const lineHeight = editor.getOption(EditorOption.lineHeight); const lineFeed = editor.getModel()!.getEOL(); diff --git a/src/vs/editor/contrib/codeAction/browser/codeActionMenu.ts b/src/vs/editor/contrib/codeAction/browser/codeActionMenu.ts index 87d5e99356bbe..e5f1b0b6d8b4e 100644 --- a/src/vs/editor/contrib/codeAction/browser/codeActionMenu.ts +++ b/src/vs/editor/contrib/codeAction/browser/codeActionMenu.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import 'vs/base/browser/ui/codicons/codiconStyles'; // The codicon symbol styles are defined here and must be loaded -import { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; 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 +15,7 @@ import { ActionListItemKind, IListMenuItem } from 'vs/platform/actionWidget/brow interface ActionGroup { readonly kind: CodeActionKind; readonly title: string; - readonly icon?: { readonly codicon: Codicon; readonly color?: string }; + readonly icon?: { readonly codicon: ICodicon; readonly color?: string }; } const uncategorizedCodeActionGroup = Object.freeze({ kind: CodeActionKind.Empty, title: localize('codeAction.widget.id.more', 'More Actions...') }); diff --git a/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.ts b/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.ts index cbcab80c091b8..1c341dbcfe6fe 100644 --- a/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.ts +++ b/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.ts @@ -210,8 +210,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(...Codicon.lightBulb.classNamesArray); - this._domNode.classList.add(...Codicon.lightbulbAutofix.classNamesArray); + this._domNode.classList.remove(...Codicon.classNamesArray(Codicon.lightBulb)); + this._domNode.classList.add(...Codicon.classNamesArray(Codicon.lightbulbAutofix)); if (this._preferredKbLabel) { this.title = nls.localize('preferredcodeActionWithKb', "Show Code Actions. Preferred Quick Fix Available ({0})", this._preferredKbLabel); @@ -220,8 +220,8 @@ export class LightBulbWidget extends Disposable implements IContentWidget { } // update icon - this._domNode.classList.remove(...Codicon.lightbulbAutofix.classNamesArray); - this._domNode.classList.add(...Codicon.lightBulb.classNamesArray); + this._domNode.classList.remove(...Codicon.classNamesArray(Codicon.lightbulbAutofix)); + this._domNode.classList.add(...Codicon.classNamesArray(Codicon.lightBulb)); if (this._quickFixKbLabel) { this.title = nls.localize('codeActionWithKb', "Show Code Actions ({0})", this._quickFixKbLabel); diff --git a/src/vs/editor/contrib/peekView/browser/peekView.ts b/src/vs/editor/contrib/peekView/browser/peekView.ts index cfbc31654e997..5fff6b37a3705 100644 --- a/src/vs/editor/contrib/peekView/browser/peekView.ts +++ b/src/vs/editor/contrib/peekView/browser/peekView.ts @@ -200,7 +200,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"), Codicon.close.classNames, true, () => { + this._actionbarWidget.push(new Action('peekview.close', nls.localize('label.close', "Close"), Codicon.classNames(Codicon.close), true, () => { this.dispose(); return Promise.resolve(); }), { label: false, icon: true }); diff --git a/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.ts b/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.ts index 4a2cf99c17090..40879aa996fa1 100644 --- a/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.ts +++ b/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.ts @@ -242,7 +242,7 @@ export abstract class AbstractGotoSymbolQuickAccessProvider extends AbstractEdit const openSideBySideDirection = this.options?.openSideBySideDirection?.(); if (openSideBySideDirection) { buttons = [{ - iconClass: openSideBySideDirection === 'right' ? Codicon.splitHorizontal.classNames : Codicon.splitVertical.classNames, + iconClass: openSideBySideDirection === 'right' ? Codicon.classNames(Codicon.splitHorizontal) : Codicon.classNames(Codicon.splitVertical), tooltip: openSideBySideDirection === 'right' ? localize('openToSide', "Open to the Side") : localize('openToBottom', "Open to the Bottom") }]; } diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.ts b/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.ts index cb1716069075c..e1e3e07fe6a28 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.ts @@ -62,7 +62,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' + Codicon.close.cssSelector)); + this._close = dom.append(this._header, dom.$('span' + Codicon.cssSelector(Codicon.close))); this._close.title = nls.localize('details.close', "Close"); this._type = dom.append(this._header, dom.$('p.type')); diff --git a/src/vs/platform/actionWidget/browser/actionList.ts b/src/vs/platform/actionWidget/browser/actionList.ts index 331c482111807..defd836ba291e 100644 --- a/src/vs/platform/actionWidget/browser/actionList.ts +++ b/src/vs/platform/actionWidget/browser/actionList.ts @@ -7,7 +7,7 @@ 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 { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; import { ResolvedKeybinding } from 'vs/base/common/keybindings'; import { Disposable } from 'vs/base/common/lifecycle'; import { OS } from 'vs/base/common/platform'; @@ -28,7 +28,7 @@ export interface IRenderDelegate { export interface IListMenuItem { readonly item?: T; readonly kind: ActionListItemKind; - readonly group?: { kind?: any; icon?: { codicon: Codicon; color?: string }; title: string }; + readonly group?: { kind?: any; icon?: { codicon: ICodicon; color?: string }; title: string }; readonly disabled?: boolean; readonly label?: string; readonly description?: string; @@ -102,10 +102,10 @@ class ActionItemRenderer> implements IListR renderElement(element: T, _index: number, data: IActionMenuTemplateData): void { if (element.group?.icon) { - data.icon.className = element.group.icon.codicon.classNames; + data.icon.className = Codicon.classNames(element.group.icon.codicon); data.icon.style.color = element.group.icon.color ?? ''; } else { - data.icon.className = Codicon.lightBulb.classNames; + data.icon.className = Codicon.classNames(Codicon.lightBulb); data.icon.style.color = 'var(--vscode-editorLightBulb-foreground)'; } diff --git a/src/vs/platform/dialogs/common/dialogs.ts b/src/vs/platform/dialogs/common/dialogs.ts index e0f77e27d482f..81c5ed7879147 100644 --- a/src/vs/platform/dialogs/common/dialogs.ts +++ b/src/vs/platform/dialogs/common/dialogs.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { Event } from 'vs/base/common/event'; -import { Codicon } from 'vs/base/common/codicons'; +import { ICodicon } from 'vs/base/common/codicons'; 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?: Codicon; + readonly icon?: ICodicon; readonly disableCloseAction?: boolean; } diff --git a/src/vs/platform/severityIcon/browser/severityIcon.ts b/src/vs/platform/severityIcon/browser/severityIcon.ts index 342130d9f1450..e627db200e97a 100644 --- a/src/vs/platform/severityIcon/browser/severityIcon.ts +++ b/src/vs/platform/severityIcon/browser/severityIcon.ts @@ -12,13 +12,13 @@ export namespace SeverityIcon { export function className(severity: Severity): string { switch (severity) { case Severity.Ignore: - return 'severity-ignore ' + Codicon.info.classNames; + return 'severity-ignore ' + Codicon.classNames(Codicon.info); case Severity.Info: - return Codicon.info.classNames; + return Codicon.classNames(Codicon.info); case Severity.Warning: - return Codicon.warning.classNames; + return Codicon.classNames(Codicon.warning); case Severity.Error: - return Codicon.error.classNames; + return Codicon.classNames(Codicon.error); default: return ''; } diff --git a/src/vs/platform/theme/common/iconRegistry.ts b/src/vs/platform/theme/common/iconRegistry.ts index 4e3325a714de8..5797ed719a379 100644 --- a/src/vs/platform/theme/common/iconRegistry.ts +++ b/src/vs/platform/theme/common/iconRegistry.ts @@ -299,7 +299,7 @@ export function getIconRegistry(): IIconRegistry { function initialize() { for (const icon of Codicon.getAll()) { - iconRegistry.registerIcon(icon.id, { fontCharacter: icon.fontCharacter }, icon.description); + iconRegistry.registerIcon(icon.id, { fontCharacter: icon.codiconFontCharacter }, icon.description); } } initialize(); diff --git a/src/vs/platform/theme/common/themeService.ts b/src/vs/platform/theme/common/themeService.ts index f982cf4006f01..8040acba83407 100644 --- a/src/vs/platform/theme/common/themeService.ts +++ b/src/vs/platform/theme/common/themeService.ts @@ -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, CSSIcon, ICodicon } 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'; @@ -80,7 +80,7 @@ export namespace ThemeIcon { return ti1.id === ti2.id && ti1.color?.id === ti2.color?.id; } - export function asThemeIcon(codicon: Codicon, color?: string): ThemeIcon { + export function asThemeIcon(codicon: ICodicon, color?: string): ThemeIcon { return { id: codicon.id, color: color ? themeColorFromId(color) : undefined }; } diff --git a/src/vs/workbench/browser/actions/layoutActions.ts b/src/vs/workbench/browser/actions/layoutActions.ts index f7ddec2e42c83..d112b2b42577f 100644 --- a/src/vs/workbench/browser/actions/layoutActions.ts +++ b/src/vs/workbench/browser/actions/layoutActions.ts @@ -23,7 +23,7 @@ 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 { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; import { DisposableStore } from 'vs/base/common/lifecycle'; import { registerIcon } from 'vs/platform/theme/common/iconRegistry'; import { ThemeIcon } from 'vs/platform/theme/common/themeService'; @@ -1110,10 +1110,10 @@ interface CustomizeLayoutItem { id: string; active: ContextKeyExpression; label: string; - activeIcon: Codicon; + activeIcon: ICodicon; visualIcon?: LayoutVisualIcon; activeAriaLabel: string; - inactiveIcon?: Codicon; + inactiveIcon?: ICodicon; inactiveAriaLabel?: string; useButtons: boolean; } @@ -1235,7 +1235,7 @@ registerAction2(class CustomizeLayoutAction extends Action2 { { alwaysVisible: false, tooltip: ariaLabel, - iconClass: toggled ? item.activeIcon.classNames : item.inactiveIcon?.classNames + iconClass: toggled ? Codicon.classNames(item.activeIcon) : item.inactiveIcon ? Codicon.classNames(item.inactiveIcon) : undefined } ] }; @@ -1284,13 +1284,13 @@ registerAction2(class CustomizeLayoutAction extends Action2 { const closeButton = { alwaysVisible: true, - iconClass: Codicon.close.classNames, + iconClass: Codicon.classNames(Codicon.close), tooltip: localize('close', "Close") }; const resetButton = { alwaysVisible: true, - iconClass: Codicon.discard.classNames, + iconClass: Codicon.classNames(Codicon.discard), tooltip: localize('restore defaults', "Restore Defaults") }; diff --git a/src/vs/workbench/browser/actions/windowActions.ts b/src/vs/workbench/browser/actions/windowActions.ts index 03810af50ea3d..bba19060bff39 100644 --- a/src/vs/workbench/browser/actions/windowActions.ts +++ b/src/vs/workbench/browser/actions/windowActions.ts @@ -48,12 +48,12 @@ const fileCategory = { value: localize('file', "File"), original: 'File' }; abstract class BaseOpenRecentAction extends Action2 { private readonly removeFromRecentlyOpened: IQuickInputButton = { - iconClass: Codicon.removeClose.classNames, + iconClass: Codicon.classNames(Codicon.removeClose), tooltip: localize('remove', "Remove from Recently Opened") }; private readonly dirtyRecentlyOpenedFolder: IQuickInputButton = { - iconClass: 'dirty-workspace ' + Codicon.closeDirty.classNames, + iconClass: 'dirty-workspace ' + Codicon.classNames(Codicon.closeDirty), tooltip: localize('dirtyRecentlyOpenedFolder', "Folder With Unsaved Files"), alwaysVisible: true }; diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts index d7453e3f8d787..7cbeff9033404 100644 --- a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +++ b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts @@ -575,7 +575,7 @@ export class ActivitybarPart extends Part implements IPaneCompositeSelectorPart this.accountsActivityAction = this._register(new ActivityAction({ id: 'workbench.actions.accounts', name: localize('accounts', "Accounts"), - cssClass: Codicon.account.classNames + cssClass: Codicon.classNames(Codicon.account) })); this.globalActivityActionBar.push(this.accountsActivityAction, { index: ActivitybarPart.ACCOUNTS_ACTION_INDEX }); } diff --git a/src/vs/workbench/browser/parts/banner/bannerPart.ts b/src/vs/workbench/browser/parts/banner/bannerPart.ts index 6ec6be60410ef..faaef80524830 100644 --- a/src/vs/workbench/browser/parts/banner/bannerPart.ts +++ b/src/vs/workbench/browser/parts/banner/bannerPart.ts @@ -7,7 +7,7 @@ import 'vs/css!./media/bannerpart'; import { localize } from 'vs/nls'; import { $, addDisposableListener, append, asCSSUrl, clearNode, EventType } from 'vs/base/browser/dom'; import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; -import { Codicon } from 'vs/base/common/codicons'; +import { Codicon, isCodicon } from 'vs/base/common/codicons'; 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'; @@ -198,8 +198,8 @@ export class BannerPart extends Part implements IBannerService { const iconContainer = append(this.element, $('div.icon-container')); iconContainer.setAttribute('aria-hidden', 'true'); - if (item.icon instanceof Codicon) { - iconContainer.appendChild($(`div${item.icon.cssSelector}`)); + if (isCodicon(item.icon)) { + iconContainer.appendChild($(`div${Codicon.cssSelector(item.icon)}`)); } else { iconContainer.classList.add('custom-icon'); diff --git a/src/vs/workbench/browser/parts/compositeBarActions.ts b/src/vs/workbench/browser/parts/compositeBarActions.ts index f8fd76f211d37..ea1d7ca21f134 100644 --- a/src/vs/workbench/browser/parts/compositeBarActions.ts +++ b/src/vs/workbench/browser/parts/compositeBarActions.ts @@ -465,7 +465,7 @@ export class CompositeOverflowActivityAction extends ActivityAction { super({ id: 'additionalComposites.action', name: localize('additionalViews', "Additional Views"), - cssClass: Codicon.more.classNames + cssClass: Codicon.classNames(Codicon.more) }); } diff --git a/src/vs/workbench/browser/parts/editor/editorActions.ts b/src/vs/workbench/browser/parts/editor/editorActions.ts index 20edefb9528f4..2f967cc2377a3 100644 --- a/src/vs/workbench/browser/parts/editor/editorActions.ts +++ b/src/vs/workbench/browser/parts/editor/editorActions.ts @@ -405,7 +405,7 @@ export class CloseEditorAction extends Action { label: string, @ICommandService private readonly commandService: ICommandService ) { - super(id, label, Codicon.close.classNames); + super(id, label, Codicon.classNames(Codicon.close)); } override run(context?: IEditorCommandsContext): Promise { @@ -423,7 +423,7 @@ export class UnpinEditorAction extends Action { label: string, @ICommandService private readonly commandService: ICommandService ) { - super(id, label, Codicon.pinned.classNames); + super(id, label, Codicon.classNames(Codicon.pinned)); } override run(context?: IEditorCommandsContext): Promise { @@ -441,7 +441,7 @@ export class CloseOneEditorAction extends Action { label: string, @IEditorGroupsService private readonly editorGroupService: IEditorGroupsService ) { - super(id, label, Codicon.close.classNames); + super(id, label, Codicon.classNames(Codicon.close)); } override async run(context?: IEditorCommandsContext): Promise { @@ -731,7 +731,7 @@ export class CloseAllEditorsAction extends AbstractCloseAllAction { @IEditorService editorService: IEditorService, @IFilesConfigurationService filesConfigurationService: IFilesConfigurationService ) { - super(id, label, Codicon.closeAll.classNames, fileDialogService, editorGroupService, editorService, filesConfigurationService); + super(id, label, Codicon.classNames(Codicon.closeAll), fileDialogService, editorGroupService, editorService, filesConfigurationService); } protected get excludeSticky(): boolean { diff --git a/src/vs/workbench/browser/parts/editor/editorQuickAccess.ts b/src/vs/workbench/browser/parts/editor/editorQuickAccess.ts index 5b6bbdd10a1ea..eea163f0bd311 100644 --- a/src/vs/workbench/browser/parts/editor/editorQuickAccess.ts +++ b/src/vs/workbench/browser/parts/editor/editorQuickAccess.ts @@ -161,7 +161,7 @@ export abstract class BaseEditorQuickAccessProvider extends PickerQuickAccessPro buttons: (() => { return [ { - iconClass: isDirty ? ('dirty-editor ' + Codicon.closeDirty.classNames) : Codicon.close.classNames, + iconClass: isDirty ? ('dirty-editor ' + Codicon.classNames(Codicon.closeDirty)) : Codicon.classNames(Codicon.close), tooltip: localize('closeEditor', "Close Editor"), alwaysVisible: isDirty } diff --git a/src/vs/workbench/browser/parts/notifications/notificationsViewer.ts b/src/vs/workbench/browser/parts/notifications/notificationsViewer.ts index 3f16b0815bbd7..bf8c15c473cb7 100644 --- a/src/vs/workbench/browser/parts/notifications/notificationsViewer.ts +++ b/src/vs/workbench/browser/parts/notifications/notificationsViewer.ts @@ -20,7 +20,7 @@ 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 { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; 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 +380,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(...this.toSeverityIcon(severity).classNamesArray); + this.template.icon.classList.remove(...Codicon.classNamesArray(this.toSeverityIcon(severity))); } }); - this.template.icon.classList.add(...this.toSeverityIcon(notification.severity).classNamesArray); + this.template.icon.classList.add(...Codicon.classNamesArray(this.toSeverityIcon(notification.severity))); } private renderMessage(notification: INotificationViewItem): boolean { @@ -536,7 +536,7 @@ export class NotificationTemplateRenderer extends Disposable { } } - private toSeverityIcon(severity: Severity): Codicon { + private toSeverityIcon(severity: Severity): ICodicon { switch (severity) { case Severity.Warning: return Codicon.warning; diff --git a/src/vs/workbench/contrib/audioCues/browser/commands.ts b/src/vs/workbench/contrib/audioCues/browser/commands.ts index b2400bca2e32d..0b024369a4d20 100644 --- a/src/vs/workbench/contrib/audioCues/browser/commands.ts +++ b/src/vs/workbench/contrib/audioCues/browser/commands.ts @@ -38,7 +38,7 @@ export class ShowAudioCueHelp extends Action2 { : `${audioCueService.isEnabled(cue) ? '$(check)' : ' '} ${cue.name}`, audioCue: cue, buttons: [{ - iconClass: Codicon.settingsGear.classNames, + iconClass: Codicon.classNames(Codicon.settingsGear), tooltip: localize('audioCues.help.settings', 'Enable/Disable Audio Cue'), }], })); diff --git a/src/vs/workbench/contrib/comments/browser/commentNode.ts b/src/vs/workbench/contrib/comments/browser/commentNode.ts index 2eaa3376e86c9..226636e98d32d 100644 --- a/src/vs/workbench/contrib/comments/browser/commentNode.ts +++ b/src/vs/workbench/contrib/comments/browser/commentNode.ts @@ -215,7 +215,7 @@ export class CommentNode extends Disposable { { actionViewItemProvider: action => this.actionViewItemProvider(action as Action), actionRunner: this.actionRunner, - classNames: ['toolbar-toggle-pickReactions', ...Codicon.reactions.classNamesArray], + classNames: ['toolbar-toggle-pickReactions', ...Codicon.classNamesArray(Codicon.reactions)], anchorAlignmentProvider: () => AnchorAlignment.RIGHT } ); @@ -343,7 +343,7 @@ export class CommentNode extends Disposable { { actionViewItemProvider: action => this.actionViewItemProvider(action as Action), actionRunner: this.actionRunner, - classNames: ['toolbar-toggle-pickReactions', ...Codicon.reactions.classNamesArray], + classNames: ['toolbar-toggle-pickReactions', ...Codicon.classNamesArray(Codicon.reactions)], anchorAlignmentProvider: () => AnchorAlignment.RIGHT } ); diff --git a/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.ts b/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.ts index a6222c2da7291..a714789b67210 100644 --- a/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.ts +++ b/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.ts @@ -19,7 +19,7 @@ import { IColorTheme, IThemeService, ThemeIcon } from 'vs/platform/theme/common/ 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 { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; 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 +188,7 @@ export class CommentNodeRenderer implements IListRenderer return renderedComment; } - private getIcon(threadState?: CommentThreadState): Codicon { + private getIcon(threadState?: CommentThreadState): ICodicon { if (threadState === CommentThreadState.Unresolved) { return Codicon.commentUnresolved; } else { diff --git a/src/vs/workbench/contrib/debug/browser/baseDebugView.ts b/src/vs/workbench/contrib/debug/browser/baseDebugView.ts index 7dde04a8bb477..1c387ee827ef2 100644 --- a/src/vs/workbench/contrib/debug/browser/baseDebugView.ts +++ b/src/vs/workbench/contrib/debug/browser/baseDebugView.ts @@ -157,7 +157,7 @@ export abstract class AbstractExpressionsRenderer implements ITreeRenderer { @@ -592,7 +592,7 @@ export class CloseGroupAction extends Action { static readonly LABEL = nls.localize('closeGroup', "Close Group"); constructor(id: string, label: string, @ICommandService private readonly commandService: ICommandService) { - super(id, label, Codicon.closeAll.classNames); + super(id, label, Codicon.classNames(Codicon.closeAll)); } override run(context?: unknown): Promise { diff --git a/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.ts b/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.ts index 22af57bcfa398..b8af18143b654 100644 --- a/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.ts +++ b/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.ts @@ -308,14 +308,14 @@ class EditorStatusContribution implements IWorkbenchContribution { store.add(actionBar); let action: Action; if (!isPinned) { - action = new Action('pin', localize('pin', "Add to Status Bar"), Codicon.pin.classNames, true, () => { + action = new Action('pin', localize('pin', "Add to Status Bar"), Codicon.classNames(Codicon.pin), true, () => { this._dedicated.add(status.id); this._statusBarService.updateEntryVisibility(status.id, true); this._update(); this._storeState(); }); } else { - action = new Action('unpin', localize('unpin', "Remove from Status Bar"), Codicon.pinned.classNames, true, () => { + action = new Action('unpin', localize('unpin', "Remove from Status Bar"), Codicon.classNames(Codicon.pinned), true, () => { this._dedicated.delete(status.id); this._statusBarService.updateEntryVisibility(status.id, false); this._update(); diff --git a/src/vs/workbench/contrib/markers/browser/markersViewActions.ts b/src/vs/workbench/contrib/markers/browser/markersViewActions.ts index caf421e29319d..c6d311e63bd56 100644 --- a/src/vs/workbench/contrib/markers/browser/markersViewActions.ts +++ b/src/vs/workbench/contrib/markers/browser/markersViewActions.ts @@ -111,7 +111,7 @@ export class MarkersFilters extends Disposable { export class QuickFixAction extends Action { public static readonly ID: string = 'workbench.actions.problems.quickfix'; - private static readonly CLASS: string = 'markers-panel-action-quickfix ' + Codicon.lightBulb.classNames; + private static readonly CLASS: string = 'markers-panel-action-quickfix ' + Codicon.classNames(Codicon.lightBulb); private static readonly AUTO_FIX_CLASS: string = QuickFixAction.CLASS + ' autofixable'; private readonly _onShowQuickFixes = this._register(new Emitter()); diff --git a/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.ts b/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.ts index d362b430c44e5..b779f41c0da1c 100644 --- a/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.ts +++ b/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.ts @@ -7,7 +7,7 @@ import { addDisposableListener, EventType, h, reset } from 'vs/base/browser/dom' import { renderLabelWithIcons } from 'vs/base/browser/ui/iconLabel/iconLabels'; import { Toggle } from 'vs/base/browser/ui/toggle/toggle'; import { Action, IAction, Separator } from 'vs/base/common/actions'; -import { Codicon } from 'vs/base/common/codicons'; +import { Codicon, ICodicon } from 'vs/base/common/codicons'; import { Disposable } from 'vs/base/common/lifecycle'; import { clamp } from 'vs/base/common/numbers'; import { autorun, autorunWithStore, derived, IObservable, ISettableObservable, ITransaction, observableValue, transaction } from 'vs/base/common/observable'; @@ -415,7 +415,7 @@ export class MergeConflictGutterItemView extends Disposable implements IGutterIt autorun('Update Checkbox', (reader) => { const item = this.item.read(reader)!; const value = item.toggleState.read(reader); - const iconMap: Record = { + const iconMap: Record = { [InputState.excluded]: { icon: undefined, checked: false, title: localize('accept.excluded', "Accept") }, [InputState.unrecognized]: { icon: Codicon.circleFilled, checked: false, title: localize('accept.conflicting', "Accept (result is dirty)") }, [InputState.first]: { icon: Codicon.check, checked: true, title: localize('accept.first', "Undo accept") }, diff --git a/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.ts b/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.ts index 9bff790e24e43..c77396d91897c 100644 --- a/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.ts +++ b/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.ts @@ -98,7 +98,7 @@ export class CommandsQuickAccessProvider extends AbstractEditorCommandsQuickAcce ].map(c => ({ ...c, buttons: [{ - iconClass: Codicon.gear.classNames, + iconClass: Codicon.classNames(Codicon.gear), tooltip: localize('configure keybinding', "Configure Keybinding"), }], trigger: (): TriggerAction => { diff --git a/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts b/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts index a3c135a0e2c2f..c411c42144503 100644 --- a/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts +++ b/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts @@ -268,7 +268,7 @@ class DirtyDiffWidget extends PeekViewWidget { createAndFillInActionBarActions(this.menu, { shouldForwardArgs: true }, actions); this._actionbarWidget!.push(actions.reverse(), { label: false, icon: true }); this._actionbarWidget!.push([next, previous], { label: false, icon: true }); - this._actionbarWidget!.push(new Action('peekview.close', nls.localize('label.close', "Close"), Codicon.close.classNames, true, () => this.dispose()), { label: false, icon: true }); + this._actionbarWidget!.push(new Action('peekview.close', nls.localize('label.close', "Close"), Codicon.classNames(Codicon.close), true, () => this.dispose()), { label: false, icon: true }); } protected override _getActionBarOptions(): IActionBarOptions { diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts index 6f1f0f7d5d574..a4311cf8c7a1a 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts @@ -2128,7 +2128,7 @@ class SCMInputWidget { } const actionsContainer = append(validationContainer, $('.scm-editor-validation-actions')); const actionbar = new ActionBar(actionsContainer); - const action = new Action('scmInputWidget.validationMessage.close', localize('label.close', "Close"), Codicon.close.classNames, true, () => { + const action = new Action('scmInputWidget.validationMessage.close', localize('label.close', "Close"), Codicon.classNames(Codicon.close), true, () => { this.contextViewService.hideContextView(); }); disposables.add(actionbar); diff --git a/src/vs/workbench/contrib/search/browser/anythingQuickAccess.ts b/src/vs/workbench/contrib/search/browser/anythingQuickAccess.ts index aaa0e9f271c3b..84e3a542e1002 100644 --- a/src/vs/workbench/contrib/search/browser/anythingQuickAccess.ts +++ b/src/vs/workbench/contrib/search/browser/anythingQuickAccess.ts @@ -982,7 +982,7 @@ export class AnythingQuickAccessProvider extends PickerQuickAccessProvider this.testTerminalService.open(element.value) )); @@ -1563,7 +1563,7 @@ class TreeActionsProvider { primary.push(new Action( 'testing.outputPeek.goToFile', localize('testing.goToFile', "Go to File"), - Codicon.goToFile.classNames, + Codicon.classNames(Codicon.goToFile), undefined, () => this.commandService.executeCommand('vscode.revealTest', extId), )); @@ -1571,7 +1571,7 @@ class TreeActionsProvider { secondary.push(new Action( 'testing.outputPeek.revealInExplorer', localize('testing.revealInExplorer', "Reveal in Test Explorer"), - Codicon.listTree.classNames, + Codicon.classNames(Codicon.listTree), undefined, () => this.commandService.executeCommand('_revealTestInExplorer', extId), )); @@ -1602,7 +1602,7 @@ class TreeActionsProvider { primary.push(new Action( 'testing.outputPeek.showMessageInTerminal', localize('testing.showMessageInTerminal', "Show Output in Terminal"), - Codicon.terminal.classNames, + Codicon.classNames(Codicon.terminal), undefined, () => this.testTerminalService.open(element.result, element.marker), )); diff --git a/src/vs/workbench/contrib/welcomeOverlay/browser/welcomeOverlay.ts b/src/vs/workbench/contrib/welcomeOverlay/browser/welcomeOverlay.ts index 2f4b557e6e367..31f48606318dd 100644 --- a/src/vs/workbench/contrib/welcomeOverlay/browser/welcomeOverlay.ts +++ b/src/vs/workbench/contrib/welcomeOverlay/browser/welcomeOverlay.ts @@ -227,7 +227,7 @@ class WelcomeOverlay extends Disposable { } private updateProblemsKey() { - const problems = document.querySelector(`footer[id="workbench.parts.statusbar"] .statusbar-item.left ${Codicon.warning.cssSelector}`); + const problems = document.querySelector(`footer[id="workbench.parts.statusbar"] .statusbar-item.left ${Codicon.cssSelector(Codicon.warning)}`); const key = this._overlay.querySelector('.key.problems') as HTMLElement; if (problems instanceof HTMLElement) { const target = problems.getBoundingClientRect(); diff --git a/src/vs/workbench/electron-sandbox/actions/windowActions.ts b/src/vs/workbench/electron-sandbox/actions/windowActions.ts index f782f4579191b..b0e5542e3445b 100644 --- a/src/vs/workbench/electron-sandbox/actions/windowActions.ts +++ b/src/vs/workbench/electron-sandbox/actions/windowActions.ts @@ -181,7 +181,7 @@ export class ZoomResetAction extends BaseZoomAction { abstract class BaseSwitchWindow extends Action2 { private readonly closeWindowAction: IQuickInputButton = { - iconClass: Codicon.removeClose.classNames, + iconClass: Codicon.classNames(Codicon.removeClose), tooltip: localize('close', "Close Window") }; diff --git a/src/vs/workbench/electron-sandbox/parts/titlebar/titlebarPart.ts b/src/vs/workbench/electron-sandbox/parts/titlebar/titlebarPart.ts index 064cf273bfa52..4ff1c1b8af7af 100644 --- a/src/vs/workbench/electron-sandbox/parts/titlebar/titlebarPart.ts +++ b/src/vs/workbench/electron-sandbox/parts/titlebar/titlebarPart.ts @@ -83,11 +83,11 @@ export class TitlebarPart extends BrowserTitleBarPart { private onDidChangeWindowMaximized(maximized: boolean): void { if (this.maxRestoreControl) { if (maximized) { - this.maxRestoreControl.classList.remove(...Codicon.chromeMaximize.classNamesArray); - this.maxRestoreControl.classList.add(...Codicon.chromeRestore.classNamesArray); + this.maxRestoreControl.classList.remove(...Codicon.classNamesArray(Codicon.chromeMaximize)); + this.maxRestoreControl.classList.add(...Codicon.classNamesArray(Codicon.chromeRestore)); } else { - this.maxRestoreControl.classList.remove(...Codicon.chromeRestore.classNamesArray); - this.maxRestoreControl.classList.add(...Codicon.chromeMaximize.classNamesArray); + this.maxRestoreControl.classList.remove(...Codicon.classNamesArray(Codicon.chromeRestore)); + this.maxRestoreControl.classList.add(...Codicon.classNamesArray(Codicon.chromeMaximize)); } } @@ -165,7 +165,7 @@ export class TitlebarPart extends BrowserTitleBarPart { // Window Controls (Native Windows/Linux) if (!isMacintosh && getTitleBarStyle(this.configurationService) !== 'native' && !isWCOEnabled() && this.primaryWindowControls) { // Minimize - const minimizeIcon = append(this.primaryWindowControls, $('div.window-icon.window-minimize' + Codicon.chromeMinimize.cssSelector)); + const minimizeIcon = append(this.primaryWindowControls, $('div.window-icon.window-minimize' + Codicon.cssSelector(Codicon.chromeMinimize))); this._register(addDisposableListener(minimizeIcon, EventType.CLICK, e => { this.nativeHostService.minimizeWindow(); })); @@ -182,7 +182,7 @@ export class TitlebarPart extends BrowserTitleBarPart { })); // Close - const closeIcon = append(this.primaryWindowControls, $('div.window-icon.window-close' + Codicon.chromeClose.cssSelector)); + const closeIcon = append(this.primaryWindowControls, $('div.window-icon.window-close' + Codicon.cssSelector(Codicon.chromeClose))); this._register(addDisposableListener(closeIcon, EventType.CLICK, e => { this.nativeHostService.closeWindow(); })); From e9e7429985bbf95f422b6888f7746491edce9c19 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 13 Jan 2023 09:56:34 +0100 Subject: [PATCH 2/2] use string concat --- src/vs/base/common/codicons.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/vs/base/common/codicons.ts b/src/vs/base/common/codicons.ts index 3d69069faee37..a44c272585c4e 100644 --- a/src/vs/base/common/codicons.ts +++ b/src/vs/base/common/codicons.ts @@ -604,15 +604,15 @@ export namespace Codicon { } export function classNames(codicon: ICodicon): string { - return 'codicon codicon-' + codicon.id; + return `codicon codicon-${codicon.id}`; } export function classNamesArray(codicon: ICodicon): string[] { - return ['codicon', 'codicon-' + codicon.id]; + return ['codicon', `codicon-${codicon.id}`]; } export function cssSelector(codicon: ICodicon): string { - return '.codicon.codicon-' + codicon.id; + return `.codicon.codicon-${codicon.id}`; } } @@ -631,16 +631,16 @@ export namespace CSSIcon { export function asClassNameArray(icon: CSSIcon): string[] { if (isCodicon(icon)) { - return ['codicon', 'codicon-' + icon.id]; + return ['codicon', `codicon-${icon.id}`]; } const match = cssIconIdRegex.exec(icon.id); if (!match) { return asClassNameArray(Codicon.error); } const [, id, modifier] = match; - const classNames = ['codicon', 'codicon-' + id]; + const classNames = ['codicon', `codicon-${id}`]; if (modifier) { - classNames.push('codicon-modifier-' + modifier.substring(1)); + classNames.push(`codicon-modifier-${modifier.substring(1)}`); } return classNames; } @@ -650,6 +650,6 @@ export namespace CSSIcon { } export function asCSSSelector(icon: CSSIcon): string { - return '.' + asClassNameArray(icon).join('.'); + return `.${asClassNameArray(icon).join('.')}`; } }