@theia/task 1.45.1 → 1.46.0-next.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +193 -193
  2. package/lib/browser/index.d.ts +6 -6
  3. package/lib/browser/index.js +33 -33
  4. package/lib/browser/process/process-task-contribution.d.ts +6 -6
  5. package/lib/browser/process/process-task-contribution.js +43 -43
  6. package/lib/browser/process/process-task-frontend-module.d.ts +2 -2
  7. package/lib/browser/process/process-task-frontend-module.js +27 -27
  8. package/lib/browser/process/process-task-resolver.d.ts +17 -17
  9. package/lib/browser/process/process-task-resolver.js +101 -101
  10. package/lib/browser/provided-task-configurations.d.ts +43 -43
  11. package/lib/browser/provided-task-configurations.js +213 -213
  12. package/lib/browser/provided-task-configurations.spec.d.ts +1 -1
  13. package/lib/browser/provided-task-configurations.spec.js +43 -43
  14. package/lib/browser/quick-open-task.d.ts +144 -144
  15. package/lib/browser/quick-open-task.d.ts.map +1 -1
  16. package/lib/browser/quick-open-task.js +752 -748
  17. package/lib/browser/quick-open-task.js.map +1 -1
  18. package/lib/browser/task-configuration-manager.d.ts +64 -64
  19. package/lib/browser/task-configuration-manager.js +261 -261
  20. package/lib/browser/task-configuration-model.d.ts +32 -32
  21. package/lib/browser/task-configuration-model.js +79 -79
  22. package/lib/browser/task-configurations.d.ts +127 -127
  23. package/lib/browser/task-configurations.js +486 -486
  24. package/lib/browser/task-contribution.d.ts +182 -182
  25. package/lib/browser/task-contribution.js +206 -206
  26. package/lib/browser/task-definition-registry.d.ts +38 -38
  27. package/lib/browser/task-definition-registry.js +134 -134
  28. package/lib/browser/task-definition-registry.spec.d.ts +1 -1
  29. package/lib/browser/task-definition-registry.spec.js +170 -170
  30. package/lib/browser/task-frontend-contribution.d.ts +56 -56
  31. package/lib/browser/task-frontend-contribution.js +358 -358
  32. package/lib/browser/task-frontend-module.d.ts +5 -5
  33. package/lib/browser/task-frontend-module.js +79 -79
  34. package/lib/browser/task-name-resolver.d.ts +13 -13
  35. package/lib/browser/task-name-resolver.js +67 -67
  36. package/lib/browser/task-node.d.ts +9 -9
  37. package/lib/browser/task-node.js +17 -17
  38. package/lib/browser/task-preferences.d.ts +4 -4
  39. package/lib/browser/task-preferences.js +40 -40
  40. package/lib/browser/task-problem-matcher-registry.d.ts +40 -40
  41. package/lib/browser/task-problem-matcher-registry.js +309 -309
  42. package/lib/browser/task-problem-pattern-registry.d.ts +23 -23
  43. package/lib/browser/task-problem-pattern-registry.js +210 -210
  44. package/lib/browser/task-schema-updater.d.ts +58 -58
  45. package/lib/browser/task-schema-updater.js +688 -688
  46. package/lib/browser/task-service.d.ts +279 -279
  47. package/lib/browser/task-service.js +1119 -1119
  48. package/lib/browser/task-source-resolver.d.ts +9 -9
  49. package/lib/browser/task-source-resolver.js +51 -51
  50. package/lib/browser/task-templates.d.ts +13 -13
  51. package/lib/browser/task-templates.js +161 -161
  52. package/lib/browser/task-terminal-widget-manager.d.ts +44 -44
  53. package/lib/browser/task-terminal-widget-manager.js +228 -228
  54. package/lib/browser/tasks-monaco-contribution.d.ts +1 -1
  55. package/lib/browser/tasks-monaco-contribution.js +27 -27
  56. package/lib/common/index.d.ts +4 -4
  57. package/lib/common/index.js +31 -31
  58. package/lib/common/problem-matcher-protocol.d.ts +124 -124
  59. package/lib/common/problem-matcher-protocol.js +132 -132
  60. package/lib/common/process/task-protocol.d.ts +68 -68
  61. package/lib/common/process/task-protocol.js +33 -33
  62. package/lib/common/task-common-module.d.ts +7 -7
  63. package/lib/common/task-common-module.js +33 -33
  64. package/lib/common/task-protocol.d.ts +192 -192
  65. package/lib/common/task-protocol.js +137 -137
  66. package/lib/common/task-util.d.ts +22 -22
  67. package/lib/common/task-util.js +46 -46
  68. package/lib/common/task-watcher.d.ts +17 -17
  69. package/lib/common/task-watcher.js +86 -86
  70. package/lib/node/custom/custom-task-runner-backend-module.d.ts +2 -2
  71. package/lib/node/custom/custom-task-runner-backend-module.js +36 -36
  72. package/lib/node/custom/custom-task-runner-contribution.d.ts +6 -6
  73. package/lib/node/custom/custom-task-runner-contribution.js +42 -42
  74. package/lib/node/custom/custom-task-runner.d.ts +15 -15
  75. package/lib/node/custom/custom-task-runner.js +69 -69
  76. package/lib/node/custom/custom-task.d.ts +20 -20
  77. package/lib/node/custom/custom-task.js +78 -78
  78. package/lib/node/index.d.ts +3 -3
  79. package/lib/node/index.js +30 -30
  80. package/lib/node/process/process-task-runner-backend-module.d.ts +2 -2
  81. package/lib/node/process/process-task-runner-backend-module.js +36 -36
  82. package/lib/node/process/process-task-runner-contribution.d.ts +6 -6
  83. package/lib/node/process/process-task-runner-contribution.js +43 -43
  84. package/lib/node/process/process-task-runner.d.ts +60 -60
  85. package/lib/node/process/process-task-runner.js +355 -355
  86. package/lib/node/process/process-task.d.ts +26 -26
  87. package/lib/node/process/process-task.js +135 -135
  88. package/lib/node/process/process-task.spec.d.ts +1 -1
  89. package/lib/node/process/process-task.spec.js +29 -29
  90. package/lib/node/task-abstract-line-matcher.d.ts +49 -49
  91. package/lib/node/task-abstract-line-matcher.js +273 -273
  92. package/lib/node/task-backend-application-contribution.d.ts +8 -8
  93. package/lib/node/task-backend-application-contribution.js +48 -48
  94. package/lib/node/task-backend-module.d.ts +3 -3
  95. package/lib/node/task-backend-module.js +50 -50
  96. package/lib/node/task-line-matchers.d.ts +27 -27
  97. package/lib/node/task-line-matchers.js +121 -121
  98. package/lib/node/task-manager.d.ts +55 -55
  99. package/lib/node/task-manager.js +135 -135
  100. package/lib/node/task-problem-collector.d.ts +10 -10
  101. package/lib/node/task-problem-collector.js +57 -57
  102. package/lib/node/task-problem-collector.spec.d.ts +1 -1
  103. package/lib/node/task-problem-collector.spec.js +310 -310
  104. package/lib/node/task-runner-protocol.d.ts +16 -16
  105. package/lib/node/task-runner-protocol.js +19 -19
  106. package/lib/node/task-runner.d.ts +50 -50
  107. package/lib/node/task-runner.js +97 -97
  108. package/lib/node/task-server.d.ts +39 -39
  109. package/lib/node/task-server.js +237 -237
  110. package/lib/node/task-server.slow-spec.d.ts +1 -1
  111. package/lib/node/task-server.slow-spec.js +395 -395
  112. package/lib/node/task.d.ts +50 -50
  113. package/lib/node/task.js +77 -77
  114. package/lib/node/test/task-test-container.d.ts +2 -2
  115. package/lib/node/test/task-test-container.js +58 -58
  116. package/package.json +14 -14
  117. package/src/browser/index.ts +22 -22
  118. package/src/browser/process/process-task-contribution.ts +31 -31
  119. package/src/browser/process/process-task-frontend-module.ts +27 -27
  120. package/src/browser/process/process-task-resolver.ts +89 -89
  121. package/src/browser/provided-task-configurations.spec.ts +46 -46
  122. package/src/browser/provided-task-configurations.ts +213 -213
  123. package/src/browser/quick-open-task.ts +831 -827
  124. package/src/browser/style/index.css +19 -19
  125. package/src/browser/task-configuration-manager.ts +256 -256
  126. package/src/browser/task-configuration-model.ts +101 -101
  127. package/src/browser/task-configurations.ts +508 -508
  128. package/src/browser/task-contribution.ts +266 -266
  129. package/src/browser/task-definition-registry.spec.ts +203 -203
  130. package/src/browser/task-definition-registry.ts +131 -131
  131. package/src/browser/task-frontend-contribution.ts +402 -402
  132. package/src/browser/task-frontend-module.ts +86 -86
  133. package/src/browser/task-name-resolver.ts +55 -55
  134. package/src/browser/task-node.ts +37 -37
  135. package/src/browser/task-preferences.ts +40 -40
  136. package/src/browser/task-problem-matcher-registry.ts +308 -308
  137. package/src/browser/task-problem-pattern-registry.ts +196 -196
  138. package/src/browser/task-schema-updater.ts +701 -701
  139. package/src/browser/task-service.ts +1164 -1164
  140. package/src/browser/task-source-resolver.ts +36 -36
  141. package/src/browser/task-templates.ts +168 -168
  142. package/src/browser/task-terminal-widget-manager.ts +224 -224
  143. package/src/browser/tasks-monaco-contribution.ts +27 -27
  144. package/src/common/index.ts +20 -20
  145. package/src/common/problem-matcher-protocol.ts +234 -234
  146. package/src/common/process/task-protocol.ts +97 -97
  147. package/src/common/task-common-module.ts +34 -34
  148. package/src/common/task-protocol.ts +317 -317
  149. package/src/common/task-util.ts +43 -43
  150. package/src/common/task-watcher.ts +78 -78
  151. package/src/node/custom/custom-task-runner-backend-module.ts +37 -37
  152. package/src/node/custom/custom-task-runner-contribution.ts +30 -30
  153. package/src/node/custom/custom-task-runner.ts +60 -60
  154. package/src/node/custom/custom-task.ts +73 -73
  155. package/src/node/index.ts +19 -19
  156. package/src/node/process/process-task-runner-backend-module.ts +37 -37
  157. package/src/node/process/process-task-runner-contribution.ts +31 -31
  158. package/src/node/process/process-task-runner.ts +371 -371
  159. package/src/node/process/process-task.spec.ts +30 -30
  160. package/src/node/process/process-task.ts +144 -144
  161. package/src/node/task-abstract-line-matcher.ts +312 -312
  162. package/src/node/task-backend-application-contribution.ts +36 -36
  163. package/src/node/task-backend-module.ts +57 -57
  164. package/src/node/task-line-matchers.ts +127 -127
  165. package/src/node/task-manager.ts +129 -129
  166. package/src/node/task-problem-collector.spec.ts +338 -338
  167. package/src/node/task-problem-collector.ts +62 -62
  168. package/src/node/task-runner-protocol.ts +33 -33
  169. package/src/node/task-runner.ts +96 -96
  170. package/src/node/task-server.slow-spec.ts +444 -444
  171. package/src/node/task-server.ts +263 -263
  172. package/src/node/task.ts +103 -103
  173. package/src/node/test/task-test-container.ts +63 -63
