UNPKG

sussudio

Version:

An unofficial VS Code Internal API

27 lines (26 loc) 1.25 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as dom from "../../../browser/dom.mjs"; import { IdGenerator } from "../../../common/idGenerator.mjs"; import "../../../../css!./media/quickInput.mjs"; const iconPathToClass = {}; const iconClassGenerator = new IdGenerator('quick-input-button-icon-'); export function getIconClass(iconPath) { if (!iconPath) { return undefined; } let iconClass; const key = iconPath.dark.toString(); if (iconPathToClass[key]) { iconClass = iconPathToClass[key]; } else { iconClass = iconClassGenerator.nextId(); dom.createCSSRule(`.${iconClass}, .hc-light .${iconClass}`, `background-image: ${dom.asCSSUrl(iconPath.light || iconPath.dark)}`); dom.createCSSRule(`.vs-dark .${iconClass}, .hc-black .${iconClass}`, `background-image: ${dom.asCSSUrl(iconPath.dark)}`); iconPathToClass[key] = iconClass; } return iconClass; }