@theia/core
Version:
Theia is a cloud & desktop IDE framework implemented in TypeScript.
63 lines • 2.87 kB
TypeScript
/// <reference types="lodash" />
import { Emitter } from '../common/event';
import { Disposable, DisposableCollection } from '../common/disposable';
import { LabelProviderContribution, DidChangeLabelEvent } from './label-provider';
import { PreferenceService, PreferenceSchemaProvider } from './preferences';
export interface IconThemeDefinition {
readonly id: string;
readonly label: string;
readonly description?: string;
readonly hasFileIcons?: boolean;
readonly hasFolderIcons?: boolean;
readonly hidesExplorerArrows?: boolean;
}
export interface IconTheme extends IconThemeDefinition {
activate(): Disposable;
}
export declare class NoneIconTheme implements IconTheme, LabelProviderContribution {
readonly id = "none";
readonly label = "None";
readonly description = "Disable file icons";
readonly hasFileIcons = true;
readonly hasFolderIcons = true;
protected readonly onDidChangeEmitter: Emitter<DidChangeLabelEvent>;
readonly onDidChange: import("../common/event").Event<DidChangeLabelEvent>;
protected readonly toDeactivate: DisposableCollection;
activate(): Disposable;
protected fireDidChange(): void;
canHandle(): number;
getIcon(): string;
}
export declare class IconThemeService {
static readonly STORAGE_KEY = "iconTheme";
protected readonly onDidChangeEmitter: Emitter<void>;
readonly onDidChange: import("../common/event").Event<void>;
protected readonly _iconThemes: Map<string, IconTheme>;
get ids(): IterableIterator<string>;
get definitions(): IterableIterator<IconThemeDefinition>;
getDefinition(id: string): IconThemeDefinition | undefined;
protected readonly noneIconTheme: NoneIconTheme;
protected readonly preferences: PreferenceService;
protected readonly schemaProvider: PreferenceSchemaProvider;
protected readonly onDidChangeCurrentEmitter: Emitter<string>;
readonly onDidChangeCurrent: import("../common/event").Event<string>;
protected readonly toDeactivate: DisposableCollection;
protected activeTheme: IconTheme;
protected init(): void;
register(iconTheme: IconTheme): Disposable;
unregister(id: string): IconTheme | undefined;
get current(): string;
set current(id: string);
getCurrent(): IconTheme;
/**
* @param persistSetting If `true`, the theme's id will be set as the value of the `workbench.iconTheme` preference. (default: `true`)
*/
setCurrent(newCurrent: IconTheme, persistSetting?: boolean): void;
protected getConfiguredTheme(): IconTheme | undefined;
protected validateActiveTheme(): void;
protected updateIconThemePreference: import("lodash").DebouncedFunc<() => void>;
protected doUpdateIconThemePreference(): void;
get default(): IconTheme;
get fallback(): IconTheme;
}
//# sourceMappingURL=icon-theme-service.d.ts.map