1 | ;
|
2 | // *****************************************************************************
|
3 | // Copyright (C) 2022 Ericsson and others.
|
4 | //
|
5 | // This program and the accompanying materials are made available under the
|
6 | // terms of the Eclipse Public License v. 2.0 which is available at
|
7 | // http://www.eclipse.org/legal/epl-2.0.
|
8 | //
|
9 | // This Source Code may also be made available under the following Secondary
|
10 | // Licenses when the conditions for such availability set forth in the Eclipse
|
11 | // Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
12 | // with the GNU Classpath Exception which is available at
|
13 | // https://www.gnu.org/software/classpath/license.html.
|
14 | //
|
15 | // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
16 | // *****************************************************************************
|
17 | Object.defineProperty(exports, "__esModule", { value: true });
|
18 | exports.escapeIcons = exports.CSSIcon = void 0;
|
19 | // Copied from https://github.com/microsoft/vscode/blob/7d9b1c37f8e5ae3772782ba3b09d827eb3fdd833/src/vs/base/common/codicons.ts
|
20 | var CSSIcon;
|
21 | (function (CSSIcon) {
|
22 | CSSIcon.iconNameSegment = '[A-Za-z0-9]+';
|
23 | CSSIcon.iconNameExpression = '[A-Za-z0-9-]+';
|
24 | CSSIcon.iconModifierExpression = '~[A-Za-z]+';
|
25 | CSSIcon.iconNameCharacter = '[A-Za-z0-9~-]';
|
26 | })(CSSIcon = exports.CSSIcon || (exports.CSSIcon = {}));
|
27 | const iconsRegex = new RegExp(`\\$\\(${CSSIcon.iconNameExpression}(?:${CSSIcon.iconModifierExpression})?\\)`, 'g'); // no capturing groups
|
28 | const escapeIconsRegex = new RegExp(`(\\\\)?${iconsRegex.source}`, 'g');
|
29 | function escapeIcons(text) {
|
30 | return text.replace(escapeIconsRegex, (match, escaped) => escaped ? match : `\\${match}`);
|
31 | }
|
32 | exports.escapeIcons = escapeIcons;
|
33 | //# sourceMappingURL=icon-utilities.js.map |
\ | No newline at end of file |