@theia/editor 1.67.0-next.13 → 1.67.0-next.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +4 -4
- package/src/browser/editor-contribution.ts +26 -8
- package/src/browser/editor-frontend-module.ts +6 -0
- package/src/browser/index.ts +2 -0
- package/src/browser/split-editor-contribution.ts +46 -0
- package/src/browser/text-editor-split-contribution.ts +50 -0
- package/lib/browser/decorations/editor-decoration-style.d.ts +0 -9
- package/lib/browser/decorations/editor-decoration-style.d.ts.map +0 -1
- package/lib/browser/decorations/editor-decoration-style.js +0 -37
- package/lib/browser/decorations/editor-decoration-style.js.map +0 -1
- package/lib/browser/decorations/editor-decoration.d.ts +0 -119
- package/lib/browser/decorations/editor-decoration.d.ts.map +0 -1
- package/lib/browser/decorations/editor-decoration.js +0 -38
- package/lib/browser/decorations/editor-decoration.js.map +0 -1
- package/lib/browser/decorations/editor-decorator.d.ts +0 -7
- package/lib/browser/decorations/editor-decorator.d.ts.map +0 -1
- package/lib/browser/decorations/editor-decorator.js +0 -39
- package/lib/browser/decorations/editor-decorator.js.map +0 -1
- package/lib/browser/decorations/index.d.ts +0 -4
- package/lib/browser/decorations/index.d.ts.map +0 -1
- package/lib/browser/decorations/index.js +0 -22
- package/lib/browser/decorations/index.js.map +0 -1
- package/lib/browser/diff-navigator.d.ts +0 -10
- package/lib/browser/diff-navigator.d.ts.map +0 -1
- package/lib/browser/diff-navigator.js +0 -20
- package/lib/browser/diff-navigator.js.map +0 -1
- package/lib/browser/editor-command.d.ts +0 -102
- package/lib/browser/editor-command.d.ts.map +0 -1
- package/lib/browser/editor-command.js +0 -402
- package/lib/browser/editor-command.js.map +0 -1
- package/lib/browser/editor-contribution.d.ts +0 -30
- package/lib/browser/editor-contribution.d.ts.map +0 -1
- package/lib/browser/editor-contribution.js +0 -206
- package/lib/browser/editor-contribution.js.map +0 -1
- package/lib/browser/editor-frontend-module.d.ts +0 -6
- package/lib/browser/editor-frontend-module.d.ts.map +0 -1
- package/lib/browser/editor-frontend-module.js +0 -83
- package/lib/browser/editor-frontend-module.js.map +0 -1
- package/lib/browser/editor-keybinding.d.ts +0 -6
- package/lib/browser/editor-keybinding.d.ts.map +0 -1
- package/lib/browser/editor-keybinding.js +0 -51
- package/lib/browser/editor-keybinding.js.map +0 -1
- package/lib/browser/editor-language-quick-pick-service.d.ts +0 -12
- package/lib/browser/editor-language-quick-pick-service.d.ts.map +0 -1
- package/lib/browser/editor-language-quick-pick-service.js +0 -77
- package/lib/browser/editor-language-quick-pick-service.js.map +0 -1
- package/lib/browser/editor-linenumber-contribution.d.ts +0 -16
- package/lib/browser/editor-linenumber-contribution.d.ts.map +0 -1
- package/lib/browser/editor-linenumber-contribution.js +0 -89
- package/lib/browser/editor-linenumber-contribution.js.map +0 -1
- package/lib/browser/editor-manager.d.ts +0 -135
- package/lib/browser/editor-manager.d.ts.map +0 -1
- package/lib/browser/editor-manager.js +0 -472
- package/lib/browser/editor-manager.js.map +0 -1
- package/lib/browser/editor-menu.d.ts +0 -51
- package/lib/browser/editor-menu.d.ts.map +0 -1
- package/lib/browser/editor-menu.js +0 -208
- package/lib/browser/editor-menu.js.map +0 -1
- package/lib/browser/editor-navigation-contribution.d.ts +0 -68
- package/lib/browser/editor-navigation-contribution.d.ts.map +0 -1
- package/lib/browser/editor-navigation-contribution.js +0 -324
- package/lib/browser/editor-navigation-contribution.js.map +0 -1
- package/lib/browser/editor-variable-contribution.d.ts +0 -9
- package/lib/browser/editor-variable-contribution.d.ts.map +0 -1
- package/lib/browser/editor-variable-contribution.js +0 -65
- package/lib/browser/editor-variable-contribution.js.map +0 -1
- package/lib/browser/editor-widget-factory.d.ts +0 -18
- package/lib/browser/editor-widget-factory.d.ts.map +0 -1
- package/lib/browser/editor-widget-factory.js +0 -84
- package/lib/browser/editor-widget-factory.js.map +0 -1
- package/lib/browser/editor-widget.d.ts +0 -28
- package/lib/browser/editor-widget.d.ts.map +0 -1
- package/lib/browser/editor-widget.js +0 -130
- package/lib/browser/editor-widget.js.map +0 -1
- package/lib/browser/editor.d.ts +0 -311
- package/lib/browser/editor.d.ts.map +0 -1
- package/lib/browser/editor.js +0 -104
- package/lib/browser/editor.js.map +0 -1
- package/lib/browser/index.d.ts +0 -10
- package/lib/browser/index.d.ts.map +0 -1
- package/lib/browser/index.js +0 -28
- package/lib/browser/index.js.map +0 -1
- package/lib/browser/language-status/editor-language-status-service.d.ts +0 -78
- package/lib/browser/language-status/editor-language-status-service.d.ts.map +0 -1
- package/lib/browser/language-status/editor-language-status-service.js +0 -244
- package/lib/browser/language-status/editor-language-status-service.js.map +0 -1
- package/lib/browser/navigation/navigation-location-service.d.ts +0 -132
- package/lib/browser/navigation/navigation-location-service.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location-service.js +0 -352
- package/lib/browser/navigation/navigation-location-service.js.map +0 -1
- package/lib/browser/navigation/navigation-location-service.spec.d.ts +0 -2
- package/lib/browser/navigation/navigation-location-service.spec.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location-service.spec.js +0 -185
- package/lib/browser/navigation/navigation-location-service.spec.js.map +0 -1
- package/lib/browser/navigation/navigation-location-similarity.d.ts +0 -16
- package/lib/browser/navigation/navigation-location-similarity.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location-similarity.js +0 -58
- package/lib/browser/navigation/navigation-location-similarity.js.map +0 -1
- package/lib/browser/navigation/navigation-location-similarity.spec.d.ts +0 -2
- package/lib/browser/navigation/navigation-location-similarity.spec.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location-similarity.spec.js +0 -33
- package/lib/browser/navigation/navigation-location-similarity.spec.js.map +0 -1
- package/lib/browser/navigation/navigation-location-updater.d.ts +0 -36
- package/lib/browser/navigation/navigation-location-updater.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location-updater.js +0 -206
- package/lib/browser/navigation/navigation-location-updater.js.map +0 -1
- package/lib/browser/navigation/navigation-location-updater.spec.d.ts +0 -2
- package/lib/browser/navigation/navigation-location-updater.spec.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location-updater.spec.js +0 -178
- package/lib/browser/navigation/navigation-location-updater.spec.js.map +0 -1
- package/lib/browser/navigation/navigation-location.d.ts +0 -192
- package/lib/browser/navigation/navigation-location.d.ts.map +0 -1
- package/lib/browser/navigation/navigation-location.js +0 -301
- package/lib/browser/navigation/navigation-location.js.map +0 -1
- package/lib/browser/navigation/test/mock-navigation-location-updater.d.ts +0 -16
- package/lib/browser/navigation/test/mock-navigation-location-updater.d.ts.map +0 -1
- package/lib/browser/navigation/test/mock-navigation-location-updater.js +0 -39
- package/lib/browser/navigation/test/mock-navigation-location-updater.js.map +0 -1
- package/lib/browser/quick-editor-service.d.ts +0 -17
- package/lib/browser/quick-editor-service.d.ts.map +0 -1
- package/lib/browser/quick-editor-service.js +0 -102
- package/lib/browser/quick-editor-service.js.map +0 -1
- package/lib/browser/undo-redo-service.d.ts +0 -24
- package/lib/browser/undo-redo-service.d.ts.map +0 -1
- package/lib/browser/undo-redo-service.js +0 -106
- package/lib/browser/undo-redo-service.js.map +0 -1
- package/lib/common/editor-generated-preference-schema.d.ts +0 -303
- package/lib/common/editor-generated-preference-schema.d.ts.map +0 -1
- package/lib/common/editor-generated-preference-schema.js +0 -2666
- package/lib/common/editor-generated-preference-schema.js.map +0 -1
- package/lib/common/editor-preferences.d.ts +0 -42
- package/lib/common/editor-preferences.d.ts.map +0 -1
- package/lib/common/editor-preferences.js +0 -179
- package/lib/common/editor-preferences.js.map +0 -1
- package/lib/common/language-selector.d.ts +0 -14
- package/lib/common/language-selector.d.ts.map +0 -1
- package/lib/common/language-selector.js +0 -91
- package/lib/common/language-selector.js.map +0 -1
- package/lib/node/editor-backend-module.d.ts +0 -4
- package/lib/node/editor-backend-module.d.ts.map +0 -1
- package/lib/node/editor-backend-module.js +0 -23
- package/lib/node/editor-backend-module.js.map +0 -1
- package/lib/package.spec.d.ts +0 -1
- package/lib/package.spec.d.ts.map +0 -1
- package/lib/package.spec.js +0 -26
- package/lib/package.spec.js.map +0 -1
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
var NavigationLocationService_1;
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.NavigationLocationService = void 0;
|
|
20
|
-
const tslib_1 = require("tslib");
|
|
21
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
-
const logger_1 = require("@theia/core/lib/common/logger");
|
|
23
|
-
const opener_service_1 = require("@theia/core/lib/browser/opener-service");
|
|
24
|
-
const navigation_location_updater_1 = require("./navigation-location-updater");
|
|
25
|
-
const navigation_location_similarity_1 = require("./navigation-location-similarity");
|
|
26
|
-
const navigation_location_1 = require("./navigation-location");
|
|
27
|
-
/**
|
|
28
|
-
* The navigation location service.
|
|
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
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
let NavigationLocationService = NavigationLocationService_1 = class NavigationLocationService {
|
|
39
|
-
constructor() {
|
|
40
|
-
this.pointer = -1;
|
|
41
|
-
this.stack = [];
|
|
42
|
-
this.canRegister = true;
|
|
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
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Registers the give locations into the service.
|
|
88
|
-
*/
|
|
89
|
-
register(...locations) {
|
|
90
|
-
if (this.canRegister) {
|
|
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);
|
|
115
|
-
}
|
|
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);
|
|
130
|
-
this.pointer--;
|
|
131
|
-
}
|
|
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;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
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.`);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Navigates one back. Returns with the previous location, or `undefined` if it could not navigate back.
|
|
149
|
-
*/
|
|
150
|
-
async back() {
|
|
151
|
-
this.debug('Navigating back.');
|
|
152
|
-
if (this.canGoBack()) {
|
|
153
|
-
this.pointer--;
|
|
154
|
-
await this.reveal();
|
|
155
|
-
this.debug(this.stackDump);
|
|
156
|
-
return this.currentLocation();
|
|
157
|
-
}
|
|
158
|
-
this.debug('Cannot navigate back.');
|
|
159
|
-
return undefined;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Navigates one forward. Returns with the next location, or `undefined` if it could not go forward.
|
|
163
|
-
*/
|
|
164
|
-
async forward() {
|
|
165
|
-
this.debug('Navigating forward.');
|
|
166
|
-
if (this.canGoForward()) {
|
|
167
|
-
this.pointer++;
|
|
168
|
-
await this.reveal();
|
|
169
|
-
this.debug(this.stackDump);
|
|
170
|
-
return this.currentLocation();
|
|
171
|
-
}
|
|
172
|
-
this.debug('Cannot navigate forward.');
|
|
173
|
-
return undefined;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Checks whether the service can go [`back`](#back).
|
|
177
|
-
*/
|
|
178
|
-
canGoBack() {
|
|
179
|
-
return this.pointer >= 1;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Checks whether the service can go [`forward`](#forward).
|
|
183
|
-
*/
|
|
184
|
-
canGoForward() {
|
|
185
|
-
return this.pointer >= 0 && this.pointer !== this.stack.length - 1;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Returns with all known navigation locations in chronological order.
|
|
189
|
-
*/
|
|
190
|
-
locations() {
|
|
191
|
-
return this.stack;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Returns with the current location.
|
|
195
|
-
*/
|
|
196
|
-
currentLocation() {
|
|
197
|
-
return this.stack[this.pointer];
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Returns with the location of the most recent edition if any. If there were no modifications,
|
|
201
|
-
* returns `undefined`.
|
|
202
|
-
*/
|
|
203
|
-
lastEditLocation() {
|
|
204
|
-
return this._lastEditLocation;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Clears the total history.
|
|
208
|
-
*/
|
|
209
|
-
clearHistory() {
|
|
210
|
-
this.stack = [];
|
|
211
|
-
this.pointer = -1;
|
|
212
|
-
this._lastEditLocation = undefined;
|
|
213
|
-
this.recentlyClosedEditors = [];
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Reveals the location argument. If not given, reveals the `current location`. Does nothing, if the argument is `undefined`.
|
|
217
|
-
*/
|
|
218
|
-
async reveal(location = this.currentLocation()) {
|
|
219
|
-
if (location === undefined) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
try {
|
|
223
|
-
this.canRegister = false;
|
|
224
|
-
const { uri } = location;
|
|
225
|
-
const options = this.toOpenerOptions(location);
|
|
226
|
-
await (0, opener_service_1.open)(this.openerService, uri, options);
|
|
227
|
-
}
|
|
228
|
-
catch (e) {
|
|
229
|
-
this.logger.error(`Error occurred while revealing location: ${navigation_location_1.NavigationLocation.toString(location)}.`, e);
|
|
230
|
-
}
|
|
231
|
-
finally {
|
|
232
|
-
this.canRegister = true;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* `true` if the two locations are similar.
|
|
237
|
-
*/
|
|
238
|
-
isSimilar(left, right) {
|
|
239
|
-
return this.similarity.similar(left, right);
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Returns with the number of navigation locations that the application can handle and manage.
|
|
243
|
-
* When the number of locations exceeds this number, old locations will be erased.
|
|
244
|
-
*/
|
|
245
|
-
maxStackItems() {
|
|
246
|
-
return NavigationLocationService_1.MAX_STACK_ITEMS;
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Returns with the opener option for the location argument.
|
|
250
|
-
*/
|
|
251
|
-
toOpenerOptions(location) {
|
|
252
|
-
let { start } = navigation_location_1.NavigationLocation.range(location);
|
|
253
|
-
// Here, the `start` and represents the previous state that has been updated with the `text`.
|
|
254
|
-
// So we calculate the range by appending the `text` length to the `start`.
|
|
255
|
-
if (navigation_location_1.ContentChangeLocation.is(location)) {
|
|
256
|
-
start = { ...start, character: start.character + location.context.text.length };
|
|
257
|
-
}
|
|
258
|
-
return {
|
|
259
|
-
selection: navigation_location_1.Range.create(start, start)
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
async debug(message) {
|
|
263
|
-
this.logger.trace(typeof message === 'string' ? message : message());
|
|
264
|
-
}
|
|
265
|
-
get stackDump() {
|
|
266
|
-
return `----- Navigation location stack [${new Date()}] -----
|
|
267
|
-
Pointer: ${this.pointer}
|
|
268
|
-
${this.stack.map((location, i) => `${i}: ${JSON.stringify(navigation_location_1.NavigationLocation.toObject(location))}`).join('\n')}
|
|
269
|
-
----- o -----`;
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Get the recently closed editors stack in chronological order.
|
|
273
|
-
*
|
|
274
|
-
* @returns readonly closed editors stack.
|
|
275
|
-
*/
|
|
276
|
-
get closedEditorsStack() {
|
|
277
|
-
return this.recentlyClosedEditors;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Get the last recently closed editor.
|
|
281
|
-
*
|
|
282
|
-
* @returns the recently closed editor if it exists.
|
|
283
|
-
*/
|
|
284
|
-
getLastClosedEditor() {
|
|
285
|
-
return this.recentlyClosedEditors[this.recentlyClosedEditors.length - 1];
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Add the recently closed editor to the history.
|
|
289
|
-
*
|
|
290
|
-
* @param editor the recently closed editor.
|
|
291
|
-
*/
|
|
292
|
-
addClosedEditor(editor) {
|
|
293
|
-
this.removeClosedEditor(editor.uri);
|
|
294
|
-
this.recentlyClosedEditors.push(editor);
|
|
295
|
-
// Removes the oldest entry from the history if the maximum size is reached.
|
|
296
|
-
if (this.recentlyClosedEditors.length > NavigationLocationService_1.MAX_RECENTLY_CLOSED_EDITORS) {
|
|
297
|
-
this.recentlyClosedEditors.shift();
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Remove all occurrences of the given editor in the history if they exist.
|
|
302
|
-
*
|
|
303
|
-
* @param uri the uri of the editor that should be removed from the history.
|
|
304
|
-
*/
|
|
305
|
-
removeClosedEditor(uri) {
|
|
306
|
-
this.recentlyClosedEditors = this.recentlyClosedEditors.filter(e => !uri.isEqual(e.uri));
|
|
307
|
-
}
|
|
308
|
-
storeState() {
|
|
309
|
-
const result = {
|
|
310
|
-
locations: this.stack.map(navigation_location_1.NavigationLocation.toObject)
|
|
311
|
-
};
|
|
312
|
-
return result;
|
|
313
|
-
}
|
|
314
|
-
restoreState(rawState) {
|
|
315
|
-
const state = rawState;
|
|
316
|
-
this.stack = [];
|
|
317
|
-
for (let i = 0; i < state.locations.length; i++) {
|
|
318
|
-
const location = navigation_location_1.NavigationLocation.fromObject(state.locations[i]);
|
|
319
|
-
if (location) {
|
|
320
|
-
this.stack.push(location);
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
this.logger.warn(`Could not restore the state of the editor navigation history for ${JSON.stringify(state.locations[i])}`);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
this.pointer = this.stack.length - 1;
|
|
327
|
-
}
|
|
328
|
-
};
|
|
329
|
-
exports.NavigationLocationService = NavigationLocationService;
|
|
330
|
-
NavigationLocationService.MAX_STACK_ITEMS = 30;
|
|
331
|
-
NavigationLocationService.MAX_RECENTLY_CLOSED_EDITORS = 20;
|
|
332
|
-
tslib_1.__decorate([
|
|
333
|
-
(0, inversify_1.inject)(logger_1.ILogger),
|
|
334
|
-
(0, inversify_1.named)('NavigationLocationService'),
|
|
335
|
-
tslib_1.__metadata("design:type", Object)
|
|
336
|
-
], NavigationLocationService.prototype, "logger", void 0);
|
|
337
|
-
tslib_1.__decorate([
|
|
338
|
-
(0, inversify_1.inject)(opener_service_1.OpenerService),
|
|
339
|
-
tslib_1.__metadata("design:type", Object)
|
|
340
|
-
], NavigationLocationService.prototype, "openerService", void 0);
|
|
341
|
-
tslib_1.__decorate([
|
|
342
|
-
(0, inversify_1.inject)(navigation_location_updater_1.NavigationLocationUpdater),
|
|
343
|
-
tslib_1.__metadata("design:type", navigation_location_updater_1.NavigationLocationUpdater)
|
|
344
|
-
], NavigationLocationService.prototype, "updater", void 0);
|
|
345
|
-
tslib_1.__decorate([
|
|
346
|
-
(0, inversify_1.inject)(navigation_location_similarity_1.NavigationLocationSimilarity),
|
|
347
|
-
tslib_1.__metadata("design:type", navigation_location_similarity_1.NavigationLocationSimilarity)
|
|
348
|
-
], NavigationLocationService.prototype, "similarity", void 0);
|
|
349
|
-
exports.NavigationLocationService = NavigationLocationService = NavigationLocationService_1 = tslib_1.__decorate([
|
|
350
|
-
(0, inversify_1.injectable)()
|
|
351
|
-
], NavigationLocationService);
|
|
352
|
-
//# sourceMappingURL=navigation-location-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-location-service.js","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-location-service.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// *****************************************************************************
|
|
4
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
5
|
-
//
|
|
6
|
-
// This program and the accompanying materials are made available under the
|
|
7
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
8
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
9
|
-
//
|
|
10
|
-
// This Source Code may also be made available under the following Secondary
|
|
11
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
12
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
13
|
-
// with the GNU Classpath Exception which is available at
|
|
14
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
15
|
-
//
|
|
16
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
17
|
-
// *****************************************************************************
|
|
18
|
-
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
-
let disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
-
const chai_1 = require("chai");
|
|
21
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
23
|
-
const logger_1 = require("@theia/core/lib/common/logger");
|
|
24
|
-
const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
|
|
25
|
-
const opener_service_1 = require("@theia/core/lib/browser/opener-service");
|
|
26
|
-
const mock_opener_service_1 = require("@theia/core/lib/browser/test/mock-opener-service");
|
|
27
|
-
const navigation_location_updater_1 = require("./navigation-location-updater");
|
|
28
|
-
const mock_navigation_location_updater_1 = require("./test/mock-navigation-location-updater");
|
|
29
|
-
const navigation_location_similarity_1 = require("./navigation-location-similarity");
|
|
30
|
-
const navigation_location_1 = require("./navigation-location");
|
|
31
|
-
const navigation_location_service_1 = require("./navigation-location-service");
|
|
32
|
-
disableJSDOM();
|
|
33
|
-
describe('navigation-location-service', () => {
|
|
34
|
-
let stack;
|
|
35
|
-
before(() => {
|
|
36
|
-
disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
37
|
-
});
|
|
38
|
-
after(() => {
|
|
39
|
-
disableJSDOM();
|
|
40
|
-
});
|
|
41
|
-
beforeEach(() => {
|
|
42
|
-
stack = init();
|
|
43
|
-
});
|
|
44
|
-
it('should not allow navigating back when the stack is empty', () => {
|
|
45
|
-
(0, chai_1.expect)(stack.canGoBack()).to.be.false;
|
|
46
|
-
});
|
|
47
|
-
it('should not allow navigating back when the stack has a single location', () => {
|
|
48
|
-
stack.register(createCursorLocation());
|
|
49
|
-
(0, chai_1.expect)(stack.canGoBack()).to.be.false;
|
|
50
|
-
});
|
|
51
|
-
it('should allow navigating back when the stack has more than one locations', () => {
|
|
52
|
-
stack.register(createCursorLocation(), createCursorLocation({ line: 100, character: 100 }));
|
|
53
|
-
(0, chai_1.expect)(stack.canGoBack()).to.be.true;
|
|
54
|
-
});
|
|
55
|
-
it('should not allow navigating forward when the stack is empty', () => {
|
|
56
|
-
(0, chai_1.expect)(stack.canGoForward()).to.be.false;
|
|
57
|
-
});
|
|
58
|
-
it('should not allow navigating forward when the pointer points to the end last element of the stack', () => {
|
|
59
|
-
stack.register(createCursorLocation(), createCursorLocation({ line: 100, character: 100 }));
|
|
60
|
-
(0, chai_1.expect)(stack.canGoForward()).to.be.false;
|
|
61
|
-
});
|
|
62
|
-
it('should not exceed the max stack item', () => {
|
|
63
|
-
const max = navigation_location_service_1.NavigationLocationService['MAX_STACK_ITEMS'];
|
|
64
|
-
const locations = [...Array(max + 10).keys()].map(i => createCursorLocation({ line: i * 10, character: i }, `file://${i}`));
|
|
65
|
-
stack.register(...locations);
|
|
66
|
-
(0, chai_1.expect)(stack.locations().length).to.not.be.greaterThan(max);
|
|
67
|
-
});
|
|
68
|
-
it('should successfully clear the history', () => {
|
|
69
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
70
|
-
const editor = createMockClosedEditor(new uri_1.default('file://foo/a.ts'));
|
|
71
|
-
stack.addClosedEditor(editor);
|
|
72
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(1);
|
|
73
|
-
(0, chai_1.expect)(stack['stack'].length).equal(0);
|
|
74
|
-
stack.register(createCursorLocation());
|
|
75
|
-
(0, chai_1.expect)(stack['stack'].length).equal(1);
|
|
76
|
-
stack['clearHistory']();
|
|
77
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
78
|
-
(0, chai_1.expect)(stack['stack'].length).equal(0);
|
|
79
|
-
});
|
|
80
|
-
describe('last-edit-location', async () => {
|
|
81
|
-
it('should return with undefined if the stack contains no modifications', () => {
|
|
82
|
-
stack.register(createCursorLocation(), createCursorLocation({ line: 100, character: 100 }));
|
|
83
|
-
(0, chai_1.expect)(stack.lastEditLocation()).to.be.undefined;
|
|
84
|
-
});
|
|
85
|
-
it('should return with the location of the last modification', () => {
|
|
86
|
-
const expected = navigation_location_1.NavigationLocation.create('file://path/to/file', {
|
|
87
|
-
text: '',
|
|
88
|
-
range: { start: { line: 200, character: 0 }, end: { line: 500, character: 0 } },
|
|
89
|
-
rangeLength: 0
|
|
90
|
-
});
|
|
91
|
-
stack.register(createCursorLocation(), expected, createCursorLocation({ line: 100, character: 100 }));
|
|
92
|
-
(0, chai_1.expect)(stack.lastEditLocation()).to.be.deep.equal(expected);
|
|
93
|
-
});
|
|
94
|
-
it('should return with the location of the last modification even if the pointer is not on the head', async () => {
|
|
95
|
-
const modificationLocation = navigation_location_1.NavigationLocation.create('file://path/to/file', {
|
|
96
|
-
text: '',
|
|
97
|
-
range: { start: { line: 300, character: 0 }, end: { line: 500, character: 0 } },
|
|
98
|
-
rangeLength: 0
|
|
99
|
-
});
|
|
100
|
-
const expected = navigation_location_1.NavigationLocation.create('file://path/to/file', {
|
|
101
|
-
text: '',
|
|
102
|
-
range: { start: { line: 700, character: 0 }, end: { line: 800, character: 0 } },
|
|
103
|
-
rangeLength: 0
|
|
104
|
-
});
|
|
105
|
-
stack.register(createCursorLocation(), modificationLocation, createCursorLocation({ line: 100, character: 100 }), expected);
|
|
106
|
-
await stack.back();
|
|
107
|
-
await stack.back();
|
|
108
|
-
(0, chai_1.expect)(stack.currentLocation()).to.be.deep.equal(modificationLocation);
|
|
109
|
-
(0, chai_1.expect)(stack.lastEditLocation()).to.be.deep.equal(expected);
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
describe('recently-closed-editors', () => {
|
|
113
|
-
describe('#getLastClosedEditor', () => {
|
|
114
|
-
it('should return the last closed editor from the history', () => {
|
|
115
|
-
const uri = new uri_1.default('file://foo/a.ts');
|
|
116
|
-
stack.addClosedEditor(createMockClosedEditor(uri));
|
|
117
|
-
const editor = stack.getLastClosedEditor();
|
|
118
|
-
(0, chai_1.expect)(editor === null || editor === void 0 ? void 0 : editor.uri).equal(uri);
|
|
119
|
-
});
|
|
120
|
-
it('should return `undefined` when no history is found', () => {
|
|
121
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
122
|
-
const editor = stack.getLastClosedEditor();
|
|
123
|
-
(0, chai_1.expect)(editor).equal(undefined);
|
|
124
|
-
});
|
|
125
|
-
it('should not exceed the max history', () => {
|
|
126
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
127
|
-
const max = navigation_location_service_1.NavigationLocationService['MAX_RECENTLY_CLOSED_EDITORS'];
|
|
128
|
-
for (let i = 0; i < max + 10; i++) {
|
|
129
|
-
const uri = new uri_1.default(`file://foo/bar-${i}.ts`);
|
|
130
|
-
stack.addClosedEditor(createMockClosedEditor(uri));
|
|
131
|
-
}
|
|
132
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length <= max).be.true;
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
describe('#addToRecentlyClosedEditors', () => {
|
|
136
|
-
it('should include unique recently closed editors in the history', () => {
|
|
137
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
138
|
-
const a = createMockClosedEditor(new uri_1.default('file://foo/a.ts'));
|
|
139
|
-
const b = createMockClosedEditor(new uri_1.default('file://foo/b.ts'));
|
|
140
|
-
stack.addClosedEditor(a);
|
|
141
|
-
stack.addClosedEditor(b);
|
|
142
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(2);
|
|
143
|
-
});
|
|
144
|
-
it('should not include duplicate recently closed editors in the history', () => {
|
|
145
|
-
const uri = new uri_1.default('file://foo/a.ts');
|
|
146
|
-
[1, 2, 3].forEach(i => {
|
|
147
|
-
stack.addClosedEditor(createMockClosedEditor(uri));
|
|
148
|
-
});
|
|
149
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(1);
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
describe('#removeFromRecentlyClosedEditors', () => {
|
|
153
|
-
it('should successfully remove editors from the history that match the given editor uri', () => {
|
|
154
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
155
|
-
const editor = createMockClosedEditor(new uri_1.default('file://foo/a.ts'));
|
|
156
|
-
[1, 2, 3].forEach(() => {
|
|
157
|
-
stack['recentlyClosedEditors'].push(editor);
|
|
158
|
-
});
|
|
159
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(3);
|
|
160
|
-
// Remove the given editor from the recently closed history.
|
|
161
|
-
stack['removeClosedEditor'](editor.uri);
|
|
162
|
-
(0, chai_1.expect)(stack['recentlyClosedEditors'].length).equal(0);
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
function createCursorLocation(context = { line: 0, character: 0, }, uri = 'file://path/to/file') {
|
|
167
|
-
return navigation_location_1.NavigationLocation.create(uri, context);
|
|
168
|
-
}
|
|
169
|
-
function init() {
|
|
170
|
-
const container = new inversify_1.Container({ defaultScope: 'Singleton' });
|
|
171
|
-
container.bind(navigation_location_service_1.NavigationLocationService).toSelf();
|
|
172
|
-
container.bind(navigation_location_similarity_1.NavigationLocationSimilarity).toSelf();
|
|
173
|
-
container.bind(mock_opener_service_1.MockOpenerService).toSelf();
|
|
174
|
-
container.bind(mock_logger_1.MockLogger).toSelf();
|
|
175
|
-
container.bind(logger_1.ILogger).toService(mock_logger_1.MockLogger);
|
|
176
|
-
container.bind(mock_navigation_location_updater_1.NoopNavigationLocationUpdater).toSelf();
|
|
177
|
-
container.bind(navigation_location_updater_1.NavigationLocationUpdater).toService(mock_navigation_location_updater_1.NoopNavigationLocationUpdater);
|
|
178
|
-
container.bind(opener_service_1.OpenerService).toService(mock_opener_service_1.MockOpenerService);
|
|
179
|
-
return container.get(navigation_location_service_1.NavigationLocationService);
|
|
180
|
-
}
|
|
181
|
-
function createMockClosedEditor(uri) {
|
|
182
|
-
return { uri, viewState: {} };
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
//# sourceMappingURL=navigation-location-service.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-location-service.spec.js","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NavigationLocation } from './navigation-location';
|
|
2
|
-
/**
|
|
3
|
-
* Service for checking whether two navigation locations are similar or not.
|
|
4
|
-
*/
|
|
5
|
-
export declare class NavigationLocationSimilarity {
|
|
6
|
-
/**
|
|
7
|
-
* The number of lines to move in the editor to justify for new state.
|
|
8
|
-
*/
|
|
9
|
-
private static EDITOR_SELECTION_THRESHOLD;
|
|
10
|
-
/**
|
|
11
|
-
* `true` if the `left` and `right` locations are withing +- 10 lines in the same editor. Otherwise, `false`.
|
|
12
|
-
*/
|
|
13
|
-
similar(left: NavigationLocation | undefined, right: NavigationLocation | undefined): boolean;
|
|
14
|
-
protected getThreshold(): number;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=navigation-location-similarity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-location-similarity.d.ts","sourceRoot":"","sources":["../../../src/browser/navigation/navigation-location-similarity.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,qBACa,4BAA4B;IAErC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAM;IAE/C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,EAAE,KAAK,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO;IAoB7F,SAAS,CAAC,YAAY,IAAI,MAAM;CAInC"}
|