@theia/monaco 1.62.0-next.3 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/lib/browser/monaco-code-action-save-participant.d.ts +14 -0
  2. package/lib/browser/monaco-code-action-save-participant.d.ts.map +1 -0
  3. package/lib/browser/monaco-code-action-save-participant.js +129 -0
  4. package/lib/browser/monaco-code-action-save-participant.js.map +1 -0
  5. package/lib/browser/monaco-editor-model.d.ts +8 -13
  6. package/lib/browser/monaco-editor-model.d.ts.map +1 -1
  7. package/lib/browser/monaco-editor-model.js +21 -57
  8. package/lib/browser/monaco-editor-model.js.map +1 -1
  9. package/lib/browser/monaco-editor-provider.d.ts +18 -7
  10. package/lib/browser/monaco-editor-provider.d.ts.map +1 -1
  11. package/lib/browser/monaco-editor-provider.js +98 -51
  12. package/lib/browser/monaco-editor-provider.js.map +1 -1
  13. package/lib/browser/monaco-frontend-module.d.ts.map +1 -1
  14. package/lib/browser/monaco-frontend-module.js +4 -0
  15. package/lib/browser/monaco-frontend-module.js.map +1 -1
  16. package/lib/browser/monaco-menu.d.ts.map +1 -1
  17. package/lib/browser/monaco-menu.js +5 -4
  18. package/lib/browser/monaco-menu.js.map +1 -1
  19. package/lib/browser/monaco-workspace.d.ts +1 -4
  20. package/lib/browser/monaco-workspace.d.ts.map +1 -1
  21. package/lib/browser/monaco-workspace.js +0 -6
  22. package/lib/browser/monaco-workspace.js.map +1 -1
  23. package/package.json +9 -9
  24. package/src/browser/monaco-code-action-save-participant.ts +143 -0
  25. package/src/browser/monaco-editor-model.ts +25 -74
  26. package/src/browser/monaco-editor-provider.ts +115 -55
  27. package/src/browser/monaco-frontend-module.ts +6 -1
  28. package/src/browser/monaco-menu.ts +5 -4
  29. package/src/browser/monaco-workspace.ts +1 -9
