@theia/monaco 1.61.0 → 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 (34) 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-editor-service.d.ts +10 -2
  14. package/lib/browser/monaco-editor-service.d.ts.map +1 -1
  15. package/lib/browser/monaco-editor-service.js +21 -2
  16. package/lib/browser/monaco-editor-service.js.map +1 -1
  17. package/lib/browser/monaco-frontend-module.d.ts.map +1 -1
  18. package/lib/browser/monaco-frontend-module.js +5 -0
  19. package/lib/browser/monaco-frontend-module.js.map +1 -1
  20. package/lib/browser/monaco-menu.d.ts.map +1 -1
  21. package/lib/browser/monaco-menu.js +5 -4
  22. package/lib/browser/monaco-menu.js.map +1 -1
  23. package/lib/browser/monaco-workspace.d.ts +1 -4
  24. package/lib/browser/monaco-workspace.d.ts.map +1 -1
  25. package/lib/browser/monaco-workspace.js +0 -6
  26. package/lib/browser/monaco-workspace.js.map +1 -1
  27. package/package.json +9 -9
  28. package/src/browser/monaco-code-action-save-participant.ts +143 -0
  29. package/src/browser/monaco-editor-model.ts +25 -74
  30. package/src/browser/monaco-editor-provider.ts +115 -55
  31. package/src/browser/monaco-editor-service.ts +24 -3
  32. package/src/browser/monaco-frontend-module.ts +8 -2
  33. package/src/browser/monaco-menu.ts +5 -4
  34. package/src/browser/monaco-workspace.ts +1 -9
@@ -3,7 +3,7 @@ import { Emitter } from '@theia/core/lib/common/event';
3
3
  import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
4
4
  import { EditorManager, EditorPreferences } from '@theia/editor/lib/browser';
5
5
  import { MonacoTextModelService } from './monaco-text-model-service';
6
- import { WillSaveMonacoModelEvent, MonacoEditorModel, MonacoModelContentChangedEvent } from './monaco-editor-model';
6
+ import { MonacoEditorModel, MonacoModelContentChangedEvent } from './monaco-editor-model';
7
7
  import { MonacoEditor } from './monaco-editor';
8
8
  import { ProblemManager } from '@theia/markers/lib/browser';
