diff --git a/.fantasticonrc.js b/.fantasticonrc.js
index f1cc3725ce234..cd617e07542ff 100644
--- a/.fantasticonrc.js
+++ b/.fantasticonrc.js
@@ -12,10 +12,12 @@ const config = {
fontTypes: ['woff2'],
normalize: true,
// @ts-ignore
- assetTypes: ['html', 'scss', 'json'],
+ assetTypes: ['html', 'scss', 'json', 'sass', 'css'],
templates: {
html: './images/icons/template/icons-contribution.hbs',
scss: './images/icons/template/styles.hbs',
+ sass: './images/icons/template/sass-map.hbs',
+ css: './images/icons/template/component-map.hbs',
},
formatOptions: {
json: {
@@ -25,8 +27,10 @@ const config = {
pathOptions: {
woff2: './dist/glicons.woff2',
scss: './dist/glicons.scss',
+ sass: './dist/glicons-map.scss',
html: './dist/icons-contribution.json',
json: './images/icons/template/mapping.json',
+ css: './dist/glicons-map.ts',
},
};
diff --git a/.prettierignore b/.prettierignore
index 7d8921d9a4936..2bdff08fd9022 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -4,8 +4,14 @@ out
node_modules
git.d.ts
glicons.scss
+images/icons/template/component-map.hbs
images/icons/template/icons-contribution.hbs
images/icons/template/mapping.json
+images/icons/template/sass-map.hbs
images/icons/template/styles.hbs
src/emojis.generated.ts
+src/webviews/apps/shared/components/icons/codicons-map.ts
+src/webviews/apps/shared/components/icons/glicons-map.ts
+src/webviews/apps/shared/styles/icons/codicons-map.scss
+src/webviews/apps/shared/styles/icons/glicons-map.scss
pnpm-lock.yaml
diff --git a/images/icons/diff-multiple.svg b/images/icons/diff-multiple.svg
deleted file mode 100644
index b2f793b170800..0000000000000
--- a/images/icons/diff-multiple.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/diff-single.svg b/images/icons/diff-single.svg
deleted file mode 100644
index e5e1c9bacb0f5..0000000000000
--- a/images/icons/diff-single.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/repo-fetch.svg b/images/icons/repo-fetch.svg
deleted file mode 100644
index 1fd0ea8dd589e..0000000000000
--- a/images/icons/repo-fetch.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/repo-force-push.svg b/images/icons/repo-force-push.svg
deleted file mode 100644
index 15878f3d3d21e..0000000000000
--- a/images/icons/repo-force-push.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/repo-pull.svg b/images/icons/repo-pull.svg
deleted file mode 100644
index e28c1240cda95..0000000000000
--- a/images/icons/repo-pull.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/repo-push.svg b/images/icons/repo-push.svg
deleted file mode 100644
index 878d60ae0fac3..0000000000000
--- a/images/icons/repo-push.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/template/component-map.hbs b/images/icons/template/component-map.hbs
new file mode 100644
index 0000000000000..f9297120b1d72
--- /dev/null
+++ b/images/icons/template/component-map.hbs
@@ -0,0 +1,10 @@
+// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+
+export const iconFontFamily = '{{ name }}';
+
+export const iconMap = Object.freeze({
+{{#each codepoints}}
+ '{{ @key }}': '\\\{{ codepoint this }}',
+{{/each}}
+});
diff --git a/images/icons/template/mapping.json b/images/icons/template/mapping.json
index 59174b8aa8e57..766c1bdd24b93 100644
--- a/images/icons/template/mapping.json
+++ b/images/icons/template/mapping.json
@@ -27,7 +27,6 @@
"switch": 61720,
"expand": 61721,
"list-auto": 61722,
- "repo-force-push": 61723,
"pinned-filled": 61724,
"clock": 61725,
"provider-azdo": 61726,
@@ -46,11 +45,6 @@
"repository-filled": 61739,
"gitlens-filled": 61740,
"code-suggestion": 61741,
- "diff-multiple": 61742,
- "diff-single": 61743,
- "repo-fetch": 61744,
- "repo-pull": 61745,
- "repo-push": 61746,
"provider-jira": 61747,
"play-button": 61748,
"rocket-filled": 61749,
diff --git a/images/icons/template/sass-map.hbs b/images/icons/template/sass-map.hbs
new file mode 100644
index 0000000000000..2b6099d80eec9
--- /dev/null
+++ b/images/icons/template/sass-map.hbs
@@ -0,0 +1,10 @@
+// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+
+$icon-font-family: '{{ name }}';
+
+$icon-map: (
+{{#each codepoints}}
+ '{{@key}}': '\\{{ codepoint this }}',
+{{/each}}
+);
diff --git a/package.json b/package.json
index 9ab45f68568cf..19a51758c20dd 100644
--- a/package.json
+++ b/package.json
@@ -7014,21 +7014,21 @@
"command": "gitlens.fetchRepositories",
"title": "Fetch",
"category": "GitLens",
- "icon": "$(gitlens-repo-fetch)",
+ "icon": "$(repo-fetch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.pullRepositories",
"title": "Pull",
"category": "GitLens",
- "icon": "$(gitlens-repo-pull)",
+ "icon": "$(repo-pull)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.pushRepositories",
"title": "Push",
"category": "GitLens",
- "icon": "$(gitlens-repo-push)",
+ "icon": "$(repo-push)",
"enablement": "!operationInProgress"
},
{
@@ -7112,7 +7112,7 @@
{
"command": "gitlens.views.fetch",
"title": "Fetch",
- "icon": "$(gitlens-repo-fetch)",
+ "icon": "$(repo-fetch)",
"enablement": "!operationInProgress"
},
{
@@ -7130,19 +7130,19 @@
{
"command": "gitlens.views.pull",
"title": "Pull",
- "icon": "$(gitlens-repo-pull)",
+ "icon": "$(repo-pull)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.push",
"title": "Push",
- "icon": "$(gitlens-repo-push)",
+ "icon": "$(repo-push)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.pushWithForce",
"title": "Push (force)",
- "icon": "$(gitlens-repo-force-push)",
+ "icon": "$(repo-force-push)",
"enablement": "!operationInProgress"
},
{
@@ -7482,7 +7482,7 @@
{
"command": "gitlens.views.pushToCommit",
"title": "Push to Commit...",
- "icon": "$(gitlens-repo-push)",
+ "icon": "$(repo-push)",
"enablement": "!operationInProgress"
},
{
@@ -8829,25 +8829,25 @@
{
"command": "gitlens.graph.push",
"title": "Push",
- "icon": "$(gitlens-repo-push)",
+ "icon": "$(repo-push)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.pull",
"title": "Pull",
- "icon": "$(gitlens-repo-pull)",
+ "icon": "$(repo-pull)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.pushWithForce",
"title": "Push (force)",
- "icon": "$(gitlens-repo-force-push)",
+ "icon": "$(repo-force-push)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.fetch",
"title": "Fetch",
- "icon": "$(gitlens-repo-fetch)",
+ "icon": "$(repo-fetch)",
"enablement": "!operationInProgress"
},
{
@@ -9513,13 +9513,6 @@
"fontCharacter": "\\f11a"
}
},
- "gitlens-repo-force-push": {
- "description": "repo-force-push icon",
- "default": {
- "fontPath": "dist/glicons.woff2",
- "fontCharacter": "\\f11b"
- }
- },
"gitlens-pinned-filled": {
"description": "pinned-filled icon",
"default": {
@@ -9646,41 +9639,6 @@
"fontCharacter": "\\f12d"
}
},
- "gitlens-diff-multiple": {
- "description": "diff-multiple icon",
- "default": {
- "fontPath": "dist/glicons.woff2",
- "fontCharacter": "\\f12e"
- }
- },
- "gitlens-diff-single": {
- "description": "diff-single icon",
- "default": {
- "fontPath": "dist/glicons.woff2",
- "fontCharacter": "\\f12f"
- }
- },
- "gitlens-repo-fetch": {
- "description": "repo-fetch icon",
- "default": {
- "fontPath": "dist/glicons.woff2",
- "fontCharacter": "\\f130"
- }
- },
- "gitlens-repo-pull": {
- "description": "repo-pull icon",
- "default": {
- "fontPath": "dist/glicons.woff2",
- "fontCharacter": "\\f131"
- }
- },
- "gitlens-repo-push": {
- "description": "repo-push icon",
- "default": {
- "fontPath": "dist/glicons.woff2",
- "fontCharacter": "\\f132"
- }
- },
"gitlens-provider-jira": {
"description": "provider-jira icon",
"default": {
@@ -19559,7 +19517,7 @@
"build:extension": "webpack --mode development --config-name extension:node",
"build:extension:browser": "webpack --mode development --config-name extension:webworker",
"build:webviews": "webpack --mode development --config-name webviews",
- "build:icons": "pnpm run icons:svgo && pnpm fantasticon && pnpm run icons:apply",
+ "build:icons": "pnpm run icons:svgo && pnpm fantasticon && pnpm run icons:apply && pnpm run icons:export",
"build:tests": "node ./scripts/esbuild.tests.mjs --mode development",
"generate:docs:telemetry": "node ./scripts/generate-telemetry-docs.mjs",
"generate:emoji": "node ./scripts/generateEmojiShortcodeMap.mjs",
@@ -19576,6 +19534,7 @@
"graph:unlink": "pnpm unlink @gitkraken/gitkraken-components && pnpm install --force",
"graph:unlink:main": "pnpm graph:unlink && pushd \"../GitKrakenComponents\" && pnpm unlink && popd",
"icons:apply": "node ./scripts/applyIconsContribution.mjs",
+ "icons:export": "node ./scripts/export-codicons.mjs",
"icons:svgo": "svgo -q -f ./images/icons/ --config svgo.config.js",
"lint": "pnpm run clean:lint && eslint .",
"lint:fix": "pnpm run clean:lint && eslint . --fix",
diff --git a/scripts/applyIconsContribution.mjs b/scripts/applyIconsContribution.mjs
index cd36a303e4df5..d0287ce40d102 100644
--- a/scripts/applyIconsContribution.mjs
+++ b/scripts/applyIconsContribution.mjs
@@ -8,6 +8,10 @@ const packageJSONPromises = Promise.all([
const scssPromises = Promise.all([
fs.promises.readFile('./dist/glicons.scss', 'utf8'),
fs.promises.readFile('./src/webviews/apps/shared/glicons.scss', 'utf8'),
+ fs.promises.readFile('./dist/glicons-map.scss', 'utf8'),
+ fs.promises.readFile('./src/webviews/apps/shared/styles/icons/glicons-map.scss', 'utf8'),
+ fs.promises.readFile('./dist/glicons-map.ts', 'utf8'),
+ fs.promises.readFile('./src/webviews/apps/shared/components/icons/glicons-map.ts', 'utf8'),
]);
let pending = [];
@@ -22,11 +26,24 @@ if (JSON.stringify(packageJSON.contributes.icons) !== JSON.stringify(icons.icons
}
// Update the scss file
-const [newScss, scss] = await scssPromises;
+const [newScss, scss, newSassMap, sassMap, newTsMap, tsMap] = await scssPromises;
if (scss !== newScss) {
pending.push(fs.promises.writeFile('./src/webviews/apps/shared/glicons.scss', newScss));
}
-pending.push(fs.promises.rm('./dist/icons-contribution.json'), fs.promises.rm('./dist/glicons.scss'));
+if (sassMap !== newSassMap) {
+ pending.push(fs.promises.writeFile('./src/webviews/apps/shared/styles/icons/glicons-map.scss', newSassMap));
+}
+
+if (tsMap !== newTsMap) {
+ pending.push(fs.promises.writeFile('./src/webviews/apps/shared/components/icons/glicons-map.ts', newTsMap));
+}
+
+pending.push(
+ fs.promises.rm('./dist/icons-contribution.json'),
+ fs.promises.rm('./dist/glicons.scss'),
+ fs.promises.rm('./dist/glicons-map.scss'),
+ fs.promises.rm('./dist/glicons-map.ts'),
+);
await Promise.allSettled(pending);
diff --git a/scripts/export-codicons.mjs b/scripts/export-codicons.mjs
new file mode 100644
index 0000000000000..600aa60331f05
--- /dev/null
+++ b/scripts/export-codicons.mjs
@@ -0,0 +1,46 @@
+import fs from 'fs';
+
+function numberToCssContent(number, escape = '\\\\') {
+ return `${escape}${number.toString(16)}`;
+}
+
+console.time('Exported codicons');
+
+const { default: iconConfig } = await import('../node_modules/@vscode/codicons/.fantasticonrc.js');
+const { name, codepoints: icons } = iconConfig;
+
+const headerText = `// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+`;
+
+const sassMapEntries = [];
+const tsMapEntries = [];
+for (const [key, value] of Object.entries(icons)) {
+ sassMapEntries.push(` '${key}': '${numberToCssContent(value, '\\')}'`);
+ tsMapEntries.push(` '${key}': '${numberToCssContent(value)}'`);
+}
+
+// create a sass map of codicons and a ts file with a frozen object
+const scss = `${headerText}
+$icon-font-family: '${name}';
+
+$icon-map: (
+${sassMapEntries.join(',\n')}
+);
+`;
+
+const ts = `${headerText}
+export const iconFontFamily = '${name}';
+
+export const iconMap = Object.freeze({
+${tsMapEntries.join(',\n')}
+});
+`;
+
+const pending = [];
+
+pending.push(fs.promises.writeFile('./src/webviews/apps/shared/styles/icons/codicons-map.scss', scss));
+pending.push(fs.promises.writeFile('./src/webviews/apps/shared/components/icons/codicons-map.ts', ts));
+
+await Promise.allSettled(pending);
+console.timeEnd('Exported codicons');
diff --git a/src/commands/quickCommand.buttons.ts b/src/commands/quickCommand.buttons.ts
index 88015bb4d0b98..5afc74056adfe 100644
--- a/src/commands/quickCommand.buttons.ts
+++ b/src/commands/quickCommand.buttons.ts
@@ -73,7 +73,7 @@ export const FeedbackQuickInputButton: QuickInputButton = {
};
export const FetchQuickInputButton: QuickInputButton = {
- iconPath: new ThemeIcon('gitlens-repo-fetch'),
+ iconPath: new ThemeIcon('repo-fetch'),
tooltip: 'Fetch',
};
diff --git a/src/webviews/apps/commitDetails/components/gl-status-nav.ts b/src/webviews/apps/commitDetails/components/gl-status-nav.ts
index 1c6d3f65b0bf7..9324d74b2b984 100644
--- a/src/webviews/apps/commitDetails/components/gl-status-nav.ts
+++ b/src/webviews/apps/commitDetails/components/gl-status-nav.ts
@@ -140,7 +140,7 @@ export class GlStatusNav extends LitElement {
`;
diff --git a/src/webviews/apps/commitDetails/components/gl-wip-details.ts b/src/webviews/apps/commitDetails/components/gl-wip-details.ts
index 7fc0d90a15707..5e7b79d87c0f1 100644
--- a/src/webviews/apps/commitDetails/components/gl-wip-details.ts
+++ b/src/webviews/apps/commitDetails/components/gl-wip-details.ts
@@ -205,7 +205,7 @@ export class GlWipDetails extends GlDetailsBase {
if (ahead === 0 && behind === 0) return undefined;
const fetchLabel = behind > 0 ? 'Pull' : ahead > 0 ? 'Push' : 'Fetch';
- const fetchIcon = behind > 0 ? 'gl-repo-pull' : ahead > 0 ? 'gl-repo-push' : 'gl-repo-fetch';
+ const fetchIcon = behind > 0 ? 'repo-pull' : ahead > 0 ? 'repo-push' : 'repo-fetch';
return html`
@@ -278,7 +278,7 @@ export class GlWipDetails extends GlDetailsBase {
this.onDataActionClick('open-pr-changes')}
>
-
+
+
{repo.provider.integration?.connected && (
{repo.provider.integration?.connected ? (
- {' '}
+ />{' '}
Connected to {repo.provider.name}
) : (
repo.provider.integration?.connected === false && (
<>
- {' '}
+ />{' '}
(
'gitlens.plus.cloudIntegrations.connect' as Commands,
@@ -1133,10 +1135,7 @@ export function GraphWrapper({
>
{repo?.formattedName ?? 'none selected'}
{repos.length > 1 && (
-
+
)}
Switch to Another Repository...
@@ -1144,7 +1143,7 @@ export function GraphWrapper({
{allowed && repo && (
<>
-
+
{branchState?.pr && (
@@ -1188,27 +1187,25 @@ export function GraphWrapper({
>
{!branchState?.pr ? (
branchState?.worktree ? (
-
+
) : (
-
+
)
) : (
''
)}
{branchName}
-
+ />
Switch to Another Branch...
- {' '}
+ {' '}
{branchName}
{branchState?.worktree ? (in a worktree) : ''}
@@ -1223,7 +1220,7 @@ export function GraphWrapper({
-
+
-
+
- Create New Branch from
+ Create New Branch from
+
{branchName}
@@ -1263,7 +1261,7 @@ export function GraphWrapper({
)}`}
className="action-button"
>
-
+
@@ -1320,11 +1318,12 @@ export function GraphWrapper({
>
+ />
Graph Filtering
@@ -1421,7 +1420,7 @@ export function GraphWrapper({
aria-checked={graphConfig?.minimap ?? false}
onClick={handleOnMinimapToggle}
>
-
+
Toggle Minimap
@@ -1434,10 +1433,11 @@ export function GraphWrapper({
>
Minimap Options
diff --git a/src/webviews/apps/plus/graph/actions/fetchButton.tsx b/src/webviews/apps/plus/graph/actions/fetchButton.tsx
index d1f53210f5885..bc68bbe0d933a 100644
--- a/src/webviews/apps/plus/graph/actions/fetchButton.tsx
+++ b/src/webviews/apps/plus/graph/actions/fetchButton.tsx
@@ -2,6 +2,7 @@ import type { ReactNode } from 'react';
import React from 'react';
import type { BranchState, State } from '../../../../../plus/webviews/graph/protocol';
import { createWebviewCommandLink } from '../../../../../system/webview';
+import { CodeIcon } from '../../../shared/components/code-icon.react';
import { GlTooltip } from '../../../shared/components/overlays/tooltip.react';
export const FetchButton = ({
@@ -21,7 +22,7 @@ export const FetchButton = ({
href={createWebviewCommandLink('gitlens.graph.fetch', state.webviewId, state.webviewInstanceId)}
className="action-button"
>
-
+
Fetch {fetchedText && ({fetchedText})}
diff --git a/src/webviews/apps/plus/graph/actions/pushPullButton.tsx b/src/webviews/apps/plus/graph/actions/pushPullButton.tsx
index db9aa677f6180..b0e2d625c631a 100644
--- a/src/webviews/apps/plus/graph/actions/pushPullButton.tsx
+++ b/src/webviews/apps/plus/graph/actions/pushPullButton.tsx
@@ -3,6 +3,7 @@ import React from 'react';
import type { BranchState, State } from '../../../../../plus/webviews/graph/protocol';
import { pluralize } from '../../../../../system/string';
import { createWebviewCommandLink } from '../../../../../system/webview';
+import { CodeIcon } from '../../../shared/components/code-icon.react';
import { GlTooltip } from '../../../shared/components/overlays/tooltip.react';
export const PushPullButton = ({
@@ -42,7 +43,7 @@ export const PushPullButton = ({
if (isBehind) {
action = 'pull';
- icon = 'glicon glicon-repo-pull';
+ icon = 'repo-pull';
label = 'Pull';
tooltip = (
<>
@@ -72,7 +73,7 @@ export const PushPullButton = ({
}
} else {
action = 'push';
- icon = 'glicon glicon-repo-push';
+ icon = 'repo-push';
label = 'Push';
tooltip = (
<>
@@ -91,21 +92,21 @@ export const PushPullButton = ({
href={createWebviewCommandLink(`gitlens.graph.${action}`, state.webviewId, state.webviewInstanceId)}
className={`action-button${isBehind ? ' is-behind' : ''}${isAhead ? ' is-ahead' : ''}`}
>
-
+
{label}
{isBehind && (
{branchState.behind}
-
+
)}
{isAhead && (
{isBehind && <> >}
{branchState.ahead}
-
+
)}
@@ -131,7 +132,7 @@ export const PushPullButton = ({
className="action-button"
aria-label="Force Push"
>
-
+
Force Push {pluralize('commit', branchState.ahead)} to {remote}
diff --git a/src/webviews/apps/plus/graph/graph.scss b/src/webviews/apps/plus/graph/graph.scss
index 4b1a08300d297..2c47c9bb00ea3 100644
--- a/src/webviews/apps/plus/graph/graph.scss
+++ b/src/webviews/apps/plus/graph/graph.scss
@@ -1,8 +1,7 @@
@use '../../shared/styles/theme';
@use '../../shared/styles/utils';
+@use '../../shared/styles/icons/utils' as iconUtils;
@import '../../shared/base';
-@import '../../shared/codicons';
-@import '../../shared/glicons';
@import '../../../../../node_modules/@gitkraken/gitkraken-components/dist/styles.css';
@mixin focusStyles() {
@@ -203,7 +202,7 @@ button:not([disabled]),
color: var(--vscode-foreground);
background-color: var(--vscode-editorWidget-background);
- .codicon[class*='codicon-'] {
+ code-icon {
font-size: inherit !important;
line-height: inherit !important;
}
@@ -295,29 +294,13 @@ button:not([disabled]),
border-color: var(--vscode-inputOption-activeBorder);
}
- .codicon[class*='codicon-'],
- .glicon[class*='glicon-'] {
+ code-icon {
line-height: 2.2rem;
vertical-align: bottom;
}
-
- .codicon[class*='codicon-graph-line'] {
+ code-icon[icon='graph-line'] {
transform: translateY(1px);
}
- .codicon-custom-git-branch-create {
- &:before {
- content: '\ea68';
- }
- &:after {
- content: '\ea60';
- position: absolute;
- right: 0;
- bottom: 0;
- font-size: 0.6em;
- line-height: normal;
- transform: translate(-50%, 0%);
- }
- }
&__pill {
.is-ahead & {
@@ -337,7 +320,7 @@ button:not([disabled]),
margin-right: -0.25rem;
}
- &__more.codicon[class*='codicon-']::before {
+ code-icon#{&}__more::before {
margin-left: -0.25rem;
}
@@ -388,17 +371,6 @@ button:not([disabled]),
}
}
-.action-button--narrow {
- padding: 0;
- width: 2.4rem;
- height: 2.4rem;
- text-align: center;
-
- .codicon[class*='codicon-graph-line'] {
- transform: translateX(2px);
- }
-}
-
.action-divider {
display: inline-block;
width: 0.1rem;
@@ -493,7 +465,7 @@ button:not([disabled]),
opacity: 0.5;
}
- .codicon[class*='codicon-'] {
+ code-icon {
font-size: 1.1rem;
position: relative;
}
@@ -657,160 +629,138 @@ button:not([disabled]),
.icon {
&--head {
&::before {
- // codicon-vm
font-family: codicon;
- content: '\ea7a';
+ @include iconUtils.codicon('vm');
}
}
&--remote {
&::before {
- // codicon-cloud
font-family: codicon;
- content: '\ebaa';
+ @include iconUtils.codicon('cloud');
}
}
&--remote-github,
&--remote-githubEnterprise {
&::before {
- // codicon-github-inverted
font-family: codicon;
- content: '\eba1';
+ @include iconUtils.codicon('github-inverted');
}
}
&--remote-gitlab,
&--remote-gitlabSelfHosted {
&::before {
- // glicon-provider-gitlab
font-family: 'glicons';
- content: '\f123';
+ @include iconUtils.glicon('provider-gitlab');
}
}
&--remote-bitbucket,
&--remote-bitbucketServer {
&::before {
- // glicon-provider-bitbucket
font-family: 'glicons';
- content: '\f11f';
+ @include iconUtils.glicon('provider-bitbucket');
}
}
&--remote-azureDevops {
&::before {
- // glicon-provider-azdo
font-family: 'glicons';
- content: '\f11e';
+ @include iconUtils.glicon('provider-azdo');
}
}
&--tag {
&::before {
- // codicon-tag
font-family: codicon;
- content: '\ea66';
+ @include iconUtils.codicon('tag');
}
}
&--stash {
&::before {
- // codicon-inbox
font-family: codicon;
- content: '\eb09';
+ @include iconUtils.codicon('inbox');
}
}
&--check {
&::before {
- // codicon-check
font-family: codicon;
- content: '\eab2';
+ @include iconUtils.codicon('check');
}
}
&--warning {
color: #de9b43;
:before {
- // codicon-vm
font-family: codicon;
- content: '\ea6c';
+ @include iconUtils.codicon('warning');
}
}
&--added {
&::before {
- // codicon-add
font-family: codicon;
- content: '\ea60';
+ @include iconUtils.codicon('add');
}
}
&--modified {
&::before {
- // codicon-edit
font-family: codicon;
- content: '\ea73';
+ @include iconUtils.codicon('edit');
}
}
&--deleted {
&::before {
- // codicon-dash
font-family: codicon;
- content: '\eacc';
+ @include iconUtils.codicon('dash');
}
}
&--renamed {
&::before {
- // codicon-file
font-family: codicon;
- content: '\eb60';
+ @include iconUtils.codicon('file');
}
}
&--resolved {
&::before {
- // codicon-pass-filled
font-family: codicon;
- content: '\ebb3';
+ @include iconUtils.codicon('pass-filled');
}
}
&--hide {
&::before {
- // codicon-eye-closed
font-family: codicon;
- content: '\eae7';
+ @include iconUtils.codicon('eye-closed');
}
}
&--show {
&::before {
- // codicon-eye
font-family: codicon;
- content: '\ea70';
+ @include iconUtils.codicon('eye');
}
}
&--pull-request {
&::before {
- // codicon-git-pull-request
font-family: codicon;
- content: '\ea64';
+ @include iconUtils.codicon('git-pull-request');
}
}
&--upstream-ahead {
&::before {
- // codicon-arrow-up
font-family: codicon;
- content: '\eaa1';
+ @include iconUtils.codicon('arrow-up');
}
}
&--upstream-behind {
&::before {
- // codicon-arrow-down
font-family: codicon;
- content: '\ea9a';
+ @include iconUtils.codicon('arrow-down');
}
}
&--settings {
&::before {
- // codicon-settings-gear
font-family: codicon;
- content: '\eb51';
+ @include iconUtils.codicon('settings-gear');
}
}
&--branch {
&::before {
- // codicon-git-branch
font-family: codicon;
- content: '\ea68';
+ @include iconUtils.codicon('git-branch');
top: 0px;
margin: 0 0 0 0;
}
@@ -818,17 +768,15 @@ button:not([disabled]),
&--graph {
&::before {
- // glicon-graph
font-family: glicons;
- content: '\f102';
+ @include iconUtils.glicon('graph');
}
}
&--commit {
&::before {
- // codicon-git-commit
font-family: codicon;
- content: '\eafc';
+ @include iconUtils.codicon('git-commit');
top: 0px;
margin: 0 0 0 0;
}
@@ -836,49 +784,43 @@ button:not([disabled]),
&--author {
&::before {
- // codicon-account
font-family: codicon;
- content: '\eb99';
+ @include iconUtils.codicon('account');
}
}
&--datetime {
&::before {
- // glicon-clock
font-family: glicons;
- content: '\f11d';
+ @include iconUtils.glicon('clock');
}
}
&--message {
&::before {
- // codicon-comment
font-family: codicon;
- content: '\ea6b';
+ @include iconUtils.codicon('comment');
}
}
&--changes {
&::before {
- // codicon-request-changes
font-family: codicon;
- content: '\eb43';
+ @include iconUtils.codicon('request-changes');
}
}
&--files {
&::before {
- // codicon-file
font-family: codicon;
- content: '\eb60';
+ @include iconUtils.codicon('file');
}
}
&--worktree {
&::before {
- // glicon-repositories-view
font-family: glicons;
- content: '\f10e';
+ @include iconUtils.glicon('worktrees-view');
}
}
}
diff --git a/src/webviews/apps/plus/home/components/active-work.ts b/src/webviews/apps/plus/home/components/active-work.ts
index 2de21c887205b..e82d59d140698 100644
--- a/src/webviews/apps/plus/home/components/active-work.ts
+++ b/src/webviews/apps/plus/home/components/active-work.ts
@@ -133,7 +133,7 @@ export class GlActiveWork extends SignalWatcher(LitElement) {
appearance="toolbar"
tooltip="Fetch"
href=${createCommandLink('gitlens.home.fetch', undefined)}
- >
${when(
this._homeState.repositories.openCount > 1,
@@ -302,7 +302,7 @@ export class GlActiveWork extends SignalWatcher(LitElement) {
full
appearance="secondary"
tooltip=${pullTooltip}
- > Pull
+ > Pull
Pull
+ > Pull
`,
);
diff --git a/src/webviews/apps/shared/codicons.scss b/src/webviews/apps/shared/codicons.scss
index 0dc04c1e16c46..5287fd49ab850 100644
--- a/src/webviews/apps/shared/codicons.scss
+++ b/src/webviews/apps/shared/codicons.scss
@@ -1,3 +1,5 @@
+@use './styles/icons/utils';
+
@keyframes codicon-spin {
100% {
transform: rotate(360deg);
@@ -28,14 +30,14 @@
animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
&::before {
- content: '\eb19';
+ @include utils.codicon('loading');
font-family: codicon;
}
}
.icon--branch {
&::before {
- content: '\ea68';
+ @include utils.codicon('git-branch');
font-family: codicon;
position: relative;
top: 2px;
@@ -45,7 +47,7 @@
.icon--commit {
&::before {
- content: '\eafc';
+ @include utils.codicon('git-commit');
font-family: codicon;
position: relative;
top: 2px;
@@ -55,7 +57,7 @@
.icon--paused {
&::before {
- content: '\ead1';
+ @include utils.codicon('debug-pause');
font-family: codicon;
position: relative;
top: 2px;
@@ -65,7 +67,7 @@
.icon--warning {
&::before {
- content: '\ea6c';
+ @include utils.codicon('alert');
font-family: codicon;
position: relative;
top: 2px;
@@ -90,1572 +92,4 @@
letter-spacing: normal;
}
-.codicon-add:before {
- content: '\ea60';
-}
-.codicon-plus:before {
- content: '\ea60';
-}
-.codicon-gist-new:before {
- content: '\ea60';
-}
-.codicon-repo-create:before {
- content: '\ea60';
-}
-.codicon-lightbulb:before {
- content: '\ea61';
-}
-.codicon-light-bulb:before {
- content: '\ea61';
-}
-.codicon-repo:before {
- content: '\ea62';
-}
-.codicon-repo-delete:before {
- content: '\ea62';
-}
-.codicon-gist-fork:before {
- content: '\ea63';
-}
-.codicon-repo-forked:before {
- content: '\ea63';
-}
-.codicon-git-pull-request:before {
- content: '\ea64';
-}
-.codicon-git-pull-request-abandoned:before {
- content: '\ea64';
-}
-.codicon-record-keys:before {
- content: '\ea65';
-}
-.codicon-keyboard:before {
- content: '\ea65';
-}
-.codicon-tag:before {
- content: '\ea66';
-}
-.codicon-tag-add:before {
- content: '\ea66';
-}
-.codicon-tag-remove:before {
- content: '\ea66';
-}
-.codicon-person:before {
- content: '\ea67';
-}
-.codicon-person-follow:before {
- content: '\ea67';
-}
-.codicon-person-outline:before {
- content: '\ea67';
-}
-.codicon-person-filled:before {
- content: '\ea67';
-}
-.codicon-git-branch:before {
- content: '\ea68';
-}
-.codicon-git-branch-create:before {
- content: '\ea68';
-}
-.codicon-git-branch-delete:before {
- content: '\ea68';
-}
-.codicon-source-control:before {
- content: '\ea68';
-}
-.codicon-mirror:before {
- content: '\ea69';
-}
-.codicon-mirror-public:before {
- content: '\ea69';
-}
-.codicon-star:before {
- content: '\ea6a';
-}
-.codicon-star-add:before {
- content: '\ea6a';
-}
-.codicon-star-delete:before {
- content: '\ea6a';
-}
-.codicon-star-empty:before {
- content: '\ea6a';
-}
-.codicon-comment:before {
- content: '\ea6b';
-}
-.codicon-comment-add:before {
- content: '\ea6b';
-}
-.codicon-alert:before {
- content: '\ea6c';
-}
-.codicon-warning:before {
- content: '\ea6c';
-}
-.codicon-search:before {
- content: '\ea6d';
-}
-.codicon-search-save:before {
- content: '\ea6d';
-}
-.codicon-log-out:before {
- content: '\ea6e';
-}
-.codicon-sign-out:before {
- content: '\ea6e';
-}
-.codicon-log-in:before {
- content: '\ea6f';
-}
-.codicon-sign-in:before {
- content: '\ea6f';
-}
-.codicon-eye:before {
- content: '\ea70';
-}
-.codicon-eye-unwatch:before {
- content: '\ea70';
-}
-.codicon-eye-watch:before {
- content: '\ea70';
-}
-.codicon-circle-filled:before {
- content: '\ea71';
-}
-.codicon-primitive-dot:before {
- content: '\ea71';
-}
-.codicon-close-dirty:before {
- content: '\ea71';
-}
-.codicon-debug-breakpoint:before {
- content: '\ea71';
-}
-.codicon-debug-breakpoint-disabled:before {
- content: '\ea71';
-}
-.codicon-debug-hint:before {
- content: '\ea71';
-}
-.codicon-terminal-decoration-success:before {
- content: '\ea71';
-}
-.codicon-primitive-square:before {
- content: '\ea72';
-}
-.codicon-edit:before {
- content: '\ea73';
-}
-.codicon-pencil:before {
- content: '\ea73';
-}
-.codicon-info:before {
- content: '\ea74';
-}
-.codicon-issue-opened:before {
- content: '\ea74';
-}
-.codicon-gist-private:before {
- content: '\ea75';
-}
-.codicon-git-fork-private:before {
- content: '\ea75';
-}
-.codicon-lock:before {
- content: '\ea75';
-}
-.codicon-mirror-private:before {
- content: '\ea75';
-}
-.codicon-close:before {
- content: '\ea76';
-}
-.codicon-remove-close:before {
- content: '\ea76';
-}
-.codicon-x:before {
- content: '\ea76';
-}
-.codicon-repo-sync:before {
- content: '\ea77';
-}
-.codicon-sync:before {
- content: '\ea77';
-}
-.codicon-clone:before {
- content: '\ea78';
-}
-.codicon-desktop-download:before {
- content: '\ea78';
-}
-.codicon-beaker:before {
- content: '\ea79';
-}
-.codicon-microscope:before {
- content: '\ea79';
-}
-.codicon-vm:before {
- content: '\ea7a';
-}
-.codicon-device-desktop:before {
- content: '\ea7a';
-}
-.codicon-file:before {
- content: '\ea7b';
-}
-.codicon-file-text:before {
- content: '\ea7b';
-}
-.codicon-more:before {
- content: '\ea7c';
-}
-.codicon-ellipsis:before {
- content: '\ea7c';
-}
-.codicon-kebab-horizontal:before {
- content: '\ea7c';
-}
-.codicon-mail-reply:before {
- content: '\ea7d';
-}
-.codicon-reply:before {
- content: '\ea7d';
-}
-.codicon-organization:before {
- content: '\ea7e';
-}
-.codicon-organization-filled:before {
- content: '\ea7e';
-}
-.codicon-organization-outline:before {
- content: '\ea7e';
-}
-.codicon-new-file:before {
- content: '\ea7f';
-}
-.codicon-file-add:before {
- content: '\ea7f';
-}
-.codicon-new-folder:before {
- content: '\ea80';
-}
-.codicon-file-directory-create:before {
- content: '\ea80';
-}
-.codicon-trash:before {
- content: '\ea81';
-}
-.codicon-trashcan:before {
- content: '\ea81';
-}
-.codicon-history:before {
- content: '\ea82';
-}
-.codicon-clock:before {
- content: '\ea82';
-}
-.codicon-folder:before {
- content: '\ea83';
-}
-.codicon-file-directory:before {
- content: '\ea83';
-}
-.codicon-symbol-folder:before {
- content: '\ea83';
-}
-.codicon-logo-github:before {
- content: '\ea84';
-}
-.codicon-mark-github:before {
- content: '\ea84';
-}
-.codicon-github:before {
- content: '\ea84';
-}
-.codicon-terminal:before {
- content: '\ea85';
-}
-.codicon-console:before {
- content: '\ea85';
-}
-.codicon-repl:before {
- content: '\ea85';
-}
-.codicon-zap:before {
- content: '\ea86';
-}
-.codicon-symbol-event:before {
- content: '\ea86';
-}
-.codicon-error:before {
- content: '\ea87';
-}
-.codicon-stop:before {
- content: '\ea87';
-}
-.codicon-variable:before {
- content: '\ea88';
-}
-.codicon-symbol-variable:before {
- content: '\ea88';
-}
-.codicon-array:before {
- content: '\ea8a';
-}
-.codicon-symbol-array:before {
- content: '\ea8a';
-}
-.codicon-symbol-module:before {
- content: '\ea8b';
-}
-.codicon-symbol-package:before {
- content: '\ea8b';
-}
-.codicon-symbol-namespace:before {
- content: '\ea8b';
-}
-.codicon-symbol-object:before {
- content: '\ea8b';
-}
-.codicon-symbol-method:before {
- content: '\ea8c';
-}
-.codicon-symbol-function:before {
- content: '\ea8c';
-}
-.codicon-symbol-constructor:before {
- content: '\ea8c';
-}
-.codicon-symbol-boolean:before {
- content: '\ea8f';
-}
-.codicon-symbol-null:before {
- content: '\ea8f';
-}
-.codicon-symbol-numeric:before {
- content: '\ea90';
-}
-.codicon-symbol-number:before {
- content: '\ea90';
-}
-.codicon-symbol-structure:before {
- content: '\ea91';
-}
-.codicon-symbol-struct:before {
- content: '\ea91';
-}
-.codicon-symbol-parameter:before {
- content: '\ea92';
-}
-.codicon-symbol-type-parameter:before {
- content: '\ea92';
-}
-.codicon-symbol-key:before {
- content: '\ea93';
-}
-.codicon-symbol-text:before {
- content: '\ea93';
-}
-.codicon-symbol-reference:before {
- content: '\ea94';
-}
-.codicon-go-to-file:before {
- content: '\ea94';
-}
-.codicon-symbol-enum:before {
- content: '\ea95';
-}
-.codicon-symbol-value:before {
- content: '\ea95';
-}
-.codicon-symbol-ruler:before {
- content: '\ea96';
-}
-.codicon-symbol-unit:before {
- content: '\ea96';
-}
-.codicon-activate-breakpoints:before {
- content: '\ea97';
-}
-.codicon-archive:before {
- content: '\ea98';
-}
-.codicon-arrow-both:before {
- content: '\ea99';
-}
-.codicon-arrow-down:before {
- content: '\ea9a';
-}
-.codicon-arrow-left:before {
- content: '\ea9b';
-}
-.codicon-arrow-right:before {
- content: '\ea9c';
-}
-.codicon-arrow-small-down:before {
- content: '\ea9d';
-}
-.codicon-arrow-small-left:before {
- content: '\ea9e';
-}
-.codicon-arrow-small-right:before {
- content: '\ea9f';
-}
-.codicon-arrow-small-up:before {
- content: '\eaa0';
-}
-.codicon-arrow-up:before {
- content: '\eaa1';
-}
-.codicon-bell:before {
- content: '\eaa2';
-}
-.codicon-bold:before {
- content: '\eaa3';
-}
-.codicon-book:before {
- content: '\eaa4';
-}
-.codicon-bookmark:before {
- content: '\eaa5';
-}
-.codicon-debug-breakpoint-conditional-unverified:before {
- content: '\eaa6';
-}
-.codicon-debug-breakpoint-conditional:before {
- content: '\eaa7';
-}
-.codicon-debug-breakpoint-conditional-disabled:before {
- content: '\eaa7';
-}
-.codicon-debug-breakpoint-data-unverified:before {
- content: '\eaa8';
-}
-.codicon-debug-breakpoint-data:before {
- content: '\eaa9';
-}
-.codicon-debug-breakpoint-data-disabled:before {
- content: '\eaa9';
-}
-.codicon-debug-breakpoint-log-unverified:before {
- content: '\eaaa';
-}
-.codicon-debug-breakpoint-log:before {
- content: '\eaab';
-}
-.codicon-debug-breakpoint-log-disabled:before {
- content: '\eaab';
-}
-.codicon-briefcase:before {
- content: '\eaac';
-}
-.codicon-broadcast:before {
- content: '\eaad';
-}
-.codicon-browser:before {
- content: '\eaae';
-}
-.codicon-bug:before {
- content: '\eaaf';
-}
-.codicon-calendar:before {
- content: '\eab0';
-}
-.codicon-case-sensitive:before {
- content: '\eab1';
-}
-.codicon-check:before {
- content: '\eab2';
-}
-.codicon-checklist:before {
- content: '\eab3';
-}
-.codicon-chevron-down:before {
- content: '\eab4';
-}
-.codicon-chevron-left:before {
- content: '\eab5';
-}
-.codicon-chevron-right:before {
- content: '\eab6';
-}
-.codicon-chevron-up:before {
- content: '\eab7';
-}
-.codicon-chrome-close:before {
- content: '\eab8';
-}
-.codicon-chrome-maximize:before {
- content: '\eab9';
-}
-.codicon-chrome-minimize:before {
- content: '\eaba';
-}
-.codicon-chrome-restore:before {
- content: '\eabb';
-}
-.codicon-circle-outline:before {
- content: '\eabc';
-}
-.codicon-circle:before {
- content: '\eabc';
-}
-.codicon-debug-breakpoint-unverified:before {
- content: '\eabc';
-}
-.codicon-terminal-decoration-incomplete:before {
- content: '\eabc';
-}
-.codicon-circle-slash:before {
- content: '\eabd';
-}
-.codicon-circuit-board:before {
- content: '\eabe';
-}
-.codicon-clear-all:before {
- content: '\eabf';
-}
-.codicon-clippy:before {
- content: '\eac0';
-}
-.codicon-close-all:before {
- content: '\eac1';
-}
-.codicon-cloud-download:before {
- content: '\eac2';
-}
-.codicon-cloud-upload:before {
- content: '\eac3';
-}
-.codicon-code:before {
- content: '\eac4';
-}
-.codicon-collapse-all:before {
- content: '\eac5';
-}
-.codicon-color-mode:before {
- content: '\eac6';
-}
-.codicon-comment-discussion:before {
- content: '\eac7';
-}
-.codicon-credit-card:before {
- content: '\eac9';
-}
-.codicon-dash:before {
- content: '\eacc';
-}
-.codicon-dashboard:before {
- content: '\eacd';
-}
-.codicon-database:before {
- content: '\eace';
-}
-.codicon-debug-continue:before {
- content: '\eacf';
-}
-.codicon-debug-disconnect:before {
- content: '\ead0';
-}
-.codicon-debug-pause:before {
- content: '\ead1';
-}
-.codicon-debug-restart:before {
- content: '\ead2';
-}
-.codicon-debug-start:before {
- content: '\ead3';
-}
-.codicon-debug-step-into:before {
- content: '\ead4';
-}
-.codicon-debug-step-out:before {
- content: '\ead5';
-}
-.codicon-debug-step-over:before {
- content: '\ead6';
-}
-.codicon-debug-stop:before {
- content: '\ead7';
-}
-.codicon-debug:before {
- content: '\ead8';
-}
-.codicon-device-camera-video:before {
- content: '\ead9';
-}
-.codicon-device-camera:before {
- content: '\eada';
-}
-.codicon-device-mobile:before {
- content: '\eadb';
-}
-.codicon-diff-added:before {
- content: '\eadc';
-}
-.codicon-diff-ignored:before {
- content: '\eadd';
-}
-.codicon-diff-modified:before {
- content: '\eade';
-}
-.codicon-diff-removed:before {
- content: '\eadf';
-}
-.codicon-diff-renamed:before {
- content: '\eae0';
-}
-.codicon-diff:before {
- content: '\eae1';
-}
-.codicon-discard:before {
- content: '\eae2';
-}
-.codicon-editor-layout:before {
- content: '\eae3';
-}
-.codicon-empty-window:before {
- content: '\eae4';
-}
-.codicon-exclude:before {
- content: '\eae5';
-}
-.codicon-extensions:before {
- content: '\eae6';
-}
-.codicon-eye-closed:before {
- content: '\eae7';
-}
-.codicon-file-binary:before {
- content: '\eae8';
-}
-.codicon-file-code:before {
- content: '\eae9';
-}
-.codicon-file-media:before {
- content: '\eaea';
-}
-.codicon-file-pdf:before {
- content: '\eaeb';
-}
-.codicon-file-submodule:before {
- content: '\eaec';
-}
-.codicon-file-symlink-directory:before {
- content: '\eaed';
-}
-.codicon-file-symlink-file:before {
- content: '\eaee';
-}
-.codicon-file-zip:before {
- content: '\eaef';
-}
-.codicon-files:before {
- content: '\eaf0';
-}
-.codicon-filter:before {
- content: '\eaf1';
-}
-.codicon-flame:before {
- content: '\eaf2';
-}
-.codicon-fold-down:before {
- content: '\eaf3';
-}
-.codicon-fold-up:before {
- content: '\eaf4';
-}
-.codicon-fold:before {
- content: '\eaf5';
-}
-.codicon-folder-active:before {
- content: '\eaf6';
-}
-.codicon-folder-opened:before {
- content: '\eaf7';
-}
-.codicon-gear:before {
- content: '\eaf8';
-}
-.codicon-gift:before {
- content: '\eaf9';
-}
-.codicon-gist-secret:before {
- content: '\eafa';
-}
-.codicon-gist:before {
- content: '\eafb';
-}
-.codicon-git-commit:before {
- content: '\eafc';
-}
-.codicon-git-compare:before {
- content: '\eafd';
-}
-.codicon-compare-changes:before {
- content: '\eafd';
-}
-.codicon-git-merge:before {
- content: '\eafe';
-}
-.codicon-github-action:before {
- content: '\eaff';
-}
-.codicon-github-alt:before {
- content: '\eb00';
-}
-.codicon-globe:before {
- content: '\eb01';
-}
-.codicon-grabber:before {
- content: '\eb02';
-}
-.codicon-graph:before {
- content: '\eb03';
-}
-.codicon-gripper:before {
- content: '\eb04';
-}
-.codicon-heart:before {
- content: '\eb05';
-}
-.codicon-home:before {
- content: '\eb06';
-}
-.codicon-horizontal-rule:before {
- content: '\eb07';
-}
-.codicon-hubot:before {
- content: '\eb08';
-}
-.codicon-inbox:before {
- content: '\eb09';
-}
-.codicon-issue-reopened:before {
- content: '\eb0b';
-}
-.codicon-issues:before {
- content: '\eb0c';
-}
-.codicon-italic:before {
- content: '\eb0d';
-}
-.codicon-jersey:before {
- content: '\eb0e';
-}
-.codicon-json:before {
- content: '\eb0f';
-}
-.codicon-kebab-vertical:before {
- content: '\eb10';
-}
-.codicon-key:before {
- content: '\eb11';
-}
-.codicon-law:before {
- content: '\eb12';
-}
-.codicon-lightbulb-autofix:before {
- content: '\eb13';
-}
-.codicon-link-external:before {
- content: '\eb14';
-}
-.codicon-link:before {
- content: '\eb15';
-}
-.codicon-list-ordered:before {
- content: '\eb16';
-}
-.codicon-list-unordered:before {
- content: '\eb17';
-}
-.codicon-live-share:before {
- content: '\eb18';
-}
-.codicon-loading:before {
- content: '\eb19';
-}
-.codicon-location:before {
- content: '\eb1a';
-}
-.codicon-mail-read:before {
- content: '\eb1b';
-}
-.codicon-mail:before {
- content: '\eb1c';
-}
-.codicon-markdown:before {
- content: '\eb1d';
-}
-.codicon-megaphone:before {
- content: '\eb1e';
-}
-.codicon-mention:before {
- content: '\eb1f';
-}
-.codicon-milestone:before {
- content: '\eb20';
-}
-.codicon-mortar-board:before {
- content: '\eb21';
-}
-.codicon-move:before {
- content: '\eb22';
-}
-.codicon-multiple-windows:before {
- content: '\eb23';
-}
-.codicon-mute:before {
- content: '\eb24';
-}
-.codicon-no-newline:before {
- content: '\eb25';
-}
-.codicon-note:before {
- content: '\eb26';
-}
-.codicon-octoface:before {
- content: '\eb27';
-}
-.codicon-open-preview:before {
- content: '\eb28';
-}
-.codicon-package:before {
- content: '\eb29';
-}
-.codicon-paintcan:before {
- content: '\eb2a';
-}
-.codicon-pin:before {
- content: '\eb2b';
-}
-.codicon-play:before {
- content: '\eb2c';
-}
-.codicon-run:before {
- content: '\eb2c';
-}
-.codicon-plug:before {
- content: '\eb2d';
-}
-.codicon-preserve-case:before {
- content: '\eb2e';
-}
-.codicon-preview:before {
- content: '\eb2f';
-}
-.codicon-project:before {
- content: '\eb30';
-}
-.codicon-pulse:before {
- content: '\eb31';
-}
-.codicon-question:before {
- content: '\eb32';
-}
-.codicon-quote:before {
- content: '\eb33';
-}
-.codicon-radio-tower:before {
- content: '\eb34';
-}
-.codicon-reactions:before {
- content: '\eb35';
-}
-.codicon-references:before {
- content: '\eb36';
-}
-.codicon-refresh:before {
- content: '\eb37';
-}
-.codicon-regex:before {
- content: '\eb38';
-}
-.codicon-remote-explorer:before {
- content: '\eb39';
-}
-.codicon-remote:before {
- content: '\eb3a';
-}
-.codicon-remove:before {
- content: '\eb3b';
-}
-.codicon-replace-all:before {
- content: '\eb3c';
-}
-.codicon-replace:before {
- content: '\eb3d';
-}
-.codicon-repo-clone:before {
- content: '\eb3e';
-}
-.codicon-repo-force-push:before {
- content: '\eb3f';
-}
-.codicon-repo-pull:before {
- content: '\eb40';
-}
-.codicon-repo-push:before {
- content: '\eb41';
-}
-.codicon-report:before {
- content: '\eb42';
-}
-.codicon-request-changes:before {
- content: '\eb43';
-}
-.codicon-rocket:before {
- content: '\eb44';
-}
-.codicon-root-folder-opened:before {
- content: '\eb45';
-}
-.codicon-root-folder:before {
- content: '\eb46';
-}
-.codicon-rss:before {
- content: '\eb47';
-}
-.codicon-ruby:before {
- content: '\eb48';
-}
-.codicon-save-all:before {
- content: '\eb49';
-}
-.codicon-save-as:before {
- content: '\eb4a';
-}
-.codicon-save:before {
- content: '\eb4b';
-}
-.codicon-screen-full:before {
- content: '\eb4c';
-}
-.codicon-screen-normal:before {
- content: '\eb4d';
-}
-.codicon-search-stop:before {
- content: '\eb4e';
-}
-.codicon-server:before {
- content: '\eb50';
-}
-.codicon-settings-gear:before {
- content: '\eb51';
-}
-.codicon-settings:before {
- content: '\eb52';
-}
-.codicon-shield:before {
- content: '\eb53';
-}
-.codicon-smiley:before {
- content: '\eb54';
-}
-.codicon-sort-precedence:before {
- content: '\eb55';
-}
-.codicon-split-horizontal:before {
- content: '\eb56';
-}
-.codicon-split-vertical:before {
- content: '\eb57';
-}
-.codicon-squirrel:before {
- content: '\eb58';
-}
-.codicon-star-full:before {
- content: '\eb59';
-}
-.codicon-star-half:before {
- content: '\eb5a';
-}
-.codicon-symbol-class:before {
- content: '\eb5b';
-}
-.codicon-symbol-color:before {
- content: '\eb5c';
-}
-.codicon-symbol-constant:before {
- content: '\eb5d';
-}
-.codicon-symbol-enum-member:before {
- content: '\eb5e';
-}
-.codicon-symbol-field:before {
- content: '\eb5f';
-}
-.codicon-symbol-file:before {
- content: '\eb60';
-}
-.codicon-symbol-interface:before {
- content: '\eb61';
-}
-.codicon-symbol-keyword:before {
- content: '\eb62';
-}
-.codicon-symbol-misc:before {
- content: '\eb63';
-}
-.codicon-symbol-operator:before {
- content: '\eb64';
-}
-.codicon-symbol-property:before {
- content: '\eb65';
-}
-.codicon-wrench:before {
- content: '\eb65';
-}
-.codicon-wrench-subaction:before {
- content: '\eb65';
-}
-.codicon-symbol-snippet:before {
- content: '\eb66';
-}
-.codicon-tasklist:before {
- content: '\eb67';
-}
-.codicon-telescope:before {
- content: '\eb68';
-}
-.codicon-text-size:before {
- content: '\eb69';
-}
-.codicon-three-bars:before {
- content: '\eb6a';
-}
-.codicon-thumbsdown:before {
- content: '\eb6b';
-}
-.codicon-thumbsup:before {
- content: '\eb6c';
-}
-.codicon-tools:before {
- content: '\eb6d';
-}
-.codicon-triangle-down:before {
- content: '\eb6e';
-}
-.codicon-triangle-left:before {
- content: '\eb6f';
-}
-.codicon-triangle-right:before {
- content: '\eb70';
-}
-.codicon-triangle-up:before {
- content: '\eb71';
-}
-.codicon-twitter:before {
- content: '\eb72';
-}
-.codicon-unfold:before {
- content: '\eb73';
-}
-.codicon-unlock:before {
- content: '\eb74';
-}
-.codicon-unmute:before {
- content: '\eb75';
-}
-.codicon-unverified:before {
- content: '\eb76';
-}
-.codicon-verified:before {
- content: '\eb77';
-}
-.codicon-versions:before {
- content: '\eb78';
-}
-.codicon-vm-active:before {
- content: '\eb79';
-}
-.codicon-vm-outline:before {
- content: '\eb7a';
-}
-.codicon-vm-running:before {
- content: '\eb7b';
-}
-.codicon-watch:before {
- content: '\eb7c';
-}
-.codicon-whitespace:before {
- content: '\eb7d';
-}
-.codicon-whole-word:before {
- content: '\eb7e';
-}
-.codicon-window:before {
- content: '\eb7f';
-}
-.codicon-word-wrap:before {
- content: '\eb80';
-}
-.codicon-zoom-in:before {
- content: '\eb81';
-}
-.codicon-zoom-out:before {
- content: '\eb82';
-}
-.codicon-list-filter:before {
- content: '\eb83';
-}
-.codicon-list-flat:before {
- content: '\eb84';
-}
-.codicon-list-selection:before {
- content: '\eb85';
-}
-.codicon-selection:before {
- content: '\eb85';
-}
-.codicon-list-tree:before {
- content: '\eb86';
-}
-.codicon-debug-breakpoint-function-unverified:before {
- content: '\eb87';
-}
-.codicon-debug-breakpoint-function:before {
- content: '\eb88';
-}
-.codicon-debug-breakpoint-function-disabled:before {
- content: '\eb88';
-}
-.codicon-debug-stackframe-active:before {
- content: '\eb89';
-}
-.codicon-circle-small-filled:before {
- content: '\eb8a';
-}
-.codicon-debug-stackframe-dot:before {
- content: '\eb8a';
-}
-.codicon-terminal-decoration-mark:before {
- content: '\eb8a';
-}
-.codicon-debug-stackframe:before {
- content: '\eb8b';
-}
-.codicon-debug-stackframe-focused:before {
- content: '\eb8b';
-}
-.codicon-debug-breakpoint-unsupported:before {
- content: '\eb8c';
-}
-.codicon-symbol-string:before {
- content: '\eb8d';
-}
-.codicon-debug-reverse-continue:before {
- content: '\eb8e';
-}
-.codicon-debug-step-back:before {
- content: '\eb8f';
-}
-.codicon-debug-restart-frame:before {
- content: '\eb90';
-}
-.codicon-debug-alt:before {
- content: '\eb91';
-}
-.codicon-call-incoming:before {
- content: '\eb92';
-}
-.codicon-call-outgoing:before {
- content: '\eb93';
-}
-.codicon-menu:before {
- content: '\eb94';
-}
-.codicon-expand-all:before {
- content: '\eb95';
-}
-.codicon-feedback:before {
- content: '\eb96';
-}
-.codicon-group-by-ref-type:before {
- content: '\eb97';
-}
-.codicon-ungroup-by-ref-type:before {
- content: '\eb98';
-}
-.codicon-account:before {
- content: '\eb99';
-}
-.codicon-bell-dot:before {
- content: '\eb9a';
-}
-.codicon-debug-console:before {
- content: '\eb9b';
-}
-.codicon-library:before {
- content: '\eb9c';
-}
-.codicon-output:before {
- content: '\eb9d';
-}
-.codicon-run-all:before {
- content: '\eb9e';
-}
-.codicon-sync-ignored:before {
- content: '\eb9f';
-}
-.codicon-pinned:before {
- content: '\eba0';
-}
-.codicon-github-inverted:before {
- content: '\eba1';
-}
-.codicon-server-process:before {
- content: '\eba2';
-}
-.codicon-server-environment:before {
- content: '\eba3';
-}
-.codicon-pass:before {
- content: '\eba4';
-}
-.codicon-issue-closed:before {
- content: '\eba4';
-}
-.codicon-stop-circle:before {
- content: '\eba5';
-}
-.codicon-play-circle:before {
- content: '\eba6';
-}
-.codicon-record:before {
- content: '\eba7';
-}
-.codicon-debug-alt-small:before {
- content: '\eba8';
-}
-.codicon-vm-connect:before {
- content: '\eba9';
-}
-.codicon-cloud:before {
- content: '\ebaa';
-}
-.codicon-merge:before {
- content: '\ebab';
-}
-.codicon-export:before {
- content: '\ebac';
-}
-.codicon-graph-left:before {
- content: '\ebad';
-}
-.codicon-magnet:before {
- content: '\ebae';
-}
-.codicon-notebook:before {
- content: '\ebaf';
-}
-.codicon-redo:before {
- content: '\ebb0';
-}
-.codicon-check-all:before {
- content: '\ebb1';
-}
-.codicon-pinned-dirty:before {
- content: '\ebb2';
-}
-.codicon-pass-filled:before {
- content: '\ebb3';
-}
-.codicon-circle-large-filled:before {
- content: '\ebb4';
-}
-.codicon-circle-large:before {
- content: '\ebb5';
-}
-.codicon-circle-large-outline:before {
- content: '\ebb5';
-}
-.codicon-combine:before {
- content: '\ebb6';
-}
-.codicon-gather:before {
- content: '\ebb6';
-}
-.codicon-table:before {
- content: '\ebb7';
-}
-.codicon-variable-group:before {
- content: '\ebb8';
-}
-.codicon-type-hierarchy:before {
- content: '\ebb9';
-}
-.codicon-type-hierarchy-sub:before {
- content: '\ebba';
-}
-.codicon-type-hierarchy-super:before {
- content: '\ebbb';
-}
-.codicon-git-pull-request-create:before {
- content: '\ebbc';
-}
-.codicon-run-above:before {
- content: '\ebbd';
-}
-.codicon-run-below:before {
- content: '\ebbe';
-}
-.codicon-notebook-template:before {
- content: '\ebbf';
-}
-.codicon-debug-rerun:before {
- content: '\ebc0';
-}
-.codicon-workspace-trusted:before {
- content: '\ebc1';
-}
-.codicon-workspace-untrusted:before {
- content: '\ebc2';
-}
-.codicon-workspace-unknown:before {
- content: '\ebc3';
-}
-.codicon-terminal-cmd:before {
- content: '\ebc4';
-}
-.codicon-terminal-debian:before {
- content: '\ebc5';
-}
-.codicon-terminal-linux:before {
- content: '\ebc6';
-}
-.codicon-terminal-powershell:before {
- content: '\ebc7';
-}
-.codicon-terminal-tmux:before {
- content: '\ebc8';
-}
-.codicon-terminal-ubuntu:before {
- content: '\ebc9';
-}
-.codicon-terminal-bash:before {
- content: '\ebca';
-}
-.codicon-arrow-swap:before {
- content: '\ebcb';
-}
-.codicon-copy:before {
- content: '\ebcc';
-}
-.codicon-person-add:before {
- content: '\ebcd';
-}
-.codicon-filter-filled:before {
- content: '\ebce';
-}
-.codicon-wand:before {
- content: '\ebcf';
-}
-.codicon-debug-line-by-line:before {
- content: '\ebd0';
-}
-.codicon-inspect:before {
- content: '\ebd1';
-}
-.codicon-layers:before {
- content: '\ebd2';
-}
-.codicon-layers-dot:before {
- content: '\ebd3';
-}
-.codicon-layers-active:before {
- content: '\ebd4';
-}
-.codicon-compass:before {
- content: '\ebd5';
-}
-.codicon-compass-dot:before {
- content: '\ebd6';
-}
-.codicon-compass-active:before {
- content: '\ebd7';
-}
-.codicon-azure:before {
- content: '\ebd8';
-}
-.codicon-issue-draft:before {
- content: '\ebd9';
-}
-.codicon-git-pull-request-closed:before {
- content: '\ebda';
-}
-.codicon-git-pull-request-draft:before {
- content: '\ebdb';
-}
-.codicon-debug-all:before {
- content: '\ebdc';
-}
-.codicon-debug-coverage:before {
- content: '\ebdd';
-}
-.codicon-run-errors:before {
- content: '\ebde';
-}
-.codicon-folder-library:before {
- content: '\ebdf';
-}
-.codicon-debug-continue-small:before {
- content: '\ebe0';
-}
-.codicon-beaker-stop:before {
- content: '\ebe1';
-}
-.codicon-graph-line:before {
- content: '\ebe2';
-}
-.codicon-graph-scatter:before {
- content: '\ebe3';
-}
-.codicon-pie-chart:before {
- content: '\ebe4';
-}
-.codicon-bracket:before {
- content: '\eb0f';
-}
-.codicon-bracket-dot:before {
- content: '\ebe5';
-}
-.codicon-bracket-error:before {
- content: '\ebe6';
-}
-.codicon-lock-small:before {
- content: '\ebe7';
-}
-.codicon-azure-devops:before {
- content: '\ebe8';
-}
-.codicon-verified-filled:before {
- content: '\ebe9';
-}
-.codicon-newline:before {
- content: '\ebea';
-}
-.codicon-layout:before {
- content: '\ebeb';
-}
-.codicon-layout-activitybar-left:before {
- content: '\ebec';
-}
-.codicon-layout-activitybar-right:before {
- content: '\ebed';
-}
-.codicon-layout-panel-left:before {
- content: '\ebee';
-}
-.codicon-layout-panel-center:before {
- content: '\ebef';
-}
-.codicon-layout-panel-justify:before {
- content: '\ebf0';
-}
-.codicon-layout-panel-right:before {
- content: '\ebf1';
-}
-.codicon-layout-panel:before {
- content: '\ebf2';
-}
-.codicon-layout-sidebar-left:before {
- content: '\ebf3';
-}
-.codicon-layout-sidebar-right:before {
- content: '\ebf4';
-}
-.codicon-layout-statusbar:before {
- content: '\ebf5';
-}
-.codicon-layout-menubar:before {
- content: '\ebf6';
-}
-.codicon-layout-centered:before {
- content: '\ebf7';
-}
-.codicon-target:before {
- content: '\ebf8';
-}
-.codicon-indent:before {
- content: '\ebf9';
-}
-.codicon-record-small:before {
- content: '\ebfa';
-}
-.codicon-error-small:before {
- content: '\ebfb';
-}
-.codicon-terminal-decoration-error:before {
- content: '\ebfb';
-}
-.codicon-arrow-circle-down:before {
- content: '\ebfc';
-}
-.codicon-arrow-circle-left:before {
- content: '\ebfd';
-}
-.codicon-arrow-circle-right:before {
- content: '\ebfe';
-}
-.codicon-arrow-circle-up:before {
- content: '\ebff';
-}
-.codicon-layout-sidebar-right-off:before {
- content: '\ec00';
-}
-.codicon-layout-panel-off:before {
- content: '\ec01';
-}
-.codicon-layout-sidebar-left-off:before {
- content: '\ec02';
-}
-.codicon-blank:before {
- content: '\ec03';
-}
-.codicon-heart-filled:before {
- content: '\ec04';
-}
-.codicon-map:before {
- content: '\ec05';
-}
-.codicon-map-filled:before {
- content: '\ec06';
-}
-.codicon-circle-small:before {
- content: '\ec07';
-}
-.codicon-bell-slash:before {
- content: '\ec08';
-}
-.codicon-bell-slash-dot:before {
- content: '\ec09';
-}
-.codicon-comment-unresolved:before {
- content: '\ec0a';
-}
-.codicon-git-pull-request-go-to-changes:before {
- content: '\ec0b';
-}
-.codicon-git-pull-request-new-changes:before {
- content: '\ec0c';
-}
-.codicon-search-fuzzy:before {
- content: '\ec0d';
-}
-.codicon-comment-draft:before {
- content: '\ec0e';
-}
-.codicon-send:before {
- content: '\ec0f';
-}
-.codicon-sparkle:before {
- content: '\ec10';
-}
-.codicon-insert:before {
- content: '\ec11';
-}
+@include utils.all-codicons();
diff --git a/src/webviews/apps/shared/components/code-icon.ts b/src/webviews/apps/shared/components/code-icon.ts
index 191feb01efe92..ae7e5fd9ae6bd 100644
--- a/src/webviews/apps/shared/components/code-icon.ts
+++ b/src/webviews/apps/shared/components/code-icon.ts
@@ -1,575 +1,19 @@
import { css, LitElement, unsafeCSS } from 'lit';
import { customElement, property } from 'lit/decorators.js';
+import { iconMap as codiconsMap } from './icons/codicons-map';
+import { iconMap as gliconsMap } from './icons/glicons-map';
-const iconMap = Object.freeze({
- add: '\\ea60',
- plus: '\\ea60',
- 'gist-new': '\\ea60',
- 'repo-create': '\\ea60',
- lightbulb: '\\ea61',
- 'light-bulb': '\\ea61',
- repo: '\\ea62',
- 'repo-delete': '\\ea62',
- 'gist-fork': '\\ea63',
- 'repo-forked': '\\ea63',
- 'git-pull-request': '\\ea64',
- 'git-pull-request-abandoned': '\\ea64',
- 'record-keys': '\\ea65',
- keyboard: '\\ea65',
- tag: '\\ea66',
- 'tag-add': '\\ea66',
- 'tag-remove': '\\ea66',
- person: '\\ea67',
- 'person-follow': '\\ea67',
- 'person-outline': '\\ea67',
- 'person-filled': '\\ea67',
- 'git-branch': '\\ea68',
- 'git-branch-create': '\\ea68',
- 'git-branch-delete': '\\ea68',
- 'source-control': '\\ea68',
- mirror: '\\ea69',
- 'mirror-public': '\\ea69',
- star: '\\ea6a',
- 'star-add': '\\ea6a',
- 'star-delete': '\\ea6a',
- 'star-empty': '\\ea6a',
- comment: '\\ea6b',
- 'comment-add': '\\ea6b',
- alert: '\\ea6c',
- warning: '\\ea6c',
- search: '\\ea6d',
- 'search-save': '\\ea6d',
- 'log-out': '\\ea6e',
- 'sign-out': '\\ea6e',
- 'log-in': '\\ea6f',
- 'sign-in': '\\ea6f',
- eye: '\\ea70',
- 'eye-unwatch': '\\ea70',
- 'eye-watch': '\\ea70',
- 'circle-filled': '\\ea71',
- 'primitive-dot': '\\ea71',
- 'close-dirty': '\\ea71',
- 'debug-breakpoint': '\\ea71',
- 'debug-breakpoint-disabled': '\\ea71',
- 'debug-hint': '\\ea71',
- 'primitive-square': '\\ea72',
- edit: '\\ea73',
- pencil: '\\ea73',
- info: '\\ea74',
- 'issue-opened': '\\ea74',
- 'gist-private': '\\ea75',
- 'git-fork-private': '\\ea75',
- lock: '\\ea75',
- 'mirror-private': '\\ea75',
- close: '\\ea76',
- 'remove-close': '\\ea76',
- x: '\\ea76',
- 'repo-sync': '\\ea77',
- sync: '\\ea77',
- clone: '\\ea78',
- 'desktop-download': '\\ea78',
- beaker: '\\ea79',
- microscope: '\\ea79',
- vm: '\\ea7a',
- 'device-desktop': '\\ea7a',
- file: '\\ea7b',
- 'file-text': '\\ea7b',
- more: '\\ea7c',
- ellipsis: '\\ea7c',
- 'kebab-horizontal': '\\ea7c',
- 'mail-reply': '\\ea7d',
- reply: '\\ea7d',
- organization: '\\ea7e',
- 'organization-filled': '\\ea7e',
- 'organization-outline': '\\ea7e',
- 'new-file': '\\ea7f',
- 'file-add': '\\ea7f',
- 'new-folder': '\\ea80',
- 'file-directory-create': '\\ea80',
- trash: '\\ea81',
- trashcan: '\\ea81',
- history: '\\ea82',
- clock: '\\ea82',
- folder: '\\ea83',
- 'file-directory': '\\ea83',
- 'symbol-folder': '\\ea83',
- 'logo-github': '\\ea84',
- 'mark-github': '\\ea84',
- github: '\\ea84',
- terminal: '\\ea85',
- console: '\\ea85',
- repl: '\\ea85',
- zap: '\\ea86',
- 'symbol-event': '\\ea86',
- error: '\\ea87',
- stop: '\\ea87',
- variable: '\\ea88',
- 'symbol-variable': '\\ea88',
- array: '\\ea8a',
- 'symbol-array': '\\ea8a',
- 'symbol-module': '\\ea8b',
- 'symbol-package': '\\ea8b',
- 'symbol-namespace': '\\ea8b',
- 'symbol-object': '\\ea8b',
- 'symbol-method': '\\ea8c',
- 'symbol-function': '\\ea8c',
- 'symbol-constructor': '\\ea8c',
- 'symbol-boolean': '\\ea8f',
- 'symbol-null': '\\ea8f',
- 'symbol-numeric': '\\ea90',
- 'symbol-number': '\\ea90',
- 'symbol-structure': '\\ea91',
- 'symbol-struct': '\\ea91',
- 'symbol-parameter': '\\ea92',
- 'symbol-type-parameter': '\\ea92',
- 'symbol-key': '\\ea93',
- 'symbol-text': '\\ea93',
- 'symbol-reference': '\\ea94',
- 'go-to-file': '\\ea94',
- 'symbol-enum': '\\ea95',
- 'symbol-value': '\\ea95',
- 'symbol-ruler': '\\ea96',
- 'symbol-unit': '\\ea96',
- 'activate-breakpoints': '\\ea97',
- archive: '\\ea98',
- 'arrow-both': '\\ea99',
- 'arrow-down': '\\ea9a',
- 'arrow-left': '\\ea9b',
- 'arrow-right': '\\ea9c',
- 'arrow-small-down': '\\ea9d',
- 'arrow-small-left': '\\ea9e',
- 'arrow-small-right': '\\ea9f',
- 'arrow-small-up': '\\eaa0',
- 'arrow-up': '\\eaa1',
- bell: '\\eaa2',
- bold: '\\eaa3',
- book: '\\eaa4',
- bookmark: '\\eaa5',
- 'debug-breakpoint-conditional-unverified': '\\eaa6',
- 'debug-breakpoint-conditional': '\\eaa7',
- 'debug-breakpoint-conditional-disabled': '\\eaa7',
- 'debug-breakpoint-data-unverified': '\\eaa8',
- 'debug-breakpoint-data': '\\eaa9',
- 'debug-breakpoint-data-disabled': '\\eaa9',
- 'debug-breakpoint-log-unverified': '\\eaaa',
- 'debug-breakpoint-log': '\\eaab',
- 'debug-breakpoint-log-disabled': '\\eaab',
- briefcase: '\\eaac',
- broadcast: '\\eaad',
- browser: '\\eaae',
- bug: '\\eaaf',
- calendar: '\\eab0',
- 'case-sensitive': '\\eab1',
- check: '\\eab2',
- checklist: '\\eab3',
- 'chevron-down': '\\eab4',
- 'chevron-left': '\\eab5',
- 'chevron-right': '\\eab6',
- 'chevron-up': '\\eab7',
- 'chrome-close': '\\eab8',
- 'chrome-maximize': '\\eab9',
- 'chrome-minimize': '\\eaba',
- 'chrome-restore': '\\eabb',
- 'circle-outline': '\\eabc',
- 'debug-breakpoint-unverified': '\\eabc',
- 'circle-slash': '\\eabd',
- 'circuit-board': '\\eabe',
- 'clear-all': '\\eabf',
- clippy: '\\eac0',
- 'close-all': '\\eac1',
- 'cloud-download': '\\eac2',
- 'cloud-upload': '\\eac3',
- code: '\\eac4',
- 'collapse-all': '\\eac5',
- 'color-mode': '\\eac6',
- 'comment-discussion': '\\eac7',
- 'credit-card': '\\eac9',
- dash: '\\eacc',
- dashboard: '\\eacd',
- database: '\\eace',
- 'debug-continue': '\\eacf',
- 'debug-disconnect': '\\ead0',
- 'debug-pause': '\\ead1',
- 'debug-restart': '\\ead2',
- 'debug-start': '\\ead3',
- 'debug-step-into': '\\ead4',
- 'debug-step-out': '\\ead5',
- 'debug-step-over': '\\ead6',
- 'debug-stop': '\\ead7',
- debug: '\\ead8',
- 'device-camera-video': '\\ead9',
- 'device-camera': '\\eada',
- 'device-mobile': '\\eadb',
- 'diff-added': '\\eadc',
- 'diff-ignored': '\\eadd',
- 'diff-modified': '\\eade',
- 'diff-removed': '\\eadf',
- 'diff-renamed': '\\eae0',
- diff: '\\eae1',
- discard: '\\eae2',
- 'editor-layout': '\\eae3',
- 'empty-window': '\\eae4',
- exclude: '\\eae5',
- extensions: '\\eae6',
- 'eye-closed': '\\eae7',
- 'file-binary': '\\eae8',
- 'file-code': '\\eae9',
- 'file-media': '\\eaea',
- 'file-pdf': '\\eaeb',
- 'file-submodule': '\\eaec',
- 'file-symlink-directory': '\\eaed',
- 'file-symlink-file': '\\eaee',
- 'file-zip': '\\eaef',
- files: '\\eaf0',
- filter: '\\eaf1',
- flame: '\\eaf2',
- 'fold-down': '\\eaf3',
- 'fold-up': '\\eaf4',
- fold: '\\eaf5',
- 'folder-active': '\\eaf6',
- 'folder-opened': '\\eaf7',
- gear: '\\eaf8',
- gift: '\\eaf9',
- 'gist-secret': '\\eafa',
- gist: '\\eafb',
- 'git-commit': '\\eafc',
- 'git-compare': '\\eafd',
- 'compare-changes': '\\eafd',
- 'git-merge': '\\eafe',
- 'github-action': '\\eaff',
- 'github-alt': '\\eb00',
- globe: '\\eb01',
- grabber: '\\eb02',
- graph: '\\eb03',
- gripper: '\\eb04',
- heart: '\\eb05',
- home: '\\eb06',
- 'horizontal-rule': '\\eb07',
- hubot: '\\eb08',
- inbox: '\\eb09',
- 'issue-reopened': '\\eb0b',
- issues: '\\eb0c',
- italic: '\\eb0d',
- jersey: '\\eb0e',
- json: '\\eb0f',
- 'kebab-vertical': '\\eb10',
- key: '\\eb11',
- law: '\\eb12',
- 'lightbulb-autofix': '\\eb13',
- 'link-external': '\\eb14',
- link: '\\eb15',
- 'list-ordered': '\\eb16',
- 'list-unordered': '\\eb17',
- 'live-share': '\\eb18',
- loading: '\\eb19',
- location: '\\eb1a',
- 'mail-read': '\\eb1b',
- mail: '\\eb1c',
- markdown: '\\eb1d',
- megaphone: '\\eb1e',
- mention: '\\eb1f',
- milestone: '\\eb20',
- 'mortar-board': '\\eb21',
- move: '\\eb22',
- 'multiple-windows': '\\eb23',
- mute: '\\eb24',
- 'no-newline': '\\eb25',
- note: '\\eb26',
- octoface: '\\eb27',
- 'open-preview': '\\eb28',
- package: '\\eb29',
- paintcan: '\\eb2a',
- pin: '\\eb2b',
- play: '\\eb2c',
- run: '\\eb2c',
- plug: '\\eb2d',
- 'preserve-case': '\\eb2e',
- preview: '\\eb2f',
- project: '\\eb30',
- pulse: '\\eb31',
- question: '\\eb32',
- quote: '\\eb33',
- 'radio-tower': '\\eb34',
- reactions: '\\eb35',
- references: '\\eb36',
- refresh: '\\eb37',
- regex: '\\eb38',
- 'remote-explorer': '\\eb39',
- remote: '\\eb3a',
- remove: '\\eb3b',
- 'replace-all': '\\eb3c',
- replace: '\\eb3d',
- 'repo-clone': '\\eb3e',
- 'repo-force-push': '\\eb3f',
- 'repo-pull': '\\eb40',
- 'repo-push': '\\eb41',
- report: '\\eb42',
- 'request-changes': '\\eb43',
- rocket: '\\eb44',
- 'root-folder-opened': '\\eb45',
- 'root-folder': '\\eb46',
- rss: '\\eb47',
- ruby: '\\eb48',
- 'save-all': '\\eb49',
- 'save-as': '\\eb4a',
- save: '\\eb4b',
- 'screen-full': '\\eb4c',
- 'screen-normal': '\\eb4d',
- 'search-stop': '\\eb4e',
- server: '\\eb50',
- 'settings-gear': '\\eb51',
- settings: '\\eb52',
- shield: '\\eb53',
- smiley: '\\eb54',
- 'sort-precedence': '\\eb55',
- 'split-horizontal': '\\eb56',
- 'split-vertical': '\\eb57',
- squirrel: '\\eb58',
- 'star-full': '\\eb59',
- 'star-half': '\\eb5a',
- 'symbol-class': '\\eb5b',
- 'symbol-color': '\\eb5c',
- 'symbol-constant': '\\eb5d',
- 'symbol-enum-member': '\\eb5e',
- 'symbol-field': '\\eb5f',
- 'symbol-file': '\\eb60',
- 'symbol-interface': '\\eb61',
- 'symbol-keyword': '\\eb62',
- 'symbol-misc': '\\eb63',
- 'symbol-operator': '\\eb64',
- 'symbol-property': '\\eb65',
- wrench: '\\eb65',
- 'wrench-subaction': '\\eb65',
- 'symbol-snippet': '\\eb66',
- tasklist: '\\eb67',
- telescope: '\\eb68',
- 'text-size': '\\eb69',
- 'three-bars': '\\eb6a',
- thumbsdown: '\\eb6b',
- thumbsup: '\\eb6c',
- tools: '\\eb6d',
- 'triangle-down': '\\eb6e',
- 'triangle-left': '\\eb6f',
- 'triangle-right': '\\eb70',
- 'triangle-up': '\\eb71',
- twitter: '\\eb72',
- unfold: '\\eb73',
- unlock: '\\eb74',
- unmute: '\\eb75',
- unverified: '\\eb76',
- verified: '\\eb77',
- versions: '\\eb78',
- 'vm-active': '\\eb79',
- 'vm-outline': '\\eb7a',
- 'vm-running': '\\eb7b',
- watch: '\\eb7c',
- whitespace: '\\eb7d',
- 'whole-word': '\\eb7e',
- window: '\\eb7f',
- 'word-wrap': '\\eb80',
- 'zoom-in': '\\eb81',
- 'zoom-out': '\\eb82',
- 'list-filter': '\\eb83',
- 'list-flat': '\\eb84',
- 'list-selection': '\\eb85',
- selection: '\\eb85',
- 'list-tree': '\\eb86',
- 'debug-breakpoint-function-unverified': '\\eb87',
- 'debug-breakpoint-function': '\\eb88',
- 'debug-breakpoint-function-disabled': '\\eb88',
- 'debug-stackframe-active': '\\eb89',
- 'debug-stackframe-dot': '\\eb8a',
- 'debug-stackframe': '\\eb8b',
- 'debug-stackframe-focused': '\\eb8b',
- 'debug-breakpoint-unsupported': '\\eb8c',
- 'symbol-string': '\\eb8d',
- 'debug-reverse-continue': '\\eb8e',
- 'debug-step-back': '\\eb8f',
- 'debug-restart-frame': '\\eb90',
- 'debug-alt': '\\eb91',
- 'call-incoming': '\\eb92',
- 'call-outgoing': '\\eb93',
- menu: '\\eb94',
- 'expand-all': '\\eb95',
- feedback: '\\eb96',
- 'group-by-ref-type': '\\eb97',
- 'ungroup-by-ref-type': '\\eb98',
- account: '\\eb99',
- 'bell-dot': '\\eb9a',
- 'debug-console': '\\eb9b',
- library: '\\eb9c',
- output: '\\eb9d',
- 'run-all': '\\eb9e',
- 'sync-ignored': '\\eb9f',
- pinned: '\\eba0',
- 'github-inverted': '\\eba1',
- 'server-process': '\\eba2',
- 'server-environment': '\\eba3',
- pass: '\\eba4',
- 'issue-closed': '\\eba4',
- 'stop-circle': '\\eba5',
- 'play-circle': '\\eba6',
- record: '\\eba7',
- 'debug-alt-small': '\\eba8',
- 'vm-connect': '\\eba9',
- cloud: '\\ebaa',
- merge: '\\ebab',
- export: '\\ebac',
- 'graph-left': '\\ebad',
- magnet: '\\ebae',
- notebook: '\\ebaf',
- redo: '\\ebb0',
- 'check-all': '\\ebb1',
- 'pinned-dirty': '\\ebb2',
- 'pass-filled': '\\ebb3',
- 'circle-large-filled': '\\ebb4',
- 'circle-large-outline': '\\ebb5',
- combine: '\\ebb6',
- gather: '\\ebb6',
- table: '\\ebb7',
- 'variable-group': '\\ebb8',
- 'type-hierarchy': '\\ebb9',
- 'type-hierarchy-sub': '\\ebba',
- 'type-hierarchy-super': '\\ebbb',
- 'git-pull-request-create': '\\ebbc',
- 'run-above': '\\ebbd',
- 'run-below': '\\ebbe',
- 'notebook-template': '\\ebbf',
- 'debug-rerun': '\\ebc0',
- 'workspace-trusted': '\\ebc1',
- 'workspace-untrusted': '\\ebc2',
- 'workspace-unknown': '\\ebc3',
- 'terminal-cmd': '\\ebc4',
- 'terminal-debian': '\\ebc5',
- 'terminal-linux': '\\ebc6',
- 'terminal-powershell': '\\ebc7',
- 'terminal-tmux': '\\ebc8',
- 'terminal-ubuntu': '\\ebc9',
- 'terminal-bash': '\\ebca',
- 'arrow-swap': '\\ebcb',
- copy: '\\ebcc',
- 'person-add': '\\ebcd',
- 'filter-filled': '\\ebce',
- wand: '\\ebcf',
- 'debug-line-by-line': '\\ebd0',
- inspect: '\\ebd1',
- layers: '\\ebd2',
- 'layers-dot': '\\ebd3',
- 'layers-active': '\\ebd4',
- compass: '\\ebd5',
- 'compass-dot': '\\ebd6',
- 'compass-active': '\\ebd7',
- azure: '\\ebd8',
- 'issue-draft': '\\ebd9',
- 'git-pull-request-closed': '\\ebda',
- 'git-pull-request-draft': '\\ebdb',
- 'debug-all': '\\ebdc',
- 'debug-coverage': '\\ebdd',
- 'run-errors': '\\ebde',
- 'folder-library': '\\ebdf',
- 'debug-continue-small': '\\ebe0',
- 'beaker-stop': '\\ebe1',
- 'graph-line': '\\ebe2',
- 'graph-scatter': '\\ebe3',
- 'pie-chart': '\\ebe4',
- bracket: '\\eb0f',
- 'bracket-dot': '\\ebe5',
- 'bracket-error': '\\ebe6',
- 'lock-small': '\\ebe7',
- 'azure-devops': '\\ebe8',
- 'verified-filled': '\\ebe9',
- newline: '\\ebea',
- layout: '\\ebeb',
- 'layout-activitybar-left': '\\ebec',
- 'layout-activitybar-right': '\\ebed',
- 'layout-panel-left': '\\ebee',
- 'layout-panel-center': '\\ebef',
- 'layout-panel-justify': '\\ebf0',
- 'layout-panel-right': '\\ebf1',
- 'layout-panel': '\\ebf2',
- 'layout-sidebar-left': '\\ebf3',
- 'layout-sidebar-right': '\\ebf4',
- 'layout-statusbar': '\\ebf5',
- 'layout-menubar': '\\ebf6',
- 'layout-centered': '\\ebf7',
- target: '\\ebf8',
- indent: '\\ebf9',
- 'record-small': '\\ebfa',
- 'error-small': '\\ebfb',
- 'terminal-decoration-error': '\\ebfb',
- 'arrow-circle-down': '\\ebfc',
- 'arrow-circle-left': '\\ebfd',
- 'arrow-circle-right': '\\ebfe',
- 'arrow-circle-up': '\\ebff',
- 'layout-sidebar-right-off': '\\ec00',
- 'layout-panel-off': '\\ec01',
- 'layout-sidebar-left-off': '\\ec02',
- blank: '\\ec03',
- 'heart-filled': '\\ec04',
- map: '\\ec05',
- 'map-filled': '\\ec06',
- 'circle-small': '\\ec07',
- 'bell-slash': '\\ec08',
- 'bell-slash-dot': '\\ec09',
- 'comment-unresolved': '\\ec0a',
- 'git-pull-request-go-to-changes': '\\ec0b',
- 'git-pull-request-new-changes': '\\ec0c',
- 'search-fuzzy': '\\ec0d',
- 'comment-draft': '\\ec0e',
- send: '\\ec0f',
- sparkle: '\\ec10',
- insert: '\\ec11',
- 'gl-commit-horizontal': '\\f101',
- 'gl-graph': '\\f102',
- 'gl-next-commit': '\\f103',
- 'gl-prev-commit-menu': '\\f104',
- 'gl-prev-commit': '\\f105',
- 'gl-compare-ref-working': '\\f106',
- 'gl-branches-view': '\\f107',
- 'gl-commit-view': '\\f108',
- 'gl-commits-view': '\\f109',
- 'gl-compare-view': '\\f10a',
- 'gl-contributors-view': '\\f10b',
- 'gl-history-view': '\\f10c',
- 'gl-remotes-view': '\\f10d',
- 'gl-repositories-view': '\\f10e',
- 'gl-search-view': '\\f10f',
- 'gl-stashes-view': '\\f110',
- 'gl-tags-view': '\\f111',
- 'gl-worktrees-view': '\\f112',
- 'gl-gitlens': '\\f113',
- 'gl-stash-pop': '\\f114',
- 'gl-stash-save': '\\f115',
- 'gl-unplug': '\\f116',
- 'gl-open-revision': '\\f117',
- 'gl-switch': '\\f118',
- 'gl-expand': '\\f119',
- 'gl-list-auto': '\\f11a',
- 'gl-repo-force-push': '\\f11b',
- 'gl-pinned-filled': '\\f11c',
- 'gl-clock': '\\f11d',
- 'gl-provider-azdo': '\\f11e',
- 'gl-provider-bitbucket': '\\f11f',
- 'gl-provider-gerrit': '\\f120',
- 'gl-provider-gitea': '\\f121',
- 'gl-provider-github': '\\f122',
- 'gl-provider-gitlab': '\\f123',
- 'gl-gitlens-inspect': '\\f124',
- 'gl-workspaces-view': '\\f125',
- 'gl-cloud-patch': '\\f128',
- 'gl-cloud-patch-share': '\\f129',
- 'gl-inspect': '\\f12a',
- 'gl-repository-filled': '\\f12b',
- 'gl-code-suggestion': '\\f12d',
- 'gl-diff-multiple': '\\f12e',
- 'gl-diff-single': '\\f12f',
- 'gl-repo-fetch': '\\f130',
- 'gl-repo-pull': '\\f131',
- 'gl-repo-push': '\\f132',
- 'gl-provider-jira': '\\f133',
- 'gl-play-button': '\\f134',
- 'rocket-filled': '\\f135',
-});
+function iconToSelector(name: string, char: string, prefix = '') {
+ return /*css*/ `:host([icon='${prefix}${name}'])::before { content: '${char}'; }`;
+}
+
+function generateIconStyles(iconMap: Record, prefix = '') {
+ return unsafeCSS(
+ Object.entries(iconMap)
+ .map(([key, value]) => iconToSelector(key, value, prefix))
+ .join(''),
+ );
+}
@customElement('code-icon')
export class CodeIcon extends LitElement {
@@ -597,17 +41,8 @@ export class CodeIcon extends LitElement {
font-family: 'glicons';
}
- ${unsafeCSS(
- Object.entries(iconMap)
- .map(
- ([key, value]) => /*css*/ `
- :host([icon='${key}'])::before {
- content: '${value}';
- }
- `,
- )
- .join(''),
- )}
+ ${generateIconStyles(codiconsMap)}
+ ${generateIconStyles(gliconsMap, 'gl-')}
:host([icon='custom-start-work']) {
position: relative;
diff --git a/src/webviews/apps/shared/components/icons/codicons-map.ts b/src/webviews/apps/shared/components/icons/codicons-map.ts
new file mode 100644
index 0000000000000..20c4ae39c762b
--- /dev/null
+++ b/src/webviews/apps/shared/components/icons/codicons-map.ts
@@ -0,0 +1,576 @@
+// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+
+export const iconFontFamily = 'codicon';
+
+export const iconMap = Object.freeze({
+ 'add': '\\ea60',
+ 'plus': '\\ea60',
+ 'gist-new': '\\ea60',
+ 'repo-create': '\\ea60',
+ 'lightbulb': '\\ea61',
+ 'light-bulb': '\\ea61',
+ 'repo': '\\ea62',
+ 'repo-delete': '\\ea62',
+ 'gist-fork': '\\ea63',
+ 'repo-forked': '\\ea63',
+ 'git-pull-request': '\\ea64',
+ 'git-pull-request-abandoned': '\\ea64',
+ 'record-keys': '\\ea65',
+ 'keyboard': '\\ea65',
+ 'tag': '\\ea66',
+ 'git-pull-request-label': '\\ea66',
+ 'tag-add': '\\ea66',
+ 'tag-remove': '\\ea66',
+ 'person': '\\ea67',
+ 'person-follow': '\\ea67',
+ 'person-outline': '\\ea67',
+ 'person-filled': '\\ea67',
+ 'git-branch': '\\ea68',
+ 'git-branch-create': '\\ea68',
+ 'git-branch-delete': '\\ea68',
+ 'source-control': '\\ea68',
+ 'mirror': '\\ea69',
+ 'mirror-public': '\\ea69',
+ 'star': '\\ea6a',
+ 'star-add': '\\ea6a',
+ 'star-delete': '\\ea6a',
+ 'star-empty': '\\ea6a',
+ 'comment': '\\ea6b',
+ 'comment-add': '\\ea6b',
+ 'alert': '\\ea6c',
+ 'warning': '\\ea6c',
+ 'search': '\\ea6d',
+ 'search-save': '\\ea6d',
+ 'log-out': '\\ea6e',
+ 'sign-out': '\\ea6e',
+ 'log-in': '\\ea6f',
+ 'sign-in': '\\ea6f',
+ 'eye': '\\ea70',
+ 'eye-unwatch': '\\ea70',
+ 'eye-watch': '\\ea70',
+ 'circle-filled': '\\ea71',
+ 'primitive-dot': '\\ea71',
+ 'close-dirty': '\\ea71',
+ 'debug-breakpoint': '\\ea71',
+ 'debug-breakpoint-disabled': '\\ea71',
+ 'debug-hint': '\\ea71',
+ 'terminal-decoration-success': '\\ea71',
+ 'primitive-square': '\\ea72',
+ 'edit': '\\ea73',
+ 'pencil': '\\ea73',
+ 'info': '\\ea74',
+ 'issue-opened': '\\ea74',
+ 'gist-private': '\\ea75',
+ 'git-fork-private': '\\ea75',
+ 'lock': '\\ea75',
+ 'mirror-private': '\\ea75',
+ 'close': '\\ea76',
+ 'remove-close': '\\ea76',
+ 'x': '\\ea76',
+ 'repo-sync': '\\ea77',
+ 'sync': '\\ea77',
+ 'clone': '\\ea78',
+ 'desktop-download': '\\ea78',
+ 'beaker': '\\ea79',
+ 'microscope': '\\ea79',
+ 'vm': '\\ea7a',
+ 'device-desktop': '\\ea7a',
+ 'file': '\\ea7b',
+ 'file-text': '\\ea7b',
+ 'more': '\\ea7c',
+ 'ellipsis': '\\ea7c',
+ 'kebab-horizontal': '\\ea7c',
+ 'mail-reply': '\\ea7d',
+ 'reply': '\\ea7d',
+ 'organization': '\\ea7e',
+ 'organization-filled': '\\ea7e',
+ 'organization-outline': '\\ea7e',
+ 'new-file': '\\ea7f',
+ 'file-add': '\\ea7f',
+ 'new-folder': '\\ea80',
+ 'file-directory-create': '\\ea80',
+ 'trash': '\\ea81',
+ 'trashcan': '\\ea81',
+ 'history': '\\ea82',
+ 'clock': '\\ea82',
+ 'folder': '\\ea83',
+ 'file-directory': '\\ea83',
+ 'symbol-folder': '\\ea83',
+ 'logo-github': '\\ea84',
+ 'mark-github': '\\ea84',
+ 'github': '\\ea84',
+ 'terminal': '\\ea85',
+ 'console': '\\ea85',
+ 'repl': '\\ea85',
+ 'zap': '\\ea86',
+ 'symbol-event': '\\ea86',
+ 'error': '\\ea87',
+ 'stop': '\\ea87',
+ 'variable': '\\ea88',
+ 'symbol-variable': '\\ea88',
+ 'array': '\\ea8a',
+ 'symbol-array': '\\ea8a',
+ 'symbol-module': '\\ea8b',
+ 'symbol-package': '\\ea8b',
+ 'symbol-namespace': '\\ea8b',
+ 'symbol-object': '\\ea8b',
+ 'symbol-method': '\\ea8c',
+ 'symbol-function': '\\ea8c',
+ 'symbol-constructor': '\\ea8c',
+ 'symbol-boolean': '\\ea8f',
+ 'symbol-null': '\\ea8f',
+ 'symbol-numeric': '\\ea90',
+ 'symbol-number': '\\ea90',
+ 'symbol-structure': '\\ea91',
+ 'symbol-struct': '\\ea91',
+ 'symbol-parameter': '\\ea92',
+ 'symbol-type-parameter': '\\ea92',
+ 'symbol-key': '\\ea93',
+ 'symbol-text': '\\ea93',
+ 'symbol-reference': '\\ea94',
+ 'go-to-file': '\\ea94',
+ 'symbol-enum': '\\ea95',
+ 'symbol-value': '\\ea95',
+ 'symbol-ruler': '\\ea96',
+ 'symbol-unit': '\\ea96',
+ 'activate-breakpoints': '\\ea97',
+ 'archive': '\\ea98',
+ 'arrow-both': '\\ea99',
+ 'arrow-down': '\\ea9a',
+ 'arrow-left': '\\ea9b',
+ 'arrow-right': '\\ea9c',
+ 'arrow-small-down': '\\ea9d',
+ 'arrow-small-left': '\\ea9e',
+ 'arrow-small-right': '\\ea9f',
+ 'arrow-small-up': '\\eaa0',
+ 'arrow-up': '\\eaa1',
+ 'bell': '\\eaa2',
+ 'bold': '\\eaa3',
+ 'book': '\\eaa4',
+ 'bookmark': '\\eaa5',
+ 'debug-breakpoint-conditional-unverified': '\\eaa6',
+ 'debug-breakpoint-conditional': '\\eaa7',
+ 'debug-breakpoint-conditional-disabled': '\\eaa7',
+ 'debug-breakpoint-data-unverified': '\\eaa8',
+ 'debug-breakpoint-data': '\\eaa9',
+ 'debug-breakpoint-data-disabled': '\\eaa9',
+ 'debug-breakpoint-log-unverified': '\\eaaa',
+ 'debug-breakpoint-log': '\\eaab',
+ 'debug-breakpoint-log-disabled': '\\eaab',
+ 'briefcase': '\\eaac',
+ 'broadcast': '\\eaad',
+ 'browser': '\\eaae',
+ 'bug': '\\eaaf',
+ 'calendar': '\\eab0',
+ 'case-sensitive': '\\eab1',
+ 'check': '\\eab2',
+ 'checklist': '\\eab3',
+ 'chevron-down': '\\eab4',
+ 'chevron-left': '\\eab5',
+ 'chevron-right': '\\eab6',
+ 'chevron-up': '\\eab7',
+ 'chrome-close': '\\eab8',
+ 'chrome-maximize': '\\eab9',
+ 'chrome-minimize': '\\eaba',
+ 'chrome-restore': '\\eabb',
+ 'circle-outline': '\\eabc',
+ 'circle': '\\eabc',
+ 'debug-breakpoint-unverified': '\\eabc',
+ 'terminal-decoration-incomplete': '\\eabc',
+ 'circle-slash': '\\eabd',
+ 'circuit-board': '\\eabe',
+ 'clear-all': '\\eabf',
+ 'clippy': '\\eac0',
+ 'close-all': '\\eac1',
+ 'cloud-download': '\\eac2',
+ 'cloud-upload': '\\eac3',
+ 'code': '\\eac4',
+ 'collapse-all': '\\eac5',
+ 'color-mode': '\\eac6',
+ 'comment-discussion': '\\eac7',
+ 'credit-card': '\\eac9',
+ 'dash': '\\eacc',
+ 'dashboard': '\\eacd',
+ 'database': '\\eace',
+ 'debug-continue': '\\eacf',
+ 'debug-disconnect': '\\ead0',
+ 'debug-pause': '\\ead1',
+ 'debug-restart': '\\ead2',
+ 'debug-start': '\\ead3',
+ 'debug-step-into': '\\ead4',
+ 'debug-step-out': '\\ead5',
+ 'debug-step-over': '\\ead6',
+ 'debug-stop': '\\ead7',
+ 'debug': '\\ead8',
+ 'device-camera-video': '\\ead9',
+ 'device-camera': '\\eada',
+ 'device-mobile': '\\eadb',
+ 'diff-added': '\\eadc',
+ 'diff-ignored': '\\eadd',
+ 'diff-modified': '\\eade',
+ 'diff-removed': '\\eadf',
+ 'diff-renamed': '\\eae0',
+ 'diff': '\\eae1',
+ 'diff-sidebyside': '\\eae1',
+ 'discard': '\\eae2',
+ 'editor-layout': '\\eae3',
+ 'empty-window': '\\eae4',
+ 'exclude': '\\eae5',
+ 'extensions': '\\eae6',
+ 'eye-closed': '\\eae7',
+ 'file-binary': '\\eae8',
+ 'file-code': '\\eae9',
+ 'file-media': '\\eaea',
+ 'file-pdf': '\\eaeb',
+ 'file-submodule': '\\eaec',
+ 'file-symlink-directory': '\\eaed',
+ 'file-symlink-file': '\\eaee',
+ 'file-zip': '\\eaef',
+ 'files': '\\eaf0',
+ 'filter': '\\eaf1',
+ 'flame': '\\eaf2',
+ 'fold-down': '\\eaf3',
+ 'fold-up': '\\eaf4',
+ 'fold': '\\eaf5',
+ 'folder-active': '\\eaf6',
+ 'folder-opened': '\\eaf7',
+ 'gear': '\\eaf8',
+ 'gift': '\\eaf9',
+ 'gist-secret': '\\eafa',
+ 'gist': '\\eafb',
+ 'git-commit': '\\eafc',
+ 'git-compare': '\\eafd',
+ 'compare-changes': '\\eafd',
+ 'git-merge': '\\eafe',
+ 'github-action': '\\eaff',
+ 'github-alt': '\\eb00',
+ 'globe': '\\eb01',
+ 'grabber': '\\eb02',
+ 'graph': '\\eb03',
+ 'gripper': '\\eb04',
+ 'heart': '\\eb05',
+ 'home': '\\eb06',
+ 'horizontal-rule': '\\eb07',
+ 'hubot': '\\eb08',
+ 'inbox': '\\eb09',
+ 'issue-reopened': '\\eb0b',
+ 'issues': '\\eb0c',
+ 'italic': '\\eb0d',
+ 'jersey': '\\eb0e',
+ 'json': '\\eb0f',
+ 'kebab-vertical': '\\eb10',
+ 'key': '\\eb11',
+ 'law': '\\eb12',
+ 'lightbulb-autofix': '\\eb13',
+ 'link-external': '\\eb14',
+ 'link': '\\eb15',
+ 'list-ordered': '\\eb16',
+ 'list-unordered': '\\eb17',
+ 'live-share': '\\eb18',
+ 'loading': '\\eb19',
+ 'location': '\\eb1a',
+ 'mail-read': '\\eb1b',
+ 'mail': '\\eb1c',
+ 'markdown': '\\eb1d',
+ 'megaphone': '\\eb1e',
+ 'mention': '\\eb1f',
+ 'milestone': '\\eb20',
+ 'git-pull-request-milestone': '\\eb20',
+ 'mortar-board': '\\eb21',
+ 'move': '\\eb22',
+ 'multiple-windows': '\\eb23',
+ 'mute': '\\eb24',
+ 'no-newline': '\\eb25',
+ 'note': '\\eb26',
+ 'octoface': '\\eb27',
+ 'open-preview': '\\eb28',
+ 'package': '\\eb29',
+ 'paintcan': '\\eb2a',
+ 'pin': '\\eb2b',
+ 'play': '\\eb2c',
+ 'run': '\\eb2c',
+ 'plug': '\\eb2d',
+ 'preserve-case': '\\eb2e',
+ 'preview': '\\eb2f',
+ 'project': '\\eb30',
+ 'pulse': '\\eb31',
+ 'question': '\\eb32',
+ 'quote': '\\eb33',
+ 'radio-tower': '\\eb34',
+ 'reactions': '\\eb35',
+ 'references': '\\eb36',
+ 'refresh': '\\eb37',
+ 'regex': '\\eb38',
+ 'remote-explorer': '\\eb39',
+ 'remote': '\\eb3a',
+ 'remove': '\\eb3b',
+ 'replace-all': '\\eb3c',
+ 'replace': '\\eb3d',
+ 'repo-clone': '\\eb3e',
+ 'repo-force-push': '\\eb3f',
+ 'repo-pull': '\\eb40',
+ 'repo-push': '\\eb41',
+ 'report': '\\eb42',
+ 'request-changes': '\\eb43',
+ 'rocket': '\\eb44',
+ 'root-folder-opened': '\\eb45',
+ 'root-folder': '\\eb46',
+ 'rss': '\\eb47',
+ 'ruby': '\\eb48',
+ 'save-all': '\\eb49',
+ 'save-as': '\\eb4a',
+ 'save': '\\eb4b',
+ 'screen-full': '\\eb4c',
+ 'screen-normal': '\\eb4d',
+ 'search-stop': '\\eb4e',
+ 'server': '\\eb50',
+ 'settings-gear': '\\eb51',
+ 'settings': '\\eb52',
+ 'shield': '\\eb53',
+ 'smiley': '\\eb54',
+ 'sort-precedence': '\\eb55',
+ 'split-horizontal': '\\eb56',
+ 'split-vertical': '\\eb57',
+ 'squirrel': '\\eb58',
+ 'star-full': '\\eb59',
+ 'star-half': '\\eb5a',
+ 'symbol-class': '\\eb5b',
+ 'symbol-color': '\\eb5c',
+ 'symbol-constant': '\\eb5d',
+ 'symbol-enum-member': '\\eb5e',
+ 'symbol-field': '\\eb5f',
+ 'symbol-file': '\\eb60',
+ 'symbol-interface': '\\eb61',
+ 'symbol-keyword': '\\eb62',
+ 'symbol-misc': '\\eb63',
+ 'symbol-operator': '\\eb64',
+ 'symbol-property': '\\eb65',
+ 'wrench': '\\eb65',
+ 'wrench-subaction': '\\eb65',
+ 'symbol-snippet': '\\eb66',
+ 'tasklist': '\\eb67',
+ 'telescope': '\\eb68',
+ 'text-size': '\\eb69',
+ 'three-bars': '\\eb6a',
+ 'thumbsdown': '\\eb6b',
+ 'thumbsup': '\\eb6c',
+ 'tools': '\\eb6d',
+ 'triangle-down': '\\eb6e',
+ 'triangle-left': '\\eb6f',
+ 'triangle-right': '\\eb70',
+ 'triangle-up': '\\eb71',
+ 'twitter': '\\eb72',
+ 'unfold': '\\eb73',
+ 'unlock': '\\eb74',
+ 'unmute': '\\eb75',
+ 'unverified': '\\eb76',
+ 'verified': '\\eb77',
+ 'versions': '\\eb78',
+ 'vm-active': '\\eb79',
+ 'vm-outline': '\\eb7a',
+ 'vm-running': '\\eb7b',
+ 'watch': '\\eb7c',
+ 'whitespace': '\\eb7d',
+ 'whole-word': '\\eb7e',
+ 'window': '\\eb7f',
+ 'word-wrap': '\\eb80',
+ 'zoom-in': '\\eb81',
+ 'zoom-out': '\\eb82',
+ 'list-filter': '\\eb83',
+ 'list-flat': '\\eb84',
+ 'list-selection': '\\eb85',
+ 'selection': '\\eb85',
+ 'list-tree': '\\eb86',
+ 'debug-breakpoint-function-unverified': '\\eb87',
+ 'debug-breakpoint-function': '\\eb88',
+ 'debug-breakpoint-function-disabled': '\\eb88',
+ 'debug-stackframe-active': '\\eb89',
+ 'circle-small-filled': '\\eb8a',
+ 'debug-stackframe-dot': '\\eb8a',
+ 'terminal-decoration-mark': '\\eb8a',
+ 'debug-stackframe': '\\eb8b',
+ 'debug-stackframe-focused': '\\eb8b',
+ 'debug-breakpoint-unsupported': '\\eb8c',
+ 'symbol-string': '\\eb8d',
+ 'debug-reverse-continue': '\\eb8e',
+ 'debug-step-back': '\\eb8f',
+ 'debug-restart-frame': '\\eb90',
+ 'debug-alt': '\\eb91',
+ 'call-incoming': '\\eb92',
+ 'call-outgoing': '\\eb93',
+ 'menu': '\\eb94',
+ 'expand-all': '\\eb95',
+ 'feedback': '\\eb96',
+ 'git-pull-request-reviewer': '\\eb96',
+ 'group-by-ref-type': '\\eb97',
+ 'ungroup-by-ref-type': '\\eb98',
+ 'account': '\\eb99',
+ 'git-pull-request-assignee': '\\eb99',
+ 'bell-dot': '\\eb9a',
+ 'debug-console': '\\eb9b',
+ 'library': '\\eb9c',
+ 'output': '\\eb9d',
+ 'run-all': '\\eb9e',
+ 'sync-ignored': '\\eb9f',
+ 'pinned': '\\eba0',
+ 'github-inverted': '\\eba1',
+ 'server-process': '\\eba2',
+ 'server-environment': '\\eba3',
+ 'pass': '\\eba4',
+ 'issue-closed': '\\eba4',
+ 'stop-circle': '\\eba5',
+ 'play-circle': '\\eba6',
+ 'record': '\\eba7',
+ 'debug-alt-small': '\\eba8',
+ 'vm-connect': '\\eba9',
+ 'cloud': '\\ebaa',
+ 'merge': '\\ebab',
+ 'export': '\\ebac',
+ 'graph-left': '\\ebad',
+ 'magnet': '\\ebae',
+ 'notebook': '\\ebaf',
+ 'redo': '\\ebb0',
+ 'check-all': '\\ebb1',
+ 'pinned-dirty': '\\ebb2',
+ 'pass-filled': '\\ebb3',
+ 'circle-large-filled': '\\ebb4',
+ 'circle-large': '\\ebb5',
+ 'circle-large-outline': '\\ebb5',
+ 'combine': '\\ebb6',
+ 'gather': '\\ebb6',
+ 'table': '\\ebb7',
+ 'variable-group': '\\ebb8',
+ 'type-hierarchy': '\\ebb9',
+ 'type-hierarchy-sub': '\\ebba',
+ 'type-hierarchy-super': '\\ebbb',
+ 'git-pull-request-create': '\\ebbc',
+ 'run-above': '\\ebbd',
+ 'run-below': '\\ebbe',
+ 'notebook-template': '\\ebbf',
+ 'debug-rerun': '\\ebc0',
+ 'workspace-trusted': '\\ebc1',
+ 'workspace-untrusted': '\\ebc2',
+ 'workspace-unknown': '\\ebc3',
+ 'terminal-cmd': '\\ebc4',
+ 'terminal-debian': '\\ebc5',
+ 'terminal-linux': '\\ebc6',
+ 'terminal-powershell': '\\ebc7',
+ 'terminal-tmux': '\\ebc8',
+ 'terminal-ubuntu': '\\ebc9',
+ 'terminal-bash': '\\ebca',
+ 'arrow-swap': '\\ebcb',
+ 'copy': '\\ebcc',
+ 'person-add': '\\ebcd',
+ 'filter-filled': '\\ebce',
+ 'wand': '\\ebcf',
+ 'debug-line-by-line': '\\ebd0',
+ 'inspect': '\\ebd1',
+ 'layers': '\\ebd2',
+ 'layers-dot': '\\ebd3',
+ 'layers-active': '\\ebd4',
+ 'compass': '\\ebd5',
+ 'compass-dot': '\\ebd6',
+ 'compass-active': '\\ebd7',
+ 'azure': '\\ebd8',
+ 'issue-draft': '\\ebd9',
+ 'git-pull-request-closed': '\\ebda',
+ 'git-pull-request-draft': '\\ebdb',
+ 'debug-all': '\\ebdc',
+ 'debug-coverage': '\\ebdd',
+ 'run-errors': '\\ebde',
+ 'folder-library': '\\ebdf',
+ 'debug-continue-small': '\\ebe0',
+ 'beaker-stop': '\\ebe1',
+ 'graph-line': '\\ebe2',
+ 'graph-scatter': '\\ebe3',
+ 'pie-chart': '\\ebe4',
+ 'bracket': '\\eb0f',
+ 'bracket-dot': '\\ebe5',
+ 'bracket-error': '\\ebe6',
+ 'lock-small': '\\ebe7',
+ 'azure-devops': '\\ebe8',
+ 'verified-filled': '\\ebe9',
+ 'newline': '\\ebea',
+ 'layout': '\\ebeb',
+ 'layout-activitybar-left': '\\ebec',
+ 'layout-activitybar-right': '\\ebed',
+ 'layout-panel-left': '\\ebee',
+ 'layout-panel-center': '\\ebef',
+ 'layout-panel-justify': '\\ebf0',
+ 'layout-panel-right': '\\ebf1',
+ 'layout-panel': '\\ebf2',
+ 'layout-sidebar-left': '\\ebf3',
+ 'layout-sidebar-right': '\\ebf4',
+ 'layout-statusbar': '\\ebf5',
+ 'layout-menubar': '\\ebf6',
+ 'layout-centered': '\\ebf7',
+ 'target': '\\ebf8',
+ 'indent': '\\ebf9',
+ 'record-small': '\\ebfa',
+ 'error-small': '\\ebfb',
+ 'terminal-decoration-error': '\\ebfb',
+ 'arrow-circle-down': '\\ebfc',
+ 'arrow-circle-left': '\\ebfd',
+ 'arrow-circle-right': '\\ebfe',
+ 'arrow-circle-up': '\\ebff',
+ 'layout-sidebar-right-off': '\\ec00',
+ 'layout-panel-off': '\\ec01',
+ 'layout-sidebar-left-off': '\\ec02',
+ 'blank': '\\ec03',
+ 'heart-filled': '\\ec04',
+ 'map': '\\ec05',
+ 'map-horizontal': '\\ec05',
+ 'fold-horizontal': '\\ec05',
+ 'map-filled': '\\ec06',
+ 'map-horizontal-filled': '\\ec06',
+ 'fold-horizontal-filled': '\\ec06',
+ 'circle-small': '\\ec07',
+ 'bell-slash': '\\ec08',
+ 'bell-slash-dot': '\\ec09',
+ 'comment-unresolved': '\\ec0a',
+ 'git-pull-request-go-to-changes': '\\ec0b',
+ 'git-pull-request-new-changes': '\\ec0c',
+ 'search-fuzzy': '\\ec0d',
+ 'comment-draft': '\\ec0e',
+ 'send': '\\ec0f',
+ 'sparkle': '\\ec10',
+ 'insert': '\\ec11',
+ 'mic': '\\ec12',
+ 'thumbsdown-filled': '\\ec13',
+ 'thumbsup-filled': '\\ec14',
+ 'coffee': '\\ec15',
+ 'snake': '\\ec16',
+ 'game': '\\ec17',
+ 'vr': '\\ec18',
+ 'chip': '\\ec19',
+ 'piano': '\\ec1a',
+ 'music': '\\ec1b',
+ 'mic-filled': '\\ec1c',
+ 'repo-fetch': '\\ec1d',
+ 'copilot': '\\ec1e',
+ 'lightbulb-sparkle': '\\ec1f',
+ 'robot': '\\ec20',
+ 'sparkle-filled': '\\ec21',
+ 'diff-single': '\\ec22',
+ 'diff-multiple': '\\ec23',
+ 'surround-with': '\\ec24',
+ 'share': '\\ec25',
+ 'git-stash': '\\ec26',
+ 'git-stash-apply': '\\ec27',
+ 'git-stash-pop': '\\ec28',
+ 'vscode': '\\ec29',
+ 'vscode-insiders': '\\ec2a',
+ 'code-oss': '\\ec2b',
+ 'run-coverage': '\\ec2c',
+ 'run-all-coverage': '\\ec2d',
+ 'coverage': '\\ec2e',
+ 'github-project': '\\ec2f',
+ 'map-vertical': '\\ec30',
+ 'fold-vertical': '\\ec30',
+ 'map-vertical-filled': '\\ec31',
+ 'fold-vertical-filled': '\\ec31',
+ 'go-to-search': '\\ec32',
+ 'percentage': '\\ec33',
+ 'sort-percentage': '\\ec33'
+});
diff --git a/src/webviews/apps/shared/components/icons/glicons-map.ts b/src/webviews/apps/shared/components/icons/glicons-map.ts
new file mode 100644
index 0000000000000..8d4c4a2a3c8af
--- /dev/null
+++ b/src/webviews/apps/shared/components/icons/glicons-map.ts
@@ -0,0 +1,67 @@
+// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+
+export const iconFontFamily = 'glicons';
+
+export const iconMap = Object.freeze({
+ 'commit-horizontal': '\\f101',
+ 'graph': '\\f102',
+ 'next-commit': '\\f103',
+ 'prev-commit-menu': '\\f104',
+ 'prev-commit': '\\f105',
+ 'compare-ref-working': '\\f106',
+ 'branches-view': '\\f107',
+ 'commit-view': '\\f108',
+ 'commits-view': '\\f109',
+ 'compare-view': '\\f10a',
+ 'contributors-view': '\\f10b',
+ 'history-view': '\\f10c',
+ 'history': '\\f10c',
+ 'remotes-view': '\\f10d',
+ 'repositories-view': '\\f10e',
+ 'search-view': '\\f10f',
+ 'stashes-view': '\\f110',
+ 'stashes': '\\f110',
+ 'tags-view': '\\f111',
+ 'worktrees-view': '\\f112',
+ 'gitlens': '\\f113',
+ 'stash-pop': '\\f114',
+ 'stash-save': '\\f115',
+ 'unplug': '\\f116',
+ 'open-revision': '\\f117',
+ 'switch': '\\f118',
+ 'expand': '\\f119',
+ 'list-auto': '\\f11a',
+ 'pinned-filled': '\\f11c',
+ 'clock': '\\f11d',
+ 'provider-azdo': '\\f11e',
+ 'provider-bitbucket': '\\f11f',
+ 'provider-gerrit': '\\f120',
+ 'provider-gitea': '\\f121',
+ 'provider-github': '\\f122',
+ 'provider-gitlab': '\\f123',
+ 'gitlens-inspect': '\\f124',
+ 'workspaces-view': '\\f125',
+ 'confirm-checked': '\\f126',
+ 'confirm-unchecked': '\\f127',
+ 'cloud-patch': '\\f128',
+ 'cloud-patch-share': '\\f129',
+ 'inspect': '\\f12a',
+ 'repository-filled': '\\f12b',
+ 'gitlens-filled': '\\f12c',
+ 'code-suggestion': '\\f12d',
+ 'provider-jira': '\\f133',
+ 'play-button': '\\f134',
+ 'rocket-filled': '\\f135',
+ 'branches-view-filled': '\\f136',
+ 'commits-view-filled': '\\f137',
+ 'contributors-view-filled': '\\f138',
+ 'remotes-view-filled': '\\f139',
+ 'repositories-view-filled': '\\f13a',
+ 'search-view-filled': '\\f13b',
+ 'stashes-view-filled': '\\f13c',
+ 'tags-view-filled': '\\f13d',
+ 'worktrees-view-filled': '\\f13e',
+ 'launchpad-view': '\\f13f',
+ 'launchpad-view-filled': '\\f140',
+});
diff --git a/src/webviews/apps/shared/glicons.scss b/src/webviews/apps/shared/glicons.scss
index 968ddae23a510..9638368b96c8e 100644
--- a/src/webviews/apps/shared/glicons.scss
+++ b/src/webviews/apps/shared/glicons.scss
@@ -6,7 +6,7 @@ Must be placed at the end of body in the HTML file of any webview that needs it
@font-face {
font-family: 'glicons';
font-display: block;
- src: url("#{root}/dist/glicons.woff2?888557bf00e2cc234c92d4643f1f0051") format("woff2");
+ src: url("#{root}/dist/glicons.woff2?06e3d32fa68f664ff5fe0141040111d0") format("woff2");
}
*/
@@ -143,9 +143,6 @@ Must be placed at the end of body in the HTML file of any webview that needs it
.glicon-list-auto:before {
content: '\f11a';
}
-.glicon-repo-force-push:before {
- content: '\f11b';
-}
.glicon-pinned-filled:before {
content: '\f11c';
}
@@ -200,21 +197,6 @@ Must be placed at the end of body in the HTML file of any webview that needs it
.glicon-code-suggestion:before {
content: '\f12d';
}
-.glicon-diff-multiple:before {
- content: '\f12e';
-}
-.glicon-diff-single:before {
- content: '\f12f';
-}
-.glicon-repo-fetch:before {
- content: '\f130';
-}
-.glicon-repo-pull:before {
- content: '\f131';
-}
-.glicon-repo-push:before {
- content: '\f132';
-}
.glicon-provider-jira:before {
content: '\f133';
}
diff --git a/src/webviews/apps/shared/styles/icons/codicons-map.scss b/src/webviews/apps/shared/styles/icons/codicons-map.scss
new file mode 100644
index 0000000000000..8d26161fb2dbd
--- /dev/null
+++ b/src/webviews/apps/shared/styles/icons/codicons-map.scss
@@ -0,0 +1,576 @@
+// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+
+$icon-font-family: 'codicon';
+
+$icon-map: (
+ 'add': '\ea60',
+ 'plus': '\ea60',
+ 'gist-new': '\ea60',
+ 'repo-create': '\ea60',
+ 'lightbulb': '\ea61',
+ 'light-bulb': '\ea61',
+ 'repo': '\ea62',
+ 'repo-delete': '\ea62',
+ 'gist-fork': '\ea63',
+ 'repo-forked': '\ea63',
+ 'git-pull-request': '\ea64',
+ 'git-pull-request-abandoned': '\ea64',
+ 'record-keys': '\ea65',
+ 'keyboard': '\ea65',
+ 'tag': '\ea66',
+ 'git-pull-request-label': '\ea66',
+ 'tag-add': '\ea66',
+ 'tag-remove': '\ea66',
+ 'person': '\ea67',
+ 'person-follow': '\ea67',
+ 'person-outline': '\ea67',
+ 'person-filled': '\ea67',
+ 'git-branch': '\ea68',
+ 'git-branch-create': '\ea68',
+ 'git-branch-delete': '\ea68',
+ 'source-control': '\ea68',
+ 'mirror': '\ea69',
+ 'mirror-public': '\ea69',
+ 'star': '\ea6a',
+ 'star-add': '\ea6a',
+ 'star-delete': '\ea6a',
+ 'star-empty': '\ea6a',
+ 'comment': '\ea6b',
+ 'comment-add': '\ea6b',
+ 'alert': '\ea6c',
+ 'warning': '\ea6c',
+ 'search': '\ea6d',
+ 'search-save': '\ea6d',
+ 'log-out': '\ea6e',
+ 'sign-out': '\ea6e',
+ 'log-in': '\ea6f',
+ 'sign-in': '\ea6f',
+ 'eye': '\ea70',
+ 'eye-unwatch': '\ea70',
+ 'eye-watch': '\ea70',
+ 'circle-filled': '\ea71',
+ 'primitive-dot': '\ea71',
+ 'close-dirty': '\ea71',
+ 'debug-breakpoint': '\ea71',
+ 'debug-breakpoint-disabled': '\ea71',
+ 'debug-hint': '\ea71',
+ 'terminal-decoration-success': '\ea71',
+ 'primitive-square': '\ea72',
+ 'edit': '\ea73',
+ 'pencil': '\ea73',
+ 'info': '\ea74',
+ 'issue-opened': '\ea74',
+ 'gist-private': '\ea75',
+ 'git-fork-private': '\ea75',
+ 'lock': '\ea75',
+ 'mirror-private': '\ea75',
+ 'close': '\ea76',
+ 'remove-close': '\ea76',
+ 'x': '\ea76',
+ 'repo-sync': '\ea77',
+ 'sync': '\ea77',
+ 'clone': '\ea78',
+ 'desktop-download': '\ea78',
+ 'beaker': '\ea79',
+ 'microscope': '\ea79',
+ 'vm': '\ea7a',
+ 'device-desktop': '\ea7a',
+ 'file': '\ea7b',
+ 'file-text': '\ea7b',
+ 'more': '\ea7c',
+ 'ellipsis': '\ea7c',
+ 'kebab-horizontal': '\ea7c',
+ 'mail-reply': '\ea7d',
+ 'reply': '\ea7d',
+ 'organization': '\ea7e',
+ 'organization-filled': '\ea7e',
+ 'organization-outline': '\ea7e',
+ 'new-file': '\ea7f',
+ 'file-add': '\ea7f',
+ 'new-folder': '\ea80',
+ 'file-directory-create': '\ea80',
+ 'trash': '\ea81',
+ 'trashcan': '\ea81',
+ 'history': '\ea82',
+ 'clock': '\ea82',
+ 'folder': '\ea83',
+ 'file-directory': '\ea83',
+ 'symbol-folder': '\ea83',
+ 'logo-github': '\ea84',
+ 'mark-github': '\ea84',
+ 'github': '\ea84',
+ 'terminal': '\ea85',
+ 'console': '\ea85',
+ 'repl': '\ea85',
+ 'zap': '\ea86',
+ 'symbol-event': '\ea86',
+ 'error': '\ea87',
+ 'stop': '\ea87',
+ 'variable': '\ea88',
+ 'symbol-variable': '\ea88',
+ 'array': '\ea8a',
+ 'symbol-array': '\ea8a',
+ 'symbol-module': '\ea8b',
+ 'symbol-package': '\ea8b',
+ 'symbol-namespace': '\ea8b',
+ 'symbol-object': '\ea8b',
+ 'symbol-method': '\ea8c',
+ 'symbol-function': '\ea8c',
+ 'symbol-constructor': '\ea8c',
+ 'symbol-boolean': '\ea8f',
+ 'symbol-null': '\ea8f',
+ 'symbol-numeric': '\ea90',
+ 'symbol-number': '\ea90',
+ 'symbol-structure': '\ea91',
+ 'symbol-struct': '\ea91',
+ 'symbol-parameter': '\ea92',
+ 'symbol-type-parameter': '\ea92',
+ 'symbol-key': '\ea93',
+ 'symbol-text': '\ea93',
+ 'symbol-reference': '\ea94',
+ 'go-to-file': '\ea94',
+ 'symbol-enum': '\ea95',
+ 'symbol-value': '\ea95',
+ 'symbol-ruler': '\ea96',
+ 'symbol-unit': '\ea96',
+ 'activate-breakpoints': '\ea97',
+ 'archive': '\ea98',
+ 'arrow-both': '\ea99',
+ 'arrow-down': '\ea9a',
+ 'arrow-left': '\ea9b',
+ 'arrow-right': '\ea9c',
+ 'arrow-small-down': '\ea9d',
+ 'arrow-small-left': '\ea9e',
+ 'arrow-small-right': '\ea9f',
+ 'arrow-small-up': '\eaa0',
+ 'arrow-up': '\eaa1',
+ 'bell': '\eaa2',
+ 'bold': '\eaa3',
+ 'book': '\eaa4',
+ 'bookmark': '\eaa5',
+ 'debug-breakpoint-conditional-unverified': '\eaa6',
+ 'debug-breakpoint-conditional': '\eaa7',
+ 'debug-breakpoint-conditional-disabled': '\eaa7',
+ 'debug-breakpoint-data-unverified': '\eaa8',
+ 'debug-breakpoint-data': '\eaa9',
+ 'debug-breakpoint-data-disabled': '\eaa9',
+ 'debug-breakpoint-log-unverified': '\eaaa',
+ 'debug-breakpoint-log': '\eaab',
+ 'debug-breakpoint-log-disabled': '\eaab',
+ 'briefcase': '\eaac',
+ 'broadcast': '\eaad',
+ 'browser': '\eaae',
+ 'bug': '\eaaf',
+ 'calendar': '\eab0',
+ 'case-sensitive': '\eab1',
+ 'check': '\eab2',
+ 'checklist': '\eab3',
+ 'chevron-down': '\eab4',
+ 'chevron-left': '\eab5',
+ 'chevron-right': '\eab6',
+ 'chevron-up': '\eab7',
+ 'chrome-close': '\eab8',
+ 'chrome-maximize': '\eab9',
+ 'chrome-minimize': '\eaba',
+ 'chrome-restore': '\eabb',
+ 'circle-outline': '\eabc',
+ 'circle': '\eabc',
+ 'debug-breakpoint-unverified': '\eabc',
+ 'terminal-decoration-incomplete': '\eabc',
+ 'circle-slash': '\eabd',
+ 'circuit-board': '\eabe',
+ 'clear-all': '\eabf',
+ 'clippy': '\eac0',
+ 'close-all': '\eac1',
+ 'cloud-download': '\eac2',
+ 'cloud-upload': '\eac3',
+ 'code': '\eac4',
+ 'collapse-all': '\eac5',
+ 'color-mode': '\eac6',
+ 'comment-discussion': '\eac7',
+ 'credit-card': '\eac9',
+ 'dash': '\eacc',
+ 'dashboard': '\eacd',
+ 'database': '\eace',
+ 'debug-continue': '\eacf',
+ 'debug-disconnect': '\ead0',
+ 'debug-pause': '\ead1',
+ 'debug-restart': '\ead2',
+ 'debug-start': '\ead3',
+ 'debug-step-into': '\ead4',
+ 'debug-step-out': '\ead5',
+ 'debug-step-over': '\ead6',
+ 'debug-stop': '\ead7',
+ 'debug': '\ead8',
+ 'device-camera-video': '\ead9',
+ 'device-camera': '\eada',
+ 'device-mobile': '\eadb',
+ 'diff-added': '\eadc',
+ 'diff-ignored': '\eadd',
+ 'diff-modified': '\eade',
+ 'diff-removed': '\eadf',
+ 'diff-renamed': '\eae0',
+ 'diff': '\eae1',
+ 'diff-sidebyside': '\eae1',
+ 'discard': '\eae2',
+ 'editor-layout': '\eae3',
+ 'empty-window': '\eae4',
+ 'exclude': '\eae5',
+ 'extensions': '\eae6',
+ 'eye-closed': '\eae7',
+ 'file-binary': '\eae8',
+ 'file-code': '\eae9',
+ 'file-media': '\eaea',
+ 'file-pdf': '\eaeb',
+ 'file-submodule': '\eaec',
+ 'file-symlink-directory': '\eaed',
+ 'file-symlink-file': '\eaee',
+ 'file-zip': '\eaef',
+ 'files': '\eaf0',
+ 'filter': '\eaf1',
+ 'flame': '\eaf2',
+ 'fold-down': '\eaf3',
+ 'fold-up': '\eaf4',
+ 'fold': '\eaf5',
+ 'folder-active': '\eaf6',
+ 'folder-opened': '\eaf7',
+ 'gear': '\eaf8',
+ 'gift': '\eaf9',
+ 'gist-secret': '\eafa',
+ 'gist': '\eafb',
+ 'git-commit': '\eafc',
+ 'git-compare': '\eafd',
+ 'compare-changes': '\eafd',
+ 'git-merge': '\eafe',
+ 'github-action': '\eaff',
+ 'github-alt': '\eb00',
+ 'globe': '\eb01',
+ 'grabber': '\eb02',
+ 'graph': '\eb03',
+ 'gripper': '\eb04',
+ 'heart': '\eb05',
+ 'home': '\eb06',
+ 'horizontal-rule': '\eb07',
+ 'hubot': '\eb08',
+ 'inbox': '\eb09',
+ 'issue-reopened': '\eb0b',
+ 'issues': '\eb0c',
+ 'italic': '\eb0d',
+ 'jersey': '\eb0e',
+ 'json': '\eb0f',
+ 'kebab-vertical': '\eb10',
+ 'key': '\eb11',
+ 'law': '\eb12',
+ 'lightbulb-autofix': '\eb13',
+ 'link-external': '\eb14',
+ 'link': '\eb15',
+ 'list-ordered': '\eb16',
+ 'list-unordered': '\eb17',
+ 'live-share': '\eb18',
+ 'loading': '\eb19',
+ 'location': '\eb1a',
+ 'mail-read': '\eb1b',
+ 'mail': '\eb1c',
+ 'markdown': '\eb1d',
+ 'megaphone': '\eb1e',
+ 'mention': '\eb1f',
+ 'milestone': '\eb20',
+ 'git-pull-request-milestone': '\eb20',
+ 'mortar-board': '\eb21',
+ 'move': '\eb22',
+ 'multiple-windows': '\eb23',
+ 'mute': '\eb24',
+ 'no-newline': '\eb25',
+ 'note': '\eb26',
+ 'octoface': '\eb27',
+ 'open-preview': '\eb28',
+ 'package': '\eb29',
+ 'paintcan': '\eb2a',
+ 'pin': '\eb2b',
+ 'play': '\eb2c',
+ 'run': '\eb2c',
+ 'plug': '\eb2d',
+ 'preserve-case': '\eb2e',
+ 'preview': '\eb2f',
+ 'project': '\eb30',
+ 'pulse': '\eb31',
+ 'question': '\eb32',
+ 'quote': '\eb33',
+ 'radio-tower': '\eb34',
+ 'reactions': '\eb35',
+ 'references': '\eb36',
+ 'refresh': '\eb37',
+ 'regex': '\eb38',
+ 'remote-explorer': '\eb39',
+ 'remote': '\eb3a',
+ 'remove': '\eb3b',
+ 'replace-all': '\eb3c',
+ 'replace': '\eb3d',
+ 'repo-clone': '\eb3e',
+ 'repo-force-push': '\eb3f',
+ 'repo-pull': '\eb40',
+ 'repo-push': '\eb41',
+ 'report': '\eb42',
+ 'request-changes': '\eb43',
+ 'rocket': '\eb44',
+ 'root-folder-opened': '\eb45',
+ 'root-folder': '\eb46',
+ 'rss': '\eb47',
+ 'ruby': '\eb48',
+ 'save-all': '\eb49',
+ 'save-as': '\eb4a',
+ 'save': '\eb4b',
+ 'screen-full': '\eb4c',
+ 'screen-normal': '\eb4d',
+ 'search-stop': '\eb4e',
+ 'server': '\eb50',
+ 'settings-gear': '\eb51',
+ 'settings': '\eb52',
+ 'shield': '\eb53',
+ 'smiley': '\eb54',
+ 'sort-precedence': '\eb55',
+ 'split-horizontal': '\eb56',
+ 'split-vertical': '\eb57',
+ 'squirrel': '\eb58',
+ 'star-full': '\eb59',
+ 'star-half': '\eb5a',
+ 'symbol-class': '\eb5b',
+ 'symbol-color': '\eb5c',
+ 'symbol-constant': '\eb5d',
+ 'symbol-enum-member': '\eb5e',
+ 'symbol-field': '\eb5f',
+ 'symbol-file': '\eb60',
+ 'symbol-interface': '\eb61',
+ 'symbol-keyword': '\eb62',
+ 'symbol-misc': '\eb63',
+ 'symbol-operator': '\eb64',
+ 'symbol-property': '\eb65',
+ 'wrench': '\eb65',
+ 'wrench-subaction': '\eb65',
+ 'symbol-snippet': '\eb66',
+ 'tasklist': '\eb67',
+ 'telescope': '\eb68',
+ 'text-size': '\eb69',
+ 'three-bars': '\eb6a',
+ 'thumbsdown': '\eb6b',
+ 'thumbsup': '\eb6c',
+ 'tools': '\eb6d',
+ 'triangle-down': '\eb6e',
+ 'triangle-left': '\eb6f',
+ 'triangle-right': '\eb70',
+ 'triangle-up': '\eb71',
+ 'twitter': '\eb72',
+ 'unfold': '\eb73',
+ 'unlock': '\eb74',
+ 'unmute': '\eb75',
+ 'unverified': '\eb76',
+ 'verified': '\eb77',
+ 'versions': '\eb78',
+ 'vm-active': '\eb79',
+ 'vm-outline': '\eb7a',
+ 'vm-running': '\eb7b',
+ 'watch': '\eb7c',
+ 'whitespace': '\eb7d',
+ 'whole-word': '\eb7e',
+ 'window': '\eb7f',
+ 'word-wrap': '\eb80',
+ 'zoom-in': '\eb81',
+ 'zoom-out': '\eb82',
+ 'list-filter': '\eb83',
+ 'list-flat': '\eb84',
+ 'list-selection': '\eb85',
+ 'selection': '\eb85',
+ 'list-tree': '\eb86',
+ 'debug-breakpoint-function-unverified': '\eb87',
+ 'debug-breakpoint-function': '\eb88',
+ 'debug-breakpoint-function-disabled': '\eb88',
+ 'debug-stackframe-active': '\eb89',
+ 'circle-small-filled': '\eb8a',
+ 'debug-stackframe-dot': '\eb8a',
+ 'terminal-decoration-mark': '\eb8a',
+ 'debug-stackframe': '\eb8b',
+ 'debug-stackframe-focused': '\eb8b',
+ 'debug-breakpoint-unsupported': '\eb8c',
+ 'symbol-string': '\eb8d',
+ 'debug-reverse-continue': '\eb8e',
+ 'debug-step-back': '\eb8f',
+ 'debug-restart-frame': '\eb90',
+ 'debug-alt': '\eb91',
+ 'call-incoming': '\eb92',
+ 'call-outgoing': '\eb93',
+ 'menu': '\eb94',
+ 'expand-all': '\eb95',
+ 'feedback': '\eb96',
+ 'git-pull-request-reviewer': '\eb96',
+ 'group-by-ref-type': '\eb97',
+ 'ungroup-by-ref-type': '\eb98',
+ 'account': '\eb99',
+ 'git-pull-request-assignee': '\eb99',
+ 'bell-dot': '\eb9a',
+ 'debug-console': '\eb9b',
+ 'library': '\eb9c',
+ 'output': '\eb9d',
+ 'run-all': '\eb9e',
+ 'sync-ignored': '\eb9f',
+ 'pinned': '\eba0',
+ 'github-inverted': '\eba1',
+ 'server-process': '\eba2',
+ 'server-environment': '\eba3',
+ 'pass': '\eba4',
+ 'issue-closed': '\eba4',
+ 'stop-circle': '\eba5',
+ 'play-circle': '\eba6',
+ 'record': '\eba7',
+ 'debug-alt-small': '\eba8',
+ 'vm-connect': '\eba9',
+ 'cloud': '\ebaa',
+ 'merge': '\ebab',
+ 'export': '\ebac',
+ 'graph-left': '\ebad',
+ 'magnet': '\ebae',
+ 'notebook': '\ebaf',
+ 'redo': '\ebb0',
+ 'check-all': '\ebb1',
+ 'pinned-dirty': '\ebb2',
+ 'pass-filled': '\ebb3',
+ 'circle-large-filled': '\ebb4',
+ 'circle-large': '\ebb5',
+ 'circle-large-outline': '\ebb5',
+ 'combine': '\ebb6',
+ 'gather': '\ebb6',
+ 'table': '\ebb7',
+ 'variable-group': '\ebb8',
+ 'type-hierarchy': '\ebb9',
+ 'type-hierarchy-sub': '\ebba',
+ 'type-hierarchy-super': '\ebbb',
+ 'git-pull-request-create': '\ebbc',
+ 'run-above': '\ebbd',
+ 'run-below': '\ebbe',
+ 'notebook-template': '\ebbf',
+ 'debug-rerun': '\ebc0',
+ 'workspace-trusted': '\ebc1',
+ 'workspace-untrusted': '\ebc2',
+ 'workspace-unknown': '\ebc3',
+ 'terminal-cmd': '\ebc4',
+ 'terminal-debian': '\ebc5',
+ 'terminal-linux': '\ebc6',
+ 'terminal-powershell': '\ebc7',
+ 'terminal-tmux': '\ebc8',
+ 'terminal-ubuntu': '\ebc9',
+ 'terminal-bash': '\ebca',
+ 'arrow-swap': '\ebcb',
+ 'copy': '\ebcc',
+ 'person-add': '\ebcd',
+ 'filter-filled': '\ebce',
+ 'wand': '\ebcf',
+ 'debug-line-by-line': '\ebd0',
+ 'inspect': '\ebd1',
+ 'layers': '\ebd2',
+ 'layers-dot': '\ebd3',
+ 'layers-active': '\ebd4',
+ 'compass': '\ebd5',
+ 'compass-dot': '\ebd6',
+ 'compass-active': '\ebd7',
+ 'azure': '\ebd8',
+ 'issue-draft': '\ebd9',
+ 'git-pull-request-closed': '\ebda',
+ 'git-pull-request-draft': '\ebdb',
+ 'debug-all': '\ebdc',
+ 'debug-coverage': '\ebdd',
+ 'run-errors': '\ebde',
+ 'folder-library': '\ebdf',
+ 'debug-continue-small': '\ebe0',
+ 'beaker-stop': '\ebe1',
+ 'graph-line': '\ebe2',
+ 'graph-scatter': '\ebe3',
+ 'pie-chart': '\ebe4',
+ 'bracket': '\eb0f',
+ 'bracket-dot': '\ebe5',
+ 'bracket-error': '\ebe6',
+ 'lock-small': '\ebe7',
+ 'azure-devops': '\ebe8',
+ 'verified-filled': '\ebe9',
+ 'newline': '\ebea',
+ 'layout': '\ebeb',
+ 'layout-activitybar-left': '\ebec',
+ 'layout-activitybar-right': '\ebed',
+ 'layout-panel-left': '\ebee',
+ 'layout-panel-center': '\ebef',
+ 'layout-panel-justify': '\ebf0',
+ 'layout-panel-right': '\ebf1',
+ 'layout-panel': '\ebf2',
+ 'layout-sidebar-left': '\ebf3',
+ 'layout-sidebar-right': '\ebf4',
+ 'layout-statusbar': '\ebf5',
+ 'layout-menubar': '\ebf6',
+ 'layout-centered': '\ebf7',
+ 'target': '\ebf8',
+ 'indent': '\ebf9',
+ 'record-small': '\ebfa',
+ 'error-small': '\ebfb',
+ 'terminal-decoration-error': '\ebfb',
+ 'arrow-circle-down': '\ebfc',
+ 'arrow-circle-left': '\ebfd',
+ 'arrow-circle-right': '\ebfe',
+ 'arrow-circle-up': '\ebff',
+ 'layout-sidebar-right-off': '\ec00',
+ 'layout-panel-off': '\ec01',
+ 'layout-sidebar-left-off': '\ec02',
+ 'blank': '\ec03',
+ 'heart-filled': '\ec04',
+ 'map': '\ec05',
+ 'map-horizontal': '\ec05',
+ 'fold-horizontal': '\ec05',
+ 'map-filled': '\ec06',
+ 'map-horizontal-filled': '\ec06',
+ 'fold-horizontal-filled': '\ec06',
+ 'circle-small': '\ec07',
+ 'bell-slash': '\ec08',
+ 'bell-slash-dot': '\ec09',
+ 'comment-unresolved': '\ec0a',
+ 'git-pull-request-go-to-changes': '\ec0b',
+ 'git-pull-request-new-changes': '\ec0c',
+ 'search-fuzzy': '\ec0d',
+ 'comment-draft': '\ec0e',
+ 'send': '\ec0f',
+ 'sparkle': '\ec10',
+ 'insert': '\ec11',
+ 'mic': '\ec12',
+ 'thumbsdown-filled': '\ec13',
+ 'thumbsup-filled': '\ec14',
+ 'coffee': '\ec15',
+ 'snake': '\ec16',
+ 'game': '\ec17',
+ 'vr': '\ec18',
+ 'chip': '\ec19',
+ 'piano': '\ec1a',
+ 'music': '\ec1b',
+ 'mic-filled': '\ec1c',
+ 'repo-fetch': '\ec1d',
+ 'copilot': '\ec1e',
+ 'lightbulb-sparkle': '\ec1f',
+ 'robot': '\ec20',
+ 'sparkle-filled': '\ec21',
+ 'diff-single': '\ec22',
+ 'diff-multiple': '\ec23',
+ 'surround-with': '\ec24',
+ 'share': '\ec25',
+ 'git-stash': '\ec26',
+ 'git-stash-apply': '\ec27',
+ 'git-stash-pop': '\ec28',
+ 'vscode': '\ec29',
+ 'vscode-insiders': '\ec2a',
+ 'code-oss': '\ec2b',
+ 'run-coverage': '\ec2c',
+ 'run-all-coverage': '\ec2d',
+ 'coverage': '\ec2e',
+ 'github-project': '\ec2f',
+ 'map-vertical': '\ec30',
+ 'fold-vertical': '\ec30',
+ 'map-vertical-filled': '\ec31',
+ 'fold-vertical-filled': '\ec31',
+ 'go-to-search': '\ec32',
+ 'percentage': '\ec33',
+ 'sort-percentage': '\ec33'
+);
diff --git a/src/webviews/apps/shared/styles/icons/glicons-map.scss b/src/webviews/apps/shared/styles/icons/glicons-map.scss
new file mode 100644
index 0000000000000..e3f51ed7ca9d3
--- /dev/null
+++ b/src/webviews/apps/shared/styles/icons/glicons-map.scss
@@ -0,0 +1,67 @@
+// This file is generated by (vscode-gitlens)/scripts/export-codicons.js
+// Do not edit this file directly
+
+$icon-font-family: 'glicons';
+
+$icon-map: (
+ 'commit-horizontal': '\f101',
+ 'graph': '\f102',
+ 'next-commit': '\f103',
+ 'prev-commit-menu': '\f104',
+ 'prev-commit': '\f105',
+ 'compare-ref-working': '\f106',
+ 'branches-view': '\f107',
+ 'commit-view': '\f108',
+ 'commits-view': '\f109',
+ 'compare-view': '\f10a',
+ 'contributors-view': '\f10b',
+ 'history-view': '\f10c',
+ 'history': '\f10c',
+ 'remotes-view': '\f10d',
+ 'repositories-view': '\f10e',
+ 'search-view': '\f10f',
+ 'stashes-view': '\f110',
+ 'stashes': '\f110',
+ 'tags-view': '\f111',
+ 'worktrees-view': '\f112',
+ 'gitlens': '\f113',
+ 'stash-pop': '\f114',
+ 'stash-save': '\f115',
+ 'unplug': '\f116',
+ 'open-revision': '\f117',
+ 'switch': '\f118',
+ 'expand': '\f119',
+ 'list-auto': '\f11a',
+ 'pinned-filled': '\f11c',
+ 'clock': '\f11d',
+ 'provider-azdo': '\f11e',
+ 'provider-bitbucket': '\f11f',
+ 'provider-gerrit': '\f120',
+ 'provider-gitea': '\f121',
+ 'provider-github': '\f122',
+ 'provider-gitlab': '\f123',
+ 'gitlens-inspect': '\f124',
+ 'workspaces-view': '\f125',
+ 'confirm-checked': '\f126',
+ 'confirm-unchecked': '\f127',
+ 'cloud-patch': '\f128',
+ 'cloud-patch-share': '\f129',
+ 'inspect': '\f12a',
+ 'repository-filled': '\f12b',
+ 'gitlens-filled': '\f12c',
+ 'code-suggestion': '\f12d',
+ 'provider-jira': '\f133',
+ 'play-button': '\f134',
+ 'rocket-filled': '\f135',
+ 'branches-view-filled': '\f136',
+ 'commits-view-filled': '\f137',
+ 'contributors-view-filled': '\f138',
+ 'remotes-view-filled': '\f139',
+ 'repositories-view-filled': '\f13a',
+ 'search-view-filled': '\f13b',
+ 'stashes-view-filled': '\f13c',
+ 'tags-view-filled': '\f13d',
+ 'worktrees-view-filled': '\f13e',
+ 'launchpad-view': '\f13f',
+ 'launchpad-view-filled': '\f140',
+);
diff --git a/src/webviews/apps/shared/styles/icons/utils.scss b/src/webviews/apps/shared/styles/icons/utils.scss
new file mode 100644
index 0000000000000..f122dd708ed40
--- /dev/null
+++ b/src/webviews/apps/shared/styles/icons/utils.scss
@@ -0,0 +1,41 @@
+@use 'sass:map';
+@use './codicons-map' as codicons;
+@use './glicons-map' as glicons;
+
+@function get-value($icons, $key) {
+ @if map.has-key($icons, $key) == false {
+ @error "Icon '#{$key}' not found.";
+ }
+
+ @return map.get($icons, $key);
+}
+
+@mixin get-content($icons, $key) {
+ $icon: get-value($icons, $key);
+
+ content: $icon;
+}
+
+@mixin generate-icons($icons, $prefix: '') {
+ @each $key, $value in $icons {
+ .#{$prefix}#{$key}::before {
+ @include get-content($icons, $key);
+ }
+ }
+}
+
+@mixin codicon($name) {
+ @include get-content(codicons.$icon-map, $name);
+}
+
+@mixin all-codicons {
+ @include generate-icons(codicons.$icon-map, 'codicon-');
+}
+
+@mixin glicon($name) {
+ @include get-content(glicons.$icon-map, $name);
+}
+
+@mixin all-glicons {
+ @include generate-icons(glicons.$icon-map, 'glicon-');
+}