Change:
to , run a text search search is running, hit cancel on the "downloading repository index..." notification in the bottom right corner :bug: search view should show two messages (see below) but only the first one shows up !
Saw the notification about indexing but it was before I clicked search and now whenever I click search I don't see the notification come up.
I believe that you can try to do this with a larger repo (like ), and there should be enough time to cancel the index. Not too sure how to remove the index once it's downloaded, but you can try that first!
You can delete the downloaded index with the Delete All Repository Indexes command
The search result message changed but I see two messages at least !

Discussion:
tokenSource.dispose(); const searchLength = Date.now() - searchStart; this.logService.trace(`whole search time | ${searchLength}ms`); <del> return notebookResult ? { ...currentResult, ...notebookResult.completeData } : currentResult; </del> <ins> return { results: currentResult.results.concat(notebookResult.completeData.results), messages: currentResult.messages.concat(notebookResult.completeData.messages), limitHit: currentResult.limitHit || notebookResult.completeData.limitHit, exit: currentResult.exit, stats: currentResult.stats, }; </ins> } async search(query: ITextQuery, onProgress?: (result: ISearchProgressItem) => void): Promise<ISearchComplete> {

new TextSearchMatch('preview 1', new OneLineRange(1, 1, 4)), new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))), aRawMatch('/2', new TextSearchMatch('preview 2', lineOneRange))]; <del> instantiationService.stub(ISearchService, searchServiceWithResults(results)); </del> <ins> instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results })); </ins> instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined)); const testObject: SearchModel = instantiationService.createInstance(SearchModel);

new TextSearchMatch('test', new OneLineRange(1, 1, 5)), new TextSearchMatch('this is a test', new OneLineRange(1, 11, 15))), aRawMatch('/3', new TextSearchMatch('test', lineOneRange))]; <del> const searchService = instantiationService.stub(ISearchService, searchServiceWithResults(results)); </del> <ins> const searchService = instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results })); </ins> sinon.stub(CellMatch.prototype, 'addContext'); const textSearch = sinon.spy(searchService, 'textSearch');

new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))), aRawMatch('/2', new TextSearchMatch('preview 2', lineOneRange))]; <del> instantiationService.stub(ISearchService, searchServiceWithResults(results)); </del> <ins> instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results })); </ins> instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined)); const testObject: SearchModel = instantiationService.createInstance(SearchModel);

const target1 = sinon.stub().returns(nullEvent); instantiationService.stub(ITelemetryService, 'publicLog', target1); <del> instantiationService.stub(ISearchService, searchServiceWithResults([])); </del> <ins> instantiationService.stub(ISearchService, searchServiceWithResults([], { limitHit: false, messages: [], results: [] })); </ins> instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined)); const testObject = instantiationService.createInstance(SearchModel);

new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))), aRawMatch('/2', new TextSearchMatch('preview 2', lineOneRange))]; <del> instantiationService.stub(ISearchService, searchServiceWithResults(results)); </del> <ins> instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results: [] })); </ins> instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined)); const testObject: SearchModel = instantiationService.createInstance(SearchModel); await testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });

aRawMatch('/1', new TextSearchMatch('preview 1', new OneLineRange(1, 1, 4)), new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11)))]; <del> instantiationService.stub(ISearchService, searchServiceWithResults(results)); </del> <ins> instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results })); </ins> instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined)); const testObject: SearchModel = instantiationService.createInstance(SearchModel);