@theia/core 1.70.0-next.26 → 1.70.0-next.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/lib/browser/catalog.json +19 -3
  2. package/lib/browser/quick-input/quick-input-service.spec.js +53 -9
  3. package/lib/browser/quick-input/quick-input-service.spec.js.map +1 -1
  4. package/lib/browser/tree/fuzzy-search.d.ts +1 -60
  5. package/lib/browser/tree/fuzzy-search.d.ts.map +1 -1
  6. package/lib/browser/tree/fuzzy-search.js +3 -58
  7. package/lib/browser/tree/fuzzy-search.js.map +1 -1
  8. package/lib/browser/window/default-window-service.d.ts +2 -1
  9. package/lib/browser/window/default-window-service.d.ts.map +1 -1
  10. package/lib/browser/window/default-window-service.js +5 -1
  11. package/lib/browser/window/default-window-service.js.map +1 -1
  12. package/lib/browser/window/test/mock-window-service.d.ts +2 -1
  13. package/lib/browser/window/test/mock-window-service.d.ts.map +1 -1
  14. package/lib/browser/window/test/mock-window-service.js +2 -1
  15. package/lib/browser/window/test/mock-window-service.js.map +1 -1
  16. package/lib/browser/window/window-service.d.ts +8 -1
  17. package/lib/browser/window/window-service.d.ts.map +1 -1
  18. package/lib/common/fuzzy-match-utils.d.ts +27 -0
  19. package/lib/common/fuzzy-match-utils.d.ts.map +1 -0
  20. package/lib/common/fuzzy-match-utils.js +96 -0
  21. package/lib/common/fuzzy-match-utils.js.map +1 -0
  22. package/lib/common/fuzzy-match-utils.spec.d.ts +2 -0
  23. package/lib/common/fuzzy-match-utils.spec.d.ts.map +1 -0
  24. package/lib/common/fuzzy-match-utils.spec.js +109 -0
  25. package/lib/common/fuzzy-match-utils.spec.js.map +1 -0
  26. package/lib/common/fuzzy-search.d.ts +63 -0
  27. package/lib/common/fuzzy-search.d.ts.map +1 -0
  28. package/lib/common/fuzzy-search.js +101 -0
  29. package/lib/common/fuzzy-search.js.map +1 -0
  30. package/lib/common/fuzzy-search.spec.d.ts.map +1 -0
  31. package/lib/{browser/tree → common}/fuzzy-search.spec.js +20 -1
  32. package/lib/common/fuzzy-search.spec.js.map +1 -0
  33. package/lib/common/quick-pick-service.d.ts.map +1 -1
  34. package/lib/common/quick-pick-service.js +34 -7
  35. package/lib/common/quick-pick-service.js.map +1 -1
  36. package/lib/electron-browser/window/electron-window-service.d.ts +3 -2
  37. package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
  38. package/lib/electron-browser/window/electron-window-service.js +5 -2
  39. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  40. package/lib/electron-common/electron-main-window-service.d.ts +2 -1
  41. package/lib/electron-common/electron-main-window-service.d.ts.map +1 -1
  42. package/lib/electron-main/electron-main-application.d.ts +1 -0
  43. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  44. package/lib/electron-main/electron-main-application.js +6 -0
  45. package/lib/electron-main/electron-main-application.js.map +1 -1
  46. package/lib/electron-main/electron-main-window-service-impl.d.ts +2 -1
  47. package/lib/electron-main/electron-main-window-service-impl.d.ts.map +1 -1
  48. package/lib/electron-main/electron-main-window-service-impl.js +6 -2
  49. package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
  50. package/package.json +4 -4
  51. package/src/browser/quick-input/quick-input-service.spec.ts +58 -9
  52. package/src/browser/tree/fuzzy-search.ts +2 -120
  53. package/src/browser/window/default-window-service.ts +6 -1
  54. package/src/browser/window/test/mock-window-service.ts +2 -1
  55. package/src/browser/window/window-service.ts +9 -1
  56. package/src/common/fuzzy-match-utils.spec.ts +141 -0
  57. package/src/common/fuzzy-match-utils.ts +78 -0
  58. package/src/{browser/tree → common}/fuzzy-search.spec.ts +23 -1
  59. package/src/common/fuzzy-search.ts +158 -0
  60. package/src/common/quick-pick-service.ts +44 -9
  61. package/src/electron-browser/window/electron-window-service.ts +7 -4
  62. package/src/electron-common/electron-main-window-service.ts +2 -1
  63. package/src/electron-main/electron-main-application.ts +7 -0
  64. package/src/electron-main/electron-main-window-service-impl.ts +7 -2
  65. package/lib/browser/tree/fuzzy-search.spec.d.ts.map +0 -1
  66. package/lib/browser/tree/fuzzy-search.spec.js.map +0 -1
  67. /package/lib/{browser/tree → common}/fuzzy-search.spec.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-application.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-main-application.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { NewWindowOptions, WindowSearchParams } from '../common/window';