@@ -0,0 +1,14 @@
1
+ import { CancellationToken } from '@theia/core';
2
+ import { SaveOptions } from '@theia/core/lib/browser';
3
+ import { MonacoEditor } from './monaco-editor';
4
+ import { SaveParticipant } from './monaco-editor-provider';
5
+ import { EditorPreferences } from '@theia/editor/lib/browser';
6
+ export declare class MonacoCodeActionSaveParticipant implements SaveParticipant {
7
+ protected readonly editorPreferences: EditorPreferences;
8
+ readonly order = 0;
9
+ applyChangesOnSave(editor: MonacoEditor, cancellationToken: CancellationToken, options?: SaveOptions): Promise<void>;
10
+ private createCodeActionsOnSave;
11
+ private applyOnSaveActions;
12
+ private getActionsToRun;
13
+ }
14
+ //# sourceMappingURL=monaco-code-action-save-participant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-code-action-save-participant.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-code-action-save-participant.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAkC,MAAM,0BAA0B,CAAC;AAQ3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAU9D,qBACa,+BAAgC,YAAW,eAAe;IAEnE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,QAAQ,CAAC,KAAK,KAAkC;IAE1C,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD1H,OAAO,CAAC,uBAAuB;YAOjB,kBAAkB;IA4BhC,OAAO,CAAC,eAAe;CAe1B"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 STMicroelectronics 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
+ exports.MonacoCodeActionSaveParticipant = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const browser_1 = require("@theia/core/lib/browser");
21
+ const monaco_editor_provider_1 = require("./monaco-editor-provider");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
24
+ const languageFeatures_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures");
25
+ const types_1 = require("@theia/monaco-editor-core/esm/vs/editor/contrib/codeAction/common/types");
26
+ const codeAction_1 = require("@theia/monaco-editor-core/esm/vs/editor/contrib/codeAction/browser/codeAction");
27
+ const hierarchicalKind_1 = require("@theia/monaco-editor-core/esm/vs/base/common/hierarchicalKind");
28
+ const browser_2 = require("@theia/editor/lib/browser");
29
+ const instantiation_1 = require("@theia/monaco-editor-core/esm/vs/platform/instantiation/common/instantiation");
30
+ /*---------------------------------------------------------------------------------------------
31
+ * Copyright (c) Microsoft Corporation. All rights reserved.
32
+ * Licensed under the MIT License. See License.txt in the project root for license information.
33
+ *--------------------------------------------------------------------------------------------*/
34
+ // Partially copied from https://github.com/microsoft/vscode/blob/f66e839a38dfe39ee66a86619a790f9c2336d698/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.ts#L272
35
+ let MonacoCodeActionSaveParticipant = class MonacoCodeActionSaveParticipant {
36
+ constructor() {
37
+ this.order = monaco_editor_provider_1.SAVE_PARTICIPANT_DEFAULT_ORDER;
38
+ }
39
+ async applyChangesOnSave(editor, cancellationToken, options) {
40
+ if ((options === null || options === void 0 ? void 0 : options.saveReason) !== browser_1.SaveReason.Manual) {
41
+ return undefined;
42
+ }
43
+ const setting = this.editorPreferences.get({
44
+ preferenceName: 'editor.codeActionsOnSave',
45
+ overrideIdentifier: editor.document.textEditorModel.getLanguageId()
46
+ }, undefined, editor.document.textEditorModel.uri.toString());
47
+ if (!setting) {
48
+ return undefined;
49
+ }
50
+ const settingItems = Array.isArray(setting)
51
+ ? setting
52
+ : Object.keys(setting).filter(x => setting[x]);
53
+ const codeActionsOnSave = this.createCodeActionsOnSave(settingItems);
54
+ if (!codeActionsOnSave.length) {
55
+ return undefined;
56
+ }
57
+ if (!Array.isArray(setting)) {
58
+ codeActionsOnSave.sort((a, b) => {
59
+ if (types_1.CodeActionKind.SourceFixAll.contains(a)) {
60
+ if (types_1.CodeActionKind.SourceFixAll.contains(b)) {
61
+ return 0;
62
+ }
63
+ return -1;
64
+ }
65
+ if (types_1.CodeActionKind.SourceFixAll.contains(b)) {
66
+ return 1;
67
+ }
68
+ return 0;
69
+ });
70
+ }
71
+ const excludedActions = Array.isArray(setting)
72
+ ? []
73
+ : Object.keys(setting)
74
+ .filter(x => setting[x] === false)
75
+ .map(x => new hierarchicalKind_1.HierarchicalKind(x));
76
+ await this.applyOnSaveActions(editor.document.textEditorModel, codeActionsOnSave, excludedActions, cancellationToken);
77
+ }
78
+ createCodeActionsOnSave(settingItems) {
79
+ const kinds = settingItems.map(x => new hierarchicalKind_1.HierarchicalKind(x));
80
+ // Remove subsets
81
+ return kinds.filter(kind => kinds.every(otherKind => otherKind.equals(kind) || !otherKind.contains(kind)));
82
+ }
83
+ async applyOnSaveActions(model, codeActionsOnSave, excludes, token) {
84
+ const instantiationService = standaloneServices_1.StandaloneServices.get(instantiation_1.IInstantiationService);
85
+ for (const codeActionKind of codeActionsOnSave) {
86
+ const actionsToRun = await this.getActionsToRun(model, codeActionKind, excludes, token);
87
+ if (token.isCancellationRequested) {
88
+ actionsToRun.dispose();
89
+ return;
90
+ }
91
+ try {
92
+ for (const action of actionsToRun.validActions) {
93
+ await instantiationService.invokeFunction(codeAction_1.applyCodeAction, action, codeAction_1.ApplyCodeActionReason.OnSave, {}, token);
94
+ if (token.isCancellationRequested) {
95
+ return;
96
+ }
97
+ }
98
+ }
99
+ catch {
100
+ // Failure to apply a code action should not block other on save actions
101
+ }
102
+ finally {
103
+ actionsToRun.dispose();
104
+ }
105
+ }
106
+ }
107
+ getActionsToRun(model, codeActionKind, excludes, token) {
108
+ const { codeActionProvider } = standaloneServices_1.StandaloneServices.get(languageFeatures_1.ILanguageFeaturesService);
109
+ const progress = {
110
+ report(item) {
111
+ // empty
112
+ },
113
+ };
114
+ return (0, codeAction_1.getCodeActions)(codeActionProvider, model, model.getFullModelRange(), {
115
+ type: 2 /* CodeActionTriggerType.Auto */,
116
+ triggerAction: types_1.CodeActionTriggerSource.OnSave,
117
+ filter: { include: codeActionKind, excludes: excludes, includeSourceActions: true },
118
+ }, progress, token);
119
+ }
120
+ };
121
+ exports.MonacoCodeActionSaveParticipant = MonacoCodeActionSaveParticipant;
122
+ tslib_1.__decorate([
123
+ (0, inversify_1.inject)(browser_2.EditorPreferences),
124
+ tslib_1.__metadata("design:type", Object)
125
+ ], MonacoCodeActionSaveParticipant.prototype, "editorPreferences", void 0);
126
+ exports.MonacoCodeActionSaveParticipant = MonacoCodeActionSaveParticipant = tslib_1.__decorate([
127
+ (0, inversify_1.injectable)()
128
+ ], MonacoCodeActionSaveParticipant);
129
+ //# sourceMappingURL=monaco-code-action-save-participant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-code-action-save-participant.js","sourceRoot":"","sources":["../../src/browser/monaco-code-action-save-participant.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Position, Range, TextDocumentSaveReason } from '@theia/core/shared/vscode-languageserver-protocol';
2
2
  import { TextEditorDocument, EncodingMode, FindMatchesOptions, FindMatch, EditorPreferences } from '@theia/editor/lib/browser';
