Skip to content

Commit 6e7fa81

Browse files
committed
Prevent call stack problems with 100k+ completion items, increase timeout
Fixes #260160
1 parent 0cead6a commit 6e7fa81

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

extensions/terminal-suggest/src/fig/figInterface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export async function getFigSuggestions(
110110
result.foldersRequested ||= completionItemResult.foldersRequested;
111111
result.fileExtensions ||= completionItemResult.fileExtensions;
112112
if (completionItemResult.items) {
113-
result.items.push(...completionItemResult.items);
113+
result.items = result.items.concat(completionItemResult.items);
114114
}
115115
}
116116
}

extensions/terminal-suggest/src/terminalSuggestMain.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,9 +279,10 @@ export async function activate(context: vscode.ExtensionContext) {
279279
terminal.name,
280280
token
281281
),
282-
createTimeoutPromise(300, undefined)
282+
createTimeoutPromise(5000, undefined)
283283
]);
284284
if (!result) {
285+
console.debug('#terminalCompletions Timed out fetching completions from specs');
285286
return;
286287
}
287288

@@ -409,7 +410,7 @@ export async function getCompletionItemsFromSpecs(
409410
token?: vscode.CancellationToken,
410411
executeExternals?: IFigExecuteExternals,
411412
): Promise<{ items: vscode.TerminalCompletionItem[]; filesRequested: boolean; foldersRequested: boolean; fileExtensions?: string[]; cwd?: vscode.Uri }> {
412-
const items: vscode.TerminalCompletionItem[] = [];
413+
let items: vscode.TerminalCompletionItem[] = [];
413414
let filesRequested = false;
414415
let foldersRequested = false;
415416
let hasCurrentArg = false;
@@ -431,7 +432,7 @@ export async function getCompletionItemsFromSpecs(
431432
foldersRequested ||= result.foldersRequested;
432433
fileExtensions = result.fileExtensions;
433434
if (result.items) {
434-
items.push(...result.items);
435+
items = items.concat(result.items);
435436
}
436437
}
437438

0 commit comments

Comments
 (0)