4
4
  export declare class ElectronMainWindowServiceImpl implements ElectronMainWindowService {
5
5
  protected readonly app: ElectronMainApplication;
6
6
  openNewWindow(url: string, { external }: NewWindowOptions): undefined;
7
- openNewDefaultWindow(params?: WindowSearchParams): void;
7
+ openNewDefaultWindow(params?: WindowSearchParams): Promise<number>;
8
+ closeWindow(windowId: number): void;
8
9
  }
9
10
  //# sourceMappingURL=electron-main-window-service-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-window-service-impl.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-window-service-impl.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,qBACa,6BAA8B,YAAW,yBAAyB;IAG3E,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IAEhD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GAAG,SAAS;IAWrE,oBAAoB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI;CAI1D"}
1
+ {"version":3,"file":"electron-main-window-service-impl.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-window-service-impl.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,qBACa,6BAA8B,YAAW,yBAAyB;IAG3E,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IAEhD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GAAG,SAAS;IAW/D,oBAAoB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAItC"}
@@ -32,8 +32,12 @@ let ElectronMainWindowServiceImpl = class ElectronMainWindowServiceImpl {
32
32
  }
33
33
  return undefined;
34
34
  }
35
- openNewDefaultWindow(params) {
36
- this.app.openDefaultWindow(params);
35
+ async openNewDefaultWindow(params) {
36
+ const electronWindow = await this.app.openDefaultWindow(params);
37
+ return electronWindow.webContents.id;
38
+ }
39
+ closeWindow(windowId) {
40
+ this.app.closeWindowById(windowId);
37
41
  }
38
42
  };
39
43
  exports.ElectronMainWindowServiceImpl = ElectronMainWindowServiceImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-window-service-impl.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-window-service-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,8DAAwD;AACxD,yCAA+C;AAE/C,2EAAsE;AAI/D,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAKtC,aAAa,CAAC,GAAW,EAAE,EAAE,QAAQ,EAAoB;QACrD,IAAI,QAAQ,EAAE,CAAC;YACX,gBAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC1C,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,oBAAoB,CAAC,MAA2B;QAC5C,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;CAEJ,CAAA;AApBY,sEAA6B;AAGnB;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACR,mDAAuB;0DAAC;wCAHvC,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CAoBzC"}
1
+ {"version":3,"file":"electron-main-window-service-impl.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-window-service-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,8DAAwD;AACxD,yCAA+C;AAE/C,2EAAsE;AAI/D,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAKtC,aAAa,CAAC,GAAW,EAAE,EAAE,QAAQ,EAAoB;QACrD,IAAI,QAAQ,EAAE,CAAC;YACX,gBAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC1C,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAA2B;QAClD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,QAAgB;QACxB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CAEJ,CAAA;AAzBY,sEAA6B;AAGnB;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACR,mDAAuB;0DAAC;wCAHvC,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CAyBzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.70.0-next.26+b40555ef6",
3
+ "version": "1.70.0-next.34+86ff81264",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  "@lumino/virtualdom": "^2.0.4",
18
18
  "@lumino/widgets": "2.7.5",
19
19
  "@parcel/watcher": "^2.5.0",
20
- "@theia/application-package": "1.70.0-next.26+b40555ef6",
21
- "@theia/request": "1.70.0-next.26+b40555ef6",
20
+ "@theia/application-package": "1.70.0-next.34+86ff81264",
21
+ "@theia/request": "1.70.0-next.34+86ff81264",
22
22
  "@types/body-parser": "^1.16.4",
23
23
  "@types/express": "^4.17.21",
24
24
  "@types/fs-extra": "^4.0.2",
@@ -221,5 +221,5 @@
221
221
  "nyc": {
222
222
  "extends": "../../configs/nyc.json"
223
223
  },
224
- "gitHead": "b40555ef601736234983a8381eb2da6504994aaa"
224
+ "gitHead": "86ff81264416872843cdfca6aebb2bd855e2ab6a"
225
225
  }
