Skip to content

Commit b4579f3

Browse files
committed
Debounce detectCommonPromptPattern to 50ms
1 parent 1fb26bc commit b4579f3

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/features/terminal/utils.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as path from 'path';
22
import { Disposable, Terminal, TerminalOptions, Uri } from 'vscode';
33
import { PythonEnvironment, PythonProject, PythonProjectEnvironmentApi, PythonProjectGetterApi } from '../../api';
44
import { timeout } from '../../common/utils/asyncUtils';
5+
import { createSimpleDebounce } from '../../common/utils/debounce';
56
import { onDidChangeTerminalShellIntegration, onDidWriteTerminalData } from '../../common/window.apis';
67
import { getConfiguration, getWorkspaceFolders } from '../../common/workspace.apis';
78

@@ -44,13 +45,16 @@ export async function waitForShellIntegration(terminal: Terminal): Promise<boole
4445
// Condition 3: Detect prompt patterns in terminal output
4546
new Promise<boolean>((resolve) => {
4647
let dataSoFar = '';
48+
const debounced = createSimpleDebounce(50, () => {
49+
if (dataSoFar && detectsCommonPromptPattern(dataSoFar)) {
50+
resolve(false);
51+
}
52+
});
4753
disposables.push(
4854
onDidWriteTerminalData((e) => {
4955
if (e.terminal === terminal) {
5056
dataSoFar += e.data;
51-
if (dataSoFar && detectsCommonPromptPattern(dataSoFar)) {
52-
resolve(false);
53-
}
57+
debounced.trigger();
5458
}
5559
}),
5660
);

0 commit comments

Comments
 (0)