Skip to content

Commit 4974136

Browse files
committed
Detect backspace and set category back to Coding
1 parent 6c02479 commit 4974136

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/wakatime.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class WakaTime {
3939
private AIDebounceTimeoutId: any = null;
4040
private AIdebounceMs = 1000;
4141
private AIdebounceCount = 0;
42-
private AIpasteCount = 0;
42+
private AIpasteLastTime: number = 0;
4343
private dependencies: Dependencies;
4444
private options: Options;
4545
private logger: Logger;
@@ -477,25 +477,27 @@ export class WakaTime {
477477
if (Utils.isAIChatSidebar(e.document?.uri)) {
478478
this.isAICodeGenerating = true;
479479
this.AIdebounceCount = 0;
480-
} else if (e.contentChanges.length === 1 && e.contentChanges?.[0].text.length > 1) {
481-
if (this.AIpasteCount > 1) {
480+
} else if (e.contentChanges.length === 1 && e.contentChanges?.[0].text.trim().length > 2) {
481+
const now = Date.now();
482+
if (this.recentlyAIPasted(now)) {
482483
this.isAICodeGenerating = true;
483484
this.AIdebounceCount = 0;
484485
}
485-
this.AIpasteCount++;
486+
this.AIpasteLastTime = now;
486487
} else if (
487488
this.isAICodeGenerating &&
488489
e.contentChanges.length === 1 &&
489-
e.contentChanges?.[0].text.length === 1 &&
490-
e.contentChanges?.[0].text !== '\n' &&
491-
e.contentChanges?.[0].text !== '\r'
490+
((e.contentChanges?.[0].text.trim().length === 1 &&
491+
e.contentChanges?.[0].text !== '\n' &&
492+
e.contentChanges?.[0].text !== '\r') ||
493+
e.contentChanges?.[0].text.length === 0)
492494
) {
493495
this.AIdebounceCount++;
494496
clearTimeout(this.AIDebounceTimeoutId);
495497
this.AIDebounceTimeoutId = setTimeout(() => {
496498
if (this.AIdebounceCount > 1) {
497499
this.isAICodeGenerating = false;
498-
this.AIpasteCount = 0;
500+
this.AIpasteLastTime = 0;
499501
}
500502
}, this.AIdebounceMs);
501503
} else if (this.isAICodeGenerating) {
@@ -966,6 +968,10 @@ export class WakaTime {
966968
return this.lastHeartbeat + 120000 < time;
967969
}
968970

971+
private recentlyAIPasted(time: number): boolean {
972+
return this.AIpasteLastTime + 100 >= time;
973+
}
974+
969975
private isDuplicateHeartbeat(file: string, time: number, selection: vscode.Position): boolean {
970976
let duplicate = false;
971977
let minutes = 30;

0 commit comments

Comments
 (0)