3
- import { DisposableCollection } from '@theia/core/lib/common/disposable';
3
+ import { DisposableCollection, Disposable } from '@theia/core/lib/common/disposable';
4
4
  import { Emitter, Event } from '@theia/core/lib/common/event';
5
5
  import { CancellationTokenSource, CancellationToken } from '@theia/core/lib/common/cancellation';
6
6
  import { Resource, ResourceVersion } from '@theia/core/lib/common/resource';
@@ -8,18 +8,13 @@ import { Saveable, SaveOptions } from '@theia/core/lib/browser/saveable';
8
8
  import { MonacoToProtocolConverter } from './monaco-to-protocol-converter';
9
9
  import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter';
10
10
  import { ILogger, Loggable } from '@theia/core/lib/common/logger';
11
- import { IIdentifiedSingleEditOperation, ITextBufferFactory, ITextModel, ITextSnapshot } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
11
+ import { ITextBufferFactory, ITextModel, ITextSnapshot } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
12
12
  import { IResolvedTextEditorModel } from '@theia/monaco-editor-core/esm/vs/editor/common/services/resolverService';
13
13
  import * as monaco from '@theia/monaco-editor-core';
14
14
  import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
15
15
  import { BinaryBuffer } from '@theia/core/lib/common/buffer';
16
16
  export { TextDocumentSaveReason };
