Skip to content

Commit ef4df1d

Browse files
committed
remove old renderCodicons-function, rename renderCodiconsAsElement to renderCodicons
1 parent e3380f2 commit ef4df1d

File tree

14 files changed

+44
-57
lines changed

14 files changed

+44
-57
lines changed

src/vs/base/browser/codicons.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as dom from 'vs/base/browser/dom';
7-
import { renderCodiconsRegex } from 'vs/base/common/codicons';
87

9-
export function renderCodiconsAsElement(text: string): Array<HTMLSpanElement | string> {
8+
const renderCodiconsRegex = /(\\)?\$\((([a-z0-9\-]+?)(?:~([a-z0-9\-]*?))?)\)/gi;
9+
10+
export function renderCodicons(text: string): Array<HTMLSpanElement | string> {
1011
const elements = new Array<HTMLSpanElement | string>();
1112
let match: RegExpMatchArray | null;
1213

@@ -24,4 +25,4 @@ export function renderCodiconsAsElement(text: string): Array<HTMLSpanElement | s
2425
elements.push(text.substring(textStart));
2526
}
2627
return elements;
27-
}
28+
}

src/vs/base/browser/markdownRenderer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { Schemas } from 'vs/base/common/network';
1818
import { markdownEscapeEscapedCodicons } from 'vs/base/common/codicons';
1919
import { resolvePath } from 'vs/base/common/resources';
2020
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
21-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
21+
import { renderCodicons } from 'vs/base/browser/codicons';
2222

