this repo has no description
1export type Config = {
2 extensions: ConfigExtensions;
3 repositories: string[];
4 devSearchPaths?: string[];
5 loggerLevel?: string;
6 patchAll?: boolean;
7};
8
9export type ConfigExtensions =
10 | { [key: string]: boolean }
11 | { [key: string]: ConfigExtension };
12
13export type ConfigExtension = {
14 enabled: boolean;
15 config?: Record<string, any>;
16};
17
18export enum ExtensionSettingType {
19 Boolean = "boolean",
20 Number = "number",
21 String = "string",
22 Select = "select",
23 List = "list",
24 Dictionary = "dictionary",
25 Custom = "custom"
26}
27
28export type BooleanSettingType = {
29 type: ExtensionSettingType.Boolean;
30 default?: boolean;
31};
32
33export type NumberSettingType = {
34 type: ExtensionSettingType.Number;
35 default?: number;
36 min?: number;
37 max?: number;
38};
39
40export type StringSettingType = {
41 type: ExtensionSettingType.String;
42 default?: string;
43};
44
45export type SelectSettingType = {
46 type: ExtensionSettingType.Select;
47 options: string[];
48 default?: string;
49};
50
51export type ListSettingType = {
52 type: ExtensionSettingType.List;
53 options?: string[];
54 default?: string[];
55};
56
57export type DictionarySettingType = {
58 type: ExtensionSettingType.Dictionary;
59 default?: Record<string, string>;
60};
61
62export type CustomSettingType = {
63 type: ExtensionSettingType.Custom;
64 default?: any;
65};
66
67export type ExtensionSettingsManifest = {
68 displayName?: string;
69 description?: string;
70} & (
71 | BooleanSettingType
72 | NumberSettingType
73 | StringSettingType
74 | SelectSettingType
75 | ListSettingType
76 | DictionarySettingType
77 | CustomSettingType
78);