17
- export interface WillSaveMonacoModelEvent {
18
- readonly model: MonacoEditorModel;
19
- readonly reason: TextDocumentSaveReason;
20
- readonly options?: SaveOptions;
21
- waitUntil(thenable: Thenable<IIdentifiedSingleEditOperation[]>): void;
22
- }
17
+ export type WillSaveMonacoModelListener = (model: MonacoEditorModel, token: CancellationToken, options?: SaveOptions) => Promise<void>;
23
18
  export interface MonacoModelContentChangedEvent {
24
19
  readonly model: MonacoEditorModel;
25
20
  readonly contentChanges: MonacoTextDocumentContentChange[];
@@ -49,8 +44,6 @@ export declare class MonacoEditorModel implements IResolvedTextEditorModel, Text
49
44
  get onContentChanged(): Event<void>;
50
45
  protected readonly onDidSaveModelEmitter: Emitter<ITextModel>;
51
46
  readonly onDidSaveModel: Event<ITextModel>;
52
- protected readonly onWillSaveModelEmitter: Emitter<WillSaveMonacoModelEvent>;
53
- readonly onWillSaveModel: Event<WillSaveMonacoModelEvent>;
54
47
  protected readonly onDidChangeValidEmitter: Emitter<void>;
55
48
  readonly onDidChangeValid: Event<void>;
56
49
  protected readonly onDidChangeEncodingEmitter: Emitter<string>;
@@ -59,6 +52,7 @@ export declare class MonacoEditorModel implements IResolvedTextEditorModel, Text
59
52
  private preferredEncoding;
60
53
  private contentEncoding;
61
54
  protected resourceVersion: ResourceVersion | undefined;
55
+ protected readonly willSaveModelListeners: WillSaveMonacoModelListener[];
62
56
  constructor(resource: Resource, m2p: MonacoToProtocolConverter, p2m: ProtocolToMonacoConverter, logger?: ILogger | undefined, editorPreferences?: EditorPreferences | undefined);
63
57
  undo(): void;
64
58
  redo(): void;
@@ -141,7 +135,7 @@ export declare class MonacoEditorModel implements IResolvedTextEditorModel, Text
141
135
  protected markAsDirty(): void;
142
136
  protected saveCancellationTokenSource: CancellationTokenSource;
143
137
  protected cancelSave(): CancellationToken;
144
- protected scheduleSave(reason: TextDocumentSaveReason, token?: CancellationToken, overwriteEncoding?: boolean, options?: SaveOptions): Promise<void>;
138
+ protected scheduleSave(token?: CancellationToken, overwriteEncoding?: boolean, options?: SaveOptions): Promise<void>;
145
139
  protected ignoreContentChanges: boolean;
146
140
  protected readonly contentChanges: MonacoTextDocumentContentChange[];
147
141
  protected pushContentChanges(contentChanges: MonacoTextDocumentContentChange[]): void;
@@ -150,8 +144,9 @@ export declare class MonacoEditorModel implements IResolvedTextEditorModel, Text
150
144
  protected asTextDocumentContentChangeEvent(change: monaco.editor.IModelContentChange): MonacoTextDocumentContentChange;
151
145
  protected applyEdits(operations: monaco.editor.IIdentifiedSingleEditOperation[], options?: Partial<MonacoEditorModel.ApplyEditsOptions>): void;
152
146
  protected updateModel<T>(doUpdate: () => T, options?: Partial<MonacoEditorModel.ApplyEditsOptions>): T;
153
- protected doSave(reason: TextDocumentSaveReason, token: CancellationToken, overwriteEncoding?: boolean, options?: SaveOptions): Promise<void>;
154
- protected fireWillSaveModel(reason: TextDocumentSaveReason, token: CancellationToken, options?: SaveOptions): Promise<void>;
147
+ protected doSave(token: CancellationToken, overwriteEncoding?: boolean, options?: SaveOptions): Promise<void>;
148
+ registerWillSaveModelListener(listener: WillSaveMonacoModelListener): Disposable;
149
+ protected fireWillSaveModel(token: CancellationToken, options?: SaveOptions): Promise<void>;
155
150
  protected fireDidSaveModel(): void;
156
151
  revert(options?: Saveable.RevertOptions): Promise<void>;
157
152
  createSnapshot(preserveBOM?: boolean): ITextSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-editor-model.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-editor-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monaco-editor-model.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-editor-model.ts"],"names":[],"mappings":"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"}
@@ -51,13 +51,12 @@ class MonacoEditorModel {
51
51
  this.onDidChangeContent = this.onDidChangeContentEmitter.event;
52
52
  this.onDidSaveModelEmitter = new event_1.Emitter();
53
53
  this.onDidSaveModel = this.onDidSaveModelEmitter.event;
54
- this.onWillSaveModelEmitter = new event_1.Emitter();
55
- this.onWillSaveModel = this.onWillSaveModelEmitter.event;
56
54
  this.onDidChangeValidEmitter = new event_1.Emitter();
57
55
  this.onDidChangeValid = this.onDidChangeValidEmitter.event;
58
56
  this.onDidChangeEncodingEmitter = new event_1.Emitter();
59
57
  this.onDidChangeEncoding = this.onDidChangeEncodingEmitter.event;
60
58
  this.onDidChangeReadOnly = (_a = this.resource.onDidChangeReadOnly) !== null && _a !== void 0 ? _a : event_1.Event.None;
59
+ this.willSaveModelListeners = [];
61
60
  /**
62
61
  * Use `valid` to access it.
63
62
  * Use `setValid` to mutate it.
@@ -75,7 +74,6 @@ class MonacoEditorModel {
75
74
  this.toDispose.push(this.toDisposeOnAutoSave);
76
75
  this.toDispose.push(this.onDidChangeContentEmitter);
77
76
  this.toDispose.push(this.onDidSaveModelEmitter);
78
- this.toDispose.push(this.onWillSaveModelEmitter);
79
77
  this.toDispose.push(this.onDirtyChangedEmitter);
80
78
  this.toDispose.push(this.onDidChangeValidEmitter);
81
79
  this.toDispose.push(disposable_1.Disposable.create(() => this.cancelSave()));
@@ -110,7 +108,7 @@ class MonacoEditorModel {
110
108
  if (mode === 1 /* EncodingMode.Decode */) {
111
109
  return this.sync();
112
110
  }
113
- return this.scheduleSave(vscode_languageserver_protocol_1.TextDocumentSaveReason.Manual, this.cancelSave(), true);
111
+ return this.scheduleSave(this.cancelSave(), true, { saveReason: saveable_1.SaveReason.Manual });
114
112
  }
