UNPKG

2.91 kBTypeScriptView Raw
1/// <reference types="lodash" />
2import { Emitter } from '../common/event';
3import { Disposable, DisposableCollection } from '../common/disposable';
4import { LabelProviderContribution, DidChangeLabelEvent } from './label-provider';
5import { PreferenceService, PreferenceSchemaProvider } from './preferences';
6export interface IconThemeDefinition {
7 readonly id: string;
8 readonly label: string;
9 readonly description?: string;
10 readonly hasFileIcons?: boolean;
11 readonly hasFolderIcons?: boolean;
12 readonly hidesExplorerArrows?: boolean;
13 readonly showLanguageModeIcons?: boolean;
14}
15export interface IconTheme extends IconThemeDefinition {
16 activate(): Disposable;
17}
18export declare class NoneIconTheme implements IconTheme, LabelProviderContribution {
19 readonly id = "none";
20 readonly label = "None";
21 readonly description = "Disable file icons";
22 readonly hasFileIcons = true;
23 readonly hasFolderIcons = true;
24 protected readonly onDidChangeEmitter: Emitter<DidChangeLabelEvent>;
25 readonly onDidChange: import("../common/event").Event<DidChangeLabelEvent>;
26 protected readonly toDeactivate: DisposableCollection;
27 activate(): Disposable;
28 protected fireDidChange(): void;
29 canHandle(): number;
30 getIcon(): string;
31}
32export declare class IconThemeService {
33 static readonly STORAGE_KEY = "iconTheme";
34 protected readonly onDidChangeEmitter: Emitter<void>;
35 readonly onDidChange: import("../common/event").Event<void>;
36 protected readonly _iconThemes: Map<string, IconTheme>;
37 get ids(): IterableIterator<string>;
38 get definitions(): IterableIterator<IconThemeDefinition>;
39 getDefinition(id: string): IconThemeDefinition | undefined;
40 protected readonly noneIconTheme: NoneIconTheme;
41 protected readonly preferences: PreferenceService;
42 protected readonly schemaProvider: PreferenceSchemaProvider;
43 protected readonly onDidChangeCurrentEmitter: Emitter<string>;
44 readonly onDidChangeCurrent: import("../common/event").Event<string>;
45 protected readonly toDeactivate: DisposableCollection;
46 protected activeTheme: IconTheme;
47 protected init(): void;
48 register(iconTheme: IconTheme): Disposable;
49 unregister(id: string): IconTheme | undefined;
50 get current(): string;
51 set current(id: string);
52 getCurrent(): IconTheme;
53 /**
54 * @param persistSetting If `true`, the theme's id will be set as the value of the `workbench.iconTheme` preference. (default: `true`)
55 */
56 setCurrent(newCurrent: IconTheme, persistSetting?: boolean): void;
57 protected getConfiguredTheme(): IconTheme | undefined;
58 protected validateActiveTheme(): void;
59 protected updateIconThemePreference: import("lodash").DebouncedFunc<() => void>;
60 protected doUpdateIconThemePreference(): void;
61 get default(): IconTheme;
62 get fallback(): IconTheme;
63}
64//# sourceMappingURL=icon-theme-service.d.ts.map
\No newline at end of file