2323
export interface MarkedOptions extends marked.MarkedOptions {
2424
baseUrl?: never;
@@ -145,7 +145,7 @@ export function renderMarkdown(markdown: IMarkdownString, options: MarkdownRende
145145
};
146146
renderer.paragraph = (text): string => {
147147
if (markdown.supportThemeIcons) {
148-
const elements = renderCodiconsAsElement(text);
148+
const elements = renderCodicons(text);
149149
text = elements.map(e => typeof e === 'string' ? e : e.outerHTML).join('');
150150
}
151151
return `<p>${text}</p>`;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { mixin } from 'vs/base/common/objects';
1212
import { Event as BaseEvent, Emitter } from 'vs/base/common/event';
1313
import { Disposable } from 'vs/base/common/lifecycle';
1414
import { Gesture, EventType } from 'vs/base/browser/touch';
15-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
15+
import { renderCodicons } from 'vs/base/browser/codicons';
1616

1717
export interface IButtonOptions extends IButtonStyles {
1818
readonly title?: boolean | string;
@@ -179,7 +179,7 @@ export class Button extends Disposable {
179179
DOM.addClass(this._element, 'monaco-text-button');
180180
}
181181
if (this.options.supportCodicons) {
182-
DOM.reset(this._element, ...renderCodiconsAsElement(value));
182+
DOM.reset(this._element, ...renderCodicons(value));
183183
} else {
184184
this._element.textContent = value;
185185
}

src/vs/base/browser/ui/codicons/codiconLabel.ts

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

66
import { reset } from 'vs/base/browser/dom';
7-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
7+
import { renderCodicons } from 'vs/base/browser/codicons';
88

99
export class CodiconLabel {
1010

@@ -13,7 +13,7 @@ export class CodiconLabel {
1313
) { }
1414

1515
set text(text: string) {
16-
reset(this._container, ...renderCodiconsAsElement(text ?? ''));
16+
reset(this._container, ...renderCodicons(text ?? ''));
1717
}
1818

1919
set title(title: string) {

src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import * as objects from 'vs/base/common/objects';
77
import * as dom from 'vs/base/browser/dom';
8-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
8+
import { renderCodicons } from 'vs/base/browser/codicons';
99

1010
export interface IHighlight {
1111
start: number;
@@ -61,12 +61,12 @@ export class HighlightedLabel {
6161
}
6262
if (pos < highlight.start) {
6363
const substring = this.text.substring(pos, highlight.start);
64-
children.push(dom.$('span', undefined, ...this.supportCodicons ? renderCodiconsAsElement(substring) : [substring]));
64+
children.push(dom.$('span', undefined, ...this.supportCodicons ? renderCodicons(substring) : [substring]));
6565
pos = highlight.end;
6666
}
6767

6868
const substring = this.text.substring(highlight.start, highlight.end);
69-
const element = dom.$('span.highlight', undefined, ...this.supportCodicons ? renderCodiconsAsElement(substring) : [substring]);
69+
const element = dom.$('span.highlight', undefined, ...this.supportCodicons ? renderCodicons(substring) : [substring]);
7070
if (highlight.extraClasses) {
7171
element.classList.add(highlight.extraClasses);
7272
}
@@ -76,7 +76,7 @@ export class HighlightedLabel {
7676

7777
if (pos < this.text.length) {
7878
const substring = this.text.substring(pos,);
79-
children.push(dom.$('span', undefined, ...this.supportCodicons ? renderCodiconsAsElement(substring) : [substring]));
79+
children.push(dom.$('span', undefined, ...this.supportCodicons ? renderCodicons(substring) : [substring]));
8080
}
8181

8282
dom.reset(this.domNode, ...children);

src/vs/base/common/codicons.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -501,20 +501,6 @@ export function markdownUnescapeCodicons(text: string): string {
501501
return text.replace(markdownUnescapeCodiconsRegex, (match, escaped, codicon) => escaped ? match : `$(${codicon})`);
502502
}
503503

504-
export const renderCodiconsRegex = /(\\)?\$\((([a-z0-9\-]+?)(?:~([a-z0-9\-]*?))?)\)/gi;
505-
506-
/**
507-
* @deprecated Use `renderCodiconsAsElement` instead
508-
*/
509-
export function renderCodicons(text: string): string {
510-
return text.replace(renderCodiconsRegex, (_, escaped, codicon, name, animation) => {
511-
// If the class for codicons is changed, it should also be updated in src\vs\base\browser\markdownRenderer.ts
512-
return escaped
513-
? `$(${codicon})`
514-
: `<span class="codicon codicon-${name}${animation ? ` codicon-animation-${animation}` : ''}"></span>`;
515-
});
516-
}
517-
518504
const stripCodiconsRegex = /(\s)?(\\)?\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)(\s)?/gi;
519505
export function stripCodicons(text: string): string {
520506
if (text.indexOf(codiconStartMarker) === -1) {

src/vs/base/test/browser/codicons.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,43 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
6+
import { renderCodicons } from 'vs/base/browser/codicons';
77
import * as assert from 'assert';
88

99
suite('renderCodicons', () => {
1010

1111
test('no codicons', () => {
12-
const result = renderCodiconsAsElement(' hello World .');
12+
const result = renderCodicons(' hello World .');
1313

1414
assert.equal(elementsToString(result), ' hello World .');
1515
});
1616

1717
test('codicon only', () => {
18-
const result = renderCodiconsAsElement('$(alert)');
18+
const result = renderCodicons('$(alert)');
1919

2020
assert.equal(elementsToString(result), '<span class="codicon codicon-alert"></span>');
2121
});
2222

2323
test('codicon and non-codicon strings', () => {
24-
const result = renderCodiconsAsElement(` $(alert) Unresponsive`);
24+
const result = renderCodicons(` $(alert) Unresponsive`);
2525

2626
assert.equal(elementsToString(result), ' <span class="codicon codicon-alert"></span> Unresponsive');
2727
});
2828

2929
test('multiple codicons', () => {
30-
const result = renderCodiconsAsElement('$(check)$(error)');
30+
const result = renderCodicons('$(check)$(error)');
3131

3232
assert.equal(elementsToString(result), '<span class="codicon codicon-check"></span><span class="codicon codicon-error"></span>');
3333
});
3434

3535
test('escaped codicon', () => {
36-
const result = renderCodiconsAsElement('\\$(escaped)');
36+
const result = renderCodicons('\\$(escaped)');
3737

3838
assert.equal(elementsToString(result), '$(escaped)');
3939
});
4040

4141
test('codicon with animation', () => {
42-
const result = renderCodiconsAsElement('$(zip~anim)');
42+
const result = renderCodicons('$(zip~anim)');
4343

4444
assert.equal(elementsToString(result), '<span class="codicon codicon-zip codicon-animation-anim"></span>');
4545
});

src/vs/editor/contrib/codelens/codelensWidget.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { editorCodeLensForeground } from 'vs/editor/common/view/editorColorRegis
1414
import { CodeLensItem } from 'vs/editor/contrib/codelens/codelens';
1515
import { editorActiveLinkForeground } from 'vs/platform/theme/common/colorRegistry';
1616
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
17-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
17+
import { renderCodicons } from 'vs/base/browser/codicons';
1818

1919
class CodeLensViewZone implements IViewZone {
2020

@@ -88,7 +88,7 @@ class CodeLensContentWidget implements IContentWidget {
8888
}
8989
hasSymbol = true;
9090
if (lens.command) {
91-
const title = renderCodiconsAsElement(lens.command.title);
91+
const title = renderCodicons(lens.command.title);
9292
if (lens.command.id) {
9393
children.push(dom.$('a', { id: String(i) }, ...title));
9494
this._commands.set(String(i), lens.command);

src/vs/workbench/contrib/extensions/electron-browser/runtimeExtensionsEditor.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import { randomPort } from 'vs/base/node/ports';
3737
import { IContextKeyService, RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey';
3838
import { IStorageService } from 'vs/platform/storage/common/storage';
3939
import { ILabelService } from 'vs/platform/label/common/label';
40-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
40+
import { renderCodicons } from 'vs/base/browser/codicons';
4141
import { ExtensionIdentifier, ExtensionType, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
4242
import { Schemas } from 'vs/base/common/network';
4343
import { SlowExtensionAction } from 'vs/workbench/contrib/extensions/electron-browser/extensionsSlowActions';
@@ -408,28 +408,28 @@ export class RuntimeExtensionsEditor extends EditorPane {
408408
clearNode(data.msgContainer);
409409

410410
if (this._extensionHostProfileService.getUnresponsiveProfile(element.description.identifier)) {
411-
const el = $('span', undefined, ...renderCodiconsAsElement(` $(alert) Unresponsive`));
411+
const el = $('span', undefined, ...renderCodicons(` $(alert) Unresponsive`));
412412
el.title = nls.localize('unresponsive.title', "Extension has caused the extension host to freeze.");
413413
data.msgContainer.appendChild(el);
414414
}
415415

416416
if (isNonEmptyArray(element.status.runtimeErrors)) {
417-
const el = $('span', undefined, ...renderCodiconsAsElement(`$(bug) ${nls.localize('errors', "{0} uncaught errors", element.status.runtimeErrors.length)}`));
417+
const el = $('span', undefined, ...renderCodicons(`$(bug) ${nls.localize('errors', "{0} uncaught errors", element.status.runtimeErrors.length)}`));
418418
data.msgContainer.appendChild(el);
419419
}
420420

421421
if (element.status.messages && element.status.messages.length > 0) {
422-
const el = $('span', undefined, ...renderCodiconsAsElement(`$(alert) ${element.status.messages[0].message}`));
422+
const el = $('span', undefined, ...renderCodicons(`$(alert) ${element.status.messages[0].message}`));
423423
data.msgContainer.appendChild(el);
424424
}
425425

426426
if (element.description.extensionLocation.scheme !== 'file') {
427-
const el = $('span', undefined, ...renderCodiconsAsElement(`$(remote) ${element.description.extensionLocation.authority}`));
427+
const el = $('span', undefined, ...renderCodicons(`$(remote) ${element.description.extensionLocation.authority}`));
428428
data.msgContainer.appendChild(el);
429429

430430
const hostLabel = this._labelService.getHostLabel(Schemas.vscodeRemote, this._environmentService.configuration.remoteAuthority);
431431
if (hostLabel) {
432-
reset(el, ...renderCodiconsAsElement(`$(remote) ${hostLabel}`));
432+
reset(el, ...renderCodicons(`$(remote) ${hostLabel}`));
433433
}
434434
}
435435

src/vs/workbench/contrib/notebook/browser/diff/cellComponents.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { CellDiffRenderTemplate, CellDiffViewModelLayoutChangeEvent, DIFF_CELL_M
1212
import { EDITOR_BOTTOM_PADDING, EDITOR_TOP_PADDING } from 'vs/workbench/contrib/notebook/browser/constants';
1313
import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
1414
import { DiffEditorWidget } from 'vs/editor/browser/widget/diffEditorWidget';
15-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
15+
import { renderCodicons } from 'vs/base/browser/codicons';
1616
import { IModelService } from 'vs/editor/common/services/modelService';
1717
import { IModeService } from 'vs/editor/common/services/modeService';
1818
import { format } from 'vs/base/common/jsonFormatter';
@@ -194,9 +194,9 @@ class PropertyHeader extends Disposable {
194194

195195
private _updateFoldingIcon() {
196196
if (this.accessor.getFoldingState(this.cell) === PropertyFoldingState.Collapsed) {
197-
DOM.reset(this._foldingIndicator, ...renderCodiconsAsElement('$(chevron-right)'));
197+
DOM.reset(this._foldingIndicator, ...renderCodicons('$(chevron-right)'));
198198
} else {
199-
DOM.reset(this._foldingIndicator, ...renderCodiconsAsElement('$(chevron-down)'));
199+
DOM.reset(this._foldingIndicator, ...renderCodicons('$(chevron-down)'));
200200
}
201201
}
202202
}

src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { IListRenderer, IListVirtualDelegate } from 'vs/base/browser/ui/list/lis
1010
import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
1111
import { ToolBar } from 'vs/base/browser/ui/toolbar/toolbar';
1212
import { IAction } from 'vs/base/common/actions';
13-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
13+
import { renderCodicons } from 'vs/base/browser/codicons';
1414
import { Color } from 'vs/base/common/color';
1515
import { Emitter, Event } from 'vs/base/common/event';
1616
import { Disposable, DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
@@ -352,7 +352,7 @@ abstract class AbstractCellRenderer {
352352
}
353353

354354
protected setupCollapsedPart(container: HTMLElement): { collapsedPart: HTMLElement, expandButton: HTMLElement } {
355-
const collapsedPart = DOM.append(container, $('.cell.cell-collapsed-part', undefined, ...renderCodiconsAsElement('$(unfold)')));
355+
const collapsedPart = DOM.append(container, $('.cell.cell-collapsed-part', undefined, ...renderCodicons('$(unfold)')));
356356
const expandButton = collapsedPart.querySelector('.codicon') as HTMLElement;
357357
const keybinding = this.keybindingService.lookupKeybinding(EXPAND_CELL_CONTENT_COMMAND_ID);
358358
let title = localize('cellExpandButtonLabel', "Expand");
@@ -960,11 +960,11 @@ export class RunStateRenderer {
960960
}
961961

962962
if (runState === NotebookCellRunState.Success) {
963-
DOM.reset(this.element, ...renderCodiconsAsElement('$(check)'));
963+
DOM.reset(this.element, ...renderCodicons('$(check)'));
964964
} else if (runState === NotebookCellRunState.Error) {
965-
DOM.reset(this.element, ...renderCodiconsAsElement('$(error)'));
965+
DOM.reset(this.element, ...renderCodicons('$(error)'));
966966
} else if (runState === NotebookCellRunState.Running) {
967-
DOM.reset(this.element, ...renderCodiconsAsElement('$(sync~spin)'));
967+
DOM.reset(this.element, ...renderCodicons('$(sync~spin)'));
968968

969969
this.spinnerTimer = setTimeout(() => {
970970
this.spinnerTimer = undefined;

src/vs/workbench/contrib/notebook/browser/view/renderers/commonViewComponents.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { MenuItemAction } from 'vs/platform/actions/common/actions';
99
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
1010
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
1111
import { INotificationService } from 'vs/platform/notification/common/notification';
12-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
12+
import { renderCodicons } from 'vs/base/browser/codicons';
1313

1414
export class CodiconActionViewItem extends MenuEntryActionViewItem {
1515
constructor(
@@ -22,7 +22,7 @@ export class CodiconActionViewItem extends MenuEntryActionViewItem {
2222
}
2323
updateLabel(): void {
2424
if (this.options.label && this.label) {
25-
DOM.reset(this.label, ...renderCodiconsAsElement(this._commandAction.label ?? ''));
25+
DOM.reset(this.label, ...renderCodicons(this._commandAction.label ?? ''));
2626
}
2727
}
2828
}

src/vs/workbench/contrib/notebook/browser/view/renderers/markdownCell.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import * as DOM from 'vs/base/browser/dom';
77
import { raceCancellation } from 'vs/base/common/async';
88
import { CancellationTokenSource } from 'vs/base/common/cancellation';
9-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
9+
import { renderCodicons } from 'vs/base/browser/codicons';
1010
import { Disposable, DisposableStore, toDisposable } from 'vs/base/common/lifecycle';
1111
import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
1212
import { IEditorOptions } from 'vs/editor/common/config/editorOptions';
@@ -315,10 +315,10 @@ export class StatefulMarkdownCell extends Disposable {
315315
this.templateData.foldingIndicator.innerText = '';
316316
break;
317317
case CellFoldingState.Collapsed:
318-
DOM.reset(this.templateData.foldingIndicator, ...renderCodiconsAsElement('$(chevron-right)'));
318+
DOM.reset(this.templateData.foldingIndicator, ...renderCodicons('$(chevron-right)'));
319319
break;
320320
case CellFoldingState.Expanded:
321-
DOM.reset(this.templateData.foldingIndicator, ...renderCodiconsAsElement('$(chevron-down)'));
321+
DOM.reset(this.templateData.foldingIndicator, ...renderCodicons('$(chevron-down)'));
322322
break;
323323

324324
default:

src/vs/workbench/contrib/scm/browser/util.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { createAndFillInActionBarActions, createAndFillInContextMenuActions } fr
1212
import { equals } from 'vs/base/common/arrays';
1313
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
1414
import { ActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems';
15-
import { renderCodiconsAsElement } from 'vs/base/browser/codicons';
15+
import { renderCodicons } from 'vs/base/browser/codicons';
1616
import { ICommandService } from 'vs/platform/commands/common/commands';
1717
import { Command } from 'vs/editor/common/modes';
1818
import { basename } from 'vs/base/common/resources';
@@ -105,7 +105,7 @@ export class StatusBarActionViewItem extends ActionViewItem {
105105

106106
updateLabel(): void {
107107
if (this.options.label && this.label) {
108-
reset(this.label, ...renderCodiconsAsElement(this.getAction().label));
108+
reset(this.label, ...renderCodicons(this.getAction().label));
109109
}
110110
}
111111
}

0 commit comments

Comments
 (0)