@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.
- package/lib/browser/catalog.json +19 -3
- package/lib/browser/quick-input/quick-input-service.spec.js +53 -9
- package/lib/browser/quick-input/quick-input-service.spec.js.map +1 -1
- package/lib/browser/tree/fuzzy-search.d.ts +1 -60
- package/lib/browser/tree/fuzzy-search.d.ts.map +1 -1
- package/lib/browser/tree/fuzzy-search.js +3 -58
- package/lib/browser/tree/fuzzy-search.js.map +1 -1
- package/lib/browser/window/default-window-service.d.ts +2 -1
- package/lib/browser/window/default-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-window-service.js +5 -1
- package/lib/browser/window/default-window-service.js.map +1 -1
- package/lib/browser/window/test/mock-window-service.d.ts +2 -1
- package/lib/browser/window/test/mock-window-service.d.ts.map +1 -1
- package/lib/browser/window/test/mock-window-service.js +2 -1
- package/lib/browser/window/test/mock-window-service.js.map +1 -1
- package/lib/browser/window/window-service.d.ts +8 -1
- package/lib/browser/window/window-service.d.ts.map +1 -1
- package/lib/common/fuzzy-match-utils.d.ts +27 -0
- package/lib/common/fuzzy-match-utils.d.ts.map +1 -0
- package/lib/common/fuzzy-match-utils.js +96 -0
- package/lib/common/fuzzy-match-utils.js.map +1 -0
- package/lib/common/fuzzy-match-utils.spec.d.ts +2 -0
- package/lib/common/fuzzy-match-utils.spec.d.ts.map +1 -0
- package/lib/common/fuzzy-match-utils.spec.js +109 -0
- package/lib/common/fuzzy-match-utils.spec.js.map +1 -0
- package/lib/common/fuzzy-search.d.ts +63 -0
- package/lib/common/fuzzy-search.d.ts.map +1 -0
- package/lib/common/fuzzy-search.js +101 -0
- package/lib/common/fuzzy-search.js.map +1 -0
- package/lib/common/fuzzy-search.spec.d.ts.map +1 -0
- package/lib/{browser/tree → common}/fuzzy-search.spec.js +20 -1
- package/lib/common/fuzzy-search.spec.js.map +1 -0
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/quick-pick-service.js +34 -7
- package/lib/common/quick-pick-service.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.d.ts +3 -2
- package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +5 -2
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-common/electron-main-window-service.d.ts +2 -1
- package/lib/electron-common/electron-main-window-service.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +1 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +6 -0
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/electron-main-window-service-impl.d.ts +2 -1
- package/lib/electron-main/electron-main-window-service-impl.d.ts.map +1 -1
- package/lib/electron-main/electron-main-window-service-impl.js +6 -2
- package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
- package/package.json +4 -4
- package/src/browser/quick-input/quick-input-service.spec.ts +58 -9
- package/src/browser/tree/fuzzy-search.ts +2 -120
- package/src/browser/window/default-window-service.ts +6 -1
- package/src/browser/window/test/mock-window-service.ts +2 -1
- package/src/browser/window/window-service.ts +9 -1
- package/src/common/fuzzy-match-utils.spec.ts +141 -0
- package/src/common/fuzzy-match-utils.ts +78 -0
- package/src/{browser/tree → common}/fuzzy-search.spec.ts +23 -1
- package/src/common/fuzzy-search.ts +158 -0
- package/src/common/quick-pick-service.ts +44 -9
- package/src/electron-browser/window/electron-window-service.ts +7 -4
- package/src/electron-common/electron-main-window-service.ts +2 -1
- package/src/electron-main/electron-main-application.ts +7 -0
- package/src/electron-main/electron-main-window-service-impl.ts +7 -2
- package/lib/browser/tree/fuzzy-search.spec.d.ts.map +0 -1
- package/lib/browser/tree/fuzzy-search.spec.js.map +0 -1
- /package/lib/{browser/tree → common}/fuzzy-search.spec.d.ts +0 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource 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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const chai_1 = require("chai");
|
|
19
|
+
const fuzzy_match_utils_1 = require("./fuzzy-match-utils");
|
|
20
|
+
describe('fuzzy-match-utils', () => {
|
|
21
|
+
describe('#findSubstringIndex', () => {
|
|
22
|
+
it('should return the index of a case-insensitive substring match', () => {
|
|
23
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.findSubstringIndex)('fontSize', 'font')).to.equal(0);
|
|
24
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.findSubstringIndex)('setFont', 'font')).to.equal(3);
|
|
25
|
+
});
|
|
26
|
+
it('should be case-insensitive', () => {
|
|
27
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.findSubstringIndex)('FontSize', 'font')).to.equal(0);
|
|
28
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.findSubstringIndex)('fontSize', 'Font')).to.equal(0);
|
|
29
|
+
});
|
|
30
|
+
it('should return -1 when pattern is not a substring', () => {
|
|
31
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.findSubstringIndex)('reformatting', 'font')).to.equal(-1);
|
|
32
|
+
});
|
|
33
|
+
it('should return 0 for empty pattern', () => {
|
|
34
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.findSubstringIndex)('anything', '')).to.equal(0);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('#hasSubstringMatch', () => {
|
|
38
|
+
it('should return true for exact substring match', () => {
|
|
39
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasSubstringMatch)('fontSize', 'font')).to.be.true;
|
|
40
|
+
});
|
|
41
|
+
it('should be case-insensitive', () => {
|
|
42
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasSubstringMatch)('FontSize', 'font')).to.be.true;
|
|
43
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasSubstringMatch)('fontSize', 'Font')).to.be.true;
|
|
44
|
+
});
|
|
45
|
+
it('should return false when pattern is not a substring', () => {
|
|
46
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasSubstringMatch)('reformatting', 'font')).to.be.false;
|
|
47
|
+
});
|
|
48
|
+
it('should return true for empty pattern', () => {
|
|
49
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasSubstringMatch)('anything', '')).to.be.true;
|
|
50
|
+
});
|
|
51
|
+
it('should return true when text equals pattern', () => {
|
|
52
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasSubstringMatch)('font', 'font')).to.be.true;
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe('#hasPrefixMatch', () => {
|
|
56
|
+
it('should match simple prefix', () => {
|
|
57
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('fontSize', 'font')).to.be.true;
|
|
58
|
+
});
|
|
59
|
+
it('should match segmented prefix across punctuation', () => {
|
|
60
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('workspace-server', 'works-ser')).to.be.true;
|
|
61
|
+
});
|
|
62
|
+
it('should match when query parts skip segments', () => {
|
|
63
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('workspace-backend-service', 'works-ser')).to.be.true;
|
|
64
|
+
});
|
|
65
|
+
it('should not match when first segment does not match', () => {
|
|
66
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('backend-workspace-service', 'works-ser')).to.be.false;
|
|
67
|
+
});
|
|
68
|
+
it('should be case-insensitive', () => {
|
|
69
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('WorkspaceServer', 'work')).to.be.true;
|
|
70
|
+
});
|
|
71
|
+
it('should return true for empty pattern', () => {
|
|
72
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('anything', '')).to.be.true;
|
|
73
|
+
});
|
|
74
|
+
it('should handle various separators', () => {
|
|
75
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('workspace_server', 'works_ser')).to.be.true;
|
|
76
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('workspace.server.ts', 'works.ser')).to.be.true;
|
|
77
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('workspace/server', 'works/ser')).to.be.true;
|
|
78
|
+
});
|
|
79
|
+
it('should not match when query parts are out of order', () => {
|
|
80
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('service-workspace', 'works-ser')).to.be.false;
|
|
81
|
+
});
|
|
82
|
+
it('should return true when pattern is only separators', () => {
|
|
83
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('anything', '---')).to.be.true;
|
|
84
|
+
});
|
|
85
|
+
it('should return false when text is only separators', () => {
|
|
86
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('---', 'abc')).to.be.false;
|
|
87
|
+
});
|
|
88
|
+
it('should not match when a later query part has no matching segment', () => {
|
|
89
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.hasPrefixMatch)('workspace-server', 'works-zzz')).to.be.false;
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('#matchRank', () => {
|
|
93
|
+
it('should return 0 for prefix matches', () => {
|
|
94
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.matchRank)('fontSize', 'font')).to.equal(0);
|
|
95
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.matchRank)('workspace-server', 'works-ser')).to.equal(0);
|
|
96
|
+
});
|
|
97
|
+
it('should return 1 for substring (non-prefix) matches', () => {
|
|
98
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.matchRank)('setFont', 'font')).to.equal(1);
|
|
99
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.matchRank)('base.tsconfig.json', 'con')).to.equal(1);
|
|
100
|
+
});
|
|
101
|
+
it('should return 2 for fuzzy-only matches', () => {
|
|
102
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.matchRank)('baconing', 'bcn')).to.equal(2);
|
|
103
|
+
});
|
|
104
|
+
it('should return 0 for empty pattern', () => {
|
|
105
|
+
(0, chai_1.expect)((0, fuzzy_match_utils_1.matchRank)('anything', '')).to.equal(0);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=fuzzy-match-utils.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy-match-utils.spec.js","sourceRoot":"","sources":["../../src/common/fuzzy-match-utils.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as fuzzy from 'fuzzy';
|
|
2
|
+
export declare class FuzzySearch {
|
|
3
|
+
private static readonly PRE;
|
|
4
|
+
private static readonly POST;
|
|
5
|
+
/**
|
|
6
|
+
* Filters the input and returns with an array that contains all items that match the pattern.
|
|
7
|
+
*/
|
|
8
|
+
filter<T>(input: FuzzySearch.Input<T>): Promise<FuzzySearch.Match<T>[]>;
|
|
9
|
+
protected sortResultsForInput<T>(left: fuzzy.FilterResult<T>, right: fuzzy.FilterResult<T>, input: FuzzySearch.Input<T>): number;
|
|
10
|
+
protected sortResults<T>(left: fuzzy.FilterResult<T>, right: fuzzy.FilterResult<T>): number;
|
|
11
|
+
protected mapResultForInput<T>(result: fuzzy.FilterResult<T>, input: FuzzySearch.Input<T>): FuzzySearch.Match<T>;
|
|
12
|
+
protected mapResult<T>(result: fuzzy.FilterResult<T>): FuzzySearch.Match<T>;
|
|
13
|
+
protected mapRanges(input: string): ReadonlyArray<FuzzySearch.Range>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Fuzzy searcher.
|
|
17
|
+
*/
|
|
18
|
+
export declare namespace FuzzySearch {
|
|
19
|
+
/**
|
|
20
|
+
* A range representing the match region.
|
|
21
|
+
*/
|
|
22
|
+
interface Range {
|
|
23
|
+
/**
|
|
24
|
+
* The zero based offset of the match region.
|
|
25
|
+
*/
|
|
26
|
+
readonly offset: number;
|
|
27
|
+
/**
|
|
28
|
+
* The length of the match region.
|
|
29
|
+
*/
|
|
30
|
+
readonly length: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A fuzzy search match.
|
|
34
|
+
*/
|
|
35
|
+
interface Match<T> {
|
|
36
|
+
/**
|
|
37
|
+
* The original item.
|
|
38
|
+
*/
|
|
39
|
+
readonly item: T;
|
|
40
|
+
/**
|
|
41
|
+
* An array of ranges representing the match regions.
|
|
42
|
+
*/
|
|
43
|
+
readonly ranges: ReadonlyArray<Range>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The fuzzy search input.
|
|
47
|
+
*/
|
|
48
|
+
interface Input<T> {
|
|
49
|
+
/**
|
|
50
|
+
* The pattern to match.
|
|
51
|
+
*/
|
|
52
|
+
readonly pattern: string;
|
|
53
|
+
/**
|
|
54
|
+
* The items to filter based on the `pattern`.
|
|
55
|
+
*/
|
|
56
|
+
readonly items: ReadonlyArray<T>;
|
|
57
|
+
/**
|
|
58
|
+
* Function that extracts the string from the inputs which will be used to evaluate the fuzzy matching filter.
|
|
59
|
+
*/
|
|
60
|
+
readonly transform: (item: T) => string;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=fuzzy-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy-search.d.ts","sourceRoot":"","sources":["../../src/common/fuzzy-search.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,qBACa,WAAW;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAU;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAU;IAEtC;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAS7E,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM;IAOhI,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;IAK3F,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAYhH,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAO3E,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC;CA2BvE;AAED;;GAEG;AACH,yBAAiB,WAAW,CAAC;IAEzB;;OAEG;IACH,UAAiB,KAAK;QAElB;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KAC3B;IAED;;OAEG;IACH,UAAiB,KAAK,CAAC,CAAC;QAEpB;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjB;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACzC;IAED;;OAEG;IACH,UAAiB,KAAK,CAAC,CAAC;QAEpB;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB;;WAEG;QACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAEjC;;WAEG;QACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;KAE3C;CAEJ"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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 FuzzySearch_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.FuzzySearch = void 0;
|
|
20
|
+
const tslib_1 = require("tslib");
|
|
21
|
+
const fuzzy = require("fuzzy");
|
|
22
|
+
const inversify_1 = require("inversify");
|
|
23
|
+
const fuzzy_match_utils_1 = require("./fuzzy-match-utils");
|
|
24
|
+
let FuzzySearch = class FuzzySearch {
|
|
25
|
+
static { FuzzySearch_1 = this; }
|
|
26
|
+
static { this.PRE = '\x01'; }
|
|
27
|
+
static { this.POST = '\x02'; }
|
|
28
|
+
/**
|
|
29
|
+
* Filters the input and returns with an array that contains all items that match the pattern.
|
|
30
|
+
*/
|
|
31
|
+
async filter(input) {
|
|
32
|
+
return fuzzy.filter(input.pattern, input.items.slice(), {
|
|
33
|
+
pre: FuzzySearch_1.PRE,
|
|
34
|
+
post: FuzzySearch_1.POST,
|
|
35
|
+
extract: input.transform
|
|
36
|
+
}).sort((left, right) => this.sortResultsForInput(left, right, input))
|
|
37
|
+
.map(result => this.mapResultForInput(result, input));
|
|
38
|
+
}
|
|
39
|
+
sortResultsForInput(left, right, input) {
|
|
40
|
+
const leftRank = (0, fuzzy_match_utils_1.matchRank)(input.transform(left.original), input.pattern);
|
|
41
|
+
const rightRank = (0, fuzzy_match_utils_1.matchRank)(input.transform(right.original), input.pattern);
|
|
42
|
+
if (leftRank !== rightRank) {
|
|
43
|
+
return leftRank - rightRank;
|
|
44
|
+
}
|
|
45
|
+
return this.sortResults(left, right);
|
|
46
|
+
}
|
|
47
|
+
sortResults(left, right) {
|
|
48
|
+
if (right.score !== left.score) {
|
|
49
|
+
return right.score - left.score;
|
|
50
|
+
}
|
|
51
|
+
return left.index - right.index;
|
|
52
|
+
}
|
|
53
|
+
mapResultForInput(result, input) {
|
|
54
|
+
const text = input.transform(result.original);
|
|
55
|
+
const substringIndex = input.pattern ? (0, fuzzy_match_utils_1.findSubstringIndex)(text, input.pattern) : -1;
|
|
56
|
+
if (substringIndex !== -1) {
|
|
57
|
+
return {
|
|
58
|
+
item: result.original,
|
|
59
|
+
ranges: [{ offset: substringIndex, length: input.pattern.length }]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return this.mapResult(result);
|
|
63
|
+
}
|
|
64
|
+
mapResult(result) {
|
|
65
|
+
return {
|
|
66
|
+
item: result.original,
|
|
67
|
+
ranges: this.mapRanges(result.string)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
mapRanges(input) {
|
|
71
|
+
const copy = input.split('').filter(s => s !== '');
|
|
72
|
+
const ranges = [];
|
|
73
|
+
const validate = (pre, post) => {
|
|
74
|
+
if (preIndex > postIndex || (preIndex === -1) !== (postIndex === -1)) {
|
|
75
|
+
throw new Error(`Error when trying to map ranges. Escaped string was: '${input}. [${[...input].join('|')}]'`);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
let preIndex = copy.indexOf(FuzzySearch_1.PRE);
|
|
79
|
+
let postIndex = copy.indexOf(FuzzySearch_1.POST);
|
|
80
|
+
validate(preIndex, postIndex);
|
|
81
|
+
while (preIndex !== -1 && postIndex !== -1) {
|
|
82
|
+
ranges.push({
|
|
83
|
+
offset: preIndex,
|
|
84
|
+
length: postIndex - preIndex - 1
|
|
85
|
+
});
|
|
86
|
+
copy.splice(postIndex, 1);
|
|
87
|
+
copy.splice(preIndex, 1);
|
|
88
|
+
preIndex = copy.indexOf(FuzzySearch_1.PRE);
|
|
89
|
+
postIndex = copy.indexOf(FuzzySearch_1.POST);
|
|
90
|
+
}
|
|
91
|
+
if (ranges.length === 0) {
|
|
92
|
+
throw new Error(`Unexpected zero ranges for match-string: ${input}.`);
|
|
93
|
+
}
|
|
94
|
+
return ranges;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
exports.FuzzySearch = FuzzySearch;
|
|
98
|
+
exports.FuzzySearch = FuzzySearch = FuzzySearch_1 = tslib_1.__decorate([
|
|
99
|
+
(0, inversify_1.injectable)()
|
|
100
|
+
], FuzzySearch);
|
|
101
|
+
//# sourceMappingURL=fuzzy-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy-search.js","sourceRoot":"","sources":["../../src/common/fuzzy-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy-search.spec.d.ts","sourceRoot":"","sources":["../../src/common/fuzzy-search.spec.ts"],"names":[],"mappings":""}
|
|
@@ -65,7 +65,9 @@ describe('fuzzy-search', () => {
|
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
[
|
|
68
|
-
|
|
68
|
+
// "con" prefix matches (configs, CONTRIBUTING.MD) first, then substring matches (base.tsconfig.json, tsconfig.json), then fuzzy-only (base.nyc.json)
|
|
69
|
+
['con', ['configs', 'base.tsconfig.json', 'tsconfig.json', 'base.nyc.json', 'CONTRIBUTING.MD'],
|
|
70
|
+
['configs', 'CONTRIBUTING.MD', 'base.tsconfig.json', 'tsconfig.json', 'base.nyc.json']],
|
|
69
71
|
['bcn', ['baconing', 'narwhal', 'a mighty bear canoe'], ['baconing', 'a mighty bear canoe']]
|
|
70
72
|
].forEach(test => {
|
|
71
73
|
const [pattern, items, expected] = test;
|
|
@@ -73,6 +75,23 @@ describe('fuzzy-search', () => {
|
|
|
73
75
|
expectOrder(await search(pattern, items), expected || items);
|
|
74
76
|
});
|
|
75
77
|
});
|
|
78
|
+
it('should rank substring matches before fuzzy-only matches', async () => {
|
|
79
|
+
const results = await search('font', ['reformatting', 'fontSize', 'fontFamily']);
|
|
80
|
+
// "reformatting" contains f-o-n-t scattered but not as substring; fontSize/fontFamily do
|
|
81
|
+
expectOrder(results, ['fontSize', 'fontFamily']);
|
|
82
|
+
});
|
|
83
|
+
it('should preserve original order for equal-score fuzzy-only matches', async () => {
|
|
84
|
+
// Both are fuzzy-only matches for "bcn" with different scores from the fuzzy library;
|
|
85
|
+
// when scores are equal, original array order (index) should be preserved.
|
|
86
|
+
const results = await search('ab', ['xab', 'yab']);
|
|
87
|
+
expectOrder(results, ['xab', 'yab']);
|
|
88
|
+
});
|
|
89
|
+
it('should highlight contiguous substring range instead of scattered fuzzy ranges', async () => {
|
|
90
|
+
const results = await search('works', ['browser-only-workspace-server.ts']);
|
|
91
|
+
(0, chai_1.expect)(results).to.have.length(1);
|
|
92
|
+
// "works" appears at index 13 in "browser-only-workspace-server.ts"
|
|
93
|
+
(0, chai_1.expect)(results[0].ranges).to.deep.equal([{ offset: 13, length: 5 }]);
|
|
94
|
+
});
|
|
76
95
|
function expectOrder(actual, expected) {
|
|
77
96
|
(0, chai_1.expect)(actual.map(result => result.item)).to.be.deep.equal(expected);
|
|
78
97
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy-search.spec.js","sourceRoot":"","sources":["../../src/common/fuzzy-search.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-pick-service.d.ts","sourceRoot":"","sources":["../../src/common/quick-pick-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"quick-pick-service.d.ts","sourceRoot":"","sources":["../../src/common/quick-pick-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ exports.QuickInputService = exports.quickInputServicePath = exports.QuickInputHi
|
|
|
19
19
|
exports.filterItems = filterItems;
|
|
20
20
|
exports.findMatches = findMatches;
|
|
21
21
|
const fuzzy = require("fuzzy");
|
|
22
|
+
const fuzzy_match_utils_1 = require("./fuzzy-match-utils");
|
|
22
23
|
exports.quickPickServicePath = '/services/quickPick';
|
|
23
24
|
exports.QuickPickService = Symbol('QuickPickService');
|
|
24
25
|
var QuickPickItem;
|
|
@@ -74,23 +75,44 @@ function filterItems(items, filter) {
|
|
|
74
75
|
}
|
|
75
76
|
return items;
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
+
function matchesFilter(item) {
|
|
79
|
+
return fuzzy.test(filter, item.label) ||
|
|
80
|
+
(!!item.description && fuzzy.test(filter, item.description)) ||
|
|
81
|
+
(!!item.detail && fuzzy.test(filter, item.detail));
|
|
82
|
+
}
|
|
83
|
+
function itemMatchRank(item) {
|
|
84
|
+
return Math.min((0, fuzzy_match_utils_1.matchRank)(item.label, filter), item.description ? (0, fuzzy_match_utils_1.matchRank)(item.description, filter) : 2, item.detail ? (0, fuzzy_match_utils_1.matchRank)(item.detail, filter) : 2);
|
|
85
|
+
}
|
|
86
|
+
// Process items in separator groups, sorted by match rank within each group.
|
|
87
|
+
const result = [];
|
|
88
|
+
let currentSeparator;
|
|
89
|
+
let groupMatches = [];
|
|
90
|
+
const flushGroup = () => {
|
|
91
|
+
if (groupMatches.length > 0) {
|
|
92
|
+
if (currentSeparator) {
|
|
93
|
+
result.push(currentSeparator);
|
|
94
|
+
}
|
|
95
|
+
groupMatches.sort((a, b) => a.rank - b.rank);
|
|
96
|
+
result.push(...groupMatches.map(m => m.item));
|
|
97
|
+
}
|
|
98
|
+
groupMatches = [];
|
|
99
|
+
};
|
|
78
100
|
for (const item of items) {
|
|
79
101
|
if (item.type === 'separator') {
|
|
80
|
-
|
|
102
|
+
flushGroup();
|
|
103
|
+
currentSeparator = item;
|
|
81
104
|
}
|
|
82
|
-
else if (
|
|
83
|
-
(item.description && fuzzy.test(filter, item.description)) ||
|
|
84
|
-
(item.detail && fuzzy.test(filter, item.detail))) {
|
|
105
|
+
else if (matchesFilter(item)) {
|
|
85
106
|
item.highlights = {
|
|
86
107
|
label: findMatches(item.label, filter),
|
|
87
108
|
description: item.description ? findMatches(item.description, filter) : undefined,
|
|
88
109
|
detail: item.detail ? findMatches(item.detail, filter) : undefined
|
|
89
110
|
};
|
|
90
|
-
|
|
111
|
+
groupMatches.push({ item, rank: itemMatchRank(item) });
|
|
91
112
|
}
|
|
92
113
|
}
|
|
93
|
-
|
|
114
|
+
flushGroup();
|
|
115
|
+
return result;
|
|
94
116
|
}
|
|
95
117
|
/**
|
|
96
118
|
* Find match highlights when testing a word against a pattern.
|
|
@@ -104,6 +126,11 @@ function findMatches(word, pattern) {
|
|
|
104
126
|
if (pattern.trim().length === 0) {
|
|
105
127
|
return undefined;
|
|
106
128
|
}
|
|
129
|
+
// Prefer a contiguous substring highlight over scattered fuzzy character highlights.
|
|
130
|
+
const substringIndex = (0, fuzzy_match_utils_1.findSubstringIndex)(word, pattern);
|
|
131
|
+
if (substringIndex !== -1) {
|
|
132
|
+
return [{ start: substringIndex, end: substringIndex + pattern.length }];
|
|
133
|
+
}
|
|
107
134
|
const delimiter = '\u0000'; // null byte that shouldn't appear in the input and is used to denote matches.
|
|
108
135
|
const matchResult = fuzzy.match(pattern.replace(/\u0000/gu, ''), word, { pre: delimiter, post: delimiter });
|
|
109
136
|
if (!matchResult) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-pick-service.js","sourceRoot":"","sources":["../../src/common/quick-pick-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;;;
|
|
1
|
+
{"version":3,"file":"quick-pick-service.js","sourceRoot":"","sources":["../../src/common/quick-pick-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NewWindowOptions
|
|
1
|
+
import { NewWindowOptions } from '../../common/window';
|
|
2
2
|
import { DefaultWindowService } from '../../browser/window/default-window-service';
|
|
3
3
|
import { ElectronMainWindowService } from '../../electron-common/electron-main-window-service';
|
|
4
4
|
import { ElectronWindowPreferences } from '../../electron-common/electron-window-preferences';
|
|
@@ -22,7 +22,8 @@ export declare class ElectronWindowService extends DefaultWindowService {
|
|
|
22
22
|
protected readonly onWillShutDownListeners: ListenerList<void, Promise<void>>;
|
|
23
23
|
readonly onWillShutDown: Listener.Registration<void, Promise<void>>;
|
|
24
24
|
openNewWindow(url: string, { external }?: NewWindowOptions): undefined;
|
|
25
|
-
openNewDefaultWindow(params?:
|
|
25
|
+
openNewDefaultWindow(params?: WindowReloadOptions): Promise<number>;
|
|
26
|
+
closeWindow(windowId: number): void;
|
|
26
27
|
focus(): void;
|
|
27
28
|
protected init(): void;
|
|
28
29
|
protected registerUnloadListeners(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-window-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"electron-window-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBACa,qBAAsB,SAAQ,oBAAoB;IAE3D;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEvC;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IAGzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAGxE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,oCAA2C;IACrF,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAA6C;IAEvG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAE,gBAAqB,GAAG,SAAS;IAKpE,oBAAoB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,KAAK,IAAI,IAAI;IAItB,SAAS,CAAC,IAAI,IAAI,IAAI;cAYH,uBAAuB,IAAI,IAAI;IAalD;;OAEG;cACa,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7C,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI;CAetD"}
|
|
@@ -42,8 +42,11 @@ let ElectronWindowService = class ElectronWindowService extends default_window_s
|
|
|
42
42
|
this.delegate.openNewWindow(url, { external });
|
|
43
43
|
return undefined;
|
|
44
44
|
}
|
|
45
|
-
openNewDefaultWindow(params) {
|
|
46
|
-
this.delegate.openNewDefaultWindow(params);
|
|
45
|
+
async openNewDefaultWindow(params) {
|
|
46
|
+
return this.delegate.openNewDefaultWindow(params?.search);
|
|
47
|
+
}
|
|
48
|
+
closeWindow(windowId) {
|
|
49
|
+
this.delegate.closeWindow(windowId);
|
|
47
50
|
}
|
|
48
51
|
focus() {
|
|
49
52
|
window.electronTheiaCore.focusWindow();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-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,yCAA8D;AAE9D,wFAAmF;AACnF,qGAA+F;AAC/F,mGAA8F;AAC9F,wFAAsF;AACtF,uFAAkF;AAElF,oDAA+D;AAGxD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,6CAAoB;IAAxD;;QAEH;;WAEG;QACO,gBAAW,GAAY,KAAK,CAAC;QAEvC;;WAEG;QACO,kBAAa,GAAY,KAAK,CAAC;QActB,4BAAuB,GAAG,IAAI,uBAAY,EAAuB,CAAC;QAC5E,mBAAc,GAA+C,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-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,yCAA8D;AAE9D,wFAAmF;AACnF,qGAA+F;AAC/F,mGAA8F;AAC9F,wFAAsF;AACtF,uFAAkF;AAElF,oDAA+D;AAGxD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,6CAAoB;IAAxD;;QAEH;;WAEG;QACO,gBAAW,GAAY,KAAK,CAAC;QAEvC;;WAEG;QACO,kBAAa,GAAY,KAAK,CAAC;QActB,4BAAuB,GAAG,IAAI,uBAAY,EAAuB,CAAC;QAC5E,mBAAc,GAA+C,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC;IAqEpH,CAAC;IAnEY,aAAa,CAAC,GAAW,EAAE,EAAE,QAAQ,KAAuB,EAAE;QACnE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC;IACrB,CAAC;IAEQ,KAAK,CAAC,oBAAoB,CAAC,MAA4B;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEQ,WAAW,CAAC,QAAgB;QACjC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEQ,KAAK;QACV,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAES,IAAI;QACV,gFAAgF;QAChF,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,CAAC,cAAc,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACP,CAAC;IAEkB,uBAAuB;QACtC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,mBAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;QAC9E,IAAI,MAAM,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,kBAAkB,EAAE,CAAC;YACvE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAEQ,MAAM,CAAC,MAA4B;QACxC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjG,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;YAC/B,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YACzC,CAAC;YACD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC7C,CAAC;IACL,CAAC;CACJ,CAAA;AA9FY,sDAAqB;AAaX;IADlB,IAAA,kBAAM,EAAC,yCAAkB,CAAC;;iEAC+B;AAGvC;IADlB,IAAA,kBAAM,EAAC,wDAAyB,CAAC;;uDACqB;AAGpC;IADlB,IAAA,kBAAM,EAAC,uDAAyB,CAAC;;wEACsC;AAGrD;IADlB,IAAA,kBAAM,EAAC,8CAAsB,CAAC;;qEACmC;AAsBxD;IADT,IAAA,yBAAa,GAAE;;;;iDAWf;gCAtDQ,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CA8FjC"}
|
|
@@ -3,6 +3,7 @@ export declare const electronMainWindowServicePath = "/services/electron-window"
|
|
|
3
3
|
export declare const ElectronMainWindowService: unique symbol;
|
|
4
4
|
export interface ElectronMainWindowService {
|
|
5
5
|
openNewWindow(url: string, options?: NewWindowOptions): undefined;
|
|
6
|
-
openNewDefaultWindow(params?: WindowSearchParams):
|
|
6
|
+
openNewDefaultWindow(params?: WindowSearchParams): Promise<number>;
|
|
7
|
+
closeWindow(windowId: number): void;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=electron-main-window-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-main-window-service.d.ts","sourceRoot":"","sources":["../../src/electron-common/electron-main-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AACzE,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E,MAAM,WAAW,yBAAyB;IACtC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClE,oBAAoB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-main-window-service.d.ts","sourceRoot":"","sources":["../../src/electron-common/electron-main-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AACzE,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E,MAAM,WAAW,yBAAyB;IACtC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClE,oBAAoB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
|
|
@@ -136,6 +136,7 @@ export declare class ElectronMainApplication {
|
|
|
136
136
|
getLastWindowOptions(): Promise<TheiaBrowserWindowOptions>;
|
|
137
137
|
protected avoidOverlap(options: TheiaBrowserWindowOptions): TheiaBrowserWindowOptions;
|
|
138
138
|
protected getDefaultOptions(): TheiaBrowserWindowOptions;
|
|
139
|
+
closeWindowById(webContentsId: number): void;
|
|
139
140
|
openDefaultWindow(params?: WindowSearchParams): Promise<BrowserWindow>;
|
|
140
141
|
protected openWindowWithWorkspace(workspacePath: string): Promise<BrowserWindow>;
|
|
141
142
|
protected reuseOrCreateWindow(asyncOptions: MaybePromise<TheiaBrowserWindowOptions>): Promise<BrowserWindow>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-main-application.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"electron-main-application.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -387,6 +387,12 @@ let ElectronMainApplication = class ElectronMainApplication {
|
|
|
387
387
|
...this.config.electron?.windowOptions || {},
|
|
388
388
|
};
|
|
389
389
|
}
|
|
390
|
+
closeWindowById(webContentsId) {
|
|
391
|
+
const window = this.windows.get(webContentsId);
|
|
392
|
+
if (window) {
|
|
393
|
+
window.close(frontend_application_state_1.StopReason.Close);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
390
396
|
async openDefaultWindow(params) {
|
|
391
397
|
const options = this.getDefaultTheiaWindowOptions();
|
|
392
398
|
const [uri, electronWindow] = await Promise.all([this.createWindowUri(params), this.reuseOrCreateWindow(options)]);
|