Skip to content

Commit ae8b897

Browse files
authored
remove item from working set when kept (microsoft#261085)
1 parent 2663aed commit ae8b897

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

src/vs/workbench/contrib/chat/browser/chatInputPart.ts

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ import { AccessibilityCommandId } from '../../accessibility/common/accessibility
7474
import { getSimpleCodeEditorWidgetOptions, getSimpleEditorOptions, setupSimpleEditorSelectionStyling } from '../../codeEditor/browser/simpleEditorOptions.js';
7575
import { IChatAgentService } from '../common/chatAgents.js';
7676
import { ChatContextKeys } from '../common/chatContextKeys.js';
77-
import { IChatEditingSession } from '../common/chatEditingService.js';
77+
import { IChatEditingSession, ModifiedFileEntryState } from '../common/chatEditingService.js';
7878
import { ChatEntitlement, IChatEntitlementService } from '../common/chatEntitlementService.js';
7979
import { ChatMode, IChatMode, IChatModeService } from '../common/chatModes.js';
8080
import { IChatFollowup } from '../common/chatService.js';
@@ -1495,14 +1495,23 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge
14951495
dom.setVisibility(Boolean(chatEditingSession), this.chatEditingSessionWidgetContainer);
14961496

14971497
const seenEntries = new ResourceSet();
1498-
const entries: IChatCollapsibleListItem[] = chatEditingSession?.entries.get().map((entry) => {
1499-
seenEntries.add(entry.modifiedURI);
1500-
return {
1501-
reference: entry.modifiedURI,
1502-
state: entry.state.get(),
1503-
kind: 'reference',
1504-
};
1505-
}) ?? [];
1498+
const entries: IChatCollapsibleListItem[] = [];
1499+
if (chatEditingSession) {
1500+
for (const entry of chatEditingSession.entries.get()) {
1501+
if (entry.state.get() !== ModifiedFileEntryState.Modified) {
1502+
continue;
1503+
}
1504+
1505+
if (!seenEntries.has(entry.modifiedURI)) {
1506+
seenEntries.add(entry.modifiedURI);
1507+
entries.push({
1508+
reference: entry.modifiedURI,
1509+
state: entry.state.get(),
1510+
kind: 'reference',
1511+
});
1512+
}
1513+
}
1514+
}
15061515

15071516
if (!chatEditingSession || !this.options.renderWorkingSet || !entries.length) {
15081517
dom.clearNode(this.chatEditingSessionWidgetContainer);
@@ -1513,16 +1522,6 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge
15131522

15141523
// Summary of number of files changed
15151524
const innerContainer = this.chatEditingSessionWidgetContainer.querySelector('.chat-editing-session-container.show-file-icons') as HTMLElement ?? dom.append(this.chatEditingSessionWidgetContainer, $('.chat-editing-session-container.show-file-icons'));
1516-
for (const entry of chatEditingSession.entries.get()) {
1517-
if (!seenEntries.has(entry.modifiedURI)) {
1518-
entries.unshift({
1519-
reference: entry.modifiedURI,
1520-
state: entry.state.get(),
1521-
kind: 'reference',
1522-
});
1523-
seenEntries.add(entry.modifiedURI);
1524-
}
1525-
}
15261525

15271526
entries.sort((a, b) => {
15281527
if (a.kind === 'reference' && b.kind === 'reference') {

0 commit comments

Comments
 (0)