9
9
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
@@ -43,8 +43,6 @@ export declare class MonacoWorkspace {
43
43
  readonly onDidCloseTextDocument: import("@theia/core/lib/common").Event<MonacoEditorModel>;
44
44
  protected readonly onDidChangeTextDocumentEmitter: Emitter<MonacoModelContentChangedEvent>;
45
45
  readonly onDidChangeTextDocument: import("@theia/core/lib/common").Event<MonacoModelContentChangedEvent>;
46
- protected readonly onWillSaveTextDocumentEmitter: Emitter<WillSaveMonacoModelEvent>;
47
- readonly onWillSaveTextDocument: import("@theia/core/lib/common").Event<WillSaveMonacoModelEvent>;
48
46
  protected readonly onDidSaveTextDocumentEmitter: Emitter<MonacoEditorModel>;
49
47
  readonly onDidSaveTextDocument: import("@theia/core/lib/common").Event<MonacoEditorModel>;
50
48
  protected readonly fileService: FileService;
@@ -61,7 +59,6 @@ export declare class MonacoWorkspace {
61
59
  protected doFireDidOpen(model: MonacoEditorModel): void;
62
60
  protected fireDidClose(model: MonacoEditorModel): void;
63
61
  protected fireDidChangeContent(event: MonacoModelContentChangedEvent): void;
64
- protected fireWillSave(event: WillSaveMonacoModelEvent): void;
65
62
  protected fireDidSave(model: MonacoEditorModel): void;
66
63
  protected readonly suppressedOpenIfDirty: MonacoEditorModel[];
67
64
  protected openEditorIfDirty(model: MonacoEditorModel): void;
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-workspace.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-workspace.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACH,gBAAgB,EAChB,eAAe,EAAE,YAAY,EAAE,gBAAgB,IAAI,sBAAsB,EACzE,gBAAgB,IAAI,sBAAsB,EAC7C,MAAM,0EAA0E,CAAC;AAKlF,OAAO,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAC;AAEpF,OAAO,EAAY,YAAY,EAAO,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAGxE;CACJ;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAIxE;CACJ;AAED,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;AAE7F,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,sBAAsB,CAEnE;CACJ;AAED,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,sBAAsB,CAEnE;CACJ;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,qBACa,eAAe;IAExB,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,gBAEX;IAEH,SAAS,CAAC,QAAQ,CAAC,4BAA4B,6BAAoC;IACnF,QAAQ,CAAC,qBAAqB,4DAA2C;IAEzE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,6BAAoC;IACpF,QAAQ,CAAC,sBAAsB,4DAA4C;IAE3E,SAAS,CAAC,QAAQ,CAAC,8BAA8B,0CAAiD;IAClG,QAAQ,CAAC,uBAAuB,yEAA6C;IAE7E,SAAS,CAAC,QAAQ,CAAC,6BAA6B,oCAA2C;IAC3F,QAAQ,CAAC,sBAAsB,mEAA4C;IAE3E,SAAS,CAAC,QAAQ,CAAC,4BAA4B,6BAAoC;IACnF,QAAQ,CAAC,qBAAqB,4DAA2C;IAGzE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAGhD,SAAS,CAAC,IAAI,IAAI,IAAI;IAStB,IAAI,aAAa,IAAI,iBAAiB,EAAE,CAEvC;IAED,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAmBrD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIvD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAItD,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,8BAA8B,GAAG,IAAI;IAI3E,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;IAI7D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAM;IAEnE,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;cAkB3C,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1G;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,EACxG,UAAU,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3G,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;cA4ChF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;cAUxD,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;QACvE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAA;KACrB,CAAC;cAyEc,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cA8BhE,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF,SAAS,CAAC,kCAAkC,CAAC,YAAY,EAAE,sBAAsB,GAAG,QAAQ,GAAG;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;CAO/H"}
1
+ {"version":3,"file":"monaco-workspace.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-workspace.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACH,gBAAgB,EAChB,eAAe,EAAE,YAAY,EAAE,gBAAgB,IAAI,sBAAsB,EACzE,gBAAgB,IAAI,sBAAsB,EAC7C,MAAM,0EAA0E,CAAC;AAKlF,OAAO,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAC;AAEpF,OAAO,EAAY,YAAY,EAAO,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAGxE;CACJ;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAIxE;CACJ;AAED,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;AAE7F,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,sBAAsB,CAEnE;CACJ;AAED,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,sBAAsB,CAEnE;CACJ;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,qBACa,eAAe;IAExB,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,gBAEX;IAEH,SAAS,CAAC,QAAQ,CAAC,4BAA4B,6BAAoC;IACnF,QAAQ,CAAC,qBAAqB,4DAA2C;IAEzE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,6BAAoC;IACpF,QAAQ,CAAC,sBAAsB,4DAA4C;IAE3E,SAAS,CAAC,QAAQ,CAAC,8BAA8B,0CAAiD;IAClG,QAAQ,CAAC,uBAAuB,yEAA6C;IAE7E,SAAS,CAAC,QAAQ,CAAC,4BAA4B,6BAAoC;IACnF,QAAQ,CAAC,qBAAqB,4DAA2C;IAGzE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAGhD,SAAS,CAAC,IAAI,IAAI,IAAI;IAStB,IAAI,aAAa,IAAI,iBAAiB,EAAE,CAEvC;IAED,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAkBrD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIvD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAItD,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,8BAA8B,GAAG,IAAI;IAI3E,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAM;IAEnE,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;cAkB3C,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1G;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,EACxG,UAAU,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3G,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;cA4ChF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;cAUxD,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;QACvE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAA;KACrB,CAAC;cAyEc,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cA8BhE,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF,SAAS,CAAC,kCAAkC,CAAC,YAAY,EAAE,sBAAsB,GAAG,QAAQ,GAAG;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;CAO/H"}
@@ -76,8 +76,6 @@ let MonacoWorkspace = class MonacoWorkspace {
76
76
  this.onDidCloseTextDocument = this.onDidCloseTextDocumentEmitter.event;
77
77
  this.onDidChangeTextDocumentEmitter = new event_1.Emitter();
78
78
  this.onDidChangeTextDocument = this.onDidChangeTextDocumentEmitter.event;
79
- this.onWillSaveTextDocumentEmitter = new event_1.Emitter();
80
- this.onWillSaveTextDocument = this.onWillSaveTextDocumentEmitter.event;
81
79
  this.onDidSaveTextDocumentEmitter = new event_1.Emitter();
82
80
  this.onDidSaveTextDocument = this.onDidSaveTextDocumentEmitter.event;
83
81
  this.suppressedOpenIfDirty = [];
@@ -110,7 +108,6 @@ let MonacoWorkspace = class MonacoWorkspace {
110
108
  });
111
109
  model.onDidChangeContent(event => this.fireDidChangeContent(event));
112
110
  model.onDidSaveModel(() => this.fireDidSave(model));
113
- model.onWillSaveModel(event => this.fireWillSave(event));
114
111
  model.onDirtyChanged(() => this.openEditorIfDirty(model));
115
112
  model.onDispose(() => this.fireDidClose(model));
116
113
  }
@@ -123,9 +120,6 @@ let MonacoWorkspace = class MonacoWorkspace {
123
120
  fireDidChangeContent(event) {
124
121
  this.onDidChangeTextDocumentEmitter.fire(event);
125
122
  }
126
- fireWillSave(event) {
127
- this.onWillSaveTextDocumentEmitter.fire(event);
128
- }
129
123
  fireDidSave(model) {
130
124
  this.onDidSaveTextDocumentEmitter.fire(model);
131
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-workspace.js","sourceRoot":"","sources":["../../src/browser/monaco-workspace.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;;;;AAKhF,4DAAiF;AACjF,oDAA6C;AAC7C,wDAAuD;AACvD,2DAAsE;AACtE,uDAA6E;AAC7E,2EAAqE;AAErE,mDAA+C;AAC/C,wDAA4D;AAC5D,wDAA0D;AAC1D,6EAAyE;AAEzE,oDAAoD;AACpD,8GAIkF;AAClF,uGAA4G;AAC5G,sHAAmH;AAEnH,iHAA8G;AAG9G,mDAAqE;AACrE,qDAA0D;AAE1D,IAAiB,iBAAiB,CAKjC;AALD,WAAiB,iBAAiB;IAC9B,SAAgB,EAAE,CAAC,GAAS;QACxB,OAAO,CAAC,aAAa,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC,aAAa,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC;IAHe,oBAAE,KAGjB,CAAA;AACL,CAAC,EALgB,iBAAiB,iCAAjB,iBAAiB,QAKjC;AAED,IAAiB,iBAAiB,CAMjC;AAND,WAAiB,iBAAiB;IAC9B,SAAgB,EAAE,CAAC,GAAS;QACxB,OAAO,IAAA,iBAAQ,EAAsC,GAAG,CAAC;eAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;eAC9B,IAAA,iBAAQ,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAJe,oBAAE,KAIjB,CAAA;AACL,CAAC,EANgB,iBAAiB,iCAAjB,iBAAiB,QAMjC;AAID,IAAiB,gBAAgB,CAIhC;AAJD,WAAiB,gBAAgB;IAC7B,SAAgB,EAAE,CAAC,GAAiB;QAChC,OAAO,IAAA,iBAAQ,EAAyB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7H,CAAC;IAFe,mBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,gBAAgB,gCAAhB,gBAAgB,QAIhC;AAED,IAAiB,gBAAgB,CAIhC;AAJD,WAAiB,gBAAgB;IAC7B,SAAgB,EAAE,CAAC,GAAiB;QAChC,OAAO,CAAC,UAAU,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,GAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7F,CAAC;IAFe,mBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,gBAAgB,gCAAhB,gBAAgB,QAIhC;AAcM,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QAGM,UAAK,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;QAEgB,iCAA4B,GAAG,IAAI,eAAO,EAAqB,CAAC;QAC1E,0BAAqB,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;QAEtD,kCAA6B,GAAG,IAAI,eAAO,EAAqB,CAAC;QAC3E,2BAAsB,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;QAExD,mCAA8B,GAAG,IAAI,eAAO,EAAkC,CAAC;QACzF,4BAAuB,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;QAE1D,kCAA6B,GAAG,IAAI,eAAO,EAA4B,CAAC;QAClF,2BAAsB,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;QAExD,iCAA4B,GAAG,IAAI,eAAO,EAAqB,CAAC;QAC1E,0BAAqB,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;QAgFtD,0BAAqB,GAAwB,EAAE,CAAC;IAsOvE,CAAC;IA9Ra,IAAI;QACV,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAES,WAAW,CAAC,KAAwB;QAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACP,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAES,aAAa,CAAC,KAAwB;QAC5C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAES,YAAY,CAAC,KAAwB;QAC3C,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAES,oBAAoB,CAAC,KAAqC;QAChE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,YAAY,CAAC,KAA+B;QAClD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAES,WAAW,CAAC,KAAwB;QAC1C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAIS,iBAAiB,CAAC,KAAwB;QAChD,IAAI,KAAK,CAAC,2BAA2B,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,4BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrF,6EAA6E;YAC7E,sEAAsE;YACtE,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC7E,CACI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACzF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CACpE,CAAC,IAAI,CACF,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CACtB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,KAAwB,EAAE,EAA4B;QACtF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,EAAE,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACP,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,KAAwB,EAAE,cAA8D,EACxG,UAA6F;QAC7F,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,4BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,KAAK,CAAA,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;YACxE,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;YACzC,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YACzF,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC;gBAChG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAqB,EAAE,OAA0B;QACjE,IAAI,CAAC;YACD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,kCAAsB,CAAC,CAAC;YAC/E,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,kCAAsB,CAA6B,EAC3I,IAAI,CAAC,EAAE,eAAC,OAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAK,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,YAAY,0CAAE,cAAc,EAAE,0CAAE,QAAQ,EAAE,CAAA,CAAC,CAAA,EAAA,CAAC,CAAC;YAE3I,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,gBAAgB,CAA2B,SAAS,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAA2B,SAAS,CAAC,CAAC;gBAChF,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;gBAChC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;YACpC,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAA2B,YAAY,CAAC,CAAC;YAC3E,CAAC;YAED,wFAAwF;YACxF,4DAA4D;YAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,CACrB,KAAK;iBACA,MAAM,CAAC,CAAC,IAAI,EAAkC,EAAE,CAAC,IAAI,YAAY,kCAAsB,CAAC;iBACxF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAC7C,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5H,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAChE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO;gBACH,WAAW,EAAE,kCAAkC,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7D,SAAS,EAAE,KAAK;aACnB,CAAC;QACN,CAAC;IACL,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,SAAsB;QAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,IAAI,EAAE,CAAA,EAAA,CAAC,CAAC,CAAC;IACzG,CAAC;IAES,cAAc,CAAC,UAAkB,EAAE,UAAkB;QAC3D,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,YAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,YAAG,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,YAAG,CAAC,iBAAiB,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;IAChF,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,KAA+B;QAI5D,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClE,IAAI,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,8BAA8B,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,KAAK,GAAG,EAAE,CAAC;gBACX,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;;gBACrB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,GAAkC,CAAC;gBACvC,MAAM,cAAc,GAAmD,EAAE,CAAC;gBAC1E,MAAM,YAAY,GAAG,MAAM,uCAAkB,CAAC,GAAG,CAAC,mCAAoB,CAAC;qBAClE,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpG,IAAI,YAAY,EAAE,CAAC;oBACf,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;wBAClC,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BACnC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;wBACvB,CAAC;wBACD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACzD,aAAa;4BACb,SAAS;wBACb,CAAC;wBACD,cAAc,CAAC,IAAI,CAAC;4BAChB,gBAAgB,EAAE,KAAK;4BACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACxC,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACtB,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC9C,OAAO;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAA2B,CAAC;oBACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC;oBACvC,MAAM,MAAM,GAAG,4BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5E,MAAM,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,GAAG,aAAa,EAAE,mCAAI,EAAE,CAAC;oBAC/D,0BAA0B;oBAC1B,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBACzB,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;wBACxB,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACpB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACvB,CAAC;oBACD,uDAAuD;oBACvD,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBACzB,UAAU,IAAI,CAAC,CAAC;oBAChB,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC;gBACxC,CAAC;wBAAS,CAAC;oBACP,SAAS,CAAC,OAAO,EAAE,CAAC;gBACxB,CAAC;YACL,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,KAA+B;QAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvC,SAAS;gBACT,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;oBACnI,OAAO,CAAC,4DAA4D;gBACxE,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9I,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/C,cAAc;gBACd,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;oBACtE,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;oBACzD,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,kDAAuC,CAAC,EAAE,CAAC;wBAC5H,QAAQ,GAAG,KAAK,CAAC,CAAC,4BAA4B;oBAClD,CAAC;oBACD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpH,CAAC;qBAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,wCAAwC,CAAC,CAAC;gBACjF,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/C,cAAc;gBACd,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;oBACnI,OAAO,CAAC,4DAA4D;gBACxE,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACrH,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,KAA+B;;QAC/D,MAAM,YAAY,GAAG,MAAA,4BAAY,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,UAAU,EAAE,CAAC;QAC9E,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,iBAAiB,GAAuB,YAAY,CAAC,eAAe,CAAC,oBAAoB,CAAE,CAAC;YAClG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClI,CAAC;IACL,CAAC;IAES,kCAAkC,CAAC,YAAoC;QAC7E,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YACxC,OAAO,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,6BAAa,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9H,CAAC;aAAM,CAAC;YACJ,OAAO,YAAY,CAAC,QAAQ,CAAC;QACjC,CAAC;IACL,CAAC;CACJ,CAAA;AA1UY,0CAAe;AAuBL;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;oDAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,+BAAqB,CAAC;;wDAC4B;AAGvC;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;0DAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,kDAAsB,CAAC;sCACM,kDAAsB;yDAAC;AAGzC;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCACY,uBAAa;sDAAC;AAG7B;IADlB,IAAA,kBAAM,EAAC,wBAAc,CAAC;sCACM,wBAAc;iDAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,yBAAe,CAAC;sCACQ,yBAAe;oDAAC;AAGtC;IADT,IAAA,yBAAa,GAAE;;;;2CAQf;0BAnDQ,eAAe;IAD3B,IAAA,sBAAU,GAAE;GACA,eAAe,CA0U3B"}
1
+ {"version":3,"file":"monaco-workspace.js","sourceRoot":"","sources":["../../src/browser/monaco-workspace.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.61.0",
3
+ "version": "1.62.0",
4
4
  "description": "Theia - Monaco Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.61.0",
7
- "@theia/editor": "1.61.0",
8
- "@theia/filesystem": "1.61.0",
9
- "@theia/markers": "1.61.0",
6
+ "@theia/core": "1.62.0",
7
+ "@theia/editor": "1.62.0",
8
+ "@theia/filesystem": "1.62.0",
9
+ "@theia/markers": "1.62.0",
10
10
  "@theia/monaco-editor-core": "1.96.302",
11
- "@theia/outline-view": "1.61.0",
12
- "@theia/workspace": "1.61.0",
11
+ "@theia/outline-view": "1.62.0",
12
+ "@theia/workspace": "1.62.0",
13
13
  "fast-plist": "^0.1.2",
14
14
  "idb": "^4.0.5",
15
15
  "jsonc-parser": "^2.2.0",
@@ -52,10 +52,10 @@
52
52
  "watch": "theiaext watch"
53
53
  },
54
54
  "devDependencies": {
55
- "@theia/ext-scripts": "1.61.0"
55
+ "@theia/ext-scripts": "1.62.0"
56
56
  },
57
57
  "nyc": {
58
58
  "extends": "../../configs/nyc.json"
59
59
  },
60
- "gitHead": "c99af52568c2e1f453c80c1b0d1fb73c3a23dcc0"
60
+ "gitHead": "a4e035ccc26fde24c2769a466cb18e3b54c517c5"
61
61
  }
@@ -0,0 +1,143 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 STMicroelectronics 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 { CancellationToken } from '@theia/core';
18
+ import { SaveOptions, SaveReason } from '@theia/core/lib/browser';
19
+ import { MonacoEditor } from './monaco-editor';
20
+ import { SaveParticipant, SAVE_PARTICIPANT_DEFAULT_ORDER } from './monaco-editor-provider';
21
+ import { inject, injectable } from '@theia/core/shared/inversify';
22
+ import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
23
+ import { ILanguageFeaturesService } from '@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures';
24
+ import { CodeActionKind, CodeActionSet, CodeActionTriggerSource } from '@theia/monaco-editor-core/esm/vs/editor/contrib/codeAction/common/types';
25
+ import { applyCodeAction, ApplyCodeActionReason, getCodeActions } from '@theia/monaco-editor-core/esm/vs/editor/contrib/codeAction/browser/codeAction';
26
+
27
+ import { HierarchicalKind } from '@theia/monaco-editor-core/esm/vs/base/common/hierarchicalKind';
28
+ import { EditorPreferences } from '@theia/editor/lib/browser';
29
+ import { ITextModel } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
30
+ import { CodeActionProvider, CodeActionTriggerType } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
31
+ import { IProgress } from '@theia/monaco-editor-core/esm/vs/platform/progress/common/progress';
32
+ import { IInstantiationService } from '@theia/monaco-editor-core/esm/vs/platform/instantiation/common/instantiation';
33
+ /*---------------------------------------------------------------------------------------------
34
+ * Copyright (c) Microsoft Corporation. All rights reserved.
35
+ * Licensed under the MIT License. See License.txt in the project root for license information.
36
+ *--------------------------------------------------------------------------------------------*/
37
+ // Partially copied from https://github.com/microsoft/vscode/blob/f66e839a38dfe39ee66a86619a790f9c2336d698/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.ts#L272
38
+ @injectable()
39
+ export class MonacoCodeActionSaveParticipant implements SaveParticipant {
40
+ @inject(EditorPreferences)
41
+ protected readonly editorPreferences: EditorPreferences;
42
+
43
+ readonly order = SAVE_PARTICIPANT_DEFAULT_ORDER;
44
+
45
+ async applyChangesOnSave(editor: MonacoEditor, cancellationToken: CancellationToken, options?: SaveOptions): Promise<void> {
46
+ if (options?.saveReason !== SaveReason.Manual) {
47
+ return undefined;
48
+ }
49
+
50
+ const setting = this.editorPreferences.get({
51
+ preferenceName: 'editor.codeActionsOnSave',
52
+ overrideIdentifier: editor.document.textEditorModel.getLanguageId()
53
+ }, undefined, editor.document.textEditorModel.uri.toString());
54
+
55
+ if (!setting) {
56
+ return undefined;
57
+ }
58
+
59
+ const settingItems: string[] = Array.isArray(setting)
60
+ ? setting
61
+ : Object.keys(setting).filter(x => setting[x]);
62
+
63
+ const codeActionsOnSave = this.createCodeActionsOnSave(settingItems);
64
+
65
+ if (!codeActionsOnSave.length) {
66
+ return undefined;
67
+ }
68
+
69
+ if (!Array.isArray(setting)) {
70
+ codeActionsOnSave.sort((a, b) => {
71
+ if (CodeActionKind.SourceFixAll.contains(a)) {
72
+ if (CodeActionKind.SourceFixAll.contains(b)) {
73
+ return 0;
74
+ }
75
+ return -1;
76
+ }
77
+ if (CodeActionKind.SourceFixAll.contains(b)) {
78
+ return 1;
79
+ }
80
+ return 0;
81
+ });
82
+ }
83
+
84
+ const excludedActions = Array.isArray(setting)
85
+ ? []
86
+ : Object.keys(setting)
87
+ .filter(x => setting[x] === false)
88
+ .map(x => new HierarchicalKind(x));
89
+
90
+ await this.applyOnSaveActions(editor.document.textEditorModel, codeActionsOnSave, excludedActions, cancellationToken);
91
+ }
92
+
93
+ private createCodeActionsOnSave(settingItems: readonly string[]): HierarchicalKind[] {
94
+ const kinds = settingItems.map(x => new HierarchicalKind(x));
95
+
96
+ // Remove subsets
97
+ return kinds.filter(kind => kinds.every(otherKind => otherKind.equals(kind) || !otherKind.contains(kind)));
98
+ }
99
+
100
+ private async applyOnSaveActions(model: ITextModel, codeActionsOnSave: readonly HierarchicalKind[],
101
+ excludes: readonly HierarchicalKind[], token: CancellationToken): Promise<void> {
102
+
103
+ const instantiationService = StandaloneServices.get(IInstantiationService);
104
+
105
+ for (const codeActionKind of codeActionsOnSave) {
106
+ const actionsToRun = await this.getActionsToRun(model, codeActionKind, excludes, token);
107
+
108
+ if (token.isCancellationRequested) {
109
+ actionsToRun.dispose();
110
+ return;
111
+ }
112
+
113
+ try {
114
+ for (const action of actionsToRun.validActions) {
115
+ await instantiationService.invokeFunction(applyCodeAction, action, ApplyCodeActionReason.OnSave, {}, token);
116
+ if (token.isCancellationRequested) {
117
+ return;
118
+ }
119
+ }
120
+ } catch {
121
+ // Failure to apply a code action should not block other on save actions
122
+ } finally {
123
+ actionsToRun.dispose();
124
+ }
125
+ }
126
+ }
127
+
128
+ private getActionsToRun(model: ITextModel, codeActionKind: HierarchicalKind, excludes: readonly HierarchicalKind[], token: CancellationToken): Promise<CodeActionSet> {
129
+ const { codeActionProvider } = StandaloneServices.get(ILanguageFeaturesService);
130
+
131
+ const progress: IProgress<CodeActionProvider> = {
132
+ report(item): void {
133
+ // empty
134
+ },
135
+ };
136
+
137
+ return getCodeActions(codeActionProvider, model, model.getFullModelRange(), {
138
+ type: CodeActionTriggerType.Auto,
139
+ triggerAction: CodeActionTriggerSource.OnSave,
140
+ filter: { include: codeActionKind, excludes: excludes, includeSourceActions: true },
141
+ }, progress, token);
142
+ }
143
+ }
@@ -20,11 +20,11 @@ import { DisposableCollection, Disposable } from '@theia/core/lib/common/disposa
20
20
  import { Emitter, Event } from '@theia/core/lib/common/event';
21
21
  import { CancellationTokenSource, CancellationToken } from '@theia/core/lib/common/cancellation';
22
22
  import { Resource, ResourceError, ResourceVersion } from '@theia/core/lib/common/resource';
23
- import { Saveable, SaveOptions } from '@theia/core/lib/browser/saveable';
23
+ import { Saveable, SaveOptions, SaveReason } from '@theia/core/lib/browser/saveable';
24
24
  import { MonacoToProtocolConverter } from './monaco-to-protocol-converter';
25
25
  import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter';
26
26
  import { ILogger, Loggable, Log } from '@theia/core/lib/common/logger';
27
- import { IIdentifiedSingleEditOperation, ITextBufferFactory, ITextModel, ITextSnapshot } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
27
+ import { ITextBufferFactory, ITextModel, ITextSnapshot } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
28
28
  import { IResolvedTextEditorModel } from '@theia/monaco-editor-core/esm/vs/editor/common/services/resolverService';
29
29
  import * as monaco from '@theia/monaco-editor-core';
30
30
  import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
@@ -39,12 +39,7 @@ export {
39
39
  TextDocumentSaveReason
40
40
  };
41
41
 
42
- export interface WillSaveMonacoModelEvent {
43
- readonly model: MonacoEditorModel;
44
- readonly reason: TextDocumentSaveReason;
45
- readonly options?: SaveOptions;
46
- waitUntil(thenable: Thenable<IIdentifiedSingleEditOperation[]>): void;
47
- }
42
+ export type WillSaveMonacoModelListener = (model: MonacoEditorModel, token: CancellationToken, options?: SaveOptions) => Promise<void>;
48
43
 
49
44
  export interface MonacoModelContentChangedEvent {
50
45
  readonly model: MonacoEditorModel;
@@ -83,9 +78,6 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
83
78
  protected readonly onDidSaveModelEmitter = new Emitter<ITextModel>();
84
79
  readonly onDidSaveModel = this.onDidSaveModelEmitter.event;
85
80
 
86
- protected readonly onWillSaveModelEmitter = new Emitter<WillSaveMonacoModelEvent>();
87
- readonly onWillSaveModel = this.onWillSaveModelEmitter.event;
88
-
89
81
  protected readonly onDidChangeValidEmitter = new Emitter<void>();
90
82
  readonly onDidChangeValid = this.onDidChangeValidEmitter.event;
91
83
 
@@ -99,6 +91,8 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
99
91
 
100
92
  protected resourceVersion: ResourceVersion | undefined;
101
93
 
94
+ protected readonly willSaveModelListeners: WillSaveMonacoModelListener[] = [];
95
+
102
96
  constructor(
103
97
  protected readonly resource: Resource,
104
98
  protected readonly m2p: MonacoToProtocolConverter,
@@ -110,7 +104,6 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
110
104
  this.toDispose.push(this.toDisposeOnAutoSave);
111
105
  this.toDispose.push(this.onDidChangeContentEmitter);
112
106
  this.toDispose.push(this.onDidSaveModelEmitter);
113
- this.toDispose.push(this.onWillSaveModelEmitter);
114
107
  this.toDispose.push(this.onDirtyChangedEmitter);
115
108
  this.toDispose.push(this.onDidChangeValidEmitter);
116
109
  this.toDispose.push(Disposable.create(() => this.cancelSave()));
@@ -154,7 +147,7 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
154
147
  if (mode === EncodingMode.Decode) {
155
148
  return this.sync();
156
149
  }
157
- return this.scheduleSave(TextDocumentSaveReason.Manual, this.cancelSave(), true);
150
+ return this.scheduleSave(this.cancelSave(), true, { saveReason: SaveReason.Manual });
158
151
  }
159
152
 
160
153
  getEncoding(): string | undefined {
@@ -386,7 +379,10 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
386
379
  }
387
380
 
388
381
  save(options?: SaveOptions): Promise<void> {
389
- return this.scheduleSave(options?.saveReason ?? TextDocumentSaveReason.Manual, undefined, undefined, options);
382
+ return this.scheduleSave(undefined, undefined, {
383
+ saveReason: TextDocumentSaveReason.Manual,
384
+ ...options
385
+ });
390
386
  }
391
387
 
392
388
  protected pendingOperation = Promise.resolve();
@@ -485,8 +481,8 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
485
481
  return this.saveCancellationTokenSource.token;
486
482
  }
487
483
 
488
- protected scheduleSave(reason: TextDocumentSaveReason, token: CancellationToken = this.cancelSave(), overwriteEncoding?: boolean, options?: SaveOptions): Promise<void> {
489
- return this.run(() => this.doSave(reason, token, overwriteEncoding, options));
484
+ protected scheduleSave(token: CancellationToken = this.cancelSave(), overwriteEncoding?: boolean, options?: SaveOptions): Promise<void> {
485
+ return this.run(() => this.doSave(token, overwriteEncoding, options));
490
486
  }
491
487
 
492
488
  protected ignoreContentChanges = false;
@@ -546,18 +542,18 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
546
542
  }
547
543
  }
548
544
 
549
- protected async doSave(reason: TextDocumentSaveReason, token: CancellationToken, overwriteEncoding?: boolean, options?: SaveOptions): Promise<void> {
545
+ protected async doSave(token: CancellationToken, overwriteEncoding?: boolean, options?: SaveOptions): Promise<void> {
550
546
  if (token.isCancellationRequested || !this.resource.saveContents) {
551
547
  return;
552
548
  }
553
549
 
554
- await this.fireWillSaveModel(reason, token, options);
550
+ await this.fireWillSaveModel(token, options);
555
551
  if (token.isCancellationRequested) {
556
552
  return;
557
553
  }
558
554
 
559
555
  const changes = [...this.contentChanges];
560
- if ((changes.length === 0 && !this.resource.initiallyDirty) && !overwriteEncoding && reason !== TextDocumentSaveReason.Manual) {
556
+ if ((changes.length === 0 && !this.resource.initiallyDirty) && !overwriteEncoding && options?.saveReason !== TextDocumentSaveReason.Manual) {
561
557
  return;
562
558
  }
563
559
 
@@ -586,64 +582,19 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
586
582
  }
587
583
  }
588
584
 
589
- protected async fireWillSaveModel(reason: TextDocumentSaveReason, token: CancellationToken, options?: SaveOptions): Promise<void> {
590
- type EditContributor = Thenable<monaco.editor.IIdentifiedSingleEditOperation[]>;
591
-
592
- const firing = this.onWillSaveModelEmitter.sequence(async listener => {
593
- if (token.isCancellationRequested) {
594
- return false;
595
- }
596
- const waitables: EditContributor[] = [];
597
- const { version } = this;
598
-
599
- const event = {
600
- model: this, reason, options,
601
- waitUntil: (thenable: EditContributor) => {
602
- if (Object.isFrozen(waitables)) {
603
- throw new Error('waitUntil cannot be called asynchronously.');
604
- }
605
- waitables.push(thenable);
606
- }
607
- };
608
-
609
- // Fire.
610
- try {
611
- listener(event);
612
- } catch (err) {
613
- console.error(err);
614
- return true;
615
- }
616
-
617
- // Asynchronous calls to `waitUntil` should fail.
618
- Object.freeze(waitables);
619
-
620
- // Wait for all promises.
621
- const edits = await Promise.all(waitables).then(allOperations =>
622
- ([] as monaco.editor.IIdentifiedSingleEditOperation[]).concat(...allOperations)
623
- );
624
- if (token.isCancellationRequested) {
625
- return false;
626
- }
627
-
628
- // In a perfect world, we should only apply edits if document is clean.
629
- if (version !== this.version) {
630
- console.error('onWillSave listeners should provide edits, not directly alter the document.');
631
- }
632
-
633
- // Finally apply edits provided by this listener before firing the next.
634
- if (edits && edits.length > 0) {
635
- this.applyEdits(edits, {
636
- ignoreDirty: true,
637
- });
585
+ registerWillSaveModelListener(listener: WillSaveMonacoModelListener): Disposable {
586
+ this.willSaveModelListeners.push(listener);
587
+ return Disposable.create(() => {
588
+ const index = this.willSaveModelListeners.indexOf(listener);
589
+ if (index >= 0) {
590
+ this.willSaveModelListeners.splice(index, 1);
638
591
  }
639
-
640
- return true;
641
592
  });
593
+ }
642
594
 
643
- try {
644
- await firing;
645
- } catch (e) {
646
- console.error(e);
595
+ protected async fireWillSaveModel(token: CancellationToken, options?: SaveOptions): Promise<void> {
596
+ for (const listener of this.willSaveModelListeners) {
597
+ await listener(this, token, options);
647
598
  }
648
599
  }
649
600