@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.
- package/lib/browser/editor-manager.d.ts +4 -3
- package/lib/browser/editor-manager.d.ts.map +1 -1
- package/lib/browser/editor-manager.js +47 -51
- package/lib/browser/editor-manager.js.map +1 -1
- package/lib/browser/editor-navigation-contribution.js +4 -4
- package/lib/browser/editor-navigation-contribution.js.map +1 -1
- package/lib/browser/navigation/navigation-location-service.d.ts +26 -0
- package/lib/browser/navigation/navigation-location-service.d.ts.map +1 -1
- package/lib/browser/navigation/navigation-location-service.js +98 -40
- package/lib/browser/navigation/navigation-location-service.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/editor-manager.ts +49 -56
- package/src/browser/editor-navigation-contribution.ts +4 -4
- package/src/browser/navigation/navigation-location-service.ts +103 -42
|
@@ -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
|
|
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":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAO,oBAAoB,EAAkB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/J,OAAO,EACH,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"editor-manager.d.ts","sourceRoot":"","sources":["../../src/browser/editor-manager.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAO,oBAAoB,EAAkB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/J,OAAO,EACH,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,iBAAiB,EACjG,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAErF,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC5D,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;CACjI;AAED,qBACa,aAAc,SAAQ,4BAA4B,CAAC,YAAY,CAAC;IAEzE,QAAQ,CAAC,EAAE,SAA0B;IAErC,QAAQ,CAAC,KAAK,SAAwC;IAEtD,SAAS,CAAC,QAAQ,CAAC,cAAc,sBAA6B;IAE9D,SAAS,CAAC,QAAQ,CAAC,4BAA4B,oCAA2C;IAC1F;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAA2C;IAE1G,SAAS,CAAC,QAAQ,CAAC,6BAA6B,oCAA2C;IAC3F;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAA4C;IAEpF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGnF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;IACxF,SAAS,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,CAAM;IAG7D,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;cAGrD,IAAI,IAAI,IAAI;IAoC/B;;;;;;OAMG;IACI,yBAAyB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,UAAU;IAatE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIpF,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;cAItE,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS;IAOvH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAM;IACrD,SAAS,KAAK,eAAe,IAAI,YAAY,GAAG,SAAS,CAGxD;IACD,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIxD,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAO3D,SAAS,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;IAClD;;;OAGG;IACH,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;IACD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAMjE,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAUpC,SAAS,CAAC,cAAc,EAAE,YAAY,GAAG,SAAS,CAAC;IACnD;;;OAGG;IACH,IAAI,aAAa,IAAI,YAAY,GAAG,SAAS,CAE5C;IACD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAMnE,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAO3C,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAwCnF;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;cAMjD,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAK7F,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAiC7F,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAiB7I,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS;IAwB9G,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAmBvD,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAM7D,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAW3D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAM/C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAMxD,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;cAIjC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,wBAAwB;CAK5G;AAED;;GAEG;AACH,8BACsB,YAAY;IAG9B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAM5B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,QAAQ,GAAG,SAAS,CAWpC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAMnC;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,GAAG,SAAS,CAMnC;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,YAAY,GAAG,SAAS;CAE9D;AAED;;GAEG;AACH,qBACa,mBAAoB,SAAQ,YAAY;IAEjD,SAAS,CAAC,YAAY,IAAI,YAAY,GAAG,SAAS;CAIrD;AAED;;GAEG;AACH,qBACa,kBAAmB,SAAQ,YAAY;IAEhD,SAAS,CAAC,YAAY,IAAI,YAAY,GAAG,SAAS;CAIrD;AAED,yBAAiB,YAAY,CAAC;IACnB,MAAM,OAAO,0BAA0B,CAAC;IACxC,MAAM,MAAM,yBAAyB,CAAC;CAChD"}
|
|
@@ -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
|
|
171
|
-
|
|
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
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
if (
|
|
204
|
-
|
|
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
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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
|
-
|
|
217
|
-
|
|
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
|
|
231
|
-
|
|
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,
|
|
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
|
|
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;;;;;;;;;;GAUG;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,SAAS,CAAC,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAA;KAAE,CAAyC;IAEvI;;OAEG;IACH,eAAe,IAAI,IAAI;IAQvB;;OAEG;IACH,aAAa,IAAI,IAAI;IAerB;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,iBAAiB,EAAE,yBAAyB,KAAK,CAAC,GAAG,CAAC;IAS/E;;OAEG;IACH,QAAQ,CAAC,GAAG,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAWlD,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI;IA8C3D;;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"}
|
|
@@ -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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
49
|
-
this.
|
|
50
|
-
if (
|
|
51
|
-
this.debug('
|
|
52
|
-
this.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
this.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this.
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"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.
|
|
3
|
+
"version": "1.60.1",
|
|
4
4
|
"description": "Theia - Editor Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.60.
|
|
7
|
-
"@theia/variable-resolver": "1.60.
|
|
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.
|
|
44
|
+
"@theia/ext-scripts": "1.60.1"
|
|
45
45
|
},
|
|
46
46
|
"nyc": {
|
|
47
47
|
"extends": "../../configs/nyc.json"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
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,
|
|
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
|
|
218
|
-
|
|
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
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
if (
|
|
251
|
-
|
|
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
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
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
|
|
281
|
-
|
|
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,
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
66
|
-
this.
|
|
67
|
-
if (
|
|
68
|
-
this.debug('
|
|
69
|
-
this.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.
|
|
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
|
-
|
|
83
|
-
|
|
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
|
/**
|