@theia/editor 1.60.0-next.47 → 1.60.1

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.
@@ -3,6 +3,7 @@ import { RecursivePartial, Emitter, Event, MaybePromise, CommandService, Contrib
3
3
  import { WidgetOpenerOptions, NavigatableWidgetOpenHandler, NavigatableWidgetOptions, PreferenceService } from '@theia/core/lib/browser';
4
4
  import { EditorWidget } from './editor-widget';
5
5
  import { Range, Position, Location, TextEditor } from './editor';
6
+ import { NavigationLocationService } from './navigation/navigation-location-service';
6
7
  export interface WidgetId {
7
8
  id: number;
8
9
  uri: string;
@@ -35,6 +36,7 @@ export declare class EditorManager extends NavigatableWidgetOpenHandler<EditorWi
35
36
  protected readonly preferenceService: PreferenceService;
36
37
  protected readonly resolverContributions: ContributionProvider<EditorSelectionResolver>;
37
38
  protected selectionResolvers: EditorSelectionResolver[];
39
+ protected readonly navigationLocationService: NavigationLocationService;
38
40
  protected init(): void;
39
41
  /**
40
42
  * Registers a dynamic selection resolver.
@@ -47,8 +49,6 @@ export declare class EditorManager extends NavigatableWidgetOpenHandler<EditorWi
47
49
  getByUri(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget | undefined>;
48
50
  getOrCreateByUri(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget>;
49
51
  protected tryGetPendingWidget(uri: URI, options?: EditorOpenerOptions): MaybePromise<EditorWidget> | undefined;
50
- protected getWidget(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget | undefined>;
51
- protected getOrCreateWidget(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget>;
52
52
  protected readonly recentlyVisibleIds: string[];
53
53
  protected get recentlyVisible(): EditorWidget | undefined;
54
54
  protected addRecentlyVisible(widget: EditorWidget): void;
@@ -76,7 +76,8 @@ export declare class EditorManager extends NavigatableWidgetOpenHandler<EditorWi
76
76
  * To modify direction, pass options with `{widgetOptions: {mode: ...}}`
77
77
  */
78
78
  openToSide(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget>;
79
- protected revealSelection(widget: EditorWidget, input?: EditorOpenerOptions, uri?: URI): Promise<void>;
79
+ protected doOpen(widget: EditorWidget, uri: URI, options?: EditorOpenerOptions): Promise<void>;
80
+ protected revealSelection(widget: EditorWidget, uri: URI, options?: EditorOpenerOptions): Promise<void>;
80
81
  protected resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
81
82
  protected getSelection(widget: EditorWidget, selection: RecursivePartial<Range>): Range | Position | undefined;
82
83
  protected removeFromCounter(widget: EditorWidget): void;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-manager.d.ts","sourceRoot":"","sources":["../../src/browser/editor-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-manager.d.ts","sourceRoot":"","sources":["../../src/browser/editor-manager.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ const browser_1 = require("@theia/core/lib/browser");
23
23
  const editor_widget_1 = require("./editor-widget");
24
24
  const editor_1 = require("./editor");
25
25
  const editor_widget_factory_1 = require("./editor-widget-factory");
26
+ const navigation_location_service_1 = require("./navigation/navigation-location-service");
26
27
  exports.EditorSelectionResolver = Symbol('EditorSelectionResolver');
27
28
  let EditorManager = class EditorManager extends browser_1.NavigatableWidgetOpenHandler {
28
29
  constructor() {
@@ -100,27 +101,6 @@ let EditorManager = class EditorManager extends browser_1.NavigatableWidgetOpenH
100
101
  if (!editorPromise) {
101
102
  return editorPromise;
102
103
  }
103
- // Reveal selection before attachment to manage nav stack. (https://github.com/eclipse-theia/theia/issues/8955)
104
- if (!(editorPromise instanceof browser_1.Widget)) {
105
- return editorPromise.then(editor => this.revealSelection(editor, options, uri)).then(() => editorPromise);
106
- }
107
- else {
108
- return this.revealSelection(editorPromise, options, uri).then(() => editorPromise);
109
- }
110
- }
111
- async getWidget(uri, options) {
112
- const editor = await super.getWidget(uri, options);
113
- if (editor) {
114
- // Reveal selection before attachment to manage nav stack. (https://github.com/eclipse-theia/theia/issues/8955)
115
- await this.revealSelection(editor, options, uri);
116
- }
117
- return editor;
118
- }
119
- async getOrCreateWidget(uri, options) {
120
- const editor = await super.getOrCreateWidget(uri, options);
121
- // Reveal selection before attachment to manage nav stack. (https://github.com/eclipse-theia/theia/issues/8955)
122
- await this.revealSelection(editor, options, uri);
123
- return editor;
124
104
  }
125
105
  get recentlyVisible() {
126
106
  const id = this.recentlyVisibleIds[0];
@@ -167,8 +147,10 @@ let EditorManager = class EditorManager extends browser_1.NavigatableWidgetOpenH
167
147
  return this._currentEditor;
168
148
  }
169
149
  setCurrentEditor(current) {
170
- this._currentEditor = current;
171
- this.onCurrentEditorChangedEmitter.fire(this._currentEditor);
150
+ if (this._currentEditor !== current) {
151
+ this._currentEditor = current;
152
+ this.onCurrentEditorChangedEmitter.fire(this._currentEditor);
153
+ }
172
154
  }
173
155
  updateCurrentEditor() {
174
156
  const widget = this.shell.currentWidget;
@@ -185,38 +167,44 @@ let EditorManager = class EditorManager extends browser_1.NavigatableWidgetOpenH
185
167
  }
186
168
  return 100;
187
169
  }
188
- open(uri, options) {
170
+ async open(uri, options) {
189
171
  var _a;
190
- if ((options === null || options === void 0 ? void 0 : options.counter) === undefined) {
191
- const insertionOptions = this.shell.getInsertionOptions(options === null || options === void 0 ? void 0 : options.widgetOptions);
192
- // Definitely creating a new tabbar - no widget can match.
193
- if ((_a = insertionOptions.addOptions.mode) === null || _a === void 0 ? void 0 : _a.startsWith('split')) {
194
- return super.open(uri, { counter: this.createCounterForUri(uri), ...options });
195
- }
196
- // Check the target tabbar for an existing widget.
197
- const tabbar = insertionOptions.addOptions.ref && this.shell.getTabBarFor(insertionOptions.addOptions.ref);
198
- if (tabbar) {
199
- const currentUri = uri.toString();
200
- for (const title of tabbar.titles) {
201
- if (title.owner instanceof editor_widget_1.EditorWidget) {
202
- const { uri: otherWidgetUri, id } = this.extractIdFromWidget(title.owner);
203
- if (otherWidgetUri === currentUri) {
204
- return super.open(uri, { counter: id, ...options });
172
+ this.navigationLocationService.startNavigation();
173
+ try {
174
+ if ((options === null || options === void 0 ? void 0 : options.counter) === undefined) {
175
+ const insertionOptions = this.shell.getInsertionOptions(options === null || options === void 0 ? void 0 : options.widgetOptions);
176
+ // Definitely creating a new tabbar - no widget can match.
177
+ if ((_a = insertionOptions.addOptions.mode) === null || _a === void 0 ? void 0 : _a.startsWith('split')) {
178
+ return await super.open(uri, { counter: this.createCounterForUri(uri), ...options });
179
+ }
180
+ // Check the target tabbar for an existing widget.
181
+ const tabbar = insertionOptions.addOptions.ref && this.shell.getTabBarFor(insertionOptions.addOptions.ref);
182
+ if (tabbar) {
183
+ const currentUri = uri.toString();
184
+ for (const title of tabbar.titles) {
185
+ if (title.owner instanceof editor_widget_1.EditorWidget) {
186
+ const { uri: otherWidgetUri, id } = this.extractIdFromWidget(title.owner);
187
+ if (otherWidgetUri === currentUri) {
188
+ return await super.open(uri, { counter: id, ...options });
189
+ }
205
190
  }
206
191
  }
207
192
  }
208
- }
209
- // If the user has opted to prefer to open an existing editor even if it's on a different tab, check if we have anything about the URI.
210
- if (this.preferenceService.get('workbench.editor.revealIfOpen', false)) {
211
- const counter = this.getCounterForUri(uri);
212
- if (counter !== undefined) {
213
- return super.open(uri, { counter, ...options });
193
+ // If the user has opted to prefer to open an existing editor even if it's on a different tab, check if we have anything about the URI.
194
+ if (this.preferenceService.get('workbench.editor.revealIfOpen', false)) {
195
+ const counter = this.getCounterForUri(uri);
196
+ if (counter !== undefined) {
197
+ return await super.open(uri, { counter, ...options });
198
+ }
214
199
  }
200
+ // Open a new widget.
201
+ return await super.open(uri, { counter: this.createCounterForUri(uri), ...options });
215
202
  }
216
- // Open a new widget.
217
- return super.open(uri, { counter: this.createCounterForUri(uri), ...options });
203
+ return await super.open(uri, options);
204
+ }
205
+ finally {
206
+ this.navigationLocationService.endNavigation();
218
207
  }
219
- return super.open(uri, options);
220
208
  }
221
209
  /**
222
210
  * Opens an editor to the side of the current editor. Defaults to opening to the right.
@@ -227,10 +215,14 @@ let EditorManager = class EditorManager extends browser_1.NavigatableWidgetOpenH
227
215
  const splitOptions = { widgetOptions: { mode: 'split-right' }, ...options, counter };
228
216
  return this.open(uri, splitOptions);
229
217
  }
230
- async revealSelection(widget, input, uri) {
231
- let inputSelection = input === null || input === void 0 ? void 0 : input.selection;
218
+ async doOpen(widget, uri, options) {
219
+ await super.doOpen(widget, uri, options);
220
+ await this.revealSelection(widget, uri, options);
221
+ }
222
+ async revealSelection(widget, uri, options) {
223
+ let inputSelection = options === null || options === void 0 ? void 0 : options.selection;
232
224
  if (!inputSelection) {
233
- inputSelection = await this.resolveSelection(widget, input !== null && input !== void 0 ? input : {}, uri);
225
+ inputSelection = await this.resolveSelection(widget, options !== null && options !== void 0 ? options : {}, uri);
234
226
  }
235
227
  // this logic could be moved into a 'EditorSelectionResolver'
236
228
  if (!inputSelection && uri) {
@@ -371,6 +363,10 @@ tslib_1.__decorate([
371
363
  (0, inversify_1.named)(exports.EditorSelectionResolver),
372
364
  tslib_1.__metadata("design:type", Object)
373
365
  ], EditorManager.prototype, "resolverContributions", void 0);
366
+ tslib_1.__decorate([
367
+ (0, inversify_1.inject)(navigation_location_service_1.NavigationLocationService),
368
+ tslib_1.__metadata("design:type", navigation_location_service_1.NavigationLocationService)
369
+ ], EditorManager.prototype, "navigationLocationService", void 0);
374
370
  tslib_1.__decorate([
375
371
  (0, inversify_1.postConstruct)(),
376
372
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"editor-manager.js","sourceRoot":"","sources":["../../src/browser/editor-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-manager.js","sourceRoot":"","sources":["../../src/browser/editor-manager.ts"],"names":[],"mappings":"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"}
@@ -210,23 +210,23 @@ let EditorNavigationContribution = EditorNavigationContribution_1 = class Editor
210
210
  editor.onSelectionChanged(selection => this.onSelectionChanged(editor, selection)),
211
211
  editor.onDocumentContentChanged(event => this.onDocumentContentChanged(editor, event))
212
212
  ]);
213
- this.locationStack.register(navigation_location_1.NavigationLocation.create(editor, editor.selection));
213
+ this.locationStack.navigate(service => service.register(navigation_location_1.NavigationLocation.create(editor, editor.selection)));
214
214
  }
215
215
  }
216
216
  onCursorPositionChanged(editor, position) {
217
- this.locationStack.register(navigation_location_1.NavigationLocation.create(editor, position));
217
+ this.locationStack.navigate(service => service.register(navigation_location_1.NavigationLocation.create(editor, position)));
218
218
  }
219
219
  onSelectionChanged(editor, selection) {
220
220
  if (this.isZeroLengthRange(selection)) {
221
221
  this.onCursorPositionChanged(editor, selection.start);
222
222
  }
223
223
  else {
224
- this.locationStack.register(navigation_location_1.NavigationLocation.create(editor, selection));
224
+ this.locationStack.navigate(service => service.register(navigation_location_1.NavigationLocation.create(editor, selection)));
225
225
  }
226
226
  }
227
227
  onDocumentContentChanged(editor, event) {
228
228
  if (event.contentChanges.length > 0) {
229
- this.locationStack.register(navigation_location_1.NavigationLocation.create(editor, event.contentChanges[0]));
229
+ this.locationStack.navigate(service => service.register(navigation_location_1.NavigationLocation.create(editor, event.contentChanges[0])));
230
230
  }
231
231
  }
232
232
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"editor-navigation-contribution.js","sourceRoot":"","sources":["../../src/browser/editor-navigation-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-navigation-contribution.js","sourceRoot":"","sources":["../../src/browser/editor-navigation-contribution.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,13 @@ import URI from '@theia/core/lib/common/uri';
7
7
  /**
8
8
  * The navigation location service.
9
9
  * It also stores and manages navigation locations and recently closed editors.
10
+ *
11
+ * Since we update the navigation locations as a side effect of UI events (seting the selection, etc.) We sometimes
12
+ * record intermediate locations which are not considered the "final" location we're navigating to.
13
+ * In order to remedy, clients should always invoke "startNavigation" before registering locations and
14
+ * invoke "endNavigation" when done. Only when no more nested navigations are active ist the last registered
15
+ * location transfered to the navigation "stack".
16
+ *
10
17
  */
11
18
  export declare class NavigationLocationService {
12
19
  private static MAX_STACK_ITEMS;
@@ -20,10 +27,29 @@ export declare class NavigationLocationService {
20
27
  protected canRegister: boolean;
21
28
  protected _lastEditLocation: ContentChangeLocation | undefined;
22
29
  protected recentlyClosedEditors: RecentlyClosedEditor[];
30
+ protected activeNavigations: {
31
+ count: number;
32
+ lastLocation: NavigationLocation[] | undefined;
33
+ };
34
+ /**
35
+ * Start a logical navigation operation. Invoke this before invoking `registerLocations`
36
+ */
37
+ startNavigation(): void;
38
+ /**
39
+ * End a logical navigation operation. Invoke this before after `registerLocations`
40
+ */
41
+ endNavigation(): void;
42
+ /**
43
+ * Convenience method for executing a navigation operation with proper start and end navigation
44
+ * @param navigation The operation changing the location
45
+ * @returns the result of the navigation function
46
+ */
47
+ navigate<T>(navigation: (navigationServier: NavigationLocationService) => T): T;
23
48
  /**
24
49
  * Registers the give locations into the service.
25
50
  */
26
51
  register(...locations: NavigationLocation[]): void;
52
+ protected doRegister(locations: NavigationLocation[]): void;
27
53
  /**
28
54
  * Navigates one back. Returns with the previous location, or `undefined` if it could not navigate back.
29
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-location-service.d.ts","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAQ,MAAM,wCAAwC,CAAC;AAE5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAS,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C;;;GAGG;AACH,qBACa,yBAAyB;IAElC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAM;IAGzD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAE5D,SAAS,CAAC,OAAO,SAAM;IACvB,SAAS,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAM;IAC3C,SAAS,CAAC,WAAW,UAAQ;IAC7B,SAAS,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAE/D,SAAS,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,CAAM;IAE7D;;OAEG;IACH,QAAQ,CAAC,GAAG,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAgDlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAYrD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAYxD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,SAAS,IAAI,aAAa,CAAC,kBAAkB,CAAC;IAI9C;;OAEG;IACH,eAAe,IAAI,kBAAkB,GAAG,SAAS;IAIjD;;;OAGG;IACH,gBAAgB,IAAI,kBAAkB,GAAG,SAAS;IAIlD;;OAEG;IACH,YAAY,IAAI,IAAI;IAOpB;;OAEG;IACG,MAAM,CAAC,QAAQ,GAAE,kBAAkB,GAAG,SAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9F;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,EAAE,KAAK,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO;IAIzG;;;OAGG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,aAAa;YAYxD,KAAK;IAInB,OAAO,KAAK,SAAS,GAKpB;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAE5D;IAED;;;;OAIG;IACH,mBAAmB,IAAI,oBAAoB,GAAG,SAAS;IAIvD;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAUnD;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;CAIrC"}
1
+ {"version":3,"file":"navigation-location-service.d.ts","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,13 @@ const navigation_location_1 = require("./navigation-location");
27
27
  /**
28
28
  * The navigation location service.
29
29
  * It also stores and manages navigation locations and recently closed editors.
30
+ *
31
+ * Since we update the navigation locations as a side effect of UI events (seting the selection, etc.) We sometimes
32
+ * record intermediate locations which are not considered the "final" location we're navigating to.
33
+ * In order to remedy, clients should always invoke "startNavigation" before registering locations and
34
+ * invoke "endNavigation" when done. Only when no more nested navigations are active ist the last registered
35
+ * location transfered to the navigation "stack".
36
+ *
30
37
  */
31
38
  let NavigationLocationService = NavigationLocationService_1 = class NavigationLocationService {
32
39
  constructor() {
@@ -34,58 +41,108 @@ let NavigationLocationService = NavigationLocationService_1 = class NavigationLo
34
41
  this.stack = [];
35
42
  this.canRegister = true;
36
43
  this.recentlyClosedEditors = [];
44
+ this.activeNavigations = { count: 0, lastLocation: undefined };
45
+ }
46
+ /**
47
+ * Start a logical navigation operation. Invoke this before invoking `registerLocations`
48
+ */
49
+ startNavigation() {
50
+ if (this.canRegister) {
51
+ this.activeNavigations.count++;
52
+ this.logger.debug(`start navigation ${this.activeNavigations.count}`);
53
+ this.logger.trace(new Error('start'));
54
+ }
55
+ }
56
+ /**
57
+ * End a logical navigation operation. Invoke this before after `registerLocations`
58
+ */
59
+ endNavigation() {
60
+ if (this.canRegister) {
61
+ this.activeNavigations.count--;
62
+ this.logger.debug(`end navigation ${this.activeNavigations.count}`);
63
+ this.logger.trace(new Error('end'));
64
+ if (this.activeNavigations.count === 0 && this.activeNavigations.lastLocation !== undefined) {
65
+ this.logger.debug(`ending navigation with location ${JSON.stringify(navigation_location_1.NavigationLocation.toObject(this.activeNavigations.lastLocation[0]))}`);
66
+ const locations = this.activeNavigations.lastLocation;
67
+ this.activeNavigations.lastLocation = undefined;
68
+ this.doRegister(locations);
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Convenience method for executing a navigation operation with proper start and end navigation
74
+ * @param navigation The operation changing the location
75
+ * @returns the result of the navigation function
76
+ */
77
+ navigate(navigation) {
78
+ this.startNavigation();
79
+ try {
80
+ return navigation(this);
81
+ }
82
+ finally {
83
+ this.endNavigation();
84
+ }
37
85
  }
38
86
  /**
39
87
  * Registers the give locations into the service.
40
88
  */
41
89
  register(...locations) {
42
90
  if (this.canRegister) {
43
- const max = this.maxStackItems();
44
- [...locations].forEach(location => {
45
- if (navigation_location_1.ContentChangeLocation.is(location)) {
46
- this._lastEditLocation = location;
91
+ if (this.activeNavigations.count > 0) {
92
+ this.activeNavigations.lastLocation = locations;
93
+ }
94
+ else {
95
+ this.logger.warn('no activative navigation', new Error('No active navigation'));
96
+ this.doRegister(locations);
97
+ }
98
+ }
99
+ }
100
+ doRegister(locations) {
101
+ const max = this.maxStackItems();
102
+ [...locations].forEach(location => {
103
+ if (navigation_location_1.ContentChangeLocation.is(location)) {
104
+ this._lastEditLocation = location;
105
+ }
106
+ const current = this.currentLocation();
107
+ this.debug(`Registering new location: ${navigation_location_1.NavigationLocation.toString(location)}.`);
108
+ if (!this.isSimilar(current, location)) {
109
+ this.debug('Before location registration.');
110
+ this.debug(this.stackDump);
111
+ // Just like in VSCode; if we are not at the end of stack, we remove anything after.
112
+ if (this.stack.length > this.pointer + 1) {
113
+ this.debug(`Discarding all locations after ${this.pointer}.`);
114
+ this.stack = this.stack.slice(0, this.pointer + 1);
47
115
  }
48
- const current = this.currentLocation();
49
- this.debug(`Registering new location: ${navigation_location_1.NavigationLocation.toString(location)}.`);
50
- if (!this.isSimilar(current, location)) {
51
- this.debug('Before location registration.');
52
- this.debug(this.stackDump);
53
- // Just like in VSCode; if we are not at the end of stack, we remove anything after.
54
- if (this.stack.length > this.pointer + 1) {
55
- this.debug(`Discarding all locations after ${this.pointer}.`);
56
- this.stack = this.stack.slice(0, this.pointer + 1);
57
- }
58
- this.stack.push(location);
59
- this.pointer = this.stack.length - 1;
60
- if (this.stack.length > max) {
61
- this.debug('Trimming exceeding locations.');
62
- this.stack.shift();
116
+ this.stack.push(location);
117
+ this.pointer = this.stack.length - 1;
118
+ if (this.stack.length > max) {
119
+ this.debug('Trimming exceeding locations.');
120
+ this.stack.shift();
121
+ this.pointer--;
122
+ }
123
+ this.debug('Updating preceding navigation locations.');
124
+ for (let i = this.stack.length - 1; i >= 0; i--) {
125
+ const candidate = this.stack[i];
126
+ const update = this.updater.affects(candidate, location);
127
+ if (update === undefined) {
128
+ this.debug(`Erasing obsolete location: ${navigation_location_1.NavigationLocation.toString(candidate)}.`);
129
+ this.stack.splice(i, 1);
63
130
  this.pointer--;
64
131
  }
65
- this.debug('Updating preceding navigation locations.');
66
- for (let i = this.stack.length - 1; i >= 0; i--) {
67
- const candidate = this.stack[i];
68
- const update = this.updater.affects(candidate, location);
69
- if (update === undefined) {
70
- this.debug(`Erasing obsolete location: ${navigation_location_1.NavigationLocation.toString(candidate)}.`);
71
- this.stack.splice(i, 1);
72
- this.pointer--;
73
- }
74
- else if (typeof update !== 'boolean') {
75
- this.debug(`Updating location at index: ${i} => ${navigation_location_1.NavigationLocation.toString(candidate)}.`);
76
- this.stack[i] = update;
77
- }
132
+ else if (typeof update !== 'boolean') {
133
+ this.debug(`Updating location at index: ${i} => ${navigation_location_1.NavigationLocation.toString(candidate)}.`);
134
+ this.stack[i] = update;
78
135
  }
79
- this.debug('After location registration.');
80
- this.debug(this.stackDump);
81
136
  }
82
- else {
83
- if (current) {
84
- this.debug(`The new location ${navigation_location_1.NavigationLocation.toString(location)} is similar to the current one: ${navigation_location_1.NavigationLocation.toString(current)}. Aborting.`);
85
- }
137
+ this.debug('After location registration.');
138
+ this.debug(this.stackDump);
139
+ }
140
+ else {
141
+ if (current) {
142
+ this.debug(`The new location ${navigation_location_1.NavigationLocation.toString(location)} is similar to the current one: ${navigation_location_1.NavigationLocation.toString(current)}. Aborting.`);
86
143
  }
87
- });
88
- }
144
+ }
145
+ });
89
146
  }
90
147
  /**
91
148
  * Navigates one back. Returns with the previous location, or `undefined` if it could not navigate back.
@@ -254,6 +311,7 @@ NavigationLocationService.MAX_STACK_ITEMS = 30;
254
311
  NavigationLocationService.MAX_RECENTLY_CLOSED_EDITORS = 20;
255
312
  tslib_1.__decorate([
256
313
  (0, inversify_1.inject)(logger_1.ILogger),
314
+ (0, inversify_1.named)('NavigationLocationService'),
257
315
  tslib_1.__metadata("design:type", Object)
258
316
  ], NavigationLocationService.prototype, "logger", void 0);
259
317
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-location-service.js","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-location-service.js","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@theia/editor",
3
- "version": "1.60.0-next.47+9332521b9",
3
+ "version": "1.60.1",
4
4
  "description": "Theia - Editor Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.60.0-next.47+9332521b9",
7
- "@theia/variable-resolver": "1.60.0-next.47+9332521b9",
6
+ "@theia/core": "1.60.1",
7
+ "@theia/variable-resolver": "1.60.1",
8
8
  "tslib": "^2.6.2"
9
9
  },
10
10
  "publishConfig": {
@@ -41,10 +41,10 @@
41
41
  "watch": "theiaext watch"
42
42
  },
43
43
  "devDependencies": {
44
- "@theia/ext-scripts": "1.59.0"
44
+ "@theia/ext-scripts": "1.60.1"
45
45
  },
46
46
  "nyc": {
47
47
  "extends": "../../configs/nyc.json"
48
48
  },
49
- "gitHead": "9332521b9aa74bf534d45968905d37e30a13c3b5"
49
+ "gitHead": "23230a4ff18bb6b4c09e08c1a40ae1ebdb20ff69"
50
50
  }
@@ -18,11 +18,12 @@ import { injectable, postConstruct, inject, named } from '@theia/core/shared/inv
18
18
  import URI from '@theia/core/lib/common/uri';
19
19
  import { RecursivePartial, Emitter, Event, MaybePromise, CommandService, nls, ContributionProvider, Prioritizeable, Disposable } from '@theia/core/lib/common';
20
20
  import {
21
- WidgetOpenerOptions, NavigatableWidgetOpenHandler, NavigatableWidgetOptions, Widget, PreferenceService, CommonCommands, getDefaultHandler, defaultHandlerPriority
21
+ WidgetOpenerOptions, NavigatableWidgetOpenHandler, NavigatableWidgetOptions, PreferenceService, CommonCommands, getDefaultHandler, defaultHandlerPriority
22
22
  } from '@theia/core/lib/browser';
23
23
  import { EditorWidget } from './editor-widget';
24
24
  import { Range, Position, Location, TextEditor } from './editor';
25
25
  import { EditorWidgetFactory } from './editor-widget-factory';
26
+ import { NavigationLocationService } from './navigation/navigation-location-service';
26
27
 
27
28
  export interface WidgetId {
28
29
  id: number;
@@ -69,6 +70,9 @@ export class EditorManager extends NavigatableWidgetOpenHandler<EditorWidget> {
69
70
  protected readonly resolverContributions: ContributionProvider<EditorSelectionResolver>;
70
71
  protected selectionResolvers: EditorSelectionResolver[] = [];
71
72
 
73
+ @inject(NavigationLocationService)
74
+ protected readonly navigationLocationService: NavigationLocationService;
75
+
72
76
  @postConstruct()
73
77
  protected override init(): void {
74
78
  super.init();
@@ -139,30 +143,6 @@ export class EditorManager extends NavigatableWidgetOpenHandler<EditorWidget> {
139
143
  if (!editorPromise) {
140
144
  return editorPromise;
141
145
  }
142
-
143
- // Reveal selection before attachment to manage nav stack. (https://github.com/eclipse-theia/theia/issues/8955)
144
- if (!(editorPromise instanceof Widget)) {
145
- return editorPromise.then(editor => this.revealSelection(editor, options, uri)).then(() => editorPromise);
146
- } else {
147
- return this.revealSelection(editorPromise, options, uri).then(() => editorPromise);
148
- }
149
-
150
- }
151
-
152
- protected override async getWidget(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget | undefined> {
153
- const editor = await super.getWidget(uri, options);
154
- if (editor) {
155
- // Reveal selection before attachment to manage nav stack. (https://github.com/eclipse-theia/theia/issues/8955)
156
- await this.revealSelection(editor, options, uri);
157
- }
158
- return editor;
159
- }
160
-
161
- protected override async getOrCreateWidget(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget> {
162
- const editor = await super.getOrCreateWidget(uri, options);
163
- // Reveal selection before attachment to manage nav stack. (https://github.com/eclipse-theia/theia/issues/8955)
164
- await this.revealSelection(editor, options, uri);
165
- return editor;
166
146
  }
167
147
 
168
148
  protected readonly recentlyVisibleIds: string[] = [];
@@ -214,8 +194,10 @@ export class EditorManager extends NavigatableWidgetOpenHandler<EditorWidget> {
214
194
  return this._currentEditor;
215
195
  }
216
196
  protected setCurrentEditor(current: EditorWidget | undefined): void {
217
- this._currentEditor = current;
218
- this.onCurrentEditorChangedEmitter.fire(this._currentEditor);
197
+ if (this._currentEditor !== current) {
198
+ this._currentEditor = current;
199
+ this.onCurrentEditorChangedEmitter.fire(this._currentEditor);
200
+ }
219
201
  }
220
202
  protected updateCurrentEditor(): void {
221
203
  const widget = this.shell.currentWidget;
@@ -233,38 +215,44 @@ export class EditorManager extends NavigatableWidgetOpenHandler<EditorWidget> {
233
215
  return 100;
234
216
  }
235
217
 
236
- override open(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget> {
237
- if (options?.counter === undefined) {
238
- const insertionOptions = this.shell.getInsertionOptions(options?.widgetOptions);
239
- // Definitely creating a new tabbar - no widget can match.
240
- if (insertionOptions.addOptions.mode?.startsWith('split')) {
241
- return super.open(uri, { counter: this.createCounterForUri(uri), ...options });
242
- }
243
- // Check the target tabbar for an existing widget.
244
- const tabbar = insertionOptions.addOptions.ref && this.shell.getTabBarFor(insertionOptions.addOptions.ref);
245
- if (tabbar) {
246
- const currentUri = uri.toString();
247
- for (const title of tabbar.titles) {
248
- if (title.owner instanceof EditorWidget) {
249
- const { uri: otherWidgetUri, id } = this.extractIdFromWidget(title.owner);
250
- if (otherWidgetUri === currentUri) {
251
- return super.open(uri, { counter: id, ...options });
218
+ override async open(uri: URI, options?: EditorOpenerOptions): Promise<EditorWidget> {
219
+ this.navigationLocationService.startNavigation();
220
+ try {
221
+ if (options?.counter === undefined) {
222
+ const insertionOptions = this.shell.getInsertionOptions(options?.widgetOptions);
223
+ // Definitely creating a new tabbar - no widget can match.
224
+ if (insertionOptions.addOptions.mode?.startsWith('split')) {
225
+ return await super.open(uri, { counter: this.createCounterForUri(uri), ...options });
226
+ }
227
+ // Check the target tabbar for an existing widget.
228
+ const tabbar = insertionOptions.addOptions.ref && this.shell.getTabBarFor(insertionOptions.addOptions.ref);
229
+ if (tabbar) {
230
+ const currentUri = uri.toString();
231
+ for (const title of tabbar.titles) {
232
+ if (title.owner instanceof EditorWidget) {
233
+ const { uri: otherWidgetUri, id } = this.extractIdFromWidget(title.owner);
234
+ if (otherWidgetUri === currentUri) {
235
+ return await super.open(uri, { counter: id, ...options });
236
+ }
252
237
  }
253
238
  }
254
239
  }
255
- }
256
- // If the user has opted to prefer to open an existing editor even if it's on a different tab, check if we have anything about the URI.
257
- if (this.preferenceService.get('workbench.editor.revealIfOpen', false)) {
258
- const counter = this.getCounterForUri(uri);
259
- if (counter !== undefined) {
260
- return super.open(uri, { counter, ...options });
240
+ // If the user has opted to prefer to open an existing editor even if it's on a different tab, check if we have anything about the URI.
241
+ if (this.preferenceService.get('workbench.editor.revealIfOpen', false)) {
242
+ const counter = this.getCounterForUri(uri);
243
+ if (counter !== undefined) {
244
+ return await super.open(uri, { counter, ...options });
245
+ }
261
246
  }
247
+ // Open a new widget.
248
+ return await super.open(uri, { counter: this.createCounterForUri(uri), ...options });
262
249
  }
263
- // Open a new widget.
264
- return super.open(uri, { counter: this.createCounterForUri(uri), ...options });
265
- }
266
250
 
267
- return super.open(uri, options);
251
+ return await super.open(uri, options);
252
+
253
+ } finally {
254
+ this.navigationLocationService.endNavigation();
255
+ }
268
256
  }
269
257
 
270
258
  /**
@@ -277,10 +265,15 @@ export class EditorManager extends NavigatableWidgetOpenHandler<EditorWidget> {
277
265
  return this.open(uri, splitOptions);
278
266
  }
279
267
 
280
- protected async revealSelection(widget: EditorWidget, input?: EditorOpenerOptions, uri?: URI): Promise<void> {
281
- let inputSelection = input?.selection;
268
+ protected override async doOpen(widget: EditorWidget, uri: URI, options?: EditorOpenerOptions): Promise<void> {
269
+ await super.doOpen(widget, uri, options);
270
+ await this.revealSelection(widget, uri, options);
271
+ }
272
+
273
+ protected async revealSelection(widget: EditorWidget, uri: URI, options?: EditorOpenerOptions): Promise<void> {
274
+ let inputSelection = options?.selection;
282
275
  if (!inputSelection) {
283
- inputSelection = await this.resolveSelection(widget, input ?? {}, uri);
276
+ inputSelection = await this.resolveSelection(widget, options ?? {}, uri);
284
277
  }
285
278
  // this logic could be moved into a 'EditorSelectionResolver'
286
279
  if (!inputSelection && uri) {
@@ -245,25 +245,25 @@ export class EditorNavigationContribution implements Disposable, FrontendApplica
245
245
  editor.onSelectionChanged(selection => this.onSelectionChanged(editor, selection)),
246
246
  editor.onDocumentContentChanged(event => this.onDocumentContentChanged(editor, event))
247
247
  ]);
248
- this.locationStack.register(NavigationLocation.create(editor, editor.selection));
248
+ this.locationStack.navigate(service => service.register(NavigationLocation.create(editor, editor.selection)));
249
249
  }
250
250
  }
251
251
 
252
252
  protected onCursorPositionChanged(editor: TextEditor, position: Position): void {
253
- this.locationStack.register(NavigationLocation.create(editor, position));
253
+ this.locationStack.navigate(service => service.register(NavigationLocation.create(editor, position)));
254
254
  }
255
255
 
256
256
  protected onSelectionChanged(editor: TextEditor, selection: Range): void {
257
257
  if (this.isZeroLengthRange(selection)) {
258
258
  this.onCursorPositionChanged(editor, selection.start);
259
259
  } else {
260
- this.locationStack.register(NavigationLocation.create(editor, selection));
260
+ this.locationStack.navigate(service => service.register(NavigationLocation.create(editor, selection)));
261
261
  }
262
262
  }
263
263
 
264
264
  protected onDocumentContentChanged(editor: TextEditor, event: TextDocumentChangeEvent): void {
265
265
  if (event.contentChanges.length > 0) {
266
- this.locationStack.register(NavigationLocation.create(editor, event.contentChanges[0]));
266
+ this.locationStack.navigate(service => service.register(NavigationLocation.create(editor, event.contentChanges[0])));
267
267
  }
268
268
  }
269
269
 
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { inject, injectable } from '@theia/core/shared/inversify';
17
+ import { inject, injectable, named } from '@theia/core/shared/inversify';
18
18
  import { ILogger } from '@theia/core/lib/common/logger';
19
19
  import { OpenerService, OpenerOptions, open } from '@theia/core/lib/browser/opener-service';
20
20
  import { EditorOpenerOptions } from '../editor-manager';
@@ -26,6 +26,13 @@ import URI from '@theia/core/lib/common/uri';
26
26
  /**
27
27
  * The navigation location service.
28
28
  * It also stores and manages navigation locations and recently closed editors.
29
+ *
30
+ * Since we update the navigation locations as a side effect of UI events (seting the selection, etc.) We sometimes
31
+ * record intermediate locations which are not considered the "final" location we're navigating to.
32
+ * In order to remedy, clients should always invoke "startNavigation" before registering locations and
33
+ * invoke "endNavigation" when done. Only when no more nested navigations are active ist the last registered
34
+ * location transfered to the navigation "stack".
35
+ *
29
36
  */
30
37
  @injectable()
31
38
  export class NavigationLocationService {
@@ -33,7 +40,7 @@ export class NavigationLocationService {
33
40
  private static MAX_STACK_ITEMS = 30;
34
41
  private static readonly MAX_RECENTLY_CLOSED_EDITORS = 20;
35
42
 
36
- @inject(ILogger)
43
+ @inject(ILogger) @named('NavigationLocationService')
37
44
  protected readonly logger: ILogger;
38
45
 
39
46
  @inject(OpenerService)
@@ -52,55 +59,109 @@ export class NavigationLocationService {
52
59
 
53
60
  protected recentlyClosedEditors: RecentlyClosedEditor[] = [];
54
61
 
62
+ protected activeNavigations: { count: number, lastLocation: NavigationLocation[] | undefined } = { count: 0, lastLocation: undefined };
63
+
64
+ /**
65
+ * Start a logical navigation operation. Invoke this before invoking `registerLocations`
66
+ */
67
+ startNavigation(): void {
68
+ if (this.canRegister) {
69
+ this.activeNavigations.count++;
70
+ this.logger.debug(`start navigation ${this.activeNavigations.count}`);
71
+ this.logger.trace(new Error('start'));
72
+ }
73
+ }
74
+
75
+ /**
76
+ * End a logical navigation operation. Invoke this before after `registerLocations`
77
+ */
78
+ endNavigation(): void {
79
+ if (this.canRegister) {
80
+ this.activeNavigations.count--;
81
+ this.logger.debug(`end navigation ${this.activeNavigations.count}`);
82
+ this.logger.trace(new Error('end'));
83
+
84
+ if (this.activeNavigations.count === 0 && this.activeNavigations.lastLocation !== undefined) {
85
+ this.logger.debug(`ending navigation with location ${JSON.stringify(NavigationLocation.toObject(this.activeNavigations.lastLocation[0]))}`);
86
+ const locations = this.activeNavigations.lastLocation;
87
+ this.activeNavigations.lastLocation = undefined;
88
+ this.doRegister(locations);
89
+ }
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Convenience method for executing a navigation operation with proper start and end navigation
95
+ * @param navigation The operation changing the location
96
+ * @returns the result of the navigation function
97
+ */
98
+ navigate<T>(navigation: (navigationServier: NavigationLocationService) => T): T {
99
+ this.startNavigation();
100
+ try {
101
+ return navigation(this);
102
+ } finally {
103
+ this.endNavigation();
104
+ }
105
+ }
106
+
55
107
  /**
56
108
  * Registers the give locations into the service.
57
109
  */
58
110
  register(...locations: NavigationLocation[]): void {
59
111
  if (this.canRegister) {
60
- const max = this.maxStackItems();
61
- [...locations].forEach(location => {
62
- if (ContentChangeLocation.is(location)) {
63
- this._lastEditLocation = location;
112
+ if (this.activeNavigations.count > 0) {
113
+ this.activeNavigations.lastLocation = locations;
114
+ } else {
115
+ this.logger.warn('no activative navigation', new Error('No active navigation'));
116
+ this.doRegister(locations);
117
+ }
118
+ }
119
+ }
120
+
121
+ protected doRegister(locations: NavigationLocation[]): void {
122
+ const max = this.maxStackItems();
123
+ [...locations].forEach(location => {
124
+ if (ContentChangeLocation.is(location)) {
125
+ this._lastEditLocation = location;
126
+ }
127
+ const current = this.currentLocation();
128
+ this.debug(`Registering new location: ${NavigationLocation.toString(location)}.`);
129
+ if (!this.isSimilar(current, location)) {
130
+ this.debug('Before location registration.');
131
+ this.debug(this.stackDump);
132
+ // Just like in VSCode; if we are not at the end of stack, we remove anything after.
133
+ if (this.stack.length > this.pointer + 1) {
134
+ this.debug(`Discarding all locations after ${this.pointer}.`);
135
+ this.stack = this.stack.slice(0, this.pointer + 1);
64
136
  }
65
- const current = this.currentLocation();
66
- this.debug(`Registering new location: ${NavigationLocation.toString(location)}.`);
67
- if (!this.isSimilar(current, location)) {
68
- this.debug('Before location registration.');
69
- this.debug(this.stackDump);
70
- // Just like in VSCode; if we are not at the end of stack, we remove anything after.
71
- if (this.stack.length > this.pointer + 1) {
72
- this.debug(`Discarding all locations after ${this.pointer}.`);
73
- this.stack = this.stack.slice(0, this.pointer + 1);
74
- }
75
- this.stack.push(location);
76
- this.pointer = this.stack.length - 1;
77
- if (this.stack.length > max) {
78
- this.debug('Trimming exceeding locations.');
79
- this.stack.shift();
137
+ this.stack.push(location);
138
+ this.pointer = this.stack.length - 1;
139
+ if (this.stack.length > max) {
140
+ this.debug('Trimming exceeding locations.');
141
+ this.stack.shift();
142
+ this.pointer--;
143
+ }
144
+ this.debug('Updating preceding navigation locations.');
145
+ for (let i = this.stack.length - 1; i >= 0; i--) {
146
+ const candidate = this.stack[i];
147
+ const update = this.updater.affects(candidate, location);
148
+ if (update === undefined) {
149
+ this.debug(`Erasing obsolete location: ${NavigationLocation.toString(candidate)}.`);
150
+ this.stack.splice(i, 1);
80
151
  this.pointer--;
81
- }
82
- this.debug('Updating preceding navigation locations.');
83
- for (let i = this.stack.length - 1; i >= 0; i--) {
84
- const candidate = this.stack[i];
85
- const update = this.updater.affects(candidate, location);
86
- if (update === undefined) {
87
- this.debug(`Erasing obsolete location: ${NavigationLocation.toString(candidate)}.`);
88
- this.stack.splice(i, 1);
89
- this.pointer--;
90
- } else if (typeof update !== 'boolean') {
91
- this.debug(`Updating location at index: ${i} => ${NavigationLocation.toString(candidate)}.`);
92
- this.stack[i] = update;
93
- }
94
- }
95
- this.debug('After location registration.');
96
- this.debug(this.stackDump);
97
- } else {
98
- if (current) {
99
- this.debug(`The new location ${NavigationLocation.toString(location)} is similar to the current one: ${NavigationLocation.toString(current)}. Aborting.`);
152
+ } else if (typeof update !== 'boolean') {
153
+ this.debug(`Updating location at index: ${i} => ${NavigationLocation.toString(candidate)}.`);
154
+ this.stack[i] = update;
100
155
  }
101
156
  }
102
- });
103
- }
157
+ this.debug('After location registration.');
158
+ this.debug(this.stackDump);
159
+ } else {
160
+ if (current) {
161
+ this.debug(`The new location ${NavigationLocation.toString(location)} is similar to the current one: ${NavigationLocation.toString(current)}. Aborting.`);
162
+ }
163
+ }
164
+ });
104
165
  }
105
166
 
106
167
  /**