@opensumi/ide-editor 2.12.1-next-079c1930
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/README.md +565 -0
- package/lib/browser/breadcrumb/default.d.ts +28 -0
- package/lib/browser/breadcrumb/default.d.ts.map +1 -0
- package/lib/browser/breadcrumb/default.js +283 -0
- package/lib/browser/breadcrumb/default.js.map +1 -0
- package/lib/browser/breadcrumb/document-symbol.d.ts +36 -0
- package/lib/browser/breadcrumb/document-symbol.d.ts.map +1 -0
- package/lib/browser/breadcrumb/document-symbol.js +161 -0
- package/lib/browser/breadcrumb/document-symbol.js.map +1 -0
- package/lib/browser/breadcrumb/index.d.ts +20 -0
- package/lib/browser/breadcrumb/index.d.ts.map +1 -0
- package/lib/browser/breadcrumb/index.js +90 -0
- package/lib/browser/breadcrumb/index.js.map +1 -0
- package/lib/browser/component/scroll/scroll.d.ts +66 -0
- package/lib/browser/component/scroll/scroll.d.ts.map +1 -0
- package/lib/browser/component/scroll/scroll.js +263 -0
- package/lib/browser/component/scroll/scroll.js.map +1 -0
- package/lib/browser/component/scroll/scroll.module.less +83 -0
- package/lib/browser/component.d.ts +23 -0
- package/lib/browser/component.d.ts.map +1 -0
- package/lib/browser/component.js +165 -0
- package/lib/browser/component.js.map +1 -0
- package/lib/browser/decoration-applier.d.ts +25 -0
- package/lib/browser/decoration-applier.d.ts.map +1 -0
- package/lib/browser/decoration-applier.js +224 -0
- package/lib/browser/decoration-applier.js.map +1 -0
- package/lib/browser/diff/compare.d.ts +14 -0
- package/lib/browser/diff/compare.d.ts.map +1 -0
- package/lib/browser/diff/compare.js +94 -0
- package/lib/browser/diff/compare.js.map +1 -0
- package/lib/browser/diff/index.d.ts +19 -0
- package/lib/browser/diff/index.d.ts.map +1 -0
- package/lib/browser/diff/index.js +92 -0
- package/lib/browser/diff/index.js.map +1 -0
- package/lib/browser/doc-cache/empty-doc-cache.d.ts +12 -0
- package/lib/browser/doc-cache/empty-doc-cache.d.ts.map +1 -0
- package/lib/browser/doc-cache/empty-doc-cache.js +27 -0
- package/lib/browser/doc-cache/empty-doc-cache.js.map +1 -0
- package/lib/browser/doc-cache/index.d.ts +3 -0
- package/lib/browser/doc-cache/index.d.ts.map +1 -0
- package/lib/browser/doc-cache/index.js +6 -0
- package/lib/browser/doc-cache/index.js.map +1 -0
- package/lib/browser/doc-cache/local-storage-cache.d.ts +32 -0
- package/lib/browser/doc-cache/local-storage-cache.d.ts.map +1 -0
- package/lib/browser/doc-cache/local-storage-cache.js +69 -0
- package/lib/browser/doc-cache/local-storage-cache.js.map +1 -0
- package/lib/browser/doc-model/editor-document-error.d.ts +7 -0
- package/lib/browser/doc-model/editor-document-error.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-error.js +15 -0
- package/lib/browser/doc-model/editor-document-error.js.map +1 -0
- package/lib/browser/doc-model/editor-document-model-service.d.ts +40 -0
- package/lib/browser/doc-model/editor-document-model-service.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-model-service.js +276 -0
- package/lib/browser/doc-model/editor-document-model-service.js.map +1 -0
- package/lib/browser/doc-model/editor-document-model.d.ts +85 -0
- package/lib/browser/doc-model/editor-document-model.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-model.js +463 -0
- package/lib/browser/doc-model/editor-document-model.js.map +1 -0
- package/lib/browser/doc-model/editor-document-registry.d.ts +15 -0
- package/lib/browser/doc-model/editor-document-registry.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-registry.js +110 -0
- package/lib/browser/doc-model/editor-document-registry.js.map +1 -0
- package/lib/browser/doc-model/editor-is-fn.d.ts +4 -0
- package/lib/browser/doc-model/editor-is-fn.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-is-fn.js +12 -0
- package/lib/browser/doc-model/editor-is-fn.js.map +1 -0
- package/lib/browser/doc-model/main.d.ts +5 -0
- package/lib/browser/doc-model/main.d.ts.map +1 -0
- package/lib/browser/doc-model/main.js +8 -0
- package/lib/browser/doc-model/main.js.map +1 -0
- package/lib/browser/doc-model/override.d.ts +12 -0
- package/lib/browser/doc-model/override.d.ts.map +1 -0
- package/lib/browser/doc-model/override.js +46 -0
- package/lib/browser/doc-model/override.js.map +1 -0
- package/lib/browser/doc-model/save-task.d.ts +19 -0
- package/lib/browser/doc-model/save-task.d.ts.map +1 -0
- package/lib/browser/doc-model/save-task.js +34 -0
- package/lib/browser/doc-model/save-task.js.map +1 -0
- package/lib/browser/doc-model/saveParticipants.d.ts +21 -0
- package/lib/browser/doc-model/saveParticipants.d.ts.map +1 -0
- package/lib/browser/doc-model/saveParticipants.js +133 -0
- package/lib/browser/doc-model/saveParticipants.js.map +1 -0
- package/lib/browser/doc-model/types.d.ts +253 -0
- package/lib/browser/doc-model/types.d.ts.map +1 -0
- package/lib/browser/doc-model/types.js +31 -0
- package/lib/browser/doc-model/types.js.map +1 -0
- package/lib/browser/editor-collection.service.d.ts +137 -0
- package/lib/browser/editor-collection.service.d.ts.map +1 -0
- package/lib/browser/editor-collection.service.js +607 -0
- package/lib/browser/editor-collection.service.js.map +1 -0
- package/lib/browser/editor-opener.d.ts +10 -0
- package/lib/browser/editor-opener.d.ts.map +1 -0
- package/lib/browser/editor-opener.js +51 -0
- package/lib/browser/editor-opener.js.map +1 -0
- package/lib/browser/editor.contribution.d.ts +54 -0
- package/lib/browser/editor.contribution.d.ts.map +1 -0
- package/lib/browser/editor.contribution.js +1059 -0
- package/lib/browser/editor.contribution.js.map +1 -0
- package/lib/browser/editor.decoration.service.d.ts +28 -0
- package/lib/browser/editor.decoration.service.d.ts.map +1 -0
- package/lib/browser/editor.decoration.service.js +216 -0
- package/lib/browser/editor.decoration.service.js.map +1 -0
- package/lib/browser/editor.less +4 -0
- package/lib/browser/editor.module.less +493 -0
- package/lib/browser/editor.override.d.ts +24 -0
- package/lib/browser/editor.override.d.ts.map +1 -0
- package/lib/browser/editor.override.js +85 -0
- package/lib/browser/editor.override.js.map +1 -0
- package/lib/browser/editor.status-bar.service.d.ts +12 -0
- package/lib/browser/editor.status-bar.service.d.ts.map +1 -0
- package/lib/browser/editor.status-bar.service.js +114 -0
- package/lib/browser/editor.status-bar.service.js.map +1 -0
- package/lib/browser/editor.view.d.ts +33 -0
- package/lib/browser/editor.view.d.ts.map +1 -0
- package/lib/browser/editor.view.js +411 -0
- package/lib/browser/editor.view.js.map +1 -0
- package/lib/browser/error.d.ts +14 -0
- package/lib/browser/error.d.ts.map +1 -0
- package/lib/browser/error.js +19 -0
- package/lib/browser/error.js.map +1 -0
- package/lib/browser/feature.d.ts +14 -0
- package/lib/browser/feature.d.ts.map +1 -0
- package/lib/browser/feature.js +56 -0
- package/lib/browser/feature.js.map +1 -0
- package/lib/browser/format/formatterSelect.d.ts +11 -0
- package/lib/browser/format/formatterSelect.d.ts.map +1 -0
- package/lib/browser/format/formatterSelect.js +61 -0
- package/lib/browser/format/formatterSelect.js.map +1 -0
- package/lib/browser/fs-resource/file-tree-set.d.ts +31 -0
- package/lib/browser/fs-resource/file-tree-set.d.ts.map +1 -0
- package/lib/browser/fs-resource/file-tree-set.js +123 -0
- package/lib/browser/fs-resource/file-tree-set.js.map +1 -0
- package/lib/browser/fs-resource/fs-editor-doc.d.ts +47 -0
- package/lib/browser/fs-resource/fs-editor-doc.d.ts.map +1 -0
- package/lib/browser/fs-resource/fs-editor-doc.js +148 -0
- package/lib/browser/fs-resource/fs-editor-doc.js.map +1 -0
- package/lib/browser/fs-resource/fs-resource.d.ts +25 -0
- package/lib/browser/fs-resource/fs-resource.d.ts.map +1 -0
- package/lib/browser/fs-resource/fs-resource.js +211 -0
- package/lib/browser/fs-resource/fs-resource.js.map +1 -0
- package/lib/browser/fs-resource/index.d.ts +12 -0
- package/lib/browser/fs-resource/index.d.ts.map +1 -0
- package/lib/browser/fs-resource/index.js +30 -0
- package/lib/browser/fs-resource/index.js.map +1 -0
- package/lib/browser/grid/grid.service.d.ts +44 -0
- package/lib/browser/grid/grid.service.d.ts.map +1 -0
- package/lib/browser/grid/grid.service.js +255 -0
- package/lib/browser/grid/grid.service.js.map +1 -0
- package/lib/browser/history/index.d.ts +31 -0
- package/lib/browser/history/index.d.ts.map +1 -0
- package/lib/browser/history/index.js +164 -0
- package/lib/browser/history/index.js.map +1 -0
- package/lib/browser/index.d.ts +33 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +212 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/language/diagnostic-collection.d.ts +28 -0
- package/lib/browser/language/diagnostic-collection.d.ts.map +1 -0
- package/lib/browser/language/diagnostic-collection.js +72 -0
- package/lib/browser/language/diagnostic-collection.js.map +1 -0
- package/lib/browser/language/language.service.d.ts +19 -0
- package/lib/browser/language/language.service.d.ts.map +1 -0
- package/lib/browser/language/language.service.js +146 -0
- package/lib/browser/language/language.service.js.map +1 -0
- package/lib/browser/language/workspace-symbol-quickopen.d.ts +43 -0
- package/lib/browser/language/workspace-symbol-quickopen.d.ts.map +1 -0
- package/lib/browser/language/workspace-symbol-quickopen.js +231 -0
- package/lib/browser/language/workspace-symbol-quickopen.js.map +1 -0
- package/lib/browser/menu/editor.context.d.ts +20 -0
- package/lib/browser/menu/editor.context.d.ts.map +1 -0
- package/lib/browser/menu/editor.context.js +139 -0
- package/lib/browser/menu/editor.context.js.map +1 -0
- package/lib/browser/menu/editor.menu.d.ts +13 -0
- package/lib/browser/menu/editor.menu.d.ts.map +1 -0
- package/lib/browser/menu/editor.menu.js +48 -0
- package/lib/browser/menu/editor.menu.js.map +1 -0
- package/lib/browser/menu/title-context.menu.d.ts +13 -0
- package/lib/browser/menu/title-context.menu.d.ts.map +1 -0
- package/lib/browser/menu/title-context.menu.js +55 -0
- package/lib/browser/menu/title-context.menu.js.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.d.ts +20 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.js +64 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.js.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.d.ts +35 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.js +144 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.js.map +1 -0
- package/lib/browser/monaco-contrib/command/command.service.d.ts +141 -0
- package/lib/browser/monaco-contrib/command/command.service.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/command/command.service.js +370 -0
- package/lib/browser/monaco-contrib/command/command.service.js.map +1 -0
- package/lib/browser/monaco-contrib/index.d.ts +3 -0
- package/lib/browser/monaco-contrib/index.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/index.js +6 -0
- package/lib/browser/monaco-contrib/index.js.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.d.ts +46 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.js +79 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.js.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.d.ts +58 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.js +75 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.js.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.d.ts +54 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.js +596 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.js.map +1 -0
- package/lib/browser/navigation.module.less +86 -0
- package/lib/browser/navigation.view.d.ts +29 -0
- package/lib/browser/navigation.view.d.ts.map +1 -0
- package/lib/browser/navigation.view.js +183 -0
- package/lib/browser/navigation.view.js.map +1 -0
- package/lib/browser/preference/contribution.d.ts +5 -0
- package/lib/browser/preference/contribution.d.ts.map +1 -0
- package/lib/browser/preference/contribution.js +16 -0
- package/lib/browser/preference/contribution.js.map +1 -0
- package/lib/browser/preference/converter.d.ts +34 -0
- package/lib/browser/preference/converter.d.ts.map +1 -0
- package/lib/browser/preference/converter.js +632 -0
- package/lib/browser/preference/converter.js.map +1 -0
- package/lib/browser/preference/schema.d.ts +230 -0
- package/lib/browser/preference/schema.d.ts.map +1 -0
- package/lib/browser/preference/schema.js +1453 -0
- package/lib/browser/preference/schema.js.map +1 -0
- package/lib/browser/preference/util.d.ts +4 -0
- package/lib/browser/preference/util.d.ts.map +1 -0
- package/lib/browser/preference/util.js +13 -0
- package/lib/browser/preference/util.js.map +1 -0
- package/lib/browser/resource.service.d.ts +32 -0
- package/lib/browser/resource.service.d.ts.map +1 -0
- package/lib/browser/resource.service.js +219 -0
- package/lib/browser/resource.service.js.map +1 -0
- package/lib/browser/tab.view.d.ts +12 -0
- package/lib/browser/tab.view.d.ts.map +1 -0
- package/lib/browser/tab.view.js +330 -0
- package/lib/browser/tab.view.js.map +1 -0
- package/lib/browser/types.d.ts +344 -0
- package/lib/browser/types.d.ts.map +1 -0
- package/lib/browser/types.js +94 -0
- package/lib/browser/types.js.map +1 -0
- package/lib/browser/untitled-resource.d.ts +33 -0
- package/lib/browser/untitled-resource.d.ts.map +1 -0
- package/lib/browser/untitled-resource.js +114 -0
- package/lib/browser/untitled-resource.js.map +1 -0
- package/lib/browser/view/editor.react.d.ts +10 -0
- package/lib/browser/view/editor.react.d.ts.map +1 -0
- package/lib/browser/view/editor.react.js +69 -0
- package/lib/browser/view/editor.react.js.map +1 -0
- package/lib/browser/view/react-hook.d.ts +3 -0
- package/lib/browser/view/react-hook.d.ts.map +1 -0
- package/lib/browser/view/react-hook.js +9 -0
- package/lib/browser/view/react-hook.js.map +1 -0
- package/lib/browser/view/suggest-widget.d.ts +8 -0
- package/lib/browser/view/suggest-widget.d.ts.map +1 -0
- package/lib/browser/view/suggest-widget.js +51 -0
- package/lib/browser/view/suggest-widget.js.map +1 -0
- package/lib/browser/view/topPadding.d.ts +6 -0
- package/lib/browser/view/topPadding.d.ts.map +1 -0
- package/lib/browser/view/topPadding.js +18 -0
- package/lib/browser/view/topPadding.js.map +1 -0
- package/lib/browser/workbench-editor.service.d.ts +244 -0
- package/lib/browser/workbench-editor.service.d.ts.map +1 -0
- package/lib/browser/workbench-editor.service.js +1689 -0
- package/lib/browser/workbench-editor.service.js.map +1 -0
- package/lib/common/doc-cache.d.ts +80 -0
- package/lib/common/doc-cache.d.ts.map +1 -0
- package/lib/common/doc-cache.js +39 -0
- package/lib/common/doc-cache.js.map +1 -0
- package/lib/common/editor.d.ts +571 -0
- package/lib/common/editor.d.ts.map +1 -0
- package/lib/common/editor.js +125 -0
- package/lib/common/editor.js.map +1 -0
- package/lib/common/index.d.ts +6 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +9 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/language.d.ts +108 -0
- package/lib/common/language.d.ts.map +1 -0
- package/lib/common/language.js +72 -0
- package/lib/common/language.js.map +1 -0
- package/lib/common/mocks/workbench-editor.service.d.ts +21 -0
- package/lib/common/mocks/workbench-editor.service.d.ts.map +1 -0
- package/lib/common/mocks/workbench-editor.service.js +48 -0
- package/lib/common/mocks/workbench-editor.service.js.map +1 -0
- package/lib/common/resource.d.ts +94 -0
- package/lib/common/resource.d.ts.map +1 -0
- package/lib/common/resource.js +31 -0
- package/lib/common/resource.js.map +1 -0
- package/lib/common/utils.d.ts +3 -0
- package/lib/common/utils.d.ts.map +1 -0
- package/lib/common/utils.js +14 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/package.json +33 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoration-applier.d.ts","sourceRoot":"","sources":["../../src/browser/decoration-applier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,KAAK,MAAM,MAAM,uDAAuD,CAAC;AAEhF,OAAO,EAAE,kCAAkC,EAAyJ,MAAM,SAAS,CAAC;AACpN,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAmB,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAO,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,qBACa,6BAA8B,SAAQ,UAAU;IAa/C,OAAO,CAAC,MAAM;IAV1B,iBAAiB,EAAE,kCAAkC,CAAC;IAGtD,YAAY,EAAE,aAAa,CAAC;IAG5B,QAAQ,EAAE,SAAS,CAAC;IAEpB,OAAO,CAAC,WAAW,CAA0E;gBAEzE,MAAM,EAAE,iBAAiB;IAqB7C,OAAO,CAAC,YAAY;YASN,2BAA2B;IAmBzC,OAAO;IAKP,gBAAgB;IAQhB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;IAiB/E,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE;IA6B/D,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;CAsBpJ"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MonacoEditorDecorationApplier = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
8
|
+
const ide_theme_1 = require("@opensumi/ide-theme");
|
|
9
|
+
const classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
|
10
|
+
let MonacoEditorDecorationApplier = class MonacoEditorDecorationApplier extends ide_core_common_1.Disposable {
|
|
11
|
+
constructor(editor) {
|
|
12
|
+
super();
|
|
13
|
+
this.editor = editor;
|
|
14
|
+
this.decorations = new Map();
|
|
15
|
+
this.applyDecorationFromProvider();
|
|
16
|
+
this.editor.onDidChangeModel(() => {
|
|
17
|
+
this.clearDecorations();
|
|
18
|
+
this.applyDecorationFromProvider();
|
|
19
|
+
});
|
|
20
|
+
this.editor.onDidDispose(() => {
|
|
21
|
+
this.dispose();
|
|
22
|
+
});
|
|
23
|
+
this.addDispose(this.eventBus.on(types_1.EditorDecorationChangeEvent, (e) => {
|
|
24
|
+
const currentUri = this.getEditorUri();
|
|
25
|
+
if (currentUri && e.payload.uri.isEqual(currentUri)) {
|
|
26
|
+
this.applyDecorationFromProvider(e.payload.key);
|
|
27
|
+
}
|
|
28
|
+
}));
|
|
29
|
+
this.addDispose(this.eventBus.on(types_1.EditorDecorationTypeRemovedEvent, (e) => {
|
|
30
|
+
this.deltaDecoration(e.payload, []);
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
getEditorUri() {
|
|
34
|
+
if (this.editor.getModel()) {
|
|
35
|
+
const uri = new ide_core_common_1.URI(this.editor.getModel().uri.toString());
|
|
36
|
+
return uri;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async applyDecorationFromProvider(key) {
|
|
43
|
+
if (this.editor.getModel()) {
|
|
44
|
+
const uri = new ide_core_common_1.URI(this.editor.getModel().uri.toString());
|
|
45
|
+
const decs = await this.decorationService.getDecorationFromProvider(uri, key);
|
|
46
|
+
// 由于是异步获取decoration,此时uri可能已经变了
|
|
47
|
+
if (!this.editor.getModel() || this.editor.getModel().uri.toString() !== uri.toString()) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
for (const key of Object.keys(decs)) {
|
|
51
|
+
this.deltaDecoration(key, decs[key]);
|
|
52
|
+
}
|
|
53
|
+
this.eventBus.fire(new types_1.DidApplyEditorDecorationFromProvider({
|
|
54
|
+
key,
|
|
55
|
+
uri,
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
dispose() {
|
|
60
|
+
super.dispose();
|
|
61
|
+
this.clearDecorations();
|
|
62
|
+
}
|
|
63
|
+
clearDecorations() {
|
|
64
|
+
this.decorations.forEach((v) => {
|
|
65
|
+
v.dispose();
|
|
66
|
+
this.editor.deltaDecorations(v.decorations, []);
|
|
67
|
+
});
|
|
68
|
+
this.decorations.clear();
|
|
69
|
+
}
|
|
70
|
+
deltaDecoration(key, decorations) {
|
|
71
|
+
let oldDecorations = [];
|
|
72
|
+
if (this.decorations.has(key)) {
|
|
73
|
+
oldDecorations = this.decorations.get(key).decorations;
|
|
74
|
+
this.decorations.get(key).dispose();
|
|
75
|
+
this.decorations.delete(key);
|
|
76
|
+
}
|
|
77
|
+
if (oldDecorations.length === 0 && decorations.length === 0) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const newDecoration = this.editor.deltaDecorations(oldDecorations, decorations);
|
|
81
|
+
this.decorations.set(key, {
|
|
82
|
+
decorations: newDecoration,
|
|
83
|
+
dispose: () => null,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
applyDecoration(key, options) {
|
|
87
|
+
const oldDecorations = this.decorations.get(key);
|
|
88
|
+
if (oldDecorations) {
|
|
89
|
+
oldDecorations.dispose();
|
|
90
|
+
}
|
|
91
|
+
const oldResult = oldDecorations ? oldDecorations.decorations : [];
|
|
92
|
+
const newDecorations = [];
|
|
93
|
+
const disposer = new ide_core_common_1.Disposable();
|
|
94
|
+
if (oldResult.length === 0 && options.length === 0) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
options.forEach((option) => {
|
|
98
|
+
const resolved = this.resolveDecorationRenderer(key, option.renderOptions);
|
|
99
|
+
newDecorations.push({
|
|
100
|
+
range: option.range,
|
|
101
|
+
options: Object.assign(Object.assign({}, resolved.options), { hoverMessage: resolveHoverMessage(option.hoverMessage) }),
|
|
102
|
+
});
|
|
103
|
+
disposer.addDispose(resolved);
|
|
104
|
+
});
|
|
105
|
+
const result = this.editor.deltaDecorations(oldResult, newDecorations);
|
|
106
|
+
this.decorations.set(key, {
|
|
107
|
+
decorations: result,
|
|
108
|
+
dispose: () => disposer.dispose(),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
resolveDecorationRenderer(key, options) {
|
|
112
|
+
const type = this.decorationService.getTextEditorDecorationType(key);
|
|
113
|
+
const result = {
|
|
114
|
+
description: key,
|
|
115
|
+
};
|
|
116
|
+
const currentTheme = this.themeService.getCurrentThemeSync().type;
|
|
117
|
+
const disposer = new ide_core_common_1.Disposable();
|
|
118
|
+
if (type) {
|
|
119
|
+
const property = type.property;
|
|
120
|
+
assignModelDecorationOptions(result, property, currentTheme);
|
|
121
|
+
}
|
|
122
|
+
if (options) {
|
|
123
|
+
const tempType = this.decorationService.createTextEditorDecorationType(options);
|
|
124
|
+
assignModelDecorationOptions(result, tempType.property, currentTheme);
|
|
125
|
+
disposer.addDispose(tempType);
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
options: result,
|
|
129
|
+
dispose: () => disposer.dispose(),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
(0, tslib_1.__decorate)([
|
|
134
|
+
(0, di_1.Autowired)(types_1.IEditorDecorationCollectionService),
|
|
135
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
136
|
+
], MonacoEditorDecorationApplier.prototype, "decorationService", void 0);
|
|
137
|
+
(0, tslib_1.__decorate)([
|
|
138
|
+
(0, di_1.Autowired)(ide_theme_1.IThemeService),
|
|
139
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
140
|
+
], MonacoEditorDecorationApplier.prototype, "themeService", void 0);
|
|
141
|
+
(0, tslib_1.__decorate)([
|
|
142
|
+
(0, di_1.Autowired)(ide_core_common_1.IEventBus),
|
|
143
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
144
|
+
], MonacoEditorDecorationApplier.prototype, "eventBus", void 0);
|
|
145
|
+
MonacoEditorDecorationApplier = (0, tslib_1.__decorate)([
|
|
146
|
+
(0, di_1.Injectable)({ multiple: true }),
|
|
147
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object])
|
|
148
|
+
], MonacoEditorDecorationApplier);
|
|
149
|
+
exports.MonacoEditorDecorationApplier = MonacoEditorDecorationApplier;
|
|
150
|
+
function assignModelDecorationOptions(target, property, currentTheme) {
|
|
151
|
+
if (property.overviewRulerLane) {
|
|
152
|
+
if (!target.overviewRuler) {
|
|
153
|
+
target.overviewRuler = {
|
|
154
|
+
color: null,
|
|
155
|
+
range: null,
|
|
156
|
+
position: property.overviewRulerLane,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
target.overviewRuler.position = property.overviewRulerLane;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (property.default) {
|
|
164
|
+
assignModelDecorationStyle(target, property.default);
|
|
165
|
+
}
|
|
166
|
+
if (currentTheme === 'dark' && property.dark) {
|
|
167
|
+
assignModelDecorationStyle(target, property.dark);
|
|
168
|
+
}
|
|
169
|
+
if (currentTheme === 'light' && property.light) {
|
|
170
|
+
assignModelDecorationStyle(target, property.light);
|
|
171
|
+
}
|
|
172
|
+
if (property.isWholeLine !== undefined) {
|
|
173
|
+
target.isWholeLine = property.isWholeLine;
|
|
174
|
+
}
|
|
175
|
+
if (property.rangeBehavior) {
|
|
176
|
+
target.stickiness = property.rangeBehavior;
|
|
177
|
+
}
|
|
178
|
+
target.inlineClassNameAffectsLetterSpacing = true;
|
|
179
|
+
}
|
|
180
|
+
function assignModelDecorationStyle(target, style) {
|
|
181
|
+
if (style.className) {
|
|
182
|
+
target.className = (0, classnames_1.default)(target.className, style.className);
|
|
183
|
+
}
|
|
184
|
+
if (style.inlineClassName) {
|
|
185
|
+
target.inlineClassName = (0, classnames_1.default)(target.inlineClassName, style.inlineClassName);
|
|
186
|
+
}
|
|
187
|
+
if (style.afterContentClassName) {
|
|
188
|
+
target.afterContentClassName = (0, classnames_1.default)(target.afterContentClassName, style.afterContentClassName);
|
|
189
|
+
}
|
|
190
|
+
if (style.beforeContentClassName) {
|
|
191
|
+
target.beforeContentClassName = (0, classnames_1.default)(target.beforeContentClassName, style.beforeContentClassName);
|
|
192
|
+
}
|
|
193
|
+
if (style.glyphMarginClassName) {
|
|
194
|
+
target.glyphMarginClassName = (0, classnames_1.default)(target.glyphMarginClassName, style.glyphMarginClassName);
|
|
195
|
+
}
|
|
196
|
+
if (style.overviewRulerColor) {
|
|
197
|
+
if (target.overviewRuler) {
|
|
198
|
+
target.overviewRuler.color = style.overviewRulerColor;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function resolveHoverMessage(str) {
|
|
203
|
+
if (!str) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
if (str instanceof Array) {
|
|
207
|
+
return str.map(toMarkdownString);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
return toMarkdownString(str);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
function toMarkdownString(str) {
|
|
214
|
+
if (typeof str === 'string') {
|
|
215
|
+
return {
|
|
216
|
+
value: str,
|
|
217
|
+
isTrusted: true,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return str;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=decoration-applier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoration-applier.js","sourceRoot":"","sources":["../../src/browser/decoration-applier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ICompareService, CompareResult } from '../types';
|
|
2
|
+
import { URI, Deferred, CommandContribution, CommandRegistry } from '@opensumi/ide-core-browser';
|
|
3
|
+
import { MenuContribution, IMenuRegistry } from '@opensumi/ide-core-browser/lib/menu/next';
|
|
4
|
+
export declare class CompareService implements ICompareService {
|
|
5
|
+
readonly comparing: Map<string, Deferred<CompareResult>>;
|
|
6
|
+
private commandService;
|
|
7
|
+
compare(original: URI, modified: URI, name: string): Promise<CompareResult>;
|
|
8
|
+
}
|
|
9
|
+
export declare class CompareEditorContribution implements MenuContribution, CommandContribution {
|
|
10
|
+
compareService: CompareService;
|
|
11
|
+
registerMenus(menu: IMenuRegistry): void;
|
|
12
|
+
registerCommands(commands: CommandRegistry): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/browser/diff/compare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAoB,QAAQ,EAAmC,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEpJ,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAU,MAAM,0CAA0C,CAAC;AAEnG,qBACa,cAAe,YAAW,eAAe;IAEpD,SAAgB,SAAS,uCAA8C;IAGvE,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAqB5E;AAED,qBACa,yBAA0B,YAAW,gBAAgB,EAAE,mBAAmB;IAGrF,cAAc,EAAE,cAAc,CAAC;IAE/B,aAAa,CAAC,IAAI,EAAE,aAAa;IAyBjC,gBAAgB,CAAC,QAAQ,EAAE,eAAe;CAiB3C"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompareEditorContribution = exports.CompareService = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const types_1 = require("../types");
|
|
7
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
8
|
+
const ide_core_browser_2 = require("@opensumi/ide-core-browser");
|
|
9
|
+
const next_1 = require("@opensumi/ide-core-browser/lib/menu/next");
|
|
10
|
+
let CompareService = class CompareService {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.comparing = new Map();
|
|
13
|
+
}
|
|
14
|
+
compare(original, modified, name) {
|
|
15
|
+
const compareUri = ide_core_browser_1.URI.from({
|
|
16
|
+
scheme: 'diff',
|
|
17
|
+
query: ide_core_browser_1.URI.stringifyQuery({
|
|
18
|
+
name,
|
|
19
|
+
original,
|
|
20
|
+
modified,
|
|
21
|
+
comparing: true,
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
if (!this.comparing.has(compareUri.toString())) {
|
|
25
|
+
const deferred = new ide_core_browser_1.Deferred();
|
|
26
|
+
this.comparing.set(compareUri.toString(), deferred);
|
|
27
|
+
deferred.promise.then(() => {
|
|
28
|
+
this.comparing.delete(compareUri.toString());
|
|
29
|
+
this.commandService.executeCommand(ide_core_browser_1.EDITOR_COMMANDS.CLOSE_ALL.id, compareUri);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
this.commandService.executeCommand(ide_core_browser_1.EDITOR_COMMANDS.OPEN_RESOURCE.id, compareUri);
|
|
33
|
+
return this.comparing.get(compareUri.toString()).promise;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
(0, tslib_1.__decorate)([
|
|
37
|
+
(0, di_1.Autowired)(ide_core_browser_1.CommandService),
|
|
38
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
39
|
+
], CompareService.prototype, "commandService", void 0);
|
|
40
|
+
CompareService = (0, tslib_1.__decorate)([
|
|
41
|
+
(0, di_1.Injectable)()
|
|
42
|
+
], CompareService);
|
|
43
|
+
exports.CompareService = CompareService;
|
|
44
|
+
let CompareEditorContribution = class CompareEditorContribution {
|
|
45
|
+
registerMenus(menu) {
|
|
46
|
+
menu.registerMenuItems(next_1.MenuId.EditorTitle, [
|
|
47
|
+
{
|
|
48
|
+
command: {
|
|
49
|
+
id: 'editor.diff.accept',
|
|
50
|
+
label: (0, ide_core_browser_1.localize)('editor.action.accept'),
|
|
51
|
+
},
|
|
52
|
+
iconClass: (0, ide_core_browser_2.getIcon)('check'),
|
|
53
|
+
group: 'navigation',
|
|
54
|
+
when: 'isInDiffEditor && diffResource =~ /%26comparing%3Dtrue$/',
|
|
55
|
+
},
|
|
56
|
+
]);
|
|
57
|
+
menu.registerMenuItems(next_1.MenuId.EditorTitle, [
|
|
58
|
+
{
|
|
59
|
+
command: {
|
|
60
|
+
id: 'editor.diff.revert',
|
|
61
|
+
label: (0, ide_core_browser_1.localize)('editor.action.revert'),
|
|
62
|
+
},
|
|
63
|
+
iconClass: (0, ide_core_browser_2.getIcon)('rollback'),
|
|
64
|
+
group: 'navigation',
|
|
65
|
+
when: 'isInDiffEditor && diffResource =~ /%26comparing%3Dtrue$/',
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
registerCommands(commands) {
|
|
70
|
+
commands.registerCommand({ id: 'editor.diff.accept' }, {
|
|
71
|
+
execute: (uri) => {
|
|
72
|
+
if (uri && this.compareService.comparing.has(uri.toString())) {
|
|
73
|
+
this.compareService.comparing.get(uri.toString()).resolve(types_1.CompareResult.accept);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
commands.registerCommand({ id: 'editor.diff.revert' }, {
|
|
78
|
+
execute: (uri) => {
|
|
79
|
+
if (uri && this.compareService.comparing.has(uri.toString())) {
|
|
80
|
+
this.compareService.comparing.get(uri.toString()).resolve(types_1.CompareResult.revert);
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
(0, tslib_1.__decorate)([
|
|
87
|
+
(0, di_1.Autowired)(types_1.ICompareService),
|
|
88
|
+
(0, tslib_1.__metadata)("design:type", CompareService)
|
|
89
|
+
], CompareEditorContribution.prototype, "compareService", void 0);
|
|
90
|
+
CompareEditorContribution = (0, tslib_1.__decorate)([
|
|
91
|
+
(0, ide_core_browser_1.Domain)(next_1.MenuContribution, ide_core_browser_1.CommandContribution)
|
|
92
|
+
], CompareEditorContribution);
|
|
93
|
+
exports.CompareEditorContribution = CompareEditorContribution;
|
|
94
|
+
//# sourceMappingURL=compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/browser/diff/compare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IResourceProvider, IDiffResource, ResourceService, ResourceDecorationChangeEvent } from '../../common';
|
|
2
|
+
import { URI, WithEventBus } from '@opensumi/ide-core-browser';
|
|
3
|
+
import { LabelService } from '@opensumi/ide-core-browser/lib/services';
|
|
4
|
+
import { BrowserEditorContribution, EditorComponentRegistry } from '../types';
|
|
5
|
+
export declare class DiffResourceProvider extends WithEventBus implements IResourceProvider {
|
|
6
|
+
labelService: LabelService;
|
|
7
|
+
resourceService: ResourceService;
|
|
8
|
+
scheme: string;
|
|
9
|
+
private modifiedToResource;
|
|
10
|
+
onResourceDecorationChangeEvent(e: ResourceDecorationChangeEvent): void;
|
|
11
|
+
provideResource(uri: URI): Promise<IDiffResource>;
|
|
12
|
+
shouldCloseResource(resource: any, openedResources: any): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
export declare class DefaultDiffEditorContribution implements BrowserEditorContribution {
|
|
15
|
+
diffResourceProvider: DiffResourceProvider;
|
|
16
|
+
registerResource(resourceService: ResourceService): void;
|
|
17
|
+
registerEditorComponent(registry: EditorComponentRegistry): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,GAAG,EAAU,YAAY,EAAW,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAO9E,qBACa,oBAAqB,SAAQ,YAAa,YAAW,iBAAiB;IAGjF,YAAY,EAAE,YAAY,CAAC;IAG3B,eAAe,EAAE,eAAe,CAAC;IAEjC,MAAM,EAAE,MAAM,CAAU;IAExB,OAAO,CAAC,kBAAkB,CAA0B;IAGpD,+BAA+B,CAAC,CAAC,EAAE,6BAA6B;IAS1D,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBjD,mBAAmB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;CAUvE;AAED,qBACa,6BAA8B,YAAW,yBAAyB;IAG7E,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIxD,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB;CAQ1D"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultDiffEditorContribution = exports.DiffResourceProvider = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("../../common");
|
|
6
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const di_1 = require("@opensumi/di");
|
|
8
|
+
const services_1 = require("@opensumi/ide-core-browser/lib/services");
|
|
9
|
+
const types_1 = require("../types");
|
|
10
|
+
// diff URI:
|
|
11
|
+
// diff://?name=tabName&original=uri1&modified=uri2
|
|
12
|
+
// 例子:
|
|
13
|
+
// diff://?name=a.ts(on disk)<=>a.ts&original=file://path/to/a.ts&modified=fileOnDisk://path/to/a.ts
|
|
14
|
+
let DiffResourceProvider = class DiffResourceProvider extends ide_core_browser_1.WithEventBus {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.scheme = 'diff';
|
|
18
|
+
this.modifiedToResource = new Map();
|
|
19
|
+
}
|
|
20
|
+
onResourceDecorationChangeEvent(e) {
|
|
21
|
+
if (e.payload.uri && this.modifiedToResource.has(e.payload.uri.toString())) {
|
|
22
|
+
this.eventBus.fire(new common_1.ResourceDecorationChangeEvent({
|
|
23
|
+
uri: this.modifiedToResource.get(e.payload.uri.toString()),
|
|
24
|
+
decoration: e.payload.decoration,
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async provideResource(uri) {
|
|
29
|
+
const { original, modified, name } = uri.getParsedQuery();
|
|
30
|
+
const originalUri = new ide_core_browser_1.URI(original);
|
|
31
|
+
const modifiedUri = new ide_core_browser_1.URI(modified);
|
|
32
|
+
const icon = await this.labelService.getIcon(originalUri);
|
|
33
|
+
this.modifiedToResource.set(modifiedUri.toString(), uri);
|
|
34
|
+
return {
|
|
35
|
+
name,
|
|
36
|
+
icon,
|
|
37
|
+
uri,
|
|
38
|
+
metadata: {
|
|
39
|
+
original: originalUri,
|
|
40
|
+
modified: modifiedUri,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
async shouldCloseResource(resource, openedResources) {
|
|
45
|
+
const { modified } = resource.uri.getParsedQuery();
|
|
46
|
+
const modifiedUri = new ide_core_browser_1.URI(modified);
|
|
47
|
+
const modifiedResource = await this.resourceService.getResource(modifiedUri);
|
|
48
|
+
if (modifiedResource) {
|
|
49
|
+
return await this.resourceService.shouldCloseResource(modifiedResource, openedResources);
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
(0, tslib_1.__decorate)([
|
|
55
|
+
(0, di_1.Autowired)(),
|
|
56
|
+
(0, tslib_1.__metadata)("design:type", services_1.LabelService)
|
|
57
|
+
], DiffResourceProvider.prototype, "labelService", void 0);
|
|
58
|
+
(0, tslib_1.__decorate)([
|
|
59
|
+
(0, di_1.Autowired)(common_1.ResourceService),
|
|
60
|
+
(0, tslib_1.__metadata)("design:type", common_1.ResourceService)
|
|
61
|
+
], DiffResourceProvider.prototype, "resourceService", void 0);
|
|
62
|
+
(0, tslib_1.__decorate)([
|
|
63
|
+
(0, ide_core_browser_1.OnEvent)(common_1.ResourceDecorationChangeEvent),
|
|
64
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
65
|
+
(0, tslib_1.__metadata)("design:paramtypes", [common_1.ResourceDecorationChangeEvent]),
|
|
66
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
|
67
|
+
], DiffResourceProvider.prototype, "onResourceDecorationChangeEvent", null);
|
|
68
|
+
DiffResourceProvider = (0, tslib_1.__decorate)([
|
|
69
|
+
(0, di_1.Injectable)()
|
|
70
|
+
], DiffResourceProvider);
|
|
71
|
+
exports.DiffResourceProvider = DiffResourceProvider;
|
|
72
|
+
let DefaultDiffEditorContribution = class DefaultDiffEditorContribution {
|
|
73
|
+
registerResource(resourceService) {
|
|
74
|
+
resourceService.registerResourceProvider(this.diffResourceProvider);
|
|
75
|
+
}
|
|
76
|
+
registerEditorComponent(registry) {
|
|
77
|
+
registry.registerEditorComponentResolver('diff', (resource, results) => {
|
|
78
|
+
results.push({
|
|
79
|
+
type: 'diff',
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
(0, tslib_1.__decorate)([
|
|
85
|
+
(0, di_1.Autowired)(),
|
|
86
|
+
(0, tslib_1.__metadata)("design:type", DiffResourceProvider)
|
|
87
|
+
], DefaultDiffEditorContribution.prototype, "diffResourceProvider", void 0);
|
|
88
|
+
DefaultDiffEditorContribution = (0, tslib_1.__decorate)([
|
|
89
|
+
(0, ide_core_browser_1.Domain)(types_1.BrowserEditorContribution)
|
|
90
|
+
], DefaultDiffEditorContribution);
|
|
91
|
+
exports.DefaultDiffEditorContribution = DefaultDiffEditorContribution;
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/diff/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { URI } from '@opensumi/ide-core-browser';
|
|
2
|
+
import { IDocPersistentCacheProvider, IDocStatus } from '../../common/doc-cache';
|
|
3
|
+
/**
|
|
4
|
+
* 一个空的,什么都不做的缓存对象,提供一个空的缓存对象实现
|
|
5
|
+
*/
|
|
6
|
+
export declare class EmptyDocCacheImpl implements IDocPersistentCacheProvider {
|
|
7
|
+
hasCache(_uri: URI): boolean;
|
|
8
|
+
isFlushed(): boolean;
|
|
9
|
+
getCache(_uri: URI): null;
|
|
10
|
+
persistCache(_uri: URI, _status: IDocStatus): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=empty-doc-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-doc-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-cache/empty-doc-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEjF;;GAEG;AACH,qBACa,iBAAkB,YAAW,2BAA2B;IACnE,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIlB,SAAS;IAIT,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIlB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU;CAG5C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmptyDocCacheImpl = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
/**
|
|
7
|
+
* 一个空的,什么都不做的缓存对象,提供一个空的缓存对象实现
|
|
8
|
+
*/
|
|
9
|
+
let EmptyDocCacheImpl = class EmptyDocCacheImpl {
|
|
10
|
+
hasCache(_uri) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
isFlushed() {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
getCache(_uri) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
persistCache(_uri, _status) {
|
|
20
|
+
// nothing
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
EmptyDocCacheImpl = (0, tslib_1.__decorate)([
|
|
24
|
+
(0, di_1.Injectable)()
|
|
25
|
+
], EmptyDocCacheImpl);
|
|
26
|
+
exports.EmptyDocCacheImpl = EmptyDocCacheImpl;
|
|
27
|
+
//# sourceMappingURL=empty-doc-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-doc-cache.js","sourceRoot":"","sources":["../../../src/browser/doc-cache/empty-doc-cache.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAI1C;;GAEG;AAEH,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAS;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAS;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,IAAS,EAAE,OAAmB;QACzC,UAAU;IACZ,CAAC;CACF,CAAA;AAhBY,iBAAiB;IAD7B,IAAA,eAAU,GAAE;GACA,iBAAiB,CAgB7B;AAhBY,8CAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./empty-doc-cache"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./local-storage-cache"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/doc-cache/index.ts"],"names":[],"mappings":";;;AAAA,iEAAkC;AAClC,qEAAsC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { URI } from '@opensumi/ide-core-common';
|
|
2
|
+
import { IDocPersistentCacheProvider, IDocStatus, IDocCache } from '../../common/doc-cache';
|
|
3
|
+
/**
|
|
4
|
+
* 使用 LocalStorage 实现的文档缓存对象
|
|
5
|
+
*/
|
|
6
|
+
export declare class LocalStorageDocCacheImpl implements IDocPersistentCacheProvider {
|
|
7
|
+
private storageService;
|
|
8
|
+
hasCache(_uri: URI): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* LocalStorage 的存储都是瞬间完成的,始终返回 true
|
|
11
|
+
*/
|
|
12
|
+
isFlushed(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 从 LocalStorage 获取缓存数据,
|
|
15
|
+
* 因为底层对象设计是异步的,所以这里也是异步的,实际上是立即返回的
|
|
16
|
+
* @param uri
|
|
17
|
+
*/
|
|
18
|
+
getCache(uri: URI): Promise<IDocCache | null>;
|
|
19
|
+
/**
|
|
20
|
+
* 持久化缓存对象到 LocalStorage 中
|
|
21
|
+
* @param uri
|
|
22
|
+
* @param status
|
|
23
|
+
*/
|
|
24
|
+
persistCache(uri: URI, status: IDocStatus): void;
|
|
25
|
+
/**
|
|
26
|
+
* 从文档状态解析缓存对象
|
|
27
|
+
* @param status
|
|
28
|
+
*/
|
|
29
|
+
private parseCacheFrom;
|
|
30
|
+
private parseKeyFrom;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=local-storage-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-cache/local-storage-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,wBAAwB,CAAC;AAGjH;;GAEG;AACH,qBACa,wBAAyB,YAAW,2BAA2B;IAE1E,OAAO,CAAC,cAAc,CAA2B;IAEjD,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIlB;;OAEG;IACH,SAAS;IAIT;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,GAAG;IAMvB;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU;IAMzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;CAGrB"}
|