115
113
  getEncoding() {
116
114
  return this.preferredEncoding || this.contentEncoding;
@@ -301,8 +299,10 @@ class MonacoEditorModel {
301
299
  return this;
302
300
  }
303
301
  save(options) {
304
- var _a;
305
- return this.scheduleSave((_a = options === null || options === void 0 ? void 0 : options.saveReason) !== null && _a !== void 0 ? _a : vscode_languageserver_protocol_1.TextDocumentSaveReason.Manual, undefined, undefined, options);
302
+ return this.scheduleSave(undefined, undefined, {
303
+ saveReason: vscode_languageserver_protocol_1.TextDocumentSaveReason.Manual,
304
+ ...options
305
+ });
306
306
  }
307
307
  async run(operation) {
308
308
  if (this.toDispose.disposed) {
@@ -392,8 +392,8 @@ class MonacoEditorModel {
392
392
  this.saveCancellationTokenSource = new cancellation_1.CancellationTokenSource();
393
393
  return this.saveCancellationTokenSource.token;
394
394
  }
395
- scheduleSave(reason, token = this.cancelSave(), overwriteEncoding, options) {
396
- return this.run(() => this.doSave(reason, token, overwriteEncoding, options));
395
+ scheduleSave(token = this.cancelSave(), overwriteEncoding, options) {
396
+ return this.run(() => this.doSave(token, overwriteEncoding, options));
397
397
  }
398
398
  pushContentChanges(contentChanges) {
399
399
  if (!this.ignoreContentChanges) {
@@ -444,16 +444,16 @@ class MonacoEditorModel {
444
444
  this.ignoreContentChanges = ignoreContentChanges;
445
445
  }
446
446
  }
447
- async doSave(reason, token, overwriteEncoding, options) {
447
+ async doSave(token, overwriteEncoding, options) {
448
448
  if (token.isCancellationRequested || !this.resource.saveContents) {
449
449
  return;
450
450
  }
451
- await this.fireWillSaveModel(reason, token, options);
451
+ await this.fireWillSaveModel(token, options);
452
452
  if (token.isCancellationRequested) {
453
453
  return;
454
454
  }
455
455
  const changes = [...this.contentChanges];
456
- if ((changes.length === 0 && !this.resource.initiallyDirty) && !overwriteEncoding && reason !== vscode_languageserver_protocol_1.TextDocumentSaveReason.Manual) {
456
+ if ((changes.length === 0 && !this.resource.initiallyDirty) && !overwriteEncoding && (options === null || options === void 0 ? void 0 : options.saveReason) !== vscode_languageserver_protocol_1.TextDocumentSaveReason.Manual) {
457
457
  return;
458
458
  }
459
459
  const currentToSaveVersion = this.model.getAlternativeVersionId();
@@ -479,54 +479,18 @@ class MonacoEditorModel {
479
479
  }
480
480
  }
481
481
  }
482
- async fireWillSaveModel(reason, token, options) {
483
- const firing = this.onWillSaveModelEmitter.sequence(async (listener) => {
484
- if (token.isCancellationRequested) {
485
- return false;
486
- }
487
- const waitables = [];
488
- const { version } = this;
489
- const event = {
490
- model: this, reason, options,
491
- waitUntil: (thenable) => {
492
- if (Object.isFrozen(waitables)) {
493
- throw new Error('waitUntil cannot be called asynchronously.');
494
- }
495
- waitables.push(thenable);
496
- }
497
- };
498
- // Fire.
499
- try {
500
- listener(event);
501
- }
502
- catch (err) {
503
- console.error(err);
504
- return true;
505
- }
506
- // Asynchronous calls to `waitUntil` should fail.
507
- Object.freeze(waitables);
508
- // Wait for all promises.
509
- const edits = await Promise.all(waitables).then(allOperations => [].concat(...allOperations));
510
- if (token.isCancellationRequested) {
511
- return false;
482
+ registerWillSaveModelListener(listener) {
483
+ this.willSaveModelListeners.push(listener);
484
+ return disposable_1.Disposable.create(() => {
485
+ const index = this.willSaveModelListeners.indexOf(listener);
486
+ if (index >= 0) {
487
+ this.willSaveModelListeners.splice(index, 1);
512
488
  }
513
- // In a perfect world, we should only apply edits if document is clean.
514
- if (version !== this.version) {
515
- console.error('onWillSave listeners should provide edits, not directly alter the document.');
516
- }
517
- // Finally apply edits provided by this listener before firing the next.
518
- if (edits && edits.length > 0) {
519
- this.applyEdits(edits, {
520
- ignoreDirty: true,
521
- });
522
- }
523
- return true;
524
489
  });
525
- try {
526
- await firing;
527
- }
528
- catch (e) {
529
- console.error(e);
490
+ }
491
+ async fireWillSaveModel(token, options) {
492
+ for (const listener of this.willSaveModelListeners) {
493
+ await listener(this, token, options);
530
494
  }
531
495
  }
532
496
  fireDidSaveModel() {
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-editor-model.js","sourceRoot":"","sources":["../../src/browser/monaco-editor-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monaco-editor-model.js","sourceRoot":"","sources":["../../src/browser/monaco-editor-model.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,32 @@
1
1
  import URI from '@theia/core/lib/common/uri';
2
2
  import { EditorPreferenceChange, EditorPreferences, TextEditor, DiffNavigator } from '@theia/editor/lib/browser';
3
- import { DisposableCollection } from '@theia/core/lib/common';
3
+ import { DisposableCollection, Disposable, CancellationToken } from '@theia/core/lib/common';
4
4
  import { MonacoDiffEditor } from './monaco-diff-editor';
5
5
  import { MonacoDiffNavigatorFactory } from './monaco-diff-navigator-factory';
6
6
  import { EditorServiceOverrides, MonacoEditor, MonacoEditorServices } from './monaco-editor';
7
- import { MonacoEditorModel, WillSaveMonacoModelEvent } from './monaco-editor-model';
7
+ import { MonacoEditorModel } from './monaco-editor-model';
8
8
  import { MonacoWorkspace } from './monaco-workspace';
9
9
  import { ContributionProvider } from '@theia/core';
10
- import { KeybindingRegistry, OpenerService } from '@theia/core/lib/browser';
10
+ import { KeybindingRegistry, OpenerService, SaveOptions } from '@theia/core/lib/browser';
11
11
  import { MonacoToProtocolConverter } from './monaco-to-protocol-converter';
12
12
  import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter';
13
- import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
14
13
  import * as monaco from '@theia/monaco-editor-core';
15
14
  import { OpenExternalOptions, OpenInternalOptions } from '@theia/monaco-editor-core/esm/vs/platform/opener/common/opener';
16
15
  import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
17
16
  import { SimpleMonacoEditor } from './simple-monaco-editor';
18
17
  import { ICodeEditorWidgetOptions } from '@theia/monaco-editor-core/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget';
18
+ import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
19
19
  export declare const MonacoEditorFactory: unique symbol;
20
20
  export interface MonacoEditorFactory {
21
21
  readonly scheme: string;
22
22
  create(model: MonacoEditorModel, defaultOptions: MonacoEditor.IOptions, defaultOverrides: EditorServiceOverrides): Promise<MonacoEditor>;
23
23
  }
24
+ export declare const SaveParticipant: unique symbol;
25
+ export interface SaveParticipant {
26
+ readonly order: number;
27
+ applyChangesOnSave(editor: MonacoEditor, cancellationToken: CancellationToken, options?: SaveOptions): Promise<void>;
28
+ }
29
+ export declare const SAVE_PARTICIPANT_DEFAULT_ORDER = 0;
24
30
  export declare class MonacoEditorProvider {
25
31
  protected readonly m2p: MonacoToProtocolConverter;
26
32
  protected readonly p2m: ProtocolToMonacoConverter;
@@ -31,7 +37,9 @@ export declare class MonacoEditorProvider {
31
37
  protected readonly services: MonacoEditorServices;
32
38
  protected readonly keybindingRegistry: KeybindingRegistry;
33
39
  protected readonly openerService: OpenerService;
40
+ protected readonly saveProviderContributions: ContributionProvider<SaveParticipant>;
34
41
  protected readonly filePreferences: FileSystemPreferences;
42
+ protected saveParticipants: SaveParticipant[];
35
43
  protected _current: MonacoEditor | undefined;
36
44
  /**
37
45
  * Returns the last focused MonacoEditor.
@@ -54,8 +62,6 @@ export declare class MonacoEditorProvider {
54
62
  protected updateReadOnlyMessage(options: MonacoEditor.IOptions, readOnly: boolean | MarkdownString): void;
55
63
  protected createMonacoEditorOptions(model: MonacoEditorModel): MonacoEditor.IOptions;
56
64
  protected updateMonacoEditorOptions(editor: MonacoEditor, event?: EditorPreferenceChange): void;
57
- protected shouldFormat(editor: MonacoEditor, event: WillSaveMonacoModelEvent): boolean;
58
- protected formatOnSave(editor: MonacoEditor, event: WillSaveMonacoModelEvent): Promise<monaco.editor.IIdentifiedSingleEditOperation[]>;
59
65
  protected get diffPreferencePrefixes(): string[];
60
66
  protected createMonacoDiffEditor(uri: URI, override: EditorServiceOverrides, toDispose: DisposableCollection): Promise<MonacoDiffEditor>;
61
67
  protected createMonacoDiffEditorOptions(original: MonacoEditorModel, modified: MonacoEditorModel): MonacoDiffEditor.IOptions;
@@ -84,6 +90,11 @@ export declare class MonacoEditorProvider {
84
90
  createSimpleInline(uri: URI, node: HTMLElement, options?: MonacoEditor.IOptions, widgetOptions?: ICodeEditorWidgetOptions): Promise<SimpleMonacoEditor>;
85
91
  static inlineOptions: monaco.editor.IEditorConstructionOptions;
86
92
  createEmbeddedDiffEditor(parentEditor: MonacoEditor, node: HTMLElement, originalUri: URI, modifiedUri?: URI, options?: MonacoDiffEditor.IOptions): Promise<MonacoDiffEditor>;
87
- protected insertFinalNewline(editor: MonacoEditor): monaco.editor.IIdentifiedSingleEditOperation[];
93
+ init(): void;
94
+ registerSaveParticipant(saveParticipant: SaveParticipant): Disposable;
95
+ protected shouldFormat(model: MonacoEditorModel, options: SaveOptions): boolean;
96
+ runSaveParticipants(editor: MonacoEditor, cancellationToken: CancellationToken, options?: SaveOptions): Promise<void>;
97
+ protected formatOnSave(editor: MonacoEditor, model: MonacoEditorModel, cancellationToken: CancellationToken, options: SaveOptions): Promise<void>;
98
+ protected insertFinalNewline(editorModel: MonacoEditorModel): void;
88
99
  }
89
100
  //# sourceMappingURL=monaco-editor-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-editor-provider.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-editor-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monaco-editor-provider.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-editor-provider.ts"],"names":[],"mappings":"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"}