@theia/monaco 1.75.0-next.4 → 1.75.0-next.43
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.
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts.map +1 -1
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.js +7 -1
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.js.map +1 -1
- package/lib/browser/monaco-frontend-application-contribution.d.ts +9 -2
- package/lib/browser/monaco-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/monaco-frontend-application-contribution.js +23 -16
- package/lib/browser/monaco-frontend-application-contribution.js.map +1 -1
- package/lib/browser/monaco-keybinding.d.ts +2 -1
- package/lib/browser/monaco-keybinding.d.ts.map +1 -1
- package/lib/browser/monaco-keybinding.js +6 -1
- package/lib/browser/monaco-keybinding.js.map +1 -1
- package/lib/browser/monaco-text-model-service.js +1 -0
- package/lib/browser/monaco-text-model-service.js.map +1 -1
- package/lib/browser/textmate/monaco-textmate-service.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-textmate-service.js +2 -1
- package/lib/browser/textmate/monaco-textmate-service.js.map +1 -1
- package/lib/browser/textmate/monaco-theme-registry.d.ts +6 -0
- package/lib/browser/textmate/monaco-theme-registry.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-theme-registry.js +31 -4
- package/lib/browser/textmate/monaco-theme-registry.js.map +1 -1
- package/lib/browser/textmate/monaco-theme-types.d.ts +6 -0
- package/lib/browser/textmate/monaco-theme-types.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-theme-types.js +16 -1
- package/lib/browser/textmate/monaco-theme-types.js.map +1 -1
- package/lib/browser/textmate/monaco-theme-types.spec.d.ts +2 -0
- package/lib/browser/textmate/monaco-theme-types.spec.d.ts.map +1 -0
- package/lib/browser/textmate/monaco-theme-types.spec.js +38 -0
- package/lib/browser/textmate/monaco-theme-types.spec.js.map +1 -0
- package/lib/browser/textmate/textmate-registry.d.ts +2 -0
- package/lib/browser/textmate/textmate-registry.d.ts.map +1 -1
- package/lib/browser/textmate/textmate-registry.js +9 -3
- package/lib/browser/textmate/textmate-registry.js.map +1 -1
- package/package.json +8 -8
- package/src/browser/markdown-renderer/monaco-markdown-renderer.ts +7 -1
- package/src/browser/monaco-frontend-application-contribution.ts +26 -17
- package/src/browser/monaco-keybinding.ts +6 -3
- package/src/browser/monaco-text-model-service.ts +1 -1
- package/src/browser/textmate/monaco-textmate-service.ts +2 -1
- package/src/browser/textmate/monaco-theme-registry.ts +32 -5
- package/src/browser/textmate/monaco-theme-types.spec.ts +39 -0
- package/src/browser/textmate/monaco-theme-types.ts +12 -0
- package/src/browser/textmate/textmate-registry.ts +8 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-renderer/monaco-markdown-renderer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,uBAAuB,IAAI,oBAAoB,EAAE,MACjD,6EAA6E,CAAC;AAEvF,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,aAAa,EAA6B,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAkB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAG1I,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"monaco-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-renderer/monaco-markdown-renderer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,uBAAuB,IAAI,oBAAoB,EAAE,MACjD,6EAA6E,CAAC;AAEvF,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,aAAa,EAA6B,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAkB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAG1I,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAE7I,OAAO,EAAE,qBAAqB,IAAI,2BAA2B,EAAE,MAAM,gEAAgE,CAAC;AACtI,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAwB,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7E,qBACa,sBAAuB,YAAW,gBAAgB;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACzC,SAAS,CAAC,cAAc,EAAE,aAAa,GAAG,SAAS,CAAC;IAEpD,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,oBAAoB;IASvF,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,2BAA2B,GAAG,SAAS;IAcpG,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe;IAatE,SAAS,CAAC,IAAI,IAAI,IAAI;cASN,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAyB7I"}
|
|
@@ -23,11 +23,17 @@ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/st
|
|
|
23
23
|
const browser_1 = require("@theia/core/lib/browser");
|
|
24
24
|
const opener_1 = require("@theia/monaco-editor-core/esm/vs/platform/opener/common/opener");
|
|
25
25
|
const uri_1 = require("@theia/core/lib/common/uri");
|
|
26
|
+
const markdown_link_handler_1 = require("@theia/core/lib/browser/markdown-rendering/markdown-link-handler");
|
|
26
27
|
const lifecycle_1 = require("@theia/monaco-editor-core/esm/vs/base/common/lifecycle");
|
|
27
28
|
const core_1 = require("@theia/core");
|
|
28
29
|
let MonacoMarkdownRenderer = class MonacoMarkdownRenderer {
|
|
29
30
|
render(markdown, options) {
|
|
30
|
-
|
|
31
|
+
const rendered = this.delegate.render(markdown, this.transformOptions(options));
|
|
32
|
+
// The delegate activates links through its own opener service, which `interceptOpen`
|
|
33
|
+
// routes to Theia's. Declaring that keeps callers from wiring a second handler, which
|
|
34
|
+
// would open every link twice.
|
|
35
|
+
(0, markdown_link_handler_1.markMarkdownLinksWired)(rendered.element);
|
|
36
|
+
return rendered;
|
|
31
37
|
}
|
|
32
38
|
transformOptions(options) {
|
|
33
39
|
if (!options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-markdown-renderer.js","sourceRoot":"","sources":["../../../src/browser/markdown-renderer/monaco-markdown-renderer.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,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAwF;AACxF,kHACuF;AACvF,sHAAmH;AAEnH,qDAAmF;AACnF,2FAA0I;AAE1I,oDAAiD;
|
|
1
|
+
{"version":3,"file":"monaco-markdown-renderer.js","sourceRoot":"","sources":["../../../src/browser/markdown-renderer/monaco-markdown-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { MonacoTextModelService } from './monaco-text-model-service';
|
|
|
5
5
|
import { MonacoThemingService } from './monaco-theming-service';
|
|
6
6
|
import { PreferenceSchemaService } from '@theia/core';
|
|
7
7
|
import { WorkspaceFileService } from '@theia/workspace/lib/common/workspace-file-service';
|
|
8
|
-
import {
|
|
8
|
+
import { MonacoStandaloneThemeService } from './monaco-standalone-theme-service';
|
|
9
9
|
import { SecondaryWindowService } from '@theia/core/lib/browser/window/secondary-window-service';
|
|
10
10
|
export declare class MonacoFrontendApplicationContribution implements FrontendApplicationContribution, StylingParticipant {
|
|
11
11
|
protected readonly windowsById: Map<number, monaco.IDisposable>;
|
|
@@ -16,11 +16,18 @@ export declare class MonacoFrontendApplicationContribution implements FrontendAp
|
|
|
16
16
|
protected readonly quickAccessRegistry: QuickAccessRegistry;
|
|
17
17
|
protected readonly monacoThemingService: MonacoThemingService;
|
|
18
18
|
protected readonly workspaceFileService: WorkspaceFileService;
|
|
19
|
-
protected readonly secondaryWindowHandler: SecondaryWindowHandler;
|
|
20
19
|
protected readonly secondaryWindowService: SecondaryWindowService;
|
|
21
20
|
protected init(): void;
|
|
22
21
|
initialize(): void;
|
|
23
22
|
onStart(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Theia's {@link MonacoStandaloneThemeService} override, which creates the `monaco-colors`
|
|
25
|
+
* stylesheet in the target node's own document. The upstream `StandaloneThemeService` would
|
|
26
|
+
* only ever create a single global stylesheet in the main document and silently no-op for
|
|
27
|
+
* nodes in other documents, so this contribution depends on the Theia override being bound
|
|
28
|
+
* (see `monaco-init.ts`).
|
|
29
|
+
*/
|
|
30
|
+
protected get standaloneThemeService(): MonacoStandaloneThemeService;
|
|
24
31
|
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void;
|
|
25
32
|
/**
|
|
26
33
|
* For reasons that are unclear, while most preferences that apply in editors are validated, a few are not.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-frontend-application-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClJ,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,
|
|
1
|
+
{"version":3,"file":"monaco-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-frontend-application-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClJ,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAA0C,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAG1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AAOjG,qBACa,qCAAsC,YAAW,+BAA+B,EAAE,kBAAkB;IAC7G,SAAS,CAAC,QAAQ,CAAC,WAAW,kCAAyC;IACvE,SAAS,CAAC,YAAY,SAAK;IAG3B,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;IAGxE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IAG7D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE9B,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAG5F,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,IAAI,IAAI,IAAI;IAwBtB,UAAU,IAAI,IAAI;IAUlB,OAAO,IAAI,IAAI;IA+Bf;;;;;;OAMG;IACH,SAAS,KAAK,sBAAsB,IAAI,4BAA4B,CAEnE;IAED,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI;IA2CzE;;;;OAIG;IACH,SAAS,CAAC,kCAAkC,IAAI,IAAI;CA8BvD"}
|
|
@@ -29,9 +29,6 @@ const editorOptions_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/
|
|
|
29
29
|
const core_1 = require("@theia/core");
|
|
30
30
|
const editor_generated_preference_schema_1 = require("@theia/editor/lib/common/editor-generated-preference-schema");
|
|
31
31
|
const workspace_file_service_1 = require("@theia/workspace/lib/common/workspace-file-service");
|
|
32
|
-
const secondary_window_handler_1 = require("@theia/core/lib/browser/secondary-window-handler");
|
|
33
|
-
const browser_2 = require("@theia/editor/lib/browser");
|
|
34
|
-
const monaco_editor_1 = require("./monaco-editor");
|
|
35
32
|
const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
|
|
36
33
|
const standaloneTheme_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/common/standaloneTheme");
|
|
37
34
|
const secondary_window_service_1 = require("@theia/core/lib/browser/window/secondary-window-service");
|
|
@@ -77,23 +74,37 @@ let MonacoFrontendApplicationContribution = class MonacoFrontendApplicationContr
|
|
|
77
74
|
// when the first standalone editor is opened, so popups that rely on those variables (e.g. the chat
|
|
78
75
|
// input's suggest widget) are unstyled until then. Register the main window up front so the variables
|
|
79
76
|
// are available document-wide from launch; `_updateCSS` keeps the stylesheet in sync on theme changes.
|
|
80
|
-
|
|
81
|
-
this.
|
|
82
|
-
if (widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_editor_1.MonacoEditor) {
|
|
83
|
-
const themeService = standaloneServices_1.StandaloneServices.get(standaloneTheme_1.IStandaloneThemeService);
|
|
84
|
-
themeService.registerEditorContainer(widget.node);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
this.secondaryWindowService.onWindowOpened(window => {
|
|
77
|
+
this.standaloneThemeService.registerEditorContainer(document.body);
|
|
78
|
+
this.secondaryWindowService.onWindowLoaded(window => {
|
|
88
79
|
const codeWindow = window;
|
|
89
80
|
codeWindow.vscodeWindowId = this.nextWindowId++;
|
|
90
|
-
|
|
81
|
+
const toDispose = new core_1.DisposableCollection();
|
|
82
|
+
toDispose.push((0, dom_1.registerWindow)(codeWindow));
|
|
83
|
+
// Inject Monaco's theme stylesheet (`monaco-colors`, defining the `--vscode-*`
|
|
84
|
+
// variables and token colors) into the new window's document. Without it, Monaco
|
|
85
|
+
// editors in secondary windows have no theme colors: invisible cursor and
|
|
86
|
+
// selection, unstyled suggest widget. Registering the document body covers all
|
|
87
|
+
// widgets moved to this window, e.g. the AI chat view with its input editor.
|
|
88
|
+
// See https://github.com/eclipse-theia/theia/issues/15164
|
|
89
|
+
toDispose.push(this.standaloneThemeService.registerEditorContainer(codeWindow.document.body));
|
|
90
|
+
this.windowsById.set(codeWindow.vscodeWindowId, toDispose);
|
|
91
91
|
});
|
|
92
92
|
this.secondaryWindowService.onWindowClosed(window => {
|
|
93
93
|
const codeWindow = window;
|
|
94
94
|
this.windowsById.get(codeWindow.vscodeWindowId)?.dispose();
|
|
95
|
+
this.windowsById.delete(codeWindow.vscodeWindowId);
|
|
95
96
|
});
|
|
96
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Theia's {@link MonacoStandaloneThemeService} override, which creates the `monaco-colors`
|
|
100
|
+
* stylesheet in the target node's own document. The upstream `StandaloneThemeService` would
|
|
101
|
+
* only ever create a single global stylesheet in the main document and silently no-op for
|
|
102
|
+
* nodes in other documents, so this contribution depends on the Theia override being bound
|
|
103
|
+
* (see `monaco-init.ts`).
|
|
104
|
+
*/
|
|
105
|
+
get standaloneThemeService() {
|
|
106
|
+
return standaloneServices_1.StandaloneServices.get(standaloneTheme_1.IStandaloneThemeService);
|
|
107
|
+
}
|
|
97
108
|
registerThemeStyle(theme, collector) {
|
|
98
109
|
if ((0, theme_1.isHighContrast)(theme.type)) {
|
|
99
110
|
const focusBorder = theme.getColor('focusBorder');
|
|
@@ -193,10 +204,6 @@ tslib_1.__decorate([
|
|
|
193
204
|
(0, inversify_1.inject)(workspace_file_service_1.WorkspaceFileService),
|
|
194
205
|
tslib_1.__metadata("design:type", workspace_file_service_1.WorkspaceFileService)
|
|
195
206
|
], MonacoFrontendApplicationContribution.prototype, "workspaceFileService", void 0);
|
|
196
|
-
tslib_1.__decorate([
|
|
197
|
-
(0, inversify_1.inject)(secondary_window_handler_1.SecondaryWindowHandler),
|
|
198
|
-
tslib_1.__metadata("design:type", secondary_window_handler_1.SecondaryWindowHandler)
|
|
199
|
-
], MonacoFrontendApplicationContribution.prototype, "secondaryWindowHandler", void 0);
|
|
200
207
|
tslib_1.__decorate([
|
|
201
208
|
(0, inversify_1.inject)(secondary_window_service_1.SecondaryWindowService),
|
|
202
209
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/monaco-frontend-application-contribution.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,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAiF;AACjF,qDAAkJ;AAClJ,uFAAiF;AACjF,oDAAoD;AACpD,qGAAmH;AAEnH,2EAAqE;AACrE,qEAAgE;AAChE,wDAA8D;AAC9D,uGAA2H;AAC3H,
|
|
1
|
+
{"version":3,"file":"monaco-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/monaco-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { KeybindingContribution, KeybindingRegistry, KeyCode } from '@theia/core/lib/browser';
|
|
2
2
|
import { MonacoCommandRegistry } from './monaco-command-registry';
|
|
3
|
-
import { CommandRegistry, DisposableCollection } from '@theia/core';
|
|
3
|
+
import { CommandRegistry, DisposableCollection, ILogger } from '@theia/core';
|
|
4
4
|
import { MonacoContextKeyService } from './monaco-context-key-service';
|
|
5
5
|
export declare class MonacoKeybindingContribution implements KeybindingContribution {
|
|
6
6
|
protected toDisposeOnKeybindingChange: DisposableCollection;
|
|
@@ -8,6 +8,7 @@ export declare class MonacoKeybindingContribution implements KeybindingContribut
|
|
|
8
8
|
protected readonly keybindings: KeybindingRegistry;
|
|
9
9
|
protected readonly theiaCommandRegistry: CommandRegistry;
|
|
10
10
|
protected readonly contextKeyService: MonacoContextKeyService;
|
|
11
|
+
protected readonly logger: ILogger;
|
|
11
12
|
protected init(): void;
|
|
12
13
|
registerKeybindings(registry: KeybindingRegistry): void;
|
|
13
14
|
protected updateMonacoKeybindings(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-keybinding.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAmB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAsB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"monaco-keybinding.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAmB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAsB,OAAO,EAAE,MAAM,aAAa,CAAC;AAKjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,qBACa,4BAA6B,YAAW,sBAAsB;IAEvE,SAAS,CAAC,2BAA2B,uBAA8B;IAEpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAG/F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAiBvD,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAsBzC,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM;IAU5D,SAAS,CAAC,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;CAiBlE"}
|
|
@@ -72,7 +72,7 @@ let MonacoKeybindingContribution = class MonacoKeybindingContribution {
|
|
|
72
72
|
toMonacoKeybindingNumber(codes) {
|
|
73
73
|
const [firstPart, secondPart] = codes;
|
|
74
74
|
if (codes.length > 2) {
|
|
75
|
-
|
|
75
|
+
this.logger.warn('Key chords should not consist of more than two parts; got ', codes);
|
|
76
76
|
}
|
|
77
77
|
const encodedFirstPart = this.toSingleMonacoKeybindingNumber(firstPart);
|
|
78
78
|
const encodedSecondPart = secondPart ? this.toSingleMonacoKeybindingNumber(secondPart) << 16 : 0;
|
|
@@ -113,6 +113,11 @@ tslib_1.__decorate([
|
|
|
113
113
|
(0, inversify_1.inject)(monaco_context_key_service_1.MonacoContextKeyService),
|
|
114
114
|
tslib_1.__metadata("design:type", monaco_context_key_service_1.MonacoContextKeyService)
|
|
115
115
|
], MonacoKeybindingContribution.prototype, "contextKeyService", void 0);
|
|
116
|
+
tslib_1.__decorate([
|
|
117
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
118
|
+
(0, inversify_1.named)('monaco:MonacoKeybindingContribution'),
|
|
119
|
+
tslib_1.__metadata("design:type", Object)
|
|
120
|
+
], MonacoKeybindingContribution.prototype, "logger", void 0);
|
|
116
121
|
tslib_1.__decorate([
|
|
117
122
|
(0, inversify_1.postConstruct)(),
|
|
118
123
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-keybinding.js","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"monaco-keybinding.js","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,6 +139,7 @@ tslib_1.__decorate([
|
|
|
139
139
|
], MonacoTextModelService.prototype, "filters", void 0);
|
|
140
140
|
tslib_1.__decorate([
|
|
141
141
|
(0, inversify_1.inject)(logger_1.ILogger),
|
|
142
|
+
(0, inversify_1.named)('monaco:MonacoTextModelService'),
|
|
142
143
|
tslib_1.__metadata("design:type", Object)
|
|
143
144
|
], MonacoTextModelService.prototype, "logger", void 0);
|
|
144
145
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-text-model-service.js","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"monaco-text-model-service.js","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-textmate-service.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAwB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAwB,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAQhF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,qBACa,qBAAsB,YAAW,+BAA+B;IAEzE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAEjD;IAEF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,cAAqB;IAE3D,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC;IAGpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IAGjG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAE5D,UAAU,IAAI,IAAI;IA+BlB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,uBAA8B;IAEvE,SAAS,CAAC,WAAW,IAAI,IAAI;IAiB7B,SAAS,KAAK,kBAAkB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"monaco-textmate-service.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAwB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAwB,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAQhF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,qBACa,qBAAsB,YAAW,+BAA+B;IAEzE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAEjD;IAEF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,cAAqB;IAE3D,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC;IAGpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IAGjG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAE5D,UAAU,IAAI,IAAI;IA+BlB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,uBAA8B;IAEvE,SAAS,CAAC,WAAW,IAAI,IAAI;IAiB7B,SAAS,KAAK,kBAAkB,IAAI,MAAM,CAGzC;IAED,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;cAU9B,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CtG,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU;CAQxE"}
|
|
@@ -81,7 +81,8 @@ let MonacoTextmateService = class MonacoTextmateService {
|
|
|
81
81
|
monaco.editor.setTheme(currentEditorTheme);
|
|
82
82
|
}
|
|
83
83
|
get currentEditorTheme() {
|
|
84
|
-
|
|
84
|
+
const theme = this.themeService.getCurrentTheme();
|
|
85
|
+
return theme.editorTheme || monaco_theme_registry_1.MonacoThemeRegistry.getDefaultTheme(theme.type);
|
|
85
86
|
}
|
|
86
87
|
activateLanguage(language) {
|
|
87
88
|
const toDispose = new core_1.DisposableCollection(core_1.Disposable.create(() => { }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-textmate-service.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,kDAAkD;AAClD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAyE;AAEzE,sCAA8F;AAC9F,qDAAgG;AAChG,6DAA+D;AAC/D,mEAAsG;AACtG,6DAAgF;AAChF,2DAAuD;AACvD,mEAA8D;AAC9D,oFAAgF;AAChF,oDAAoD;AACpD,wFAAgG;AAChG,+GAAoH;AACpH,sHAAmH;AACnH,gGAAqG;AACrG,wHAA4H;AAE5H,6DAAgF;AAGzE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAEgB,oBAAe,GAAoB;YAClD,SAAS,EAAE,GAAG;SACjB,CAAC;QAEiB,wBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QA2DxC,2BAAsB,GAAG,IAAI,2BAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"monaco-textmate-service.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import * as monaco from '@theia/monaco-editor-core';
|
|
|
2
2
|
import { Color } from '@theia/monaco-editor-core/esm/vs/base/common/color';
|
|
3
3
|
import { MixStandaloneTheme, TextmateRegistryFactory, ThemeMix } from './monaco-theme-types';
|
|
4
4
|
import { ILogger } from '@theia/core';
|
|
5
|
+
import { ThemeType } from '@theia/core/lib/common/theme';
|
|
5
6
|
export declare class MonacoThemeRegistry {
|
|
6
7
|
protected readonly registryFactory: TextmateRegistryFactory;
|
|
7
8
|
protected readonly logger: ILogger;
|
|
@@ -26,5 +27,10 @@ export declare namespace MonacoThemeRegistry {
|
|
|
26
27
|
const LIGHT_DEFAULT_THEME = "light-theia";
|
|
27
28
|
const HC_DEFAULT_THEME = "hc-theia";
|
|
28
29
|
const HC_LIGHT_THEME = "hc-theia-light";
|
|
30
|
+
/**
|
|
31
|
+
* The default editor theme for a color theme that does not provide one of its own.
|
|
32
|
+
* It has to match the type, otherwise e.g. a light theme is rendered on a dark base.
|
|
33
|
+
*/
|
|
34
|
+
function getDefaultTheme(type: ThemeType): string;
|
|
29
35
|
}
|
|
30
36
|
//# sourceMappingURL=monaco-theme-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-theme-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-registry.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAIpD,OAAO,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAC3E,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"monaco-theme-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-registry.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAIpD,OAAO,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAoB,uBAAuB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,qBACa,mBAAmB;IAEK,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAG7F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,uBAAuB,IAAI,IAAI;IAiB/B,YAAY,IAAI,QAAQ;IACxB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAMhD,QAAQ,IAAI,kBAAkB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAKtD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS;IAM9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAiB5C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ;IAiErI,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,GAAG,IAAI;IAcnG,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;CAalF;AAED,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,kBAAkB,eAAe,CAAC;IACxC,MAAM,mBAAmB,gBAAgB,CAAC;IAC1C,MAAM,gBAAgB,aAAa,CAAC;IACpC,MAAM,cAAc,mBAAmB,CAAC;IAE/C;;;OAGG;IACH,SAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAOvD;CACJ"}
|
|
@@ -54,6 +54,19 @@ let MonacoThemeRegistry = class MonacoThemeRegistry {
|
|
|
54
54
|
return theme;
|
|
55
55
|
}
|
|
56
56
|
setTheme(name, data) {
|
|
57
|
+
// monaco lifts these two into token rules and throws on anything else, keeping the previous editor theme.
|
|
58
|
+
// all other colors are read via monaco's `Color.fromHex`, which accepts shorthand hex as is.
|
|
59
|
+
for (const key of ['editor.foreground', 'editor.background']) {
|
|
60
|
+
if (key in data.colors) {
|
|
61
|
+
const normalized = this.normalizeColor(data.colors[key]);
|
|
62
|
+
if (normalized) {
|
|
63
|
+
data.colors[key] = normalized;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
delete data.colors[key];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
57
70
|
// monaco auto refreshes a theme with new data
|
|
58
71
|
monaco.editor.defineTheme(name, data);
|
|
59
72
|
}
|
|
@@ -140,13 +153,14 @@ let MonacoThemeRegistry = class MonacoThemeRegistry {
|
|
|
140
153
|
if (!color) {
|
|
141
154
|
return undefined;
|
|
142
155
|
}
|
|
143
|
-
const
|
|
144
|
-
if (
|
|
156
|
+
const expanded = monaco_theme_types_1.MonacoThemeColor.expandShorthandHex(String(color));
|
|
157
|
+
if (!monaco_theme_types_1.MonacoThemeColor.isTokenColor(expanded)) {
|
|
145
158
|
// ignoring not normalized colors to avoid breaking token color indexes between monaco and vscode-textmate
|
|
146
|
-
this.logger.error(`Color '${
|
|
159
|
+
this.logger.error(`Color '${expanded}' is NOT normalized, it must be a 6 or 8 digit hex value.`);
|
|
147
160
|
return undefined;
|
|
148
161
|
}
|
|
149
|
-
|
|
162
|
+
// monaco discards alpha for token colors, drop it here so that its color map stays aligned with vscode-textmate's
|
|
163
|
+
return expanded.slice(0, 7);
|
|
150
164
|
}
|
|
151
165
|
};
|
|
152
166
|
exports.MonacoThemeRegistry = MonacoThemeRegistry;
|
|
@@ -167,5 +181,18 @@ exports.MonacoThemeRegistry = MonacoThemeRegistry = tslib_1.__decorate([
|
|
|
167
181
|
MonacoThemeRegistry.LIGHT_DEFAULT_THEME = 'light-theia';
|
|
168
182
|
MonacoThemeRegistry.HC_DEFAULT_THEME = 'hc-theia';
|
|
169
183
|
MonacoThemeRegistry.HC_LIGHT_THEME = 'hc-theia-light';
|
|
184
|
+
/**
|
|
185
|
+
* The default editor theme for a color theme that does not provide one of its own.
|
|
186
|
+
* It has to match the type, otherwise e.g. a light theme is rendered on a dark base.
|
|
187
|
+
*/
|
|
188
|
+
function getDefaultTheme(type) {
|
|
189
|
+
switch (type) {
|
|
190
|
+
case 'light': return MonacoThemeRegistry.LIGHT_DEFAULT_THEME;
|
|
191
|
+
case 'hc': return MonacoThemeRegistry.HC_DEFAULT_THEME;
|
|
192
|
+
case 'hcLight': return MonacoThemeRegistry.HC_LIGHT_THEME;
|
|
193
|
+
default: return MonacoThemeRegistry.DARK_DEFAULT_THEME;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
MonacoThemeRegistry.getDefaultTheme = getDefaultTheme;
|
|
170
197
|
})(MonacoThemeRegistry || (exports.MonacoThemeRegistry = MonacoThemeRegistry = {}));
|
|
171
198
|
//# sourceMappingURL=monaco-theme-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-theme-registry.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-registry.ts"],"names":[],"mappings":";AACA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,uDAAuD;AAEvD,4DAAyE;AAEzE,oDAAoD;AACpD,+GAAoH;AACpH,sHAAmH;AAGnH,
|
|
1
|
+
{"version":3,"file":"monaco-theme-registry.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,12 @@ export type OnigasmProvider = () => Promise<IOnigLib>;
|
|
|
11
11
|
export declare const TextmateRegistryFactory: unique symbol;
|
|
12
12
|
export type TextmateRegistryFactory = (currentTheme?: ThemeMix) => Registry;
|
|
13
13
|
export type MonacoThemeColor = monaco.editor.IColors;
|
|
14
|
+
export declare namespace MonacoThemeColor {
|
|
15
|
+
/** Expands shorthand hex (`#RGB`, `#RGBA`) to long form; other values pass through. */
|
|
16
|
+
function expandShorthandHex(color: string): string;
|
|
17
|
+
/** Whether monaco accepts `color` as a token color, i.e. 6/8-digit hex (see monaco's `ColorMap.getId`). */
|
|
18
|
+
function isTokenColor(color: string): boolean;
|
|
19
|
+
}
|
|
14
20
|
export interface MonacoTokenRule extends monaco.editor.ITokenThemeRule {
|
|
15
21
|
}
|
|
16
22
|
export type MonacoBuiltinTheme = monaco.editor.BuiltinTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-theme-types.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2EAA2E,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,WAAW,QAAS,SAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB;CAAI;AACnF,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,SAAS,EAAE,QAAQ,CAAA;CACtB;AAED,eAAO,MAAM,eAAe,eAA4B,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;AACrD,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,CAAC,eAAe;CAAI;AAC1E,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5D,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB;IACnE,IAAI,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"monaco-theme-types.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2EAA2E,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,WAAW,QAAS,SAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB;CAAI;AACnF,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,SAAS,EAAE,QAAQ,CAAA;CACtB;AAED,eAAO,MAAM,eAAe,eAA4B,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;AACrD,yBAAiB,gBAAgB,CAAC;IAC9B,uFAAuF;IACvF,SAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;IACD,2GAA2G;IAC3G,SAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;CACJ;AACD,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,CAAC,eAAe;CAAI;AAC1E,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5D,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB;IACnE,IAAI,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -15,8 +15,23 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.TextmateRegistryFactory = exports.OnigasmProvider = void 0;
|
|
18
|
+
exports.MonacoThemeColor = exports.TextmateRegistryFactory = exports.OnigasmProvider = void 0;
|
|
19
19
|
exports.OnigasmProvider = Symbol('OnigasmProvider');
|
|
20
20
|
exports.TextmateRegistryFactory = Symbol('TextmateRegistryFactory');
|
|
21
|
+
var MonacoThemeColor;
|
|
22
|
+
(function (MonacoThemeColor) {
|
|
23
|
+
/** Expands shorthand hex (`#RGB`, `#RGBA`) to long form; other values pass through. */
|
|
24
|
+
function expandShorthandHex(color) {
|
|
25
|
+
return /^#[0-9a-fA-F]{3,4}$/.test(color)
|
|
26
|
+
? '#' + [...color.slice(1)].map(digit => digit + digit).join('')
|
|
27
|
+
: color;
|
|
28
|
+
}
|
|
29
|
+
MonacoThemeColor.expandShorthandHex = expandShorthandHex;
|
|
30
|
+
/** Whether monaco accepts `color` as a token color, i.e. 6/8-digit hex (see monaco's `ColorMap.getId`). */
|
|
31
|
+
function isTokenColor(color) {
|
|
32
|
+
return /^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(color);
|
|
33
|
+
}
|
|
34
|
+
MonacoThemeColor.isTokenColor = isTokenColor;
|
|
35
|
+
})(MonacoThemeColor || (exports.MonacoThemeColor = MonacoThemeColor = {}));
|
|
21
36
|
;
|
|
22
37
|
//# sourceMappingURL=monaco-theme-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-theme-types.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-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,gFAAgF;AAChF,gFAAgF;;;AAWnE,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE5C,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"monaco-theme-types.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-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,gFAAgF;AAChF,gFAAgF;;;AAWnE,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE5C,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAIzE,IAAiB,gBAAgB,CAWhC;AAXD,WAAiB,gBAAgB;IAC7B,uFAAuF;IACvF,SAAgB,kBAAkB,CAAC,KAAa;QAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IAJe,mCAAkB,qBAIjC,CAAA;IACD,2GAA2G;IAC3G,SAAgB,YAAY,CAAC,KAAa;QACtC,OAAO,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAFe,6BAAY,eAE3B,CAAA;AACL,CAAC,EAXgB,gBAAgB,gCAAhB,gBAAgB,QAWhC;AACyE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-theme-types.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-types.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 Ehab Younes 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-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const chai_1 = require("chai");
|
|
19
|
+
const monaco_theme_types_1 = require("./monaco-theme-types");
|
|
20
|
+
describe('MonacoThemeColor', () => {
|
|
21
|
+
// Themes may use shorthand hex, e.g. Alabaster sets 'editor.foreground': '#000', which
|
|
22
|
+
// monaco rejects with 'Illegal value for token color', keeping the previous editor theme.
|
|
23
|
+
it('should expand shorthand hex colors', () => {
|
|
24
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.expandShorthandHex('#000')).to.equal('#000000');
|
|
25
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.expandShorthandHex('#a1B2')).to.equal('#aa11BB22');
|
|
26
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.expandShorthandHex('#123456')).to.equal('#123456');
|
|
27
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.expandShorthandHex('#12345678')).to.equal('#12345678');
|
|
28
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.expandShorthandHex('red')).to.equal('red');
|
|
29
|
+
});
|
|
30
|
+
it('should accept only colors monaco allows as token colors', () => {
|
|
31
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.isTokenColor('#123456')).to.equal(true);
|
|
32
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.isTokenColor('#12345678')).to.equal(true);
|
|
33
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.isTokenColor(monaco_theme_types_1.MonacoThemeColor.expandShorthandHex('#000'))).to.equal(true);
|
|
34
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.isTokenColor('#123')).to.equal(false);
|
|
35
|
+
(0, chai_1.expect)(monaco_theme_types_1.MonacoThemeColor.isTokenColor('red')).to.equal(false);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=monaco-theme-types.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-theme-types.spec.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-types.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,6DAAwD;AAExD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAE9B,uFAAuF;IACvF,0FAA0F;IAC1F,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,IAAA,aAAM,EAAC,qCAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,qCAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAA,aAAM,EAAC,qCAAgB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAA,aAAM,EAAC,qCAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAA,aAAM,EAAC,qCAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,IAAA,aAAM,EAAC,qCAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChE,IAAA,aAAM,EAAC,qCAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClE,IAAA,aAAM,EAAC,qCAAgB,CAAC,YAAY,CAAC,qCAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,qCAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,qCAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IGrammarConfiguration } from 'vscode-textmate';
|
|
2
2
|
import { TokenizerOption } from './textmate-tokenizer';
|
|
3
3
|
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
4
|
+
import { ILogger } from '@theia/core';
|
|
4
5
|
export interface TextmateGrammarConfiguration extends IGrammarConfiguration {
|
|
5
6
|
/**
|
|
6
7
|
* Optional options to further refine the tokenization of the grammar.
|
|
@@ -17,6 +18,7 @@ export interface GrammarDefinition {
|
|
|
17
18
|
location?: string;
|
|
18
19
|
}
|
|
19
20
|
export declare class TextmateRegistry {
|
|
21
|
+
protected readonly logger: ILogger;
|
|
20
22
|
protected readonly scopeToProvider: Map<string, GrammarDefinitionProvider[]>;
|
|
21
23
|
protected readonly languageToConfig: Map<string, TextmateGrammarConfiguration[]>;
|
|
22
24
|
protected readonly languageIdToScope: Map<string, string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textmate-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/textmate-registry.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"textmate-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/textmate-registry.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IAEvE;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAE9C;AAED,MAAM,WAAW,yBAAyB;IACtC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnD,aAAa,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBACa,gBAAgB;IAGzB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,eAAe,2CAAkD;IACpF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,8CAAqD;IACxF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,wBAA+B;IAEnE,IAAI,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAExC;IAED,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,GAAG,UAAU;IAoB5F,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAKjE,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU;IAgB7E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKhD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAShD,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,GAAG,UAAU;IAgBlG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,4BAA4B;CAK5E"}
|
|
@@ -19,6 +19,7 @@ exports.TextmateRegistry = void 0;
|
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
22
23
|
let TextmateRegistry = class TextmateRegistry {
|
|
23
24
|
constructor() {
|
|
24
25
|
this.scopeToProvider = new Map();
|
|
@@ -34,7 +35,7 @@ let TextmateRegistry = class TextmateRegistry {
|
|
|
34
35
|
if (existingProvider) {
|
|
35
36
|
Promise.all([existingProvider.getGrammarDefinition(), provider.getGrammarDefinition()]).then(([a, b]) => {
|
|
36
37
|
if (a.location !== b.location || !a.location && !b.location) {
|
|
37
|
-
|
|
38
|
+
this.logger.warn(`a registered grammar provider for '${scope}' scope is overridden`);
|
|
38
39
|
}
|
|
39
40
|
});
|
|
40
41
|
}
|
|
@@ -55,7 +56,7 @@ let TextmateRegistry = class TextmateRegistry {
|
|
|
55
56
|
const scopes = this.languageIdToScope.get(languageId) || [];
|
|
56
57
|
const existingScope = scopes[0];
|
|
57
58
|
if (typeof existingScope === 'string') {
|
|
58
|
-
|
|
59
|
+
this.logger.warn(`'${languageId}' language is remapped from '${existingScope}' to '${scope}' scope`);
|
|
59
60
|
}
|
|
60
61
|
scopes.unshift(scope);
|
|
61
62
|
this.languageIdToScope.set(languageId, scopes);
|
|
@@ -82,7 +83,7 @@ let TextmateRegistry = class TextmateRegistry {
|
|
|
82
83
|
const configs = this.languageToConfig.get(languageId) || [];
|
|
83
84
|
const existingConfig = configs[0];
|
|
84
85
|
if (existingConfig) {
|
|
85
|
-
|
|
86
|
+
this.logger.warn(`a registered grammar configuration for '${languageId}' language is overridden`);
|
|
86
87
|
}
|
|
87
88
|
configs.unshift(config);
|
|
88
89
|
this.languageToConfig.set(languageId, configs);
|
|
@@ -99,6 +100,11 @@ let TextmateRegistry = class TextmateRegistry {
|
|
|
99
100
|
}
|
|
100
101
|
};
|
|
101
102
|
exports.TextmateRegistry = TextmateRegistry;
|
|
103
|
+
tslib_1.__decorate([
|
|
104
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
105
|
+
(0, inversify_1.named)('monaco:TextmateRegistry'),
|
|
106
|
+
tslib_1.__metadata("design:type", Object)
|
|
107
|
+
], TextmateRegistry.prototype, "logger", void 0);
|
|
102
108
|
exports.TextmateRegistry = TextmateRegistry = tslib_1.__decorate([
|
|
103
109
|
(0, inversify_1.injectable)()
|
|
104
110
|
], TextmateRegistry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textmate-registry.js","sourceRoot":"","sources":["../../../src/browser/textmate/textmate-registry.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,gFAAgF;AAChF,gFAAgF;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"textmate-registry.js","sourceRoot":"","sources":["../../../src/browser/textmate/textmate-registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/monaco",
|
|
3
|
-
"version": "1.75.0-next.
|
|
3
|
+
"version": "1.75.0-next.43+8b231a496",
|
|
4
4
|
"description": "Theia - Monaco Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.75.0-next.
|
|
7
|
-
"@theia/editor": "1.75.0-next.
|
|
8
|
-
"@theia/filesystem": "1.75.0-next.
|
|
9
|
-
"@theia/markers": "1.75.0-next.
|
|
6
|
+
"@theia/core": "1.75.0-next.43+8b231a496",
|
|
7
|
+
"@theia/editor": "1.75.0-next.43+8b231a496",
|
|
8
|
+
"@theia/filesystem": "1.75.0-next.43+8b231a496",
|
|
9
|
+
"@theia/markers": "1.75.0-next.43+8b231a496",
|
|
10
10
|
"@theia/monaco-editor-core": "1.108.201",
|
|
11
|
-
"@theia/outline-view": "1.75.0-next.
|
|
12
|
-
"@theia/workspace": "1.75.0-next.
|
|
11
|
+
"@theia/outline-view": "1.75.0-next.43+8b231a496",
|
|
12
|
+
"@theia/workspace": "1.75.0-next.43+8b231a496",
|
|
13
13
|
"fast-plist": "^0.1.3",
|
|
14
14
|
"idb": "^4.0.5",
|
|
15
15
|
"jsonc-parser": "^3.3.1",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"nyc": {
|
|
58
58
|
"extends": "../../configs/nyc.json"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "8b231a49646069eab30d7ef31d047ae718def49d"
|
|
61
61
|
}
|
|
@@ -24,6 +24,7 @@ import { IOpenerService, OpenExternalOptions, OpenInternalOptions } from '@theia
|
|
|
24
24
|
import { HttpOpenHandlerOptions } from '@theia/core/lib/browser/http-open-handler';
|
|
25
25
|
import { URI } from '@theia/core/lib/common/uri';
|
|
26
26
|
import { MarkdownRenderer, MarkdownRenderOptions, MarkdownRenderResult } from '@theia/core/lib/browser/markdown-rendering/markdown-renderer';
|
|
27
|
+
import { markMarkdownLinksWired } from '@theia/core/lib/browser/markdown-rendering/markdown-link-handler';
|
|
27
28
|
import { MarkdownRenderOptions as MonacoMarkdownRenderOptions } from '@theia/monaco-editor-core/esm/vs/base/browser/markdownRenderer';
|
|
28
29
|
import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
|
|
29
30
|
import { DisposableStore } from '@theia/monaco-editor-core/esm/vs/base/common/lifecycle';
|
|
@@ -39,7 +40,12 @@ export class MonacoMarkdownRenderer implements MarkdownRenderer {
|
|
|
39
40
|
protected _openerService: OpenerService | undefined;
|
|
40
41
|
|
|
41
42
|
render(markdown: MarkdownString, options?: MarkdownRenderOptions): MarkdownRenderResult {
|
|
42
|
-
|
|
43
|
+
const rendered = this.delegate.render(markdown, this.transformOptions(options));
|
|
44
|
+
// The delegate activates links through its own opener service, which `interceptOpen`
|
|
45
|
+
// routes to Theia's. Declaring that keeps callers from wiring a second handler, which
|
|
46
|
+
// would open every link twice.
|
|
47
|
+
markMarkdownLinksWired(rendered.element);
|
|
48
|
+
return rendered;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
protected transformOptions(options?: MarkdownRenderOptions): MonacoMarkdownRenderOptions | undefined {
|
|
@@ -24,15 +24,12 @@ import { MonacoTextModelService } from './monaco-text-model-service';
|
|
|
24
24
|
import { MonacoThemingService } from './monaco-theming-service';
|
|
25
25
|
import { isHighContrast } from '@theia/core/lib/common/theme';
|
|
26
26
|
import { editorOptionsRegistry, IEditorOption } from '@theia/monaco-editor-core/esm/vs/editor/common/config/editorOptions';
|
|
27
|
-
import { MAX_SAFE_INTEGER, PreferenceSchemaService } from '@theia/core';
|
|
27
|
+
import { DisposableCollection, MAX_SAFE_INTEGER, PreferenceSchemaService } from '@theia/core';
|
|
28
28
|
import { editorGeneratedPreferenceProperties } from '@theia/editor/lib/common/editor-generated-preference-schema';
|
|
29
29
|
import { WorkspaceFileService } from '@theia/workspace/lib/common/workspace-file-service';
|
|
30
|
-
import { SecondaryWindowHandler } from '@theia/core/lib/browser/secondary-window-handler';
|
|
31
|
-
import { EditorWidget } from '@theia/editor/lib/browser';
|
|
32
|
-
import { MonacoEditor } from './monaco-editor';
|
|
33
30
|
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
34
|
-
import { StandaloneThemeService } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneThemeService';
|
|
35
31
|
import { IStandaloneThemeService } from '@theia/monaco-editor-core/esm/vs/editor/standalone/common/standaloneTheme';
|
|
32
|
+
import { MonacoStandaloneThemeService } from './monaco-standalone-theme-service';
|
|
36
33
|
import { SecondaryWindowService } from '@theia/core/lib/browser/window/secondary-window-service';
|
|
37
34
|
import { registerWindow } from '@theia/monaco-editor-core/esm/vs/base/browser/dom';
|
|
38
35
|
|
|
@@ -61,9 +58,6 @@ export class MonacoFrontendApplicationContribution implements FrontendApplicatio
|
|
|
61
58
|
|
|
62
59
|
@inject(WorkspaceFileService) protected readonly workspaceFileService: WorkspaceFileService;
|
|
63
60
|
|
|
64
|
-
@inject(SecondaryWindowHandler)
|
|
65
|
-
protected readonly secondaryWindowHandler: SecondaryWindowHandler;
|
|
66
|
-
|
|
67
61
|
@inject(SecondaryWindowService)
|
|
68
62
|
protected readonly secondaryWindowService: SecondaryWindowService;
|
|
69
63
|
|
|
@@ -108,27 +102,42 @@ export class MonacoFrontendApplicationContribution implements FrontendApplicatio
|
|
|
108
102
|
// when the first standalone editor is opened, so popups that rely on those variables (e.g. the chat
|
|
109
103
|
// input's suggest widget) are unstyled until then. Register the main window up front so the variables
|
|
110
104
|
// are available document-wide from launch; `_updateCSS` keeps the stylesheet in sync on theme changes.
|
|
111
|
-
|
|
105
|
+
this.standaloneThemeService.registerEditorContainer(document.body);
|
|
112
106
|
|
|
113
|
-
this.
|
|
114
|
-
if (widget instanceof EditorWidget && widget.editor instanceof MonacoEditor) {
|
|
115
|
-
const themeService = StandaloneServices.get(IStandaloneThemeService) as StandaloneThemeService;
|
|
116
|
-
themeService.registerEditorContainer(widget.node);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
this.secondaryWindowService.onWindowOpened(window => {
|
|
107
|
+
this.secondaryWindowService.onWindowLoaded(window => {
|
|
120
108
|
const codeWindow: CodeWindow = window as CodeWindow;
|
|
121
109
|
codeWindow.vscodeWindowId = this.nextWindowId++;
|
|
122
110
|
|
|
123
|
-
|
|
111
|
+
const toDispose = new DisposableCollection();
|
|
112
|
+
toDispose.push(registerWindow(codeWindow));
|
|
113
|
+
// Inject Monaco's theme stylesheet (`monaco-colors`, defining the `--vscode-*`
|
|
114
|
+
// variables and token colors) into the new window's document. Without it, Monaco
|
|
115
|
+
// editors in secondary windows have no theme colors: invisible cursor and
|
|
116
|
+
// selection, unstyled suggest widget. Registering the document body covers all
|
|
117
|
+
// widgets moved to this window, e.g. the AI chat view with its input editor.
|
|
118
|
+
// See https://github.com/eclipse-theia/theia/issues/15164
|
|
119
|
+
toDispose.push(this.standaloneThemeService.registerEditorContainer(codeWindow.document.body));
|
|
120
|
+
this.windowsById.set(codeWindow.vscodeWindowId, toDispose);
|
|
124
121
|
});
|
|
125
122
|
|
|
126
123
|
this.secondaryWindowService.onWindowClosed(window => {
|
|
127
124
|
const codeWindow: CodeWindow = window as CodeWindow;
|
|
128
125
|
this.windowsById.get(codeWindow.vscodeWindowId)?.dispose();
|
|
126
|
+
this.windowsById.delete(codeWindow.vscodeWindowId);
|
|
129
127
|
});
|
|
130
128
|
}
|
|
131
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Theia's {@link MonacoStandaloneThemeService} override, which creates the `monaco-colors`
|
|
132
|
+
* stylesheet in the target node's own document. The upstream `StandaloneThemeService` would
|
|
133
|
+
* only ever create a single global stylesheet in the main document and silently no-op for
|
|
134
|
+
* nodes in other documents, so this contribution depends on the Theia override being bound
|
|
135
|
+
* (see `monaco-init.ts`).
|
|
136
|
+
*/
|
|
137
|
+
protected get standaloneThemeService(): MonacoStandaloneThemeService {
|
|
138
|
+
return StandaloneServices.get(IStandaloneThemeService) as MonacoStandaloneThemeService;
|
|
139
|
+
}
|
|
140
|
+
|
|
132
141
|
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
133
142
|
if (isHighContrast(theme.type)) {
|
|
134
143
|
const focusBorder = theme.getColor('focusBorder');
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
|
|
17
|
+
import { injectable, inject, postConstruct, named } from '@theia/core/shared/inversify';
|
|
18
18
|
import { KeybindingContribution, KeybindingRegistry, KeybindingScope, KeyCode } from '@theia/core/lib/browser';
|
|
19
19
|
import { MonacoCommands } from './monaco-command';
|
|
20
20
|
import { MonacoCommandRegistry } from './monaco-command-registry';
|
|
21
|
-
import { CommandRegistry, DisposableCollection, environment, isOSX } from '@theia/core';
|
|
21
|
+
import { CommandRegistry, DisposableCollection, environment, isOSX, ILogger } from '@theia/core';
|
|
22
22
|
import { MonacoResolvedKeybinding } from './monaco-resolved-keybinding';
|
|
23
23
|
import { KeybindingsRegistry } from '@theia/monaco-editor-core/esm/vs/platform/keybinding/common/keybindingsRegistry';
|
|
24
24
|
import { StandaloneKeybindingService, StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
@@ -37,6 +37,9 @@ export class MonacoKeybindingContribution implements KeybindingContribution {
|
|
|
37
37
|
@inject(CommandRegistry) protected readonly theiaCommandRegistry: CommandRegistry;
|
|
38
38
|
@inject(MonacoContextKeyService) protected readonly contextKeyService: MonacoContextKeyService;
|
|
39
39
|
|
|
40
|
+
@inject(ILogger) @named('monaco:MonacoKeybindingContribution')
|
|
41
|
+
protected readonly logger: ILogger;
|
|
42
|
+
|
|
40
43
|
@postConstruct()
|
|
41
44
|
protected init(): void {
|
|
42
45
|
this.keybindings.onKeybindingsChanged(() => this.updateMonacoKeybindings());
|
|
@@ -84,7 +87,7 @@ export class MonacoKeybindingContribution implements KeybindingContribution {
|
|
|
84
87
|
protected toMonacoKeybindingNumber(codes: KeyCode[]): number {
|
|
85
88
|
const [firstPart, secondPart] = codes;
|
|
86
89
|
if (codes.length > 2) {
|
|
87
|
-
|
|
90
|
+
this.logger.warn('Key chords should not consist of more than two parts; got ', codes);
|
|
88
91
|
}
|
|
89
92
|
const encodedFirstPart = this.toSingleMonacoKeybindingNumber(firstPart);
|
|
90
93
|
const encodedSecondPart = secondPart ? this.toSingleMonacoKeybindingNumber(secondPart) << 16 : 0;
|
|
@@ -88,7 +88,7 @@ export class MonacoTextModelService implements ITextModelService {
|
|
|
88
88
|
@named(MonacoEditorModelFilter)
|
|
89
89
|
protected readonly filters: ContributionProvider<MonacoEditorModelFilter>;
|
|
90
90
|
|
|
91
|
-
@inject(ILogger)
|
|
91
|
+
@inject(ILogger) @named('monaco:MonacoTextModelService')
|
|
92
92
|
protected readonly logger: ILogger;
|
|
93
93
|
|
|
94
94
|
@inject(FileService)
|
|
@@ -119,7 +119,8 @@ export class MonacoTextmateService implements FrontendApplicationContribution {
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
protected get currentEditorTheme(): string {
|
|
122
|
-
|
|
122
|
+
const theme = this.themeService.getCurrentTheme();
|
|
123
|
+
return theme.editorTheme || MonacoThemeRegistry.getDefaultTheme(theme.type);
|
|
123
124
|
}
|
|
124
125
|
|
|
125
126
|
activateLanguage(language: string): Disposable {
|
|
@@ -24,8 +24,9 @@ import { IStandaloneThemeService } from '@theia/monaco-editor-core/esm/vs/editor
|
|
|
24
24
|
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
25
25
|
import { StandaloneThemeService } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneThemeService';
|
|
26
26
|
import { Color } from '@theia/monaco-editor-core/esm/vs/base/common/color';
|
|
27
|
-
import { MixStandaloneTheme, TextmateRegistryFactory, ThemeMix } from './monaco-theme-types';
|
|
27
|
+
import { MixStandaloneTheme, MonacoThemeColor, TextmateRegistryFactory, ThemeMix } from './monaco-theme-types';
|
|
28
28
|
import { ILogger } from '@theia/core';
|
|
29
|
+
import { ThemeType } from '@theia/core/lib/common/theme';
|
|
29
30
|
|
|
30
31
|
@injectable()
|
|
31
32
|
export class MonacoThemeRegistry {
|
|
@@ -72,6 +73,18 @@ export class MonacoThemeRegistry {
|
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
setTheme(name: string, data: ThemeMix): void {
|
|
76
|
+
// monaco lifts these two into token rules and throws on anything else, keeping the previous editor theme.
|
|
77
|
+
// all other colors are read via monaco's `Color.fromHex`, which accepts shorthand hex as is.
|
|
78
|
+
for (const key of ['editor.foreground', 'editor.background']) {
|
|
79
|
+
if (key in data.colors) {
|
|
80
|
+
const normalized = this.normalizeColor(data.colors[key]);
|
|
81
|
+
if (normalized) {
|
|
82
|
+
data.colors[key] = normalized;
|
|
83
|
+
} else {
|
|
84
|
+
delete data.colors[key];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
75
88
|
// monaco auto refreshes a theme with new data
|
|
76
89
|
monaco.editor.defineTheme(name, data);
|
|
77
90
|
}
|
|
@@ -162,13 +175,14 @@ export class MonacoThemeRegistry {
|
|
|
162
175
|
if (!color) {
|
|
163
176
|
return undefined;
|
|
164
177
|
}
|
|
165
|
-
const
|
|
166
|
-
if (
|
|
178
|
+
const expanded = MonacoThemeColor.expandShorthandHex(String(color));
|
|
179
|
+
if (!MonacoThemeColor.isTokenColor(expanded)) {
|
|
167
180
|
// ignoring not normalized colors to avoid breaking token color indexes between monaco and vscode-textmate
|
|
168
|
-
this.logger.error(`Color '${
|
|
181
|
+
this.logger.error(`Color '${expanded}' is NOT normalized, it must be a 6 or 8 digit hex value.`);
|
|
169
182
|
return undefined;
|
|
170
183
|
}
|
|
171
|
-
|
|
184
|
+
// monaco discards alpha for token colors, drop it here so that its color map stays aligned with vscode-textmate's
|
|
185
|
+
return expanded.slice(0, 7);
|
|
172
186
|
}
|
|
173
187
|
}
|
|
174
188
|
|
|
@@ -177,4 +191,17 @@ export namespace MonacoThemeRegistry {
|
|
|
177
191
|
export const LIGHT_DEFAULT_THEME = 'light-theia';
|
|
178
192
|
export const HC_DEFAULT_THEME = 'hc-theia';
|
|
179
193
|
export const HC_LIGHT_THEME = 'hc-theia-light';
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* The default editor theme for a color theme that does not provide one of its own.
|
|
197
|
+
* It has to match the type, otherwise e.g. a light theme is rendered on a dark base.
|
|
198
|
+
*/
|
|
199
|
+
export function getDefaultTheme(type: ThemeType): string {
|
|
200
|
+
switch (type) {
|
|
201
|
+
case 'light': return LIGHT_DEFAULT_THEME;
|
|
202
|
+
case 'hc': return HC_DEFAULT_THEME;
|
|
203
|
+
case 'hcLight': return HC_LIGHT_THEME;
|
|
204
|
+
default: return DARK_DEFAULT_THEME;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
180
207
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 Ehab Younes 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-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { expect } from 'chai';
|
|
18
|
+
import { MonacoThemeColor } from './monaco-theme-types';
|
|
19
|
+
|
|
20
|
+
describe('MonacoThemeColor', () => {
|
|
21
|
+
|
|
22
|
+
// Themes may use shorthand hex, e.g. Alabaster sets 'editor.foreground': '#000', which
|
|
23
|
+
// monaco rejects with 'Illegal value for token color', keeping the previous editor theme.
|
|
24
|
+
it('should expand shorthand hex colors', () => {
|
|
25
|
+
expect(MonacoThemeColor.expandShorthandHex('#000')).to.equal('#000000');
|
|
26
|
+
expect(MonacoThemeColor.expandShorthandHex('#a1B2')).to.equal('#aa11BB22');
|
|
27
|
+
expect(MonacoThemeColor.expandShorthandHex('#123456')).to.equal('#123456');
|
|
28
|
+
expect(MonacoThemeColor.expandShorthandHex('#12345678')).to.equal('#12345678');
|
|
29
|
+
expect(MonacoThemeColor.expandShorthandHex('red')).to.equal('red');
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('should accept only colors monaco allows as token colors', () => {
|
|
33
|
+
expect(MonacoThemeColor.isTokenColor('#123456')).to.equal(true);
|
|
34
|
+
expect(MonacoThemeColor.isTokenColor('#12345678')).to.equal(true);
|
|
35
|
+
expect(MonacoThemeColor.isTokenColor(MonacoThemeColor.expandShorthandHex('#000'))).to.equal(true);
|
|
36
|
+
expect(MonacoThemeColor.isTokenColor('#123')).to.equal(false);
|
|
37
|
+
expect(MonacoThemeColor.isTokenColor('red')).to.equal(false);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -29,6 +29,18 @@ export const TextmateRegistryFactory = Symbol('TextmateRegistryFactory');
|
|
|
29
29
|
export type TextmateRegistryFactory = (currentTheme?: ThemeMix) => Registry;
|
|
30
30
|
|
|
31
31
|
export type MonacoThemeColor = monaco.editor.IColors;
|
|
32
|
+
export namespace MonacoThemeColor {
|
|
33
|
+
/** Expands shorthand hex (`#RGB`, `#RGBA`) to long form; other values pass through. */
|
|
34
|
+
export function expandShorthandHex(color: string): string {
|
|
35
|
+
return /^#[0-9a-fA-F]{3,4}$/.test(color)
|
|
36
|
+
? '#' + [...color.slice(1)].map(digit => digit + digit).join('')
|
|
37
|
+
: color;
|
|
38
|
+
}
|
|
39
|
+
/** Whether monaco accepts `color` as a token color, i.e. 6/8-digit hex (see monaco's `ColorMap.getId`). */
|
|
40
|
+
export function isTokenColor(color: string): boolean {
|
|
41
|
+
return /^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(color);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
32
44
|
export interface MonacoTokenRule extends monaco.editor.ITokenThemeRule { };
|
|
33
45
|
export type MonacoBuiltinTheme = monaco.editor.BuiltinTheme;
|
|
34
46
|
export interface MonacoTheme extends monaco.editor.IStandaloneThemeData {
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable } from '@theia/core/shared/inversify';
|
|
17
|
+
import { injectable, inject, named } from '@theia/core/shared/inversify';
|
|
18
18
|
import { IGrammarConfiguration } from 'vscode-textmate';
|
|
19
19
|
import { TokenizerOption } from './textmate-tokenizer';
|
|
20
20
|
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
21
|
+
import { ILogger } from '@theia/core';
|
|
21
22
|
|
|
22
23
|
export interface TextmateGrammarConfiguration extends IGrammarConfiguration {
|
|
23
24
|
|
|
@@ -42,6 +43,9 @@ export interface GrammarDefinition {
|
|
|
42
43
|
@injectable()
|
|
43
44
|
export class TextmateRegistry {
|
|
44
45
|
|
|
46
|
+
@inject(ILogger) @named('monaco:TextmateRegistry')
|
|
47
|
+
protected readonly logger: ILogger;
|
|
48
|
+
|
|
45
49
|
protected readonly scopeToProvider = new Map<string, GrammarDefinitionProvider[]>();
|
|
46
50
|
protected readonly languageToConfig = new Map<string, TextmateGrammarConfiguration[]>();
|
|
47
51
|
protected readonly languageIdToScope = new Map<string, string[]>();
|
|
@@ -56,7 +60,7 @@ export class TextmateRegistry {
|
|
|
56
60
|
if (existingProvider) {
|
|
57
61
|
Promise.all([existingProvider.getGrammarDefinition(), provider.getGrammarDefinition()]).then(([a, b]) => {
|
|
58
62
|
if (a.location !== b.location || !a.location && !b.location) {
|
|
59
|
-
|
|
63
|
+
this.logger.warn(`a registered grammar provider for '${scope}' scope is overridden`);
|
|
60
64
|
}
|
|
61
65
|
});
|
|
62
66
|
}
|
|
@@ -79,7 +83,7 @@ export class TextmateRegistry {
|
|
|
79
83
|
const scopes = this.languageIdToScope.get(languageId) || [];
|
|
80
84
|
const existingScope = scopes[0];
|
|
81
85
|
if (typeof existingScope === 'string') {
|
|
82
|
-
|
|
86
|
+
this.logger.warn(`'${languageId}' language is remapped from '${existingScope}' to '${scope}' scope`);
|
|
83
87
|
}
|
|
84
88
|
scopes.unshift(scope);
|
|
85
89
|
this.languageIdToScope.set(languageId, scopes);
|
|
@@ -109,7 +113,7 @@ export class TextmateRegistry {
|
|
|
109
113
|
const configs = this.languageToConfig.get(languageId) || [];
|
|
110
114
|
const existingConfig = configs[0];
|
|
111
115
|
if (existingConfig) {
|
|
112
|
-
|
|
116
|
+
this.logger.warn(`a registered grammar configuration for '${languageId}' language is overridden`);
|
|
113
117
|
}
|
|
114
118
|
configs.unshift(config);
|
|
115
119
|
this.languageToConfig.set(languageId, configs);
|