@theia/variable-resolver 1.26.0-next.9 → 1.27.0-next.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"common-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAG5E,qBACa,0BAA2B,YAAW,oBAAoB;IAGnE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAE1C,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwFtE"}
1
+ {"version":3,"file":"common-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAG5E,qBACa,0BAA2B,YAAW,oBAAoB;IAGnE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAE1C,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8FtE"}
@@ -63,9 +63,15 @@ let CommonVariableContribution = class CommonVariableContribution {
63
63
  });
64
64
  variables.registerVariable({
65
65
  name: 'command',
66
- resolve: async (_, command) =>
67
- // eslint-disable-next-line no-return-await
68
- command && await this.commands.executeCommand(command)
66
+ resolve: async (_, name, __, commandIdVariables, configuration) => {
67
+ let commandId = name;
68
+ if (name && commandIdVariables) {
69
+ const mappedValue = commandIdVariables[name];
70
+ commandId = mappedValue ? mappedValue : name;
71
+ }
72
+ const result = commandId && await this.commands.executeCommand(commandId, configuration);
73
+ return result ? result : undefined;
74
+ }
69
75
  });
70
76
  variables.registerVariable({
71
77
  name: 'input',
@@ -1 +1 @@
1
- {"version":3,"file":"common-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import { VariableRegistry } from './variable';
2
2
  import URI from '@theia/core/lib/common/uri';
3
+ import { CommandIdVariables } from '../common/variable-types';
3
4
  export interface VariableResolveOptions {
4
5
  context?: URI;
5
6
  /**
6
7
  * Used for resolving inputs, see https://code.visualstudio.com/docs/editor/variables-reference#_input-variables
7
8
  */
8
9
  configurationSection?: string;
10
+ commandIdVariables?: CommandIdVariables;
11
+ configuration?: unknown;
12
+ checkAllResolved?: boolean;
9
13
  }
10
14
  /**
11
15
  * The variable resolver service should be used to resolve variables in strings.
@@ -20,7 +24,7 @@ export declare class VariableResolverService {
20
24
  * @returns promise resolved to the provided string array with already resolved variables.
21
25
  * Never reject.
22
26
  */
23
- resolveArray(value: string[], options?: VariableResolveOptions): Promise<string[]>;
27
+ resolveArray(value: string[], options?: VariableResolveOptions): Promise<string[] | undefined>;
24
28
  /**
25
29
  * Resolve the variables in the given string.
26
30
  * @param value Data to resolve
@@ -28,7 +32,7 @@ export declare class VariableResolverService {
28
32
  * @returns promise resolved to the provided string with already resolved variables.
29
33
  * Never reject.
30
34
  */
31
- resolve<T>(value: T, options?: VariableResolveOptions): Promise<T>;
35
+ resolve<T>(value: T, options?: VariableResolveOptions): Promise<T | undefined>;
32
36
  protected doResolve(value: Object | undefined, context: VariableResolverService.Context): Promise<Object | undefined>;
33
37
  protected doResolveObject(obj: object, context: VariableResolverService.Context): Promise<object>;
34
38
  protected doResolveArray(values: Array<Object | undefined>, context: VariableResolverService.Context): Promise<Array<Object | undefined>>;
@@ -42,6 +46,7 @@ export declare namespace VariableResolverService {
42
46
  protected readonly resolved: Map<string, string | undefined>;
43
47
  constructor(variableRegistry: VariableRegistry, options: VariableResolveOptions);
44
48
  get(name: string): string | undefined;
49
+ allDefined(): boolean;
45
50
  resolve(name: string): Promise<void>;
46
51
  }
47
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"variable-resolver-service.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAG7C,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,MAAM,CAAC,UAAU,SAAkB;IAEnB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhF;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItF;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,CAAC,CAAC;cAM5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAiB3G,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAYvF,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;cAS/H,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAQzF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3G;AACD,yBAAiB,uBAAuB,CAAC;IACrC,MAAa,OAAO;QAKZ,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;QACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;QAJtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,kCAAyC;oBAG7C,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,sBAAsB;QAGtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;QAI/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;KAuB7C;CACJ"}
1
+ {"version":3,"file":"variable-resolver-service.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,MAAM,CAAC,UAAU,SAAkB;IAEnB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhF;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAIlG;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cASxE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAiB3G,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAYvF,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;cAS/H,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAQzF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3G;AACD,yBAAiB,uBAAuB,CAAC;IACrC,MAAa,OAAO;QAKZ,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;QACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;QAJtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,kCAAyC;oBAG7C,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,sBAAsB;QAGtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;QAIrC,UAAU,IAAI,OAAO;QASf,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;KA+B7C;CACJ"}
@@ -54,6 +54,9 @@ let VariableResolverService = VariableResolverService_1 = class VariableResolver
54
54
  async resolve(value, options = {}) {
55
55
  const context = new VariableResolverService_1.Context(this.variableRegistry, options);
56
56
  const resolved = await this.doResolve(value, context);
57
+ if (options.checkAllResolved && !context.allDefined()) {
58
+ return undefined;
59
+ }
57
60
  return resolved;
58
61
  }
59
62
  async doResolve(value, context) {
@@ -125,6 +128,14 @@ exports.VariableResolverService = VariableResolverService;
125
128
  get(name) {
126
129
  return this.resolved.get(name);
127
130
  }
131
+ allDefined() {
132
+ for (const value of this.resolved.values()) {
133
+ if (value === undefined) {
134
+ return false;
135
+ }
136
+ }
137
+ return true;
138
+ }
128
139
  async resolve(name) {
129
140
  if (this.resolved.has(name)) {
130
141
  return;
@@ -138,7 +149,8 @@ exports.VariableResolverService = VariableResolverService;
138
149
  argument = parts[1];
139
150
  }
140
151
  const variable = this.variableRegistry.getVariable(variableName);
141
- const value = variable && await variable.resolve(this.options.context, argument, this.options.configurationSection);
152
+ const value = variable &&
153
+ (await variable.resolve(this.options.context, argument, this.options.configurationSection, this.options.commandIdVariables, this.options.configuration));
142
154
  // eslint-disable-next-line no-null/no-null
143
155
  const stringValue = value !== undefined && value !== null && coreutils_1.JSONExt.isPrimitive(value) ? String(value) : undefined;
144
156
  this.resolved.set(name, stringValue);
@@ -1 +1 @@
1
- {"version":3,"file":"variable-resolver-service.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variable-resolver-service.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"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"}
@@ -70,5 +70,12 @@ describe('variable-resolver-service', () => {
70
70
  const resolved = await variableResolverService.resolve('workspace: ${workspaceRoot}; file: ${file}; line: ${lineNumber}');
71
71
  expect(resolved).is.equal('workspace: ${workspaceRoot}; file: package.json; line: 6');
72
72
  });
73
+ it('should check if all variables are resolved', async () => {
74
+ const options = {
75
+ checkAllResolved: true
76
+ };
77
+ const resolved = await variableResolverService.resolve('workspace: ${command:testCommand}; file: ${file}; line: ${lineNumber}', options);
78
+ expect(resolved).equal(undefined);
79
+ });
73
80
  });
74
81
  //# sourceMappingURL=variable-resolver-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-resolver-service.spec.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variable-resolver-service.spec.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Disposable, DisposableCollection, MaybePromise } from '@theia/core';
2
2
  import URI from '@theia/core/lib/common/uri';
3
+ import { CommandIdVariables } from '../common/variable-types';
3
4
  /**
4
5
  * Variable can be used inside of strings using ${variableName} syntax.
5
6
  */
@@ -17,7 +18,7 @@ export interface Variable {
17
18
  * `undefined` if variable cannot be resolved.
18
19
  * Never reject.
19
20
  */
20
- resolve(context?: URI, argument?: string, configurationSection?: string): MaybePromise<Object | undefined>;
21
+ resolve(context?: URI, argument?: string, configurationSection?: string, commandIdVariables?: CommandIdVariables, configuration?: unknown): MaybePromise<Object | undefined>;
21
22
  }
22
23
  export declare const VariableContribution: unique symbol;
23
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,QAAQ;IAErB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACxD;AAED;;GAEG;AACH,qBACa,gBAAiB,YAAW,UAAU;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IAChE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU;IAahD;;OAEG;IACH,YAAY,IAAI,QAAQ,EAAE;IAI1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;CAGzD"}
1
+ {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,QAAQ;IAErB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,OAAO,CACH,OAAO,CAAC,EAAE,GAAG,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,aAAa,CAAC,EAAE,OAAO,GACxB,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACxD;AAED;;GAEG;AACH,qBACa,gBAAiB,YAAW,UAAU;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IAChE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU;IAahD;;OAEG;IACH,YAAY,IAAI,QAAQ,EAAE;IAI1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;CAGzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,sCAA6E;AA0BhE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAQnE;;GAEG;AAEH,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAA7B;QAEuB,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC7C,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IA4C9D,CAAC;IA1CG,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAkB;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9E,OAAO,iBAAU,CAAC,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG;YACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SACtD,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAqB;QACnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AA/CY,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CA+C5B;AA/CY,4CAAgB"}
1
+ {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,sCAA6E;AAiChE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAQnE;;GAEG;AAEH,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAA7B;QAEuB,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC7C,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IA4C9D,CAAC;IA1CG,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAkB;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9E,OAAO,iBAAU,CAAC,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG;YACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SACtD,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAqB;QACnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AA/CY,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CA+C5B;AA/CY,4CAAgB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Holds variable-names to command id mappings (e.g. Provided by specific plugins / extensions)
3
+ * see "variables": https://code.visualstudio.com/api/references/contribution-points#contributes.debuggers
4
+ */
5
+ export interface CommandIdVariables {
6
+ [id: string]: string;
7
+ }
8
+ //# sourceMappingURL=variable-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-types.d.ts","sourceRoot":"","sources":["../../src/common/variable-types.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2022 Ericsson and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ //# sourceMappingURL=variable-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-types.js","sourceRoot":"","sources":["../../src/common/variable-types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@theia/variable-resolver",
3
- "version": "1.26.0-next.9+cd33db1fee0",
3
+ "version": "1.27.0-next.1+dbc574288c9",
4
4
  "description": "Theia - Variable Resolver Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.26.0-next.9+cd33db1fee0"
6
+ "@theia/core": "1.27.0-next.1+dbc574288c9"
7
7
  },
8
8
  "publishConfig": {
9
9
  "access": "public"
@@ -44,10 +44,10 @@
44
44
  "watch": "theiaext watch"
45
45
  },
46
46
  "devDependencies": {
47
- "@theia/ext-scripts": "1.25.0"
47
+ "@theia/ext-scripts": "1.26.0"
48
48
  },
49
49
  "nyc": {
50
50
  "extends": "../../configs/nyc.json"
51
51
  },
52
- "gitHead": "cd33db1fee04ac1f922de81c5923e381b2579173"
52
+ "gitHead": "dbc574288c95108581d15849df498625d0d81c18"
53
53
  }
@@ -76,9 +76,15 @@ export class CommonVariableContribution implements VariableContribution {
76
76
  });
77
77
  variables.registerVariable({
78
78
  name: 'command',
79
- resolve: async (_, command) =>
80
- // eslint-disable-next-line no-return-await
81
- command && await this.commands.executeCommand(command)
79
+ resolve: async (_, name, __, commandIdVariables, configuration) => {
80
+ let commandId = name;
81
+ if (name && commandIdVariables) {
82
+ const mappedValue = commandIdVariables[name];
83
+ commandId = mappedValue ? mappedValue : name;
84
+ }
85
+ const result = commandId && await this.commands.executeCommand(commandId, configuration);
86
+ return result ? result : undefined;
87
+ }
82
88
  });
83
89
  variables.registerVariable({
84
90
  name: 'input',
@@ -71,7 +71,7 @@ describe('variable-resolver-service', () => {
71
71
 
72
72
  it('should resolve known variables in a string array', async () => {
73
73
  const resolved = await variableResolverService.resolveArray(['file: ${file}', 'line: ${lineNumber}']);
74
- expect(resolved.length).to.be.equal(2);
74
+ expect(resolved!.length).to.be.equal(2);
75
75
  expect(resolved).to.contain('file: package.json');
76
76
  expect(resolved).to.contain('line: 6');
77
77
  });
@@ -80,4 +80,12 @@ describe('variable-resolver-service', () => {
80
80
  const resolved = await variableResolverService.resolve('workspace: ${workspaceRoot}; file: ${file}; line: ${lineNumber}');
81
81
  expect(resolved).is.equal('workspace: ${workspaceRoot}; file: package.json; line: 6');
82
82
  });
83
+
84
+ it('should check if all variables are resolved', async () => {
85
+ const options = {
86
+ checkAllResolved: true
87
+ };
88
+ const resolved = await variableResolverService.resolve('workspace: ${command:testCommand}; file: ${file}; line: ${lineNumber}', options);
89
+ expect(resolved).equal(undefined);
90
+ });
83
91
  });
@@ -20,6 +20,7 @@ import { injectable, inject } from '@theia/core/shared/inversify';
20
20
  import { VariableRegistry } from './variable';
21
21
  import URI from '@theia/core/lib/common/uri';
22
22
  import { JSONExt, ReadonlyJSONValue } from '@theia/core/shared/@phosphor/coreutils';
23
+ import { CommandIdVariables } from '../common/variable-types';
23
24
 
24
25
  export interface VariableResolveOptions {
25
26
  context?: URI;
@@ -27,6 +28,10 @@ export interface VariableResolveOptions {
27
28
  * Used for resolving inputs, see https://code.visualstudio.com/docs/editor/variables-reference#_input-variables
28
29
  */
29
30
  configurationSection?: string;
31
+ commandIdVariables?: CommandIdVariables;
32
+ configuration?: unknown;
33
+ // Return 'undefined' if not all variables were successfully resolved.
34
+ checkAllResolved?: boolean;
30
35
  }
31
36
 
32
37
  /**
@@ -46,7 +51,7 @@ export class VariableResolverService {
46
51
  * @returns promise resolved to the provided string array with already resolved variables.
47
52
  * Never reject.
48
53
  */
49
- resolveArray(value: string[], options: VariableResolveOptions = {}): Promise<string[]> {
54
+ resolveArray(value: string[], options: VariableResolveOptions = {}): Promise<string[] | undefined> {
50
55
  return this.resolve(value, options);
51
56
  }
52
57
 
@@ -57,9 +62,12 @@ export class VariableResolverService {
57
62
  * @returns promise resolved to the provided string with already resolved variables.
58
63
  * Never reject.
59
64
  */
60
- async resolve<T>(value: T, options: VariableResolveOptions = {}): Promise<T> {
65
+ async resolve<T>(value: T, options: VariableResolveOptions = {}): Promise<T | undefined> {
61
66
  const context = new VariableResolverService.Context(this.variableRegistry, options);
62
67
  const resolved = await this.doResolve(value, context);
68
+ if (options.checkAllResolved && !context.allDefined()) {
69
+ return undefined;
70
+ }
63
71
  return resolved as any;
64
72
  }
65
73
 
@@ -133,6 +141,15 @@ export namespace VariableResolverService {
133
141
  return this.resolved.get(name);
134
142
  }
135
143
 
144
+ allDefined(): boolean {
145
+ for (const value of this.resolved.values()) {
146
+ if (value === undefined) {
147
+ return false;
148
+ }
149
+ }
150
+ return true;
151
+ }
152
+
136
153
  async resolve(name: string): Promise<void> {
137
154
  if (this.resolved.has(name)) {
138
155
  return;
@@ -146,7 +163,15 @@ export namespace VariableResolverService {
146
163
  argument = parts[1];
147
164
  }
148
165
  const variable = this.variableRegistry.getVariable(variableName);
149
- const value = variable && await variable.resolve(this.options.context, argument, this.options.configurationSection);
166
+ const value =
167
+ variable &&
168
+ (await variable.resolve(
169
+ this.options.context,
170
+ argument,
171
+ this.options.configurationSection,
172
+ this.options.commandIdVariables,
173
+ this.options.configuration
174
+ ));
150
175
  // eslint-disable-next-line no-null/no-null
151
176
  const stringValue = value !== undefined && value !== null && JSONExt.isPrimitive(value as ReadonlyJSONValue) ? String(value) : undefined;
152
177
  this.resolved.set(name, stringValue);
@@ -17,6 +17,7 @@
17
17
  import { injectable } from '@theia/core/shared/inversify';
18
18
  import { Disposable, DisposableCollection, MaybePromise } from '@theia/core';
19
19
  import URI from '@theia/core/lib/common/uri';
20
+ import { CommandIdVariables } from '../common/variable-types';
20
21
 
21
22
  /**
22
23
  * Variable can be used inside of strings using ${variableName} syntax.
@@ -38,7 +39,13 @@ export interface Variable {
38
39
  * `undefined` if variable cannot be resolved.
39
40
  * Never reject.
40
41
  */
41
- resolve(context?: URI, argument?: string, configurationSection?: string): MaybePromise<Object | undefined>;
42
+ resolve(
43
+ context?: URI,
44
+ argument?: string,
45
+ configurationSection?: string,
46
+ commandIdVariables?: CommandIdVariables,
47
+ configuration?: unknown
48
+ ): MaybePromise<Object | undefined>;
42
49
  }
43
50
 
44
51
  export const VariableContribution = Symbol('VariableContribution');
@@ -0,0 +1,23 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2022 Ericsson and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ /**
18
+ * Holds variable-names to command id mappings (e.g. Provided by specific plugins / extensions)
19
+ * see "variables": https://code.visualstudio.com/api/references/contribution-points#contributes.debuggers
20
+ */
21
+ export interface CommandIdVariables {
22
+ [id: string]: string
23
+ }