@@ -23,11 +23,14 @@ describe('quick-input-service', () => {
23
23
 
24
24
  describe('#findMatches', () => {
25
25
 
26
- it('should return the proper highlights when matches are found', () => {
26
+ it('should return a single contiguous range for substring matches', () => {
27
27
  expect(findMatches('abc', 'a')).deep.equal([{ start: 0, end: 1 }]);
28
- expect(findMatches('abc', 'ab')).deep.equal([{ start: 0, end: 1 }, { start: 1, end: 2 }]);
28
+ expect(findMatches('abc', 'ab')).deep.equal([{ start: 0, end: 2 }]);
29
+ expect(findMatches('abc', 'abc')).deep.equal([{ start: 0, end: 3 }]);
30
+ });
31
+
32
+ it('should return per-character ranges for fuzzy-only matches', () => {
29
33
  expect(findMatches('abc', 'ac')).deep.equal([{ start: 0, end: 1 }, { start: 2, end: 3 }]);
30
- expect(findMatches('abc', 'abc')).deep.equal([{ start: 0, end: 1 }, { start: 1, end: 2 }, { start: 2, end: 3 }]);
31
34
  });
32
35
 
33
36
  it('should fail when out of order', () => {
@@ -67,9 +70,7 @@ describe('quick-input-service', () => {
67
70
  label: 'abc',
68
71
  highlights: {
69
72
  label: [
70
- { start: 0, end: 1 },
71
- { start: 1, end: 2 },
72
- { start: 2, end: 3 }
73
+ { start: 0, end: 3 }
73
74
  ]
74
75
  }
75
76
  };
@@ -152,9 +153,7 @@ describe('quick-input-service', () => {
152
153
  label: 'abc',
153
154
  highlights: {
154
155
  label: [
155
- { start: 0, end: 1 },
156
- { start: 1, end: 2 },
157
- { start: 2, end: 3 }
156
+ { start: 0, end: 3 }
158
157
  ]
159
158
  }
160
159
  };
@@ -171,6 +170,56 @@ describe('quick-input-service', () => {
171
170
  expect(filterItems(items, 'yyy')).deep.equal([]);
172
171
  });
173
172
 
173
+ it('should rank substring matches before fuzzy-only matches', () => {
174
+ const testItems: QuickPickItem[] = [
175
+ { label: 'reformatting' },
176
+ { label: 'fontSize' },
177
+ { label: 'fontFamily' },
178
+ ];
179
+ const result = filterItems(testItems, 'font').filter(QuickPickItem.is);
180
+ expect(result).length(2);
181
+ expect(result[0].label).equal('fontSize');
182
+ expect(result[1].label).equal('fontFamily');
183
+ });
184
+
185
+ it('should rank prefix matches before other substring matches', () => {
186
+ const testItems: QuickPickItem[] = [
187
+ { label: 'setFont' },
188
+ { label: 'fontSize' },
189
+ { label: 'fontFamily' },
190
+ ];
191
+ const result = filterItems(testItems, 'font').filter(QuickPickItem.is);
192
+ expect(result).length(3);
193
+ expect(result[0].label).equal('fontSize');
194
+ expect(result[1].label).equal('fontFamily');
195
+ expect(result[2].label).equal('setFont');
196
+ });
197
+
198
+ it('should treat segmented prefix matches as prefix matches', () => {
199
+ const testItems: QuickPickItem[] = [
200
+ { label: 'backend-workspace-service.ts' },
201
+ { label: 'workspace-backend-service.ts' },
202
+ ];
203
+ const result = filterItems(testItems, 'works-ser').filter(QuickPickItem.is);
204
+ expect(result).length(2);
205
+ expect(result[0].label).equal('workspace-backend-service.ts');
206
+ expect(result[1].label).equal('backend-workspace-service.ts');
207
+ });
208
+
209
+ it('should drop separators when their group has no matches', () => {
210
+ const testItems = [
211
+ { type: 'separator' as const, label: 'Group A' },
212
+ { label: 'fontSize' },
213
+ { type: 'separator' as const, label: 'Group B' },
214
+ { label: 'xyz' },
215
+ ];
216
+ const result = filterItems(testItems, 'font');
217
+ // Group B's only item "xyz" doesn't match, so Group B separator is dropped
218
+ expect(result).length(2);
219
+ expect(result[0]).to.have.property('type', 'separator');
220
+ expect(result[1]).to.have.property('label', 'fontSize');
221
+ });
222
+
174
223
  });
175
224
 
176
225
  });
@@ -14,123 +14,5 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import * as fuzzy from 'fuzzy';
18
- import { injectable } from 'inversify';
19
-
20
- @injectable()
21
- export class FuzzySearch {
22
-
23
- private static readonly PRE = '\x01';
24
- private static readonly POST = '\x02';
25
-
26
- /**
27
- * Filters the input and returns with an array that contains all items that match the pattern.
28
- */
29
- async filter<T>(input: FuzzySearch.Input<T>): Promise<FuzzySearch.Match<T>[]> {
30
- return fuzzy.filter(input.pattern, input.items.slice(), {
31
- pre: FuzzySearch.PRE,
32
- post: FuzzySearch.POST,
33
- extract: input.transform
34
- }).sort(this.sortResults.bind(this)).map(this.mapResult.bind(this));
35
- }
36
-
37
- protected sortResults<T>(left: fuzzy.FilterResult<T>, right: fuzzy.FilterResult<T>): number {
38
- return left.index - right.index;
39
- }
40
-
41
- protected mapResult<T>(result: fuzzy.FilterResult<T>): FuzzySearch.Match<T> {
42
- return {
43
- item: result.original,
44
- ranges: this.mapRanges(result.string)
45
- };
46
- }
47
-
48
- protected mapRanges(input: string): ReadonlyArray<FuzzySearch.Range> {
49
- const copy = input.split('').filter(s => s !== '');
50
- const ranges: FuzzySearch.Range[] = [];
51
- const validate = (pre: number, post: number) => {
52
- if (preIndex > postIndex || (preIndex === -1) !== (postIndex === -1)) {
53
- throw new Error(`Error when trying to map ranges. Escaped string was: '${input}. [${[...input].join('|')}]'`);
54
- }
55
- };
56
- let preIndex = copy.indexOf(FuzzySearch.PRE);
57
- let postIndex = copy.indexOf(FuzzySearch.POST);
58
- validate(preIndex, postIndex);
59
- while (preIndex !== -1 && postIndex !== -1) {
60
- ranges.push({
61
- offset: preIndex,
62
- length: postIndex - preIndex - 1
63
- });
64
- copy.splice(postIndex, 1);
65
- copy.splice(preIndex, 1);
66
- preIndex = copy.indexOf(FuzzySearch.PRE);
67
- postIndex = copy.indexOf(FuzzySearch.POST);
68
- }
69
- if (ranges.length === 0) {
70
- throw new Error(`Unexpected zero ranges for match-string: ${input}.`);
71
- }
72
- return ranges;
73
- }
74
-
75
- }
76
-
77
- /**
78
- * Fuzzy searcher.
79
- */
80
- export namespace FuzzySearch {
81
-
82
- /**
83
- * A range representing the match region.
84
- */
85
- export interface Range {
86
-
87
- /**
88
- * The zero based offset of the match region.
89
- */
90
- readonly offset: number;
91
-
92
- /**
93
- * The length of the match region.
94
- */
95
- readonly length: number;
96
- }
97
-
98
- /**
99
- * A fuzzy search match.
100
- */
101
- export interface Match<T> {
102
-
103
- /**
104
- * The original item.
105
- */
106
- readonly item: T;
107
-
108
- /**
109
- * An array of ranges representing the match regions.
110
- */
111
- readonly ranges: ReadonlyArray<Range>;
112
- }
113
-
114
- /**
115
- * The fuzzy search input.
116
- */
117
- export interface Input<T> {
118
-
119
- /**
120
- * The pattern to match.
121
- */
122
- readonly pattern: string;
123
-
124
- /**
125
- * The items to filter based on the `pattern`.
126
- */
127
- readonly items: ReadonlyArray<T>;
128
-
129
- /**
130
- * Function that extracts the string from the inputs which will be used to evaluate the fuzzy matching filter.
131
- */
132
- readonly transform: (item: T) => string;
133
-
134
- }
135
-
136
- }
17
+ // Re-export from common location for backward compatibility.
18
+ export { FuzzySearch } from '../../common/fuzzy-search';
@@ -53,8 +53,13 @@ export class DefaultWindowService implements WindowService, FrontendApplicationC
53
53
  return undefined;
54
54
  }
55
55
 
56
- openNewDefaultWindow(): void {
56
+ async openNewDefaultWindow(): Promise<number> {
57
57
  this.openNewWindow(`#${DEFAULT_WINDOW_HASH}`);
58
+ return -1;
59
+ }
60
+
61
+ closeWindow(windowId: number): void {
62
+ // No-op in browser-only mode
58
63
  }
59
64
 
60
65
  focus(): void {
@@ -20,7 +20,8 @@ import { WindowService } from '../window-service';
20
20
  @injectable()
21
21
  export class MockWindowService implements WindowService {
22
22
  openNewWindow(): undefined { return undefined; }
23
- openNewDefaultWindow(): void { }
23
+ async openNewDefaultWindow(): Promise<number> { return -1; }
24
+ closeWindow(): void { }
24
25
  focus(): void { }
25
26
  reload(): void { }
26
27
  isSafeToShutDown(): Promise<boolean> { return Promise.resolve(true); }
@@ -39,8 +39,16 @@ export interface WindowService {
39
39
  /**
40
40
  * Opens a new default window.
41
41
  * - In electron and in the browser it will open the default window without a pre-defined content.
42
+ * @returns a window identifier that can be passed to {@link closeWindow}, or -1 if not supported.
42
43
  */
43
- openNewDefaultWindow(params?: WindowReloadOptions): void;
44
+ openNewDefaultWindow(params?: WindowReloadOptions): Promise<number>;
45
+
46
+ /**
47
+ * Closes a window previously opened by {@link openNewDefaultWindow}.
48
+ * @param windowId the identifier returned by {@link openNewDefaultWindow}.
49
+ * No-op if the window does not exist or the platform does not support it.
50
+ */
51
+ closeWindow(windowId: number): void;
44
52
 
45
53
  /**
46
54
  * Reveal and focuses the current window
@@ -0,0 +1,141 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { expect } from 'chai';
18
+ import { findSubstringIndex, hasPrefixMatch, hasSubstringMatch, matchRank } from './fuzzy-match-utils';
19
+
20
+ describe('fuzzy-match-utils', () => {
21
+
22
+ describe('#findSubstringIndex', () => {
23
+
24
+ it('should return the index of a case-insensitive substring match', () => {
25
+ expect(findSubstringIndex('fontSize', 'font')).to.equal(0);
26
+ expect(findSubstringIndex('setFont', 'font')).to.equal(3);
27
+ });
28
+
29
+ it('should be case-insensitive', () => {
30
+ expect(findSubstringIndex('FontSize', 'font')).to.equal(0);
31
+ expect(findSubstringIndex('fontSize', 'Font')).to.equal(0);
32
+ });
33
+
34
+ it('should return -1 when pattern is not a substring', () => {
35
+ expect(findSubstringIndex('reformatting', 'font')).to.equal(-1);
36
+ });
37
+
38
+ it('should return 0 for empty pattern', () => {
39
+ expect(findSubstringIndex('anything', '')).to.equal(0);
40
+ });
41
+
42
+ });
43
+
44
+ describe('#hasSubstringMatch', () => {
45
+
46
+ it('should return true for exact substring match', () => {
47
+ expect(hasSubstringMatch('fontSize', 'font')).to.be.true;
48
+ });
49
+
50
+ it('should be case-insensitive', () => {
51
+ expect(hasSubstringMatch('FontSize', 'font')).to.be.true;
52
+ expect(hasSubstringMatch('fontSize', 'Font')).to.be.true;
53
+ });
54
+
55
+ it('should return false when pattern is not a substring', () => {
56
+ expect(hasSubstringMatch('reformatting', 'font')).to.be.false;
57
+ });
58
+
59
+ it('should return true for empty pattern', () => {
60
+ expect(hasSubstringMatch('anything', '')).to.be.true;
61
+ });
62
+
63
+ it('should return true when text equals pattern', () => {
64
+ expect(hasSubstringMatch('font', 'font')).to.be.true;
65
+ });
66
+
67
+ });
68
+
69
+ describe('#hasPrefixMatch', () => {
70
+
71
+ it('should match simple prefix', () => {
72
+ expect(hasPrefixMatch('fontSize', 'font')).to.be.true;
73
+ });
74
+
75
+ it('should match segmented prefix across punctuation', () => {
76
+ expect(hasPrefixMatch('workspace-server', 'works-ser')).to.be.true;
77
+ });
78
+
79
+ it('should match when query parts skip segments', () => {
80
+ expect(hasPrefixMatch('workspace-backend-service', 'works-ser')).to.be.true;
81
+ });
82
+
83
+ it('should not match when first segment does not match', () => {
84
+ expect(hasPrefixMatch('backend-workspace-service', 'works-ser')).to.be.false;
85
+ });
86
+
87
+ it('should be case-insensitive', () => {
88
+ expect(hasPrefixMatch('WorkspaceServer', 'work')).to.be.true;
89
+ });
90
+
91
+ it('should return true for empty pattern', () => {
92
+ expect(hasPrefixMatch('anything', '')).to.be.true;
93
+ });
94
+
95
+ it('should handle various separators', () => {
96
+ expect(hasPrefixMatch('workspace_server', 'works_ser')).to.be.true;
97
+ expect(hasPrefixMatch('workspace.server.ts', 'works.ser')).to.be.true;
98
+ expect(hasPrefixMatch('workspace/server', 'works/ser')).to.be.true;
99
+ });
100
+
101
+ it('should not match when query parts are out of order', () => {
102
+ expect(hasPrefixMatch('service-workspace', 'works-ser')).to.be.false;
103
+ });
104
+
105
+ it('should return true when pattern is only separators', () => {
106
+ expect(hasPrefixMatch('anything', '---')).to.be.true;
107
+ });
108
+
109
+ it('should return false when text is only separators', () => {
110
+ expect(hasPrefixMatch('---', 'abc')).to.be.false;
111
+ });
112
+
113
+ it('should not match when a later query part has no matching segment', () => {
114
+ expect(hasPrefixMatch('workspace-server', 'works-zzz')).to.be.false;
115
+ });
116
+
117
+ });
118
+
119
+ describe('#matchRank', () => {
120
+
121
+ it('should return 0 for prefix matches', () => {
122
+ expect(matchRank('fontSize', 'font')).to.equal(0);
123
+ expect(matchRank('workspace-server', 'works-ser')).to.equal(0);
124
+ });
125
+
126
+ it('should return 1 for substring (non-prefix) matches', () => {
127
+ expect(matchRank('setFont', 'font')).to.equal(1);
128
+ expect(matchRank('base.tsconfig.json', 'con')).to.equal(1);
129
+ });
130
+
131
+ it('should return 2 for fuzzy-only matches', () => {
132
+ expect(matchRank('baconing', 'bcn')).to.equal(2);
133
+ });
134
+
135
+ it('should return 0 for empty pattern', () => {
136
+ expect(matchRank('anything', '')).to.equal(0);
137
+ });
138
+
139
+ });
140
+
141
+ });