@@ -1,183 +1,183 @@
1
- import { Disposable } from '@theia/core/lib/common/disposable';
2
- import { TaskConfiguration } from '../common/task-protocol';
3
- import { WaitUntilEvent, Emitter } from '@theia/core/lib/common/event';
4
- export declare const TaskContribution: unique symbol;
5
- /**
6
- * A {@link TaskContribution} allows to contribute custom {@link TaskResolver}s and/or {@link TaskProvider}s.
7
- *
8
- * ### Example usage
9
- * ```typescript
10
- * @injectable()
11
- * export class ProcessTaskContribution implements TaskContribution {
12
- *
13
- * @inject(ProcessTaskResolver)
14
- * protected readonly processTaskResolver: ProcessTaskResolver;
15
- *
16
- * registerResolvers(resolvers: TaskResolverRegistry): void {
17
- * resolvers.register('process', this.processTaskResolver);
18
- * resolvers.register('shell', this.processTaskResolver);
19
- * }
20
- * }
21
- * ```
22
- */
23
- export interface TaskContribution {
24
- /**
25
- * Register task resolvers using the given `TaskResolverRegistry`.
26
- * @param resolvers the task resolver registry.
27
- */
28
- registerResolvers?(resolvers: TaskResolverRegistry): void;
29
- /**
30
- * Register task providers using the given `TaskProviderRegistry`.
31
- * @param resolvers the task provider registry.
32
- */
33
- registerProviders?(providers: TaskProviderRegistry): void;
34
- }
35
- /**
36
- * A {@link TaskResolver} is used to preprocess/resolve a task before sending
37
- * it to the Task Server. For instance, the resolver can be used to add missing information to the configuration
38
- * (e.g default values for optional parameters).
39
- */
40
- export interface TaskResolver {
41
- /**
42
- * Resolves a `TaskConfiguration` before sending it for execution to the `TaskServer` (Backend).
43
- * @param taskConfig the configuration that should be resolved.
44
- *
45
- * @returns a promise of the resolved `TaskConfiguration`.
46
- */
47
- resolveTask(taskConfig: TaskConfiguration): Promise<TaskConfiguration>;
48
- }
49
- /**
50
- * A {@link TaskProvider} can be used to define the set of tasks that should
51
- * be provided to the system. i.e. that are available for the user to run.
52
- */
53
- export interface TaskProvider {
54
- /**
55
- * Retrieves the task configurations which are provided programmatically to the system.
56
- *
57
- * @returns a promise of the provided tasks configurations.
58
- */
59
- provideTasks(): Promise<TaskConfiguration[]>;
60
- }
61
- export interface WillResolveTaskProvider extends WaitUntilEvent {
62
- taskType?: string;
63
- }
64
- /**
65
- * The {@link TaskResolverRegistry} is the common component for registration and provision of
66
- * {@link TaskResolver}s. Theia will collect all {@link TaskContribution}s and invoke {@link TaskContribution#registerResolvers}
67
- * for each contribution.
68
- */
69
- export declare class TaskResolverRegistry {
70
- protected readonly onWillProvideTaskResolverEmitter: Emitter<WillResolveTaskProvider>;
71
- /**
72
- * Emit when the registry provides a registered resolver. i.e. when the {@link TaskResolverRegistry#getResolver}
73
- * function is called.
74
- */
75
- readonly onWillProvideTaskResolver: import("@theia/core/lib/common/event").Event<WillResolveTaskProvider>;
76
- protected taskResolvers: Map<string, TaskResolver>;
77
- protected executionResolvers: Map<string, TaskResolver>;
78
- /**
79
- * Registers the given {@link TaskResolver} to resolve the `TaskConfiguration` of the specified type.
80
- * If there is already a `TaskResolver` registered for the specified type the registration will
81
- * be overwritten with the new value.
82
- *
83
- * @deprecated since 1.12.0 use `registerTaskResolver` instead.
84
- *
85
- * @param type the task configuration type for which the given resolver should be registered.
86
- * @param resolver the task resolver that should be registered.
87
- *
88
- * @returns a `Disposable` that can be invoked to unregister the given resolver
89
- */
90
- register(type: string, resolver: TaskResolver): Disposable;
91
- /**
92
- * Registers the given {@link TaskResolver} to resolve the `TaskConfiguration` of the specified type.
93
- * If there is already a `TaskResolver` registered for the specified type the registration will
94
- * be overwritten with the new value.
95
- *
96
- * @param type the task configuration type for which the given resolver should be registered.
97
- * @param resolver the task resolver that should be registered.
98
- *
99
- * @returns a `Disposable` that can be invoked to unregister the given resolver
100
- */
101
- registerTaskResolver(type: string, resolver: TaskResolver): Disposable;
102
- /**
103
- * Retrieves the {@link TaskResolver} registered for the given type task configuration type.
104
- *
105
- * @deprecated since 1.12.0 use `getTaskResolver()` instead.
106
- *
107
- * @param type the task configuration type
108
- *
109
- * @returns a promise of the registered `TaskResolver` or `undefined` if no resolver is registered for the given type.
110
- */
111
- getResolver(type: string): Promise<TaskResolver | undefined>;
112
- /**
113
- * Retrieves the {@link TaskResolver} registered for the given type task configuration type.
114
- * @param type the task configuration type
115
- *
116
- * @returns a promise of the registered `TaskResolver` or `undefined` if no resolver is registered for the given type.
117
- */
118
- getTaskResolver(type: string): Promise<TaskResolver | undefined>;
119
- /**
120
- * Registers the given {@link TaskResolver} to resolve the `TaskConfiguration` for the
121
- * specified type of execution ('shell', 'process' or 'customExecution').
122
- * If there is already a `TaskResolver` registered for the specified type the registration will
123
- * be overwritten with the new value.
124
- *
125
- * @param type the task execution type for which the given resolver should be registered.
126
- * @param resolver the task resolver that should be registered.
127
- *
128
- * @returns a `Disposable` that can be invoked to unregister the given resolver
129
- */
130
- registerExecutionResolver(type: string, resolver: TaskResolver): Disposable;
131
- /**
132
- * Retrieves the {@link TaskResolver} registered for the given type of execution ('shell', 'process' or 'customExecution')..
133
- * @param type the task configuration type
134
- *
135
- * @returns a promise of the registered `TaskResolver` or `undefined` if no resolver is registered for the given type.
136
- */
137
- getExecutionResolver(executionType: string): TaskResolver | undefined;
138
- }
139
- /**
140
- * The {@link TaskProviderRegistry} is the common component for registration and provision of
141
- * {@link TaskProvider}s. Theia will collect all {@link TaskContribution}s and invoke {@link TaskContribution#registerProviders}
142
- * for each contribution.
143
- */
144
- export declare class TaskProviderRegistry {
145
- protected readonly onWillProvideTaskProviderEmitter: Emitter<WillResolveTaskProvider>;
146
- /**
147
- * Emit when the registry provides a registered task provider. i.e. when the {@link TaskProviderRegistry#getProvider}
148
- * function is called.
149
- */
150
- readonly onWillProvideTaskProvider: import("@theia/core/lib/common/event").Event<WillResolveTaskProvider>;
151
- protected providers: Map<string, TaskProvider>;
152
- protected init(): void;
153
- /**
154
- * Registers the given {@link TaskProvider} for task configurations of the specified type
155
- * @param type the task configuration type for which the given provider should be registered.
156
- * @param provider the `TaskProvider` that should be registered.
157
- *
158
- * @returns a `Disposable` that can be invoked to unregister the given resolver.
159
- */
160
- register(type: string, provider: TaskProvider, handle?: number): Disposable;
161
- /**
162
- * Initiates activation of a TaskProvider with the given type
163
- * @param type the task configuration type, '*' indicates, all providers.
164
- */
165
- activateProvider(type: string): Promise<void>;
166
- /**
167
- * Retrieves the {@link TaskProvider} registered for the given type task configuration type.
168
- * If there is already a `TaskProvider` registered for the specified type the registration will
169
- * be overwritten with the new value.
170
- * @param type the task configuration type.
171
- *
172
- * @returns a promise of the registered `TaskProvider`` or `undefined` if no provider is registered for the given type.
173
- */
174
- getProvider(type: string): Promise<TaskProvider | undefined>;
175
- /**
176
- * Retrieve all registered {@link TaskProvider}s.
177
- *
178
- * Use {@link activateProvider} to control registration of providers as needed.
179
- * @returns a promise of all registered {@link TaskProvider}s.
180
- */
181
- getProviders(): Promise<TaskProvider[]>;
182
- }
1
+ import { Disposable } from '@theia/core/lib/common/disposable';
2
+ import { TaskConfiguration } from '../common/task-protocol';
3
+ import { WaitUntilEvent, Emitter } from '@theia/core/lib/common/event';
4
+ export declare const TaskContribution: unique symbol;
5
+ /**
6
+ * A {@link TaskContribution} allows to contribute custom {@link TaskResolver}s and/or {@link TaskProvider}s.
7
+ *
8
+ * ### Example usage
9
+ * ```typescript
10
+ * @injectable()
11
+ * export class ProcessTaskContribution implements TaskContribution {
12
+ *
13
+ * @inject(ProcessTaskResolver)
14
+ * protected readonly processTaskResolver: ProcessTaskResolver;
15
+ *
16
+ * registerResolvers(resolvers: TaskResolverRegistry): void {
17
+ * resolvers.register('process', this.processTaskResolver);
18
+ * resolvers.register('shell', this.processTaskResolver);
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ export interface TaskContribution {
24
+ /**
25
+ * Register task resolvers using the given `TaskResolverRegistry`.
26
+ * @param resolvers the task resolver registry.
27
+ */
28
+ registerResolvers?(resolvers: TaskResolverRegistry): void;
29
+ /**
30
+ * Register task providers using the given `TaskProviderRegistry`.
31
+ * @param resolvers the task provider registry.
32
+ */
33
+ registerProviders?(providers: TaskProviderRegistry): void;
34
+ }
35
+ /**
36
+ * A {@link TaskResolver} is used to preprocess/resolve a task before sending
37
+ * it to the Task Server. For instance, the resolver can be used to add missing information to the configuration
38
+ * (e.g default values for optional parameters).
39
+ */
40
+ export interface TaskResolver {
41
+ /**
42
+ * Resolves a `TaskConfiguration` before sending it for execution to the `TaskServer` (Backend).
43
+ * @param taskConfig the configuration that should be resolved.
44
+ *
45
+ * @returns a promise of the resolved `TaskConfiguration`.
46
+ */
47
+ resolveTask(taskConfig: TaskConfiguration): Promise<TaskConfiguration>;
48
+ }
49
+ /**
50
+ * A {@link TaskProvider} can be used to define the set of tasks that should
51
+ * be provided to the system. i.e. that are available for the user to run.
52
+ */
53
+ export interface TaskProvider {
54
+ /**
55
+ * Retrieves the task configurations which are provided programmatically to the system.
56
+ *
57
+ * @returns a promise of the provided tasks configurations.
58
+ */
59
+ provideTasks(): Promise<TaskConfiguration[]>;
60
+ }
61
+ export interface WillResolveTaskProvider extends WaitUntilEvent {
62
+ taskType?: string;
63
+ }
64
+ /**
65
+ * The {@link TaskResolverRegistry} is the common component for registration and provision of
66
+ * {@link TaskResolver}s. Theia will collect all {@link TaskContribution}s and invoke {@link TaskContribution#registerResolvers}
67
+ * for each contribution.
68
+ */
69
+ export declare class TaskResolverRegistry {
70
+ protected readonly onWillProvideTaskResolverEmitter: Emitter<WillResolveTaskProvider>;
71
+ /**
72
+ * Emit when the registry provides a registered resolver. i.e. when the {@link TaskResolverRegistry#getResolver}
73
+ * function is called.
74
+ */
75
+ readonly onWillProvideTaskResolver: import("@theia/core/lib/common/event").Event<WillResolveTaskProvider>;
76
+ protected taskResolvers: Map<string, TaskResolver>;
77
+ protected executionResolvers: Map<string, TaskResolver>;
78
+ /**
79
+ * Registers the given {@link TaskResolver} to resolve the `TaskConfiguration` of the specified type.
80
+ * If there is already a `TaskResolver` registered for the specified type the registration will
81
+ * be overwritten with the new value.
82
+ *
83
+ * @deprecated since 1.12.0 use `registerTaskResolver` instead.
84
+ *
85
+ * @param type the task configuration type for which the given resolver should be registered.
86
+ * @param resolver the task resolver that should be registered.
87
+ *
88
+ * @returns a `Disposable` that can be invoked to unregister the given resolver
89
+ */
90
+ register(type: string, resolver: TaskResolver): Disposable;
91
+ /**
92
+ * Registers the given {@link TaskResolver} to resolve the `TaskConfiguration` of the specified type.
93
+ * If there is already a `TaskResolver` registered for the specified type the registration will
94
+ * be overwritten with the new value.
95
+ *
96
+ * @param type the task configuration type for which the given resolver should be registered.
97
+ * @param resolver the task resolver that should be registered.
98
+ *
99
+ * @returns a `Disposable` that can be invoked to unregister the given resolver
100
+ */
101
+ registerTaskResolver(type: string, resolver: TaskResolver): Disposable;
102
+ /**
103
+ * Retrieves the {@link TaskResolver} registered for the given type task configuration type.
104
+ *
105
+ * @deprecated since 1.12.0 use `getTaskResolver()` instead.
106
+ *
107
+ * @param type the task configuration type
108
+ *
109
+ * @returns a promise of the registered `TaskResolver` or `undefined` if no resolver is registered for the given type.
110
+ */
111
+ getResolver(type: string): Promise<TaskResolver | undefined>;
112
+ /**
113
+ * Retrieves the {@link TaskResolver} registered for the given type task configuration type.
114
+ * @param type the task configuration type
115
+ *
116
+ * @returns a promise of the registered `TaskResolver` or `undefined` if no resolver is registered for the given type.
117
+ */
118
+ getTaskResolver(type: string): Promise<TaskResolver | undefined>;
119
+ /**
120
+ * Registers the given {@link TaskResolver} to resolve the `TaskConfiguration` for the
121
+ * specified type of execution ('shell', 'process' or 'customExecution').
122
+ * If there is already a `TaskResolver` registered for the specified type the registration will
123
+ * be overwritten with the new value.
124
+ *
125
+ * @param type the task execution type for which the given resolver should be registered.
126
+ * @param resolver the task resolver that should be registered.
127
+ *
128
+ * @returns a `Disposable` that can be invoked to unregister the given resolver
129
+ */
130
+ registerExecutionResolver(type: string, resolver: TaskResolver): Disposable;
131
+ /**
132
+ * Retrieves the {@link TaskResolver} registered for the given type of execution ('shell', 'process' or 'customExecution')..
133
+ * @param type the task configuration type
134
+ *
135
+ * @returns a promise of the registered `TaskResolver` or `undefined` if no resolver is registered for the given type.
136
+ */
137
+ getExecutionResolver(executionType: string): TaskResolver | undefined;
138
+ }
139
+ /**
140
+ * The {@link TaskProviderRegistry} is the common component for registration and provision of
141
+ * {@link TaskProvider}s. Theia will collect all {@link TaskContribution}s and invoke {@link TaskContribution#registerProviders}
142
+ * for each contribution.
143
+ */
144
+ export declare class TaskProviderRegistry {
145
+ protected readonly onWillProvideTaskProviderEmitter: Emitter<WillResolveTaskProvider>;
146
+ /**
147
+ * Emit when the registry provides a registered task provider. i.e. when the {@link TaskProviderRegistry#getProvider}
148
+ * function is called.
149
+ */
150
+ readonly onWillProvideTaskProvider: import("@theia/core/lib/common/event").Event<WillResolveTaskProvider>;
151
+ protected providers: Map<string, TaskProvider>;
152
+ protected init(): void;
153
+ /**
154
+ * Registers the given {@link TaskProvider} for task configurations of the specified type
155
+ * @param type the task configuration type for which the given provider should be registered.
156
+ * @param provider the `TaskProvider` that should be registered.
157
+ *
158
+ * @returns a `Disposable` that can be invoked to unregister the given resolver.
159
+ */
160
+ register(type: string, provider: TaskProvider, handle?: number): Disposable;
161
+ /**
162
+ * Initiates activation of a TaskProvider with the given type
163
+ * @param type the task configuration type, '*' indicates, all providers.
164
+ */
165
+ activateProvider(type: string): Promise<void>;
166
+ /**
167
+ * Retrieves the {@link TaskProvider} registered for the given type task configuration type.
168
+ * If there is already a `TaskProvider` registered for the specified type the registration will
169
+ * be overwritten with the new value.
170
+ * @param type the task configuration type.
171
+ *
172
+ * @returns a promise of the registered `TaskProvider`` or `undefined` if no provider is registered for the given type.
173
+ */
174
+ getProvider(type: string): Promise<TaskProvider | undefined>;
175
+ /**
176
+ * Retrieve all registered {@link TaskProvider}s.
177
+ *
178
+ * Use {@link activateProvider} to control registration of providers as needed.
179
+ * @returns a promise of all registered {@link TaskProvider}s.
180
+ */
181
+ getProviders(): Promise<TaskProvider[]>;
182
+ }
183
183
  //# sourceMappingURL=task-contribution.d.ts.map