UNPKG

@difizen/mana-core

Version:

145 lines 5.32 kB
import type { Event, IStringDictionary } from '@difizen/mana-common'; import type { IJSONSchema } from '../jsonSchema'; export declare const Extensions: { Configuration: string; }; export interface IConfigurationRegistry { /** * Register a configuration to the registry. */ registerConfiguration: (configuration: IConfigurationNode) => void; /** * Register multiple configurations to the registry. */ registerConfigurations: (configurations: IConfigurationNode[], validate?: boolean) => void; /** * Deregister multiple configurations from the registry. */ deregisterConfigurations: (configurations: IConfigurationNode[]) => void; /** * Register multiple default configurations to the registry. */ registerDefaultConfigurations: (defaultConfigurations: IStringDictionary<any>[]) => void; /** * Deregister multiple default configurations from the registry. */ deregisterDefaultConfigurations: (defaultConfigurations: IStringDictionary<any>[]) => void; /** * Signal that the schema of a configuration setting has changes. It is currently only supported to change enumeration values. * Property or default value changes are not allowed. */ notifyConfigurationSchemaUpdated: (...configurations: IConfigurationNode[]) => void; /** * Event that fires whenver a configuration has been * registered. */ onDidSchemaChange: Event<void>; /** * Event that fires whenver a configuration has been * registered. */ onDidUpdateConfiguration: Event<string[]>; /** * Returns all configuration nodes contributed to this registry. */ getConfigurations: () => IConfigurationNode[]; /** * Returns all configurations settings of all configuration nodes contributed to this registry. */ getConfigurationProperties: () => Record<string, IConfigurationPropertySchema>; /** * Returns all excluded configurations settings of all configuration nodes contributed to this registry. */ getExcludedConfigurationProperties: () => Record<string, IConfigurationPropertySchema>; /** * Register the identifiers for editor configurations */ registerOverrideIdentifiers: (identifiers: string[]) => void; } export declare enum ConfigurationScope { /** * Application specific configuration, which can be configured only in local user settings. */ APPLICATION = 1, /** * Machine specific configuration, which can be configured only in local and remote user settings. */ MACHINE = 2, /** * Window specific configuration, which can be configured in the user or workspace settings. */ WINDOW = 3, /** * Resource specific configuration, which can be configured in the user, workspace or folder settings. */ RESOURCE = 4, /** * Resource specific configuration that can be configured in language specific settings */ LANGUAGE_OVERRIDABLE = 5, /** * Machine specific configuration that can also be configured in workspace or folder settings. */ MACHINE_OVERRIDABLE = 6 } export interface IConfigurationPropertySchema extends IJSONSchema { scope?: ConfigurationScope | undefined; included?: boolean; tags?: string[]; /** * When enabled this setting is ignored during sync and user can override this. */ ignoreSync?: boolean; /** * When enabled this setting is ignored during sync and user cannot override this. */ disallowSyncIgnore?: boolean; enumItemLabels?: string[]; } export interface IConfigurationExtensionInfo { id: string; } export interface IConfigurationNode { id?: string; order?: number; type?: string | string[]; title?: string; description?: string; properties?: Record<string, IConfigurationPropertySchema>; allOf?: IConfigurationNode[]; scope?: ConfigurationScope; extensionInfo?: IConfigurationExtensionInfo; } type SettingProperties = Record<string, any>; export declare const allSettings: { properties: SettingProperties; patternProperties: SettingProperties; }; export declare const applicationSettings: { properties: SettingProperties; patternProperties: SettingProperties; }; export declare const machineSettings: { properties: SettingProperties; patternProperties: SettingProperties; }; export declare const machineOverridableSettings: { properties: SettingProperties; patternProperties: SettingProperties; }; export declare const windowSettings: { properties: SettingProperties; patternProperties: SettingProperties; }; export declare const resourceSettings: { properties: SettingProperties; patternProperties: SettingProperties; }; export declare const resourceLanguageSettingsSchemaId = "vscode://schemas/settings/resourceLanguage"; export declare const OVERRIDE_PROPERTY_PATTERN: RegExp; export declare function overrideIdentifierFromKey(key: string): string; export declare function getDefaultValue(type: string | string[] | undefined): any; export declare function validateProperty(property: string): string | null; export declare function getScopes(): [string, ConfigurationScope | undefined][]; export {}; //# sourceMappingURL=configurationRegistry.d.ts.map