@theia/monaco 1.32.0-next.16 → 1.32.0-next.20

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,7 +1,7 @@
1
- import { ContextKeyService as TheiaContextKeyService, ContextKey, ContextKeyChangeEvent, ScopedValueStore } from '@theia/core/lib/browser/context-key-service';
1
+ import { ContextKeyService as TheiaContextKeyService, ContextKey, ContextKeyChangeEvent, ScopedValueStore, ContextMatcher } from '@theia/core/lib/browser/context-key-service';
2
2
  import { Emitter } from '@theia/core';
3
3
  import { ContextKeyService as VSCodeContextKeyService } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/browser/contextKeyService';
4
- import { ContextKeyExpression, IContext } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
4
+ import { ContextKeyExpression, IContext, IContextKeyService } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
5
5
  export declare class MonacoContextKeyService implements TheiaContextKeyService {
6
6
  protected readonly onDidChangeEmitter: Emitter<ContextKeyChangeEvent>;
7
7
  readonly onDidChange: import("@theia/core").Event<ContextKeyChangeEvent>;
@@ -10,12 +10,13 @@ export declare class MonacoContextKeyService implements TheiaContextKeyService {
10
10
  createKey<T>(key: string, defaultValue: T | undefined): ContextKey<T>;
11
11
  activeContext?: HTMLElement | IContext;
12
12
  match(expression: string, context?: HTMLElement): boolean;
13
- protected identifyContext(callersContext?: HTMLElement | IContext): IContext | undefined;
13
+ protected identifyContext(callersContext?: HTMLElement | IContext, service?: IContextKeyService): IContext | undefined;
14
14
  protected readonly expressions: Map<string, ContextKeyExpression>;
15
15
  parse(when: string): ContextKeyExpression | undefined;
16
16
  parseKeys(expression: string): Set<string> | undefined;
17
17
  with<T>(values: Record<string, unknown>, callback: () => T): T;
18
18
  createScoped(target: HTMLElement): ScopedValueStore;
19
+ createOverlay(overlay: Iterable<[string, unknown]>): ContextMatcher;
19
20
  setContext(key: string, value: unknown): void;
20
21
  dispose(): void;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-context-key-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,IAAI,sBAAsB,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/J,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAA6B,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AACzK,OAAO,EAAkB,oBAAoB,EAAE,QAAQ,EAAE,MAAM,wEAAwE,CAAC;AAExI,qBACa,uBAAwB,YAAW,sBAAsB;IAClE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,iCAAwC;IAC7E,QAAQ,CAAC,WAAW,qDAAiC;IAGrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;IAIrE,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAEvC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAYzD,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAaxF,SAAS,CAAC,QAAQ,CAAC,WAAW,oCAA2C;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAWrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS;IAKtD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAgB9D,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAQnD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,OAAO,IAAI,IAAI;CAKlB"}
1
+ {"version":3,"file":"monaco-context-key-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,IAAI,sBAAsB,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC/K,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAA6B,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AACzK,OAAO,EAAkB,oBAAoB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,wEAAwE,CAAC;AAE5J,qBACa,uBAAwB,YAAW,sBAAsB;IAClE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,iCAAwC;IAC7E,QAAQ,CAAC,WAAW,qDAAiC;IAGrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;IAIrE,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAEvC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAYzD,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,OAAO,GAAE,kBAA2C,GAAG,QAAQ,GAAG,SAAS;IAa9I,SAAS,CAAC,QAAQ,CAAC,WAAW,oCAA2C;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAWrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS;IAKtD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAgB9D,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAQnD,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,cAAc;IAkBnE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,OAAO,IAAI,IAAI;CAKlB"}
@@ -54,7 +54,7 @@ let MonacoContextKeyService = class MonacoContextKeyService {
54
54
  }
55
55
  return true;
56
56
  }
57
- identifyContext(callersContext) {
57
+ identifyContext(callersContext, service = this.contextKeyService) {
58
58
  var _a;
59
59
  if (callersContext && 'getValue' in callersContext) {
60
60
  return callersContext;
@@ -64,7 +64,7 @@ let MonacoContextKeyService = class MonacoContextKeyService {
64
64
  }
65
65
  const browserContext = (_a = callersContext !== null && callersContext !== void 0 ? callersContext : this.activeContext) !== null && _a !== void 0 ? _a : (document.activeElement instanceof HTMLElement ? document.activeElement : undefined);
66
66
  if (browserContext) {
67
- return this.contextKeyService.getContext(browserContext);
67
+ return service.getContext(browserContext);
68
68
  }
69
69
  return undefined;
70
70
  }
@@ -105,6 +105,23 @@ let MonacoContextKeyService = class MonacoContextKeyService {
105
105
  }
106
106
  return this;
107
107
  }
108
+ createOverlay(overlay) {
109
+ const delegate = this.contextKeyService.createOverlay(overlay);
110
+ return {
111
+ match: (expression, context) => {
112
+ const parsed = this.parse(expression);
113
+ if (parsed) {
114
+ const ctx = this.identifyContext(context, delegate);
115
+ if (!ctx) {
116
+ return delegate.contextMatchesRules(parsed);
117
+ }
118
+ return parsed.evaluate(ctx);
119
+ }
120
+ return true;
121
+ },
122
+ dispose: () => delegate.dispose(),
123
+ };
124
+ }
108
125
  setContext(key, value) {
109
126
  this.contextKeyService.setContext(key, value);
110
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-context-key-service.js","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monaco-context-key-service.js","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@theia/monaco",
3
- "version": "1.32.0-next.16+31610279a",
3
+ "version": "1.32.0-next.20+6b14f040f",
4
4
  "description": "Theia - Monaco Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.32.0-next.16+31610279a",
7
- "@theia/editor": "1.32.0-next.16+31610279a",
8
- "@theia/filesystem": "1.32.0-next.16+31610279a",
9
- "@theia/markers": "1.32.0-next.16+31610279a",
6
+ "@theia/core": "1.32.0-next.20+6b14f040f",
7
+ "@theia/editor": "1.32.0-next.20+6b14f040f",
8
+ "@theia/filesystem": "1.32.0-next.20+6b14f040f",
9
+ "@theia/markers": "1.32.0-next.20+6b14f040f",
10
10
  "@theia/monaco-editor-core": "1.67.2",
11
- "@theia/outline-view": "1.32.0-next.16+31610279a",
11
+ "@theia/outline-view": "1.32.0-next.20+6b14f040f",
12
12
  "fast-plist": "^0.1.2",
13
13
  "idb": "^4.0.5",
14
14
  "jsonc-parser": "^2.2.0",
@@ -54,5 +54,5 @@
54
54
  "nyc": {
55
55
  "extends": "../../configs/nyc.json"
56
56
  },
57
- "gitHead": "31610279a8effb3a29e7d5865bcc4c4c72c22b13"
57
+ "gitHead": "6b14f040f82f0e99de711978ae1cfdc38f288756"
58
58
  }
@@ -15,10 +15,10 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
18
- import { ContextKeyService as TheiaContextKeyService, ContextKey, ContextKeyChangeEvent, ScopedValueStore } from '@theia/core/lib/browser/context-key-service';
18
+ import { ContextKeyService as TheiaContextKeyService, ContextKey, ContextKeyChangeEvent, ScopedValueStore, ContextMatcher } from '@theia/core/lib/browser/context-key-service';
19
19
  import { Emitter } from '@theia/core';
20
20
  import { AbstractContextKeyService, ContextKeyService as VSCodeContextKeyService } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/browser/contextKeyService';
21
- import { ContextKeyExpr, ContextKeyExpression, IContext } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
21
+ import { ContextKeyExpr, ContextKeyExpression, IContext, IContextKeyService } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
22
22
 
23
23
  @injectable()
24
24
  export class MonacoContextKeyService implements TheiaContextKeyService {
@@ -55,7 +55,7 @@ export class MonacoContextKeyService implements TheiaContextKeyService {
55
55
  return true;
56
56
  }
57
57
 
58
- protected identifyContext(callersContext?: HTMLElement | IContext): IContext | undefined {
58
+ protected identifyContext(callersContext?: HTMLElement | IContext, service: IContextKeyService = this.contextKeyService): IContext | undefined {
59
59
  if (callersContext && 'getValue' in callersContext) {
60
60
  return callersContext;
61
61
  } else if (this.activeContext && 'getValue' in this.activeContext) {
@@ -63,7 +63,7 @@ export class MonacoContextKeyService implements TheiaContextKeyService {
63
63
  }
64
64
  const browserContext = callersContext ?? this.activeContext ?? (document.activeElement instanceof HTMLElement ? document.activeElement : undefined);
65
65
  if (browserContext) {
66
- return this.contextKeyService.getContext(browserContext);
66
+ return service.getContext(browserContext);
67
67
  }
68
68
  return undefined;
69
69
  }
@@ -109,6 +109,24 @@ export class MonacoContextKeyService implements TheiaContextKeyService {
109
109
  return this;
110
110
  }
111
111
 
112
+ createOverlay(overlay: Iterable<[string, unknown]>): ContextMatcher {
113
+ const delegate = this.contextKeyService.createOverlay(overlay);
114
+ return {
115
+ match: (expression: string, context?: HTMLElement) => {
116
+ const parsed = this.parse(expression);
117
+ if (parsed) {
118
+ const ctx = this.identifyContext(context, delegate);
119
+ if (!ctx) {
120
+ return delegate.contextMatchesRules(parsed);
121
+ }
122
+ return parsed.evaluate(ctx);
123
+ }
124
+ return true;
125
+ },
126
+ dispose: () => delegate.dispose(),
127
+ };
128
+ }
129
+
112
130
  setContext(key: string, value: unknown): void {
113
131
  this.contextKeyService.setContext(key, value);
114
132
  }
@@ -119,3 +137,4 @@ export class MonacoContextKeyService implements TheiaContextKeyService {
119
137
  this.contextKeyService.dispose();
120
138
  }
121
139
  }
140
+