@codingame/monaco-vscode-search-service-override 4.5.1 → 4.5.2
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/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +82 -120
- package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +29 -40
- package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +21 -44
- package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +34 -35
- package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +132 -217
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +8 -19
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +46 -131
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +24 -42
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +4 -15
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +2 -5
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +52 -61
- package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +6 -13
- package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +22 -97
- package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +5 -9
- package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +53 -104
- package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +168 -282
- package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +52 -81
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +14 -25
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +38 -120
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +50 -79
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +30 -40
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +21 -42
- package/vscode/src/vs/workbench/services/search/browser/searchService.js +29 -36
- package/vscode/src/vs/workbench/services/search/common/searchService.js +3 -3
|
@@ -25,12 +25,9 @@ import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
|
25
25
|
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
26
26
|
|
|
27
27
|
var SearchEditorInput_1;
|
|
28
|
+
const _moduleId = "vs/workbench/contrib/searchEditor/browser/searchEditorInput";
|
|
28
29
|
const SEARCH_EDITOR_EXT = '.code-search';
|
|
29
|
-
const SearchEditorIcon = registerIcon('search-editor-label-icon', Codicon.search, ( localizeWithPath(
|
|
30
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorInput',
|
|
31
|
-
'searchEditorLabelIcon',
|
|
32
|
-
'Icon of the search editor label.'
|
|
33
|
-
)));
|
|
30
|
+
const SearchEditorIcon = registerIcon('search-editor-label-icon', Codicon.search, ( localizeWithPath(_moduleId, 0, 'Icon of the search editor label.')));
|
|
34
31
|
let SearchEditorInput = class SearchEditorInput extends EditorInput {
|
|
35
32
|
static { SearchEditorInput_1 = this; }
|
|
36
33
|
static { this.ID = SearchEditorInputTypeId; }
|
|
@@ -65,16 +62,16 @@ let SearchEditorInput = class SearchEditorInput extends EditorInput {
|
|
|
65
62
|
this.telemetryService = telemetryService;
|
|
66
63
|
this.pathService = pathService;
|
|
67
64
|
this.dirty = false;
|
|
68
|
-
this._onDidChangeContent = this._register(( new Emitter()));
|
|
65
|
+
this._onDidChangeContent = this._register(( (new Emitter())));
|
|
69
66
|
this.onDidChangeContent = this._onDidChangeContent.event;
|
|
70
|
-
this._onDidSave = this._register(( new Emitter()));
|
|
67
|
+
this._onDidSave = this._register(( (new Emitter())));
|
|
71
68
|
this.onDidSave = this._onDidSave.event;
|
|
72
69
|
this.oldDecorationsIDs = [];
|
|
73
70
|
this.model = instantiationService.createInstance(SearchEditorModel, modelUri);
|
|
74
71
|
if (this.modelUri.scheme !== SearchEditorScheme) {
|
|
75
72
|
throw Error('SearchEditorInput must be invoked with a SearchEditorScheme uri');
|
|
76
73
|
}
|
|
77
|
-
this.memento = ( new Memento(SearchEditorInput_1.ID, storageService));
|
|
74
|
+
this.memento = ( (new Memento(SearchEditorInput_1.ID, storageService)));
|
|
78
75
|
storageService.onWillSaveState(() => this.memento.saveMemento());
|
|
79
76
|
const input = this;
|
|
80
77
|
const workingCopyAdapter = new (class {
|
|
@@ -163,26 +160,17 @@ let SearchEditorInput = class SearchEditorInput extends EditorInput {
|
|
|
163
160
|
if (this.backingUri) {
|
|
164
161
|
const originalURI = EditorResourceAccessor.getOriginalUri(this);
|
|
165
162
|
return ( localizeWithPath(
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
_moduleId,
|
|
164
|
+
1,
|
|
168
165
|
"Search: {0}",
|
|
169
166
|
basename((originalURI ?? this.backingUri).path, SEARCH_EDITOR_EXT)
|
|
170
167
|
));
|
|
171
168
|
}
|
|
172
169
|
const query = this._cachedConfigurationModel?.config?.query?.trim();
|
|
173
170
|
if (query) {
|
|
174
|
-
return ( localizeWithPath(
|
|
175
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorInput',
|
|
176
|
-
'searchTitle.withQuery',
|
|
177
|
-
"Search: {0}",
|
|
178
|
-
trimToMax(query)
|
|
179
|
-
));
|
|
171
|
+
return ( localizeWithPath(_moduleId, 1, "Search: {0}", trimToMax(query)));
|
|
180
172
|
}
|
|
181
|
-
return ( localizeWithPath(
|
|
182
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorInput',
|
|
183
|
-
'searchTitle',
|
|
184
|
-
"Search"
|
|
185
|
-
));
|
|
173
|
+
return ( localizeWithPath(_moduleId, 2, "Search"));
|
|
186
174
|
}
|
|
187
175
|
setDirty(dirty) {
|
|
188
176
|
const wasDirty = this.dirty;
|
|
@@ -216,15 +204,17 @@ let SearchEditorInput = class SearchEditorInput extends EditorInput {
|
|
|
216
204
|
return false;
|
|
217
205
|
}
|
|
218
206
|
getMatchRanges() {
|
|
219
|
-
return (
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
207
|
+
return (
|
|
208
|
+
((this._cachedResultsModel?.getAllDecorations() ?? [])
|
|
209
|
+
.filter(decoration => decoration.options.className === SearchEditorFindMatchClass)
|
|
210
|
+
.filter(({ range }) => !(range.startColumn === 1 && range.endColumn === 1))
|
|
211
|
+
.map(({ range }) => range))
|
|
212
|
+
);
|
|
223
213
|
}
|
|
224
214
|
async setMatchRanges(ranges) {
|
|
225
|
-
this.oldDecorationsIDs = (await this.resolveModels()).resultsModel.deltaDecorations(this.oldDecorationsIDs, ( ranges.map(
|
|
215
|
+
this.oldDecorationsIDs = (await this.resolveModels()).resultsModel.deltaDecorations(this.oldDecorationsIDs, ( (ranges.map(
|
|
226
216
|
range => ({ range, options: { description: 'search-editor-find-match', className: SearchEditorFindMatchClass, stickiness: 1 } })
|
|
227
|
-
)));
|
|
217
|
+
))));
|
|
228
218
|
}
|
|
229
219
|
async revert(group, options) {
|
|
230
220
|
if (options?.soft) {
|
|
@@ -269,22 +259,22 @@ let SearchEditorInput = class SearchEditorInput extends EditorInput {
|
|
|
269
259
|
};
|
|
270
260
|
}
|
|
271
261
|
};
|
|
272
|
-
SearchEditorInput = SearchEditorInput_1 = ( __decorate([
|
|
273
|
-
( __param(2, IModelService)),
|
|
274
|
-
( __param(3, ITextFileService)),
|
|
275
|
-
( __param(4, IFileDialogService)),
|
|
276
|
-
( __param(5, IInstantiationService)),
|
|
277
|
-
( __param(6, IWorkingCopyService)),
|
|
278
|
-
( __param(7, ITelemetryService)),
|
|
279
|
-
( __param(8, IPathService)),
|
|
280
|
-
( __param(9, IStorageService))
|
|
281
|
-
], SearchEditorInput));
|
|
262
|
+
SearchEditorInput = SearchEditorInput_1 = ( (__decorate([
|
|
263
|
+
( (__param(2, IModelService))),
|
|
264
|
+
( (__param(3, ITextFileService))),
|
|
265
|
+
( (__param(4, IFileDialogService))),
|
|
266
|
+
( (__param(5, IInstantiationService))),
|
|
267
|
+
( (__param(6, IWorkingCopyService))),
|
|
268
|
+
( (__param(7, ITelemetryService))),
|
|
269
|
+
( (__param(8, IPathService))),
|
|
270
|
+
( (__param(9, IStorageService)))
|
|
271
|
+
], SearchEditorInput)));
|
|
282
272
|
const getOrMakeSearchEditorInput = (accessor, existingData) => {
|
|
283
273
|
const storageService = accessor.get(IStorageService);
|
|
284
274
|
const configurationService = accessor.get(IConfigurationService);
|
|
285
275
|
const instantiationService = accessor.get(IInstantiationService);
|
|
286
|
-
const modelUri = existingData.from === 'model' ? existingData.modelUri : ( URI.from({ scheme: SearchEditorScheme, fragment: `${Math.random()}` }));
|
|
287
|
-
if (!( searchEditorModelFactory.models.has(modelUri))) {
|
|
276
|
+
const modelUri = existingData.from === 'model' ? existingData.modelUri : ( (URI.from({ scheme: SearchEditorScheme, fragment: `${Math.random()}` })));
|
|
277
|
+
if (!( (searchEditorModelFactory.models.has(modelUri)))) {
|
|
288
278
|
if (existingData.from === 'existingFile') {
|
|
289
279
|
instantiationService.invokeFunction(accessor => searchEditorModelFactory.initializeModelFromExistingFile(accessor, modelUri, existingData.fileUri));
|
|
290
280
|
}
|
|
@@ -292,7 +282,7 @@ const getOrMakeSearchEditorInput = (accessor, existingData) => {
|
|
|
292
282
|
const searchEditorSettings = configurationService.getValue('search').searchEditor;
|
|
293
283
|
const reuseOldSettings = searchEditorSettings.reusePriorSearchConfiguration;
|
|
294
284
|
const defaultNumberOfContextLines = searchEditorSettings.defaultNumberOfContextLines;
|
|
295
|
-
const priorConfig = reuseOldSettings ? ( new Memento(SearchEditorInput.ID, storageService)).getMemento(1 , 1 ).searchConfig : {};
|
|
285
|
+
const priorConfig = reuseOldSettings ? ( (new Memento(SearchEditorInput.ID, storageService))).getMemento(1 , 1 ).searchConfig : {};
|
|
296
286
|
const defaultConfig = defaultSearchConfig();
|
|
297
287
|
const config = { ...defaultConfig, ...priorConfig, ...existingData.config };
|
|
298
288
|
if (defaultNumberOfContextLines !== null && defaultNumberOfContextLines !== undefined) {
|
|
@@ -5,13 +5,14 @@ import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
|
5
5
|
import { searchMatchComparer } from 'vscode/vscode/vs/workbench/contrib/search/browser/searchModel';
|
|
6
6
|
import { ITextFileService } from 'vscode/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
7
7
|
|
|
8
|
+
const _moduleId = "vs/workbench/contrib/searchEditor/browser/searchEditorSerialization";
|
|
8
9
|
const lineDelimiter = '\n';
|
|
9
|
-
const translateRangeLines = (n) => (range) => ( new Range(
|
|
10
|
+
const translateRangeLines = (n) => (range) => ( (new Range(
|
|
10
11
|
range.startLineNumber + n,
|
|
11
12
|
range.startColumn,
|
|
12
13
|
range.endLineNumber + n,
|
|
13
14
|
range.endColumn
|
|
14
|
-
));
|
|
15
|
+
)));
|
|
15
16
|
const matchToSearchResultFormat = (match, longestLineNumber) => {
|
|
16
17
|
const getLinePrefix = (i) => `${match.range().startLineNumber + i}`;
|
|
17
18
|
const fullMatchLines = match.fullPreviewLines();
|
|
@@ -23,12 +24,12 @@ const matchToSearchResultFormat = (match, longestLineNumber) => {
|
|
|
23
24
|
const prefix = ` ${paddingStr}${lineNumber}: `;
|
|
24
25
|
const prefixOffset = prefix.length;
|
|
25
26
|
const line = prefix + (sourceLine.split(/\r?\n?$/, 1)[0] || '');
|
|
26
|
-
const rangeOnThisLine = ({ start, end }) => ( new Range(
|
|
27
|
+
const rangeOnThisLine = ({ start, end }) => ( (new Range(
|
|
27
28
|
1,
|
|
28
29
|
(start ?? 1) + prefixOffset,
|
|
29
30
|
1,
|
|
30
31
|
(end ?? sourceLine.length + 1) + prefixOffset
|
|
31
|
-
));
|
|
32
|
+
)));
|
|
32
33
|
const matchRange = match.rangeInPreview();
|
|
33
34
|
const matchIsSingleLine = matchRange.startLineNumber === matchRange.endLineNumber;
|
|
34
35
|
let lineRange;
|
|
@@ -50,13 +51,13 @@ const matchToSearchResultFormat = (match, longestLineNumber) => {
|
|
|
50
51
|
};
|
|
51
52
|
function fileMatchToSearchResultFormat(fileMatch, labelFormatter) {
|
|
52
53
|
const textSerializations = fileMatch.textMatches().length > 0 ? matchesToSearchResultFormat(fileMatch.resource, fileMatch.textMatches().sort(searchMatchComparer), fileMatch.context, labelFormatter) : undefined;
|
|
53
|
-
const cellSerializations = ( fileMatch.cellMatches().sort((a, b) => a.cellIndex - b.cellIndex).sort().filter(cellMatch => cellMatch.contentMatches.length > 0).map(
|
|
54
|
+
const cellSerializations = ( (fileMatch.cellMatches().sort((a, b) => a.cellIndex - b.cellIndex).sort().filter(cellMatch => cellMatch.contentMatches.length > 0).map(
|
|
54
55
|
(cellMatch, index) => cellMatchToSearchResultFormat(cellMatch, labelFormatter, index === 0)
|
|
55
|
-
));
|
|
56
|
+
)));
|
|
56
57
|
return [textSerializations, ...cellSerializations].filter(x => !!x);
|
|
57
58
|
}
|
|
58
59
|
function matchesToSearchResultFormat(resource, sortedMatches, matchContext, labelFormatter, shouldUseHeader = true) {
|
|
59
|
-
const longestLineNumber = ( sortedMatches[sortedMatches.length - 1].range().endLineNumber.toString()).length;
|
|
60
|
+
const longestLineNumber = ( (sortedMatches[sortedMatches.length - 1].range().endLineNumber.toString())).length;
|
|
60
61
|
const text = shouldUseHeader ? [`${labelFormatter(resource)}:`] : [];
|
|
61
62
|
const matchRanges = [];
|
|
62
63
|
const targetLineNumberToOffset = {};
|
|
@@ -64,10 +65,10 @@ function matchesToSearchResultFormat(resource, sortedMatches, matchContext, labe
|
|
|
64
65
|
matchContext.forEach((line, lineNumber) => context.push({ line, lineNumber }));
|
|
65
66
|
context.sort((a, b) => a.lineNumber - b.lineNumber);
|
|
66
67
|
let lastLine = undefined;
|
|
67
|
-
const seenLines = ( new Set());
|
|
68
|
+
const seenLines = ( (new Set()));
|
|
68
69
|
sortedMatches.forEach(match => {
|
|
69
70
|
matchToSearchResultFormat(match, longestLineNumber).forEach(match => {
|
|
70
|
-
if (!( seenLines.has(match.lineNumber))) {
|
|
71
|
+
if (!( (seenLines.has(match.lineNumber)))) {
|
|
71
72
|
while (context.length && context[0].lineNumber < +match.lineNumber) {
|
|
72
73
|
const { line, lineNumber } = context.shift();
|
|
73
74
|
if (lastLine !== undefined && lineNumber !== lastLine + 1) {
|
|
@@ -81,7 +82,7 @@ function matchesToSearchResultFormat(resource, sortedMatches, matchContext, labe
|
|
|
81
82
|
text.push(match.line);
|
|
82
83
|
lastLine = +match.lineNumber;
|
|
83
84
|
}
|
|
84
|
-
matchRanges.push(...( match.ranges.map(translateRangeLines(targetLineNumberToOffset[match.lineNumber]))));
|
|
85
|
+
matchRanges.push(...( (match.ranges.map(translateRangeLines(targetLineNumberToOffset[match.lineNumber])))));
|
|
85
86
|
});
|
|
86
87
|
});
|
|
87
88
|
while (context.length) {
|
|
@@ -164,7 +165,7 @@ const extractSearchQueryFromLines = (lines) => {
|
|
|
164
165
|
out += '\\';
|
|
165
166
|
}
|
|
166
167
|
else {
|
|
167
|
-
throw Error(localizeWithPath(
|
|
168
|
+
throw Error(localizeWithPath(_moduleId, 0, "All backslashes in Query string must be escaped (\\\\)"));
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
171
|
else {
|
|
@@ -210,49 +211,27 @@ const serializeSearchResultForEditor = (searchResult, rawIncludePattern, rawExcl
|
|
|
210
211
|
throw Error('Internal Error: Expected query, got null');
|
|
211
212
|
}
|
|
212
213
|
const config = contentPatternToSearchConfiguration(searchResult.query, rawIncludePattern, rawExcludePattern, contextLines);
|
|
213
|
-
const filecount = searchResult.fileCount() > 1 ? ( localizeWithPath(
|
|
214
|
-
|
|
215
|
-
'numFiles',
|
|
216
|
-
"{0} files",
|
|
217
|
-
searchResult.fileCount()
|
|
218
|
-
)) : ( localizeWithPath(
|
|
219
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorSerialization',
|
|
220
|
-
'oneFile',
|
|
221
|
-
"1 file"
|
|
222
|
-
));
|
|
223
|
-
const resultcount = searchResult.count() > 1 ? ( localizeWithPath(
|
|
224
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorSerialization',
|
|
225
|
-
'numResults',
|
|
226
|
-
"{0} results",
|
|
227
|
-
searchResult.count()
|
|
228
|
-
)) : ( localizeWithPath(
|
|
229
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorSerialization',
|
|
230
|
-
'oneResult',
|
|
231
|
-
"1 result"
|
|
232
|
-
));
|
|
214
|
+
const filecount = searchResult.fileCount() > 1 ? ( localizeWithPath(_moduleId, 1, "{0} files", searchResult.fileCount())) : ( localizeWithPath(_moduleId, 2, "1 file"));
|
|
215
|
+
const resultcount = searchResult.count() > 1 ? ( localizeWithPath(_moduleId, 3, "{0} results", searchResult.count())) : ( localizeWithPath(_moduleId, 4, "1 result"));
|
|
233
216
|
const info = [
|
|
234
217
|
searchResult.count()
|
|
235
218
|
? `${resultcount} - ${filecount}`
|
|
236
|
-
: ( localizeWithPath(
|
|
237
|
-
'vs/workbench/contrib/searchEditor/browser/searchEditorSerialization',
|
|
238
|
-
'noResults',
|
|
239
|
-
"No Results"
|
|
240
|
-
)),
|
|
219
|
+
: ( localizeWithPath(_moduleId, 5, "No Results")),
|
|
241
220
|
];
|
|
242
221
|
if (limitHit) {
|
|
243
222
|
info.push(( localizeWithPath(
|
|
244
|
-
|
|
245
|
-
|
|
223
|
+
_moduleId,
|
|
224
|
+
6,
|
|
246
225
|
"The result set only contains a subset of all matches. Be more specific in your search to narrow down the results."
|
|
247
226
|
)));
|
|
248
227
|
}
|
|
249
228
|
info.push('');
|
|
250
229
|
const matchComparer = (a, b) => searchMatchComparer(a, b, sortOrder);
|
|
251
|
-
const allResults = flattenSearchResultSerializations(flatten(( searchResult.folderMatches().sort(matchComparer)
|
|
230
|
+
const allResults = flattenSearchResultSerializations(flatten(( (searchResult.folderMatches().sort(matchComparer)
|
|
252
231
|
.map(folderMatch => folderMatch.allDownstreamFileMatches().sort(matchComparer)
|
|
253
|
-
.flatMap(fileMatch => fileMatchToSearchResultFormat(fileMatch, labelFormatter))))));
|
|
232
|
+
.flatMap(fileMatch => fileMatchToSearchResultFormat(fileMatch, labelFormatter)))))));
|
|
254
233
|
return {
|
|
255
|
-
matchRanges: ( allResults.matchRanges.map(translateRangeLines(info.length))),
|
|
234
|
+
matchRanges: ( (allResults.matchRanges.map(translateRangeLines(info.length)))),
|
|
256
235
|
text: info.concat(allResults.text).join(lineDelimiter),
|
|
257
236
|
config
|
|
258
237
|
};
|
|
@@ -261,7 +240,7 @@ const flattenSearchResultSerializations = (serializations) => {
|
|
|
261
240
|
const text = [];
|
|
262
241
|
const matchRanges = [];
|
|
263
242
|
serializations.forEach(serialized => {
|
|
264
|
-
( serialized.matchRanges.map(translateRangeLines(text.length))).forEach(range => matchRanges.push(range));
|
|
243
|
+
( (serialized.matchRanges.map(translateRangeLines(text.length)))).forEach(range => matchRanges.push(range));
|
|
265
244
|
serialized.text.forEach(line => text.push(line));
|
|
266
245
|
text.push('');
|
|
267
246
|
});
|
|
@@ -21,6 +21,7 @@ import { WebFileSystemAccess } from 'vscode/vscode/vs/platform/files/browser/web
|
|
|
21
21
|
import { revive } from 'vscode/vscode/vs/base/common/marshalling';
|
|
22
22
|
import { TextSearchCompleteMessageType } from 'vscode/vscode/vs/workbench/services/search/common/searchExtTypes';
|
|
23
23
|
|
|
24
|
+
const _moduleId = "vs/workbench/services/search/browser/searchService";
|
|
24
25
|
let RemoteSearchService = class RemoteSearchService extends SearchService {
|
|
25
26
|
constructor(modelService, editorService, telemetryService, logService, extensionService, fileService, instantiationService, uriIdentityService) {
|
|
26
27
|
super(modelService, editorService, telemetryService, logService, extensionService, fileService, uriIdentityService);
|
|
@@ -30,26 +31,26 @@ let RemoteSearchService = class RemoteSearchService extends SearchService {
|
|
|
30
31
|
this.registerSearchResultProvider(Schemas.file, 1 , searchProvider);
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
|
-
RemoteSearchService = ( __decorate([
|
|
34
|
-
( __param(0, IModelService)),
|
|
35
|
-
( __param(1, IEditorService)),
|
|
36
|
-
( __param(2, ITelemetryService)),
|
|
37
|
-
( __param(3, ILogService)),
|
|
38
|
-
( __param(4, IExtensionService)),
|
|
39
|
-
( __param(5, IFileService)),
|
|
40
|
-
( __param(6, IInstantiationService)),
|
|
41
|
-
( __param(7, IUriIdentityService))
|
|
42
|
-
], RemoteSearchService));
|
|
34
|
+
RemoteSearchService = ( (__decorate([
|
|
35
|
+
( (__param(0, IModelService))),
|
|
36
|
+
( (__param(1, IEditorService))),
|
|
37
|
+
( (__param(2, ITelemetryService))),
|
|
38
|
+
( (__param(3, ILogService))),
|
|
39
|
+
( (__param(4, IExtensionService))),
|
|
40
|
+
( (__param(5, IFileService))),
|
|
41
|
+
( (__param(6, IInstantiationService))),
|
|
42
|
+
( (__param(7, IUriIdentityService)))
|
|
43
|
+
], RemoteSearchService)));
|
|
43
44
|
let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disposable {
|
|
44
45
|
constructor(fileService, uriIdentityService) {
|
|
45
46
|
super();
|
|
46
47
|
this.fileService = fileService;
|
|
47
48
|
this.uriIdentityService = uriIdentityService;
|
|
48
|
-
this._onDidReceiveTextSearchMatch = ( new Emitter());
|
|
49
|
+
this._onDidReceiveTextSearchMatch = ( (new Emitter()));
|
|
49
50
|
this.onDidReceiveTextSearchMatch = this._onDidReceiveTextSearchMatch.event;
|
|
50
51
|
this.queryId = 0;
|
|
51
52
|
this._worker = null;
|
|
52
|
-
this._workerFactory = ( new DefaultWorkerFactory('localFileSearchWorker'));
|
|
53
|
+
this._workerFactory = ( (new DefaultWorkerFactory('localFileSearchWorker')));
|
|
53
54
|
}
|
|
54
55
|
sendTextSearchMatch(match, queryId) {
|
|
55
56
|
this._onDidReceiveTextSearchMatch.fire({ match, queryId });
|
|
@@ -63,11 +64,11 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
63
64
|
}
|
|
64
65
|
async textSearch(query, onProgress, token) {
|
|
65
66
|
try {
|
|
66
|
-
const queryDisposables = ( new DisposableStore());
|
|
67
|
+
const queryDisposables = ( (new DisposableStore()));
|
|
67
68
|
const proxy = await this._getOrCreateWorker().getProxyObject();
|
|
68
69
|
const results = [];
|
|
69
70
|
let limitHit = false;
|
|
70
|
-
await Promise.all(( query.folderQueries.map(async (fq) => {
|
|
71
|
+
await Promise.all(( (query.folderQueries.map(async (fq) => {
|
|
71
72
|
const queryId = this.queryId++;
|
|
72
73
|
queryDisposables.add(token?.onCancellationRequested(e => this.cancelQuery(queryId)) || Disposable.None);
|
|
73
74
|
const handle = await this.fileSystemProvider.getHandle(fq.folder);
|
|
@@ -92,7 +93,7 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
92
93
|
if (folderResults.limitHit) {
|
|
93
94
|
limitHit = true;
|
|
94
95
|
}
|
|
95
|
-
})));
|
|
96
|
+
}))));
|
|
96
97
|
queryDisposables.dispose();
|
|
97
98
|
const result = { messages: [], results, limitHit };
|
|
98
99
|
return result;
|
|
@@ -102,22 +103,18 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
102
103
|
return {
|
|
103
104
|
results: [],
|
|
104
105
|
messages: [{
|
|
105
|
-
text: ( localizeWithPath(
|
|
106
|
-
'vs/workbench/services/search/browser/searchService',
|
|
107
|
-
'errorSearchText',
|
|
108
|
-
"Unable to search with Web Worker text searcher"
|
|
109
|
-
)), type: TextSearchCompleteMessageType.Warning
|
|
106
|
+
text: ( localizeWithPath(_moduleId, 0, "Unable to search with Web Worker text searcher")), type: TextSearchCompleteMessageType.Warning
|
|
110
107
|
}],
|
|
111
108
|
};
|
|
112
109
|
}
|
|
113
110
|
}
|
|
114
111
|
async fileSearch(query, token) {
|
|
115
112
|
try {
|
|
116
|
-
const queryDisposables = ( new DisposableStore());
|
|
113
|
+
const queryDisposables = ( (new DisposableStore()));
|
|
117
114
|
let limitHit = false;
|
|
118
115
|
const proxy = await this._getOrCreateWorker().getProxyObject();
|
|
119
116
|
const results = [];
|
|
120
|
-
await Promise.all(( query.folderQueries.map(async (fq) => {
|
|
117
|
+
await Promise.all(( (query.folderQueries.map(async (fq) => {
|
|
121
118
|
const queryId = this.queryId++;
|
|
122
119
|
queryDisposables.add(token?.onCancellationRequested(e => this.cancelQuery(queryId)) || Disposable.None);
|
|
123
120
|
const handle = await this.fileSystemProvider.getHandle(fq.folder);
|
|
@@ -133,7 +130,7 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
133
130
|
if (folderResults.limitHit) {
|
|
134
131
|
limitHit = true;
|
|
135
132
|
}
|
|
136
|
-
})));
|
|
133
|
+
}))));
|
|
137
134
|
queryDisposables.dispose();
|
|
138
135
|
const result = { messages: [], results, limitHit };
|
|
139
136
|
return result;
|
|
@@ -143,11 +140,7 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
143
140
|
return {
|
|
144
141
|
results: [],
|
|
145
142
|
messages: [{
|
|
146
|
-
text: ( localizeWithPath(
|
|
147
|
-
'vs/workbench/services/search/browser/searchService',
|
|
148
|
-
'errorSearchFile',
|
|
149
|
-
"Unable to search with Web Worker file searcher"
|
|
150
|
-
)), type: TextSearchCompleteMessageType.Warning
|
|
143
|
+
text: ( localizeWithPath(_moduleId, 1, "Unable to search with Web Worker file searcher")), type: TextSearchCompleteMessageType.Warning
|
|
151
144
|
}],
|
|
152
145
|
};
|
|
153
146
|
}
|
|
@@ -160,11 +153,11 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
160
153
|
_getOrCreateWorker() {
|
|
161
154
|
if (!this._worker) {
|
|
162
155
|
try {
|
|
163
|
-
this._worker = this._register(( new SimpleWorkerClient(
|
|
156
|
+
this._worker = this._register(( (new SimpleWorkerClient(
|
|
164
157
|
this._workerFactory,
|
|
165
158
|
'vs/workbench/services/search/worker/localFileSearch',
|
|
166
159
|
this
|
|
167
|
-
)));
|
|
160
|
+
))));
|
|
168
161
|
}
|
|
169
162
|
catch (err) {
|
|
170
163
|
logOnceWebWorkerWarning(err);
|
|
@@ -174,12 +167,12 @@ let LocalFileSearchWorkerClient = class LocalFileSearchWorkerClient extends Disp
|
|
|
174
167
|
return this._worker;
|
|
175
168
|
}
|
|
176
169
|
};
|
|
177
|
-
LocalFileSearchWorkerClient.__decorator = ( __decorate([
|
|
170
|
+
LocalFileSearchWorkerClient.__decorator = ( (__decorate([
|
|
178
171
|
memoize
|
|
179
|
-
], LocalFileSearchWorkerClient.prototype, "fileSystemProvider", null));
|
|
180
|
-
LocalFileSearchWorkerClient = ( __decorate([
|
|
181
|
-
( __param(0, IFileService)),
|
|
182
|
-
( __param(1, IUriIdentityService))
|
|
183
|
-
], LocalFileSearchWorkerClient));
|
|
172
|
+
], LocalFileSearchWorkerClient.prototype, "fileSystemProvider", null)));
|
|
173
|
+
LocalFileSearchWorkerClient = ( (__decorate([
|
|
174
|
+
( (__param(0, IFileService))),
|
|
175
|
+
( (__param(1, IUriIdentityService)))
|
|
176
|
+
], LocalFileSearchWorkerClient)));
|
|
184
177
|
|
|
185
178
|
export { LocalFileSearchWorkerClient, RemoteSearchService };
|
|
@@ -52,7 +52,7 @@ let SearchService = class SearchService extends Disposable {
|
|
|
52
52
|
deferredMap = this.deferredAITextSearchesByScheme;
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
|
-
throw new Error('Unknown SearchProviderType');
|
|
55
|
+
throw ( new Error('Unknown SearchProviderType'));
|
|
56
56
|
}
|
|
57
57
|
list.set(scheme, provider);
|
|
58
58
|
if (( deferredMap.has(scheme))) {
|
|
@@ -188,7 +188,7 @@ let SearchService = class SearchService extends Disposable {
|
|
|
188
188
|
case 3 :
|
|
189
189
|
return this.aiTextSearchProviders;
|
|
190
190
|
default:
|
|
191
|
-
throw new Error(`Unknown query type: ${type}`);
|
|
191
|
+
throw ( new Error(`Unknown query type: ${type}`));
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
getDeferredTextSearchesByScheme(type) {
|
|
@@ -200,7 +200,7 @@ let SearchService = class SearchService extends Disposable {
|
|
|
200
200
|
case 3 :
|
|
201
201
|
return this.deferredAITextSearchesByScheme;
|
|
202
202
|
default:
|
|
203
|
-
throw new Error(`Unknown query type: ${type}`);
|
|
203
|
+
throw ( new Error(`Unknown query type: ${type}`));
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
async searchWithProviders(query, onProviderProgress, token) {
|