mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-26 18:27:38 +01:00
chore: WorkingSetEntryState -> ModifiedFileEntryState
This commit is contained in:
@@ -44,7 +44,7 @@ import { IWorkbenchLayoutService, Parts } from '../../../../services/layout/brow
|
||||
import { IViewsService } from '../../../../services/views/common/viewsService.js';
|
||||
import { EXTENSIONS_CATEGORY, IExtensionsWorkbenchService } from '../../../extensions/common/extensions.js';
|
||||
import { ChatContextKeys } from '../../common/chatContextKeys.js';
|
||||
import { IChatEditingSession, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatEditingSession, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { ChatEntitlement, ChatSentiment, IChatEntitlementService } from '../../common/chatEntitlementService.js';
|
||||
import { extractAgentAndCommand } from '../../common/chatParserTypes.js';
|
||||
import { IChatDetail, IChatService } from '../../common/chatService.js';
|
||||
@@ -824,7 +824,7 @@ export async function showClearEditingSessionConfirmation(editingSession: IChatE
|
||||
const title = options?.titleOverride ?? defaultTitle;
|
||||
|
||||
const currentEdits = editingSession.entries.get();
|
||||
const undecidedEdits = currentEdits.filter((edit) => edit.state.get() === WorkingSetEntryState.Modified);
|
||||
const undecidedEdits = currentEdits.filter((edit) => edit.state.get() === ModifiedFileEntryState.Modified);
|
||||
|
||||
const { result } = await dialogService.prompt({
|
||||
title,
|
||||
@@ -857,7 +857,7 @@ export function shouldShowClearEditingSessionConfirmation(editingSession: IChatE
|
||||
const currentEditCount = currentEdits.length;
|
||||
|
||||
if (currentEditCount) {
|
||||
const undecidedEdits = currentEdits.filter((edit) => edit.state.get() === WorkingSetEntryState.Modified);
|
||||
const undecidedEdits = currentEdits.filter((edit) => edit.state.get() === ModifiedFileEntryState.Modified);
|
||||
return !!undecidedEdits.length;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import { KeybindingWeight } from '../../../../../platform/keybinding/common/keyb
|
||||
import { IViewsService } from '../../../../services/views/common/viewsService.js';
|
||||
import { IChatAgentService } from '../../common/chatAgents.js';
|
||||
import { ChatContextKeyExprs, ChatContextKeys } from '../../common/chatContextKeys.js';
|
||||
import { WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { chatVariableLeader } from '../../common/chatParserTypes.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
import { ChatAgentLocation, ChatConfiguration, ChatMode, validateChatMode } from '../../common/constants.js';
|
||||
@@ -173,7 +173,7 @@ class ToggleChatModeAction extends Action2 {
|
||||
}
|
||||
|
||||
const currentEdits = context.editingSession.entries.get();
|
||||
const undecidedEdits = currentEdits.filter((edit) => edit.state.get() === WorkingSetEntryState.Modified);
|
||||
const undecidedEdits = currentEdits.filter((edit) => edit.state.get() === ModifiedFileEntryState.Modified);
|
||||
if (undecidedEdits.length > 0) {
|
||||
if (!await handleCurrentEditingSession(context.editingSession, phrase, dialogService)) {
|
||||
return;
|
||||
|
||||
@@ -37,7 +37,7 @@ import { ResourceContextKey } from '../../../../common/contextkeys.js';
|
||||
import { SETTINGS_AUTHORITY } from '../../../../services/preferences/common/preferences.js';
|
||||
import { createFileIconThemableTreeContainerScope } from '../../../files/browser/views/explorerView.js';
|
||||
import { ExplorerFolderContext } from '../../../files/common/files.js';
|
||||
import { chatEditingWidgetFileStateContextKey, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { ChatResponseReferencePartStatusKind, IChatContentReference, IChatWarningMessage } from '../../common/chatService.js';
|
||||
import { IChatVariablesService } from '../../common/chatVariables.js';
|
||||
import { IChatRendererContent, IChatResponseViewModel } from '../../common/chatViewModel.js';
|
||||
@@ -51,7 +51,7 @@ export const $ = dom.$;
|
||||
export interface IChatReferenceListItem extends IChatContentReference {
|
||||
title?: string;
|
||||
description?: string;
|
||||
state?: WorkingSetEntryState;
|
||||
state?: ModifiedFileEntryState;
|
||||
excluded?: boolean;
|
||||
}
|
||||
|
||||
@@ -402,10 +402,10 @@ class CollapsibleListRenderer implements IListRenderer<IChatCollapsibleListItem,
|
||||
|
||||
if (data.state !== undefined) {
|
||||
if (templateData.actionBarContainer) {
|
||||
if (data.state === WorkingSetEntryState.Modified && !templateData.actionBarContainer.classList.contains('modified')) {
|
||||
if (data.state === ModifiedFileEntryState.Modified && !templateData.actionBarContainer.classList.contains('modified')) {
|
||||
templateData.actionBarContainer.classList.add('modified');
|
||||
templateData.label.element.querySelector('.monaco-icon-name-container')?.classList.add('modified');
|
||||
} else if (data.state !== WorkingSetEntryState.Modified) {
|
||||
} else if (data.state !== ModifiedFileEntryState.Modified) {
|
||||
templateData.actionBarContainer.classList.remove('modified');
|
||||
templateData.label.element.querySelector('.monaco-icon-name-container')?.classList.remove('modified');
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import { GroupsOrder, IEditorGroupsService } from '../../../../services/editor/c
|
||||
import { IEditorService } from '../../../../services/editor/common/editorService.js';
|
||||
import { isChatViewTitleActionContext } from '../../common/chatActions.js';
|
||||
import { ChatContextKeys } from '../../common/chatContextKeys.js';
|
||||
import { applyingChatEditsFailedContextKey, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingResourceContextKey, chatEditingWidgetFileStateContextKey, decidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey, hasUndecidedChatEditingResourceContextKey, IChatEditingService, IChatEditingSession, WorkingSetEntryRemovalReason, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { applyingChatEditsFailedContextKey, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingResourceContextKey, chatEditingWidgetFileStateContextKey, decidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey, hasUndecidedChatEditingResourceContextKey, IChatEditingService, IChatEditingSession, WorkingSetEntryRemovalReason, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
import { isRequestVM, isResponseVM } from '../../common/chatViewModel.js';
|
||||
import { ChatAgentLocation, ChatMode } from '../../common/constants.js';
|
||||
@@ -127,7 +127,7 @@ registerAction2(class RemoveFileFromWorkingSet extends WorkingSetAction {
|
||||
async runWorkingSetAction(accessor: ServicesAccessor, currentEditingSession: IChatEditingSession, chatWidget: IChatWidget, ...uris: URI[]): Promise<void> {
|
||||
const dialogService = accessor.get(IDialogService);
|
||||
|
||||
const pendingEntries = currentEditingSession.entries.get().filter((entry) => uris.includes(entry.modifiedURI) && entry.state.get() === WorkingSetEntryState.Modified);
|
||||
const pendingEntries = currentEditingSession.entries.get().filter((entry) => uris.includes(entry.modifiedURI) && entry.state.get() === ModifiedFileEntryState.Modified);
|
||||
if (pendingEntries.length > 0) {
|
||||
// Ask for confirmation if there are any pending edits
|
||||
const file = pendingEntries.length > 1
|
||||
@@ -168,7 +168,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
|
||||
icon: Codicon.diffSingle,
|
||||
menu: [{
|
||||
id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
|
||||
when: ContextKeyExpr.equals(chatEditingWidgetFileStateContextKey.key, WorkingSetEntryState.Modified),
|
||||
when: ContextKeyExpr.equals(chatEditingWidgetFileStateContextKey.key, ModifiedFileEntryState.Modified),
|
||||
order: 2,
|
||||
group: 'navigation'
|
||||
}],
|
||||
@@ -179,7 +179,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
|
||||
const editorService = accessor.get(IEditorService);
|
||||
for (const uri of uris) {
|
||||
const editedFile = currentEditingSession.getEntry(uri);
|
||||
if (editedFile?.state.get() === WorkingSetEntryState.Modified) {
|
||||
if (editedFile?.state.get() === ModifiedFileEntryState.Modified) {
|
||||
await editorService.openEditor({
|
||||
original: { resource: URI.from(editedFile.originalURI, true) },
|
||||
modified: { resource: URI.from(editedFile.modifiedURI, true) },
|
||||
@@ -205,7 +205,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
|
||||
group: 'navigation',
|
||||
}, {
|
||||
id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
|
||||
when: ContextKeyExpr.equals(chatEditingWidgetFileStateContextKey.key, WorkingSetEntryState.Modified),
|
||||
when: ContextKeyExpr.equals(chatEditingWidgetFileStateContextKey.key, ModifiedFileEntryState.Modified),
|
||||
order: 0,
|
||||
group: 'navigation'
|
||||
}],
|
||||
@@ -231,7 +231,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
|
||||
group: 'navigation',
|
||||
}, {
|
||||
id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
|
||||
when: ContextKeyExpr.equals(chatEditingWidgetFileStateContextKey.key, WorkingSetEntryState.Modified),
|
||||
when: ContextKeyExpr.equals(chatEditingWidgetFileStateContextKey.key, ModifiedFileEntryState.Modified),
|
||||
order: 1,
|
||||
group: 'navigation'
|
||||
}],
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ import { EditorsOrder, IEditorIdentifier, isDiffEditorInput } from '../../../../
|
||||
import { IEditorService } from '../../../../services/editor/common/editorService.js';
|
||||
import { overviewRulerModifiedForeground, minimapGutterModifiedBackground, overviewRulerAddedForeground, minimapGutterAddedBackground, overviewRulerDeletedForeground, minimapGutterDeletedBackground } from '../../../scm/common/quickDiff.js';
|
||||
import { IChatAgentService } from '../../common/chatAgents.js';
|
||||
import { IModifiedFileEntry, IModifiedFileEntryChangeHunk, IModifiedFileEntryEditorIntegration, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { IModifiedFileEntry, IModifiedFileEntryChangeHunk, IModifiedFileEntryEditorIntegration, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { isTextDiffEditorForEntry } from './chatEditing.js';
|
||||
import { IEditorDecorationsCollection } from '../../../../../editor/common/editorCommon.js';
|
||||
import { ChatAgentLocation } from '../../common/constants.js';
|
||||
@@ -642,7 +642,7 @@ export class ChatEditingCodeEditorIntegration implements IModifiedFileEntryEdito
|
||||
// close diff editor when entry is decided
|
||||
const d = autorun(r => {
|
||||
const state = this._entry.state.read(r);
|
||||
if (state === WorkingSetEntryState.Accepted || state === WorkingSetEntryState.Rejected) {
|
||||
if (state === ModifiedFileEntryState.Accepted || state === ModifiedFileEntryState.Rejected) {
|
||||
d.dispose();
|
||||
|
||||
const editorIdents: IEditorIdentifier[] = [];
|
||||
|
||||
@@ -13,7 +13,7 @@ import { ctxHasEditorModification, ctxHasRequestInProgress, ctxReviewModeEnabled
|
||||
import { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';
|
||||
import { EditorContextKeys } from '../../../../../editor/common/editorContextKeys.js';
|
||||
import { ACTIVE_GROUP, IEditorService } from '../../../../services/editor/common/editorService.js';
|
||||
import { CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, IChatEditingService, IChatEditingSession, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, IChatEditingService, IChatEditingSession, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { resolveCommandsContext } from '../../../../browser/parts/editor/editorCommandsContext.js';
|
||||
import { IListService } from '../../../../../platform/list/browser/listService.js';
|
||||
import { IEditorGroupsService } from '../../../../services/editor/common/editorGroupsService.js';
|
||||
@@ -128,7 +128,7 @@ async function openNextOrPreviousChange(accessor: ServicesAccessor, session: ICh
|
||||
while (true) {
|
||||
idx = (idx + (next ? 1 : -1) + entries.length) % entries.length;
|
||||
newEntry = entries[idx];
|
||||
if (newEntry.state.get() === WorkingSetEntryState.Modified) {
|
||||
if (newEntry.state.get() === ModifiedFileEntryState.Modified) {
|
||||
break;
|
||||
} else if (newEntry === entry) {
|
||||
return false;
|
||||
|
||||
@@ -13,7 +13,7 @@ import { IWorkbenchContribution } from '../../../../common/contributions.js';
|
||||
import { EditorResourceAccessor, SideBySideEditor } from '../../../../common/editor.js';
|
||||
import { IEditorGroup, IEditorGroupsService } from '../../../../services/editor/common/editorGroupsService.js';
|
||||
import { IInlineChatSessionService } from '../../../inlineChat/browser/inlineChatSessionService.js';
|
||||
import { IChatEditingService, IChatEditingSession, IModifiedFileEntry, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatEditingService, IChatEditingSession, IModifiedFileEntry, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
|
||||
export const ctxIsGlobalEditingSession = new RawContextKey<boolean>('chatEdits.isGlobalEditingSession', undefined, localize('chat.ctxEditSessionIsGlobal', "The current editor is part of the global edit session"));
|
||||
@@ -117,7 +117,7 @@ class ContextKeyGroup {
|
||||
? observableFromEvent(this, chatModel.onDidChange, () => chatModel.requestInProgress)
|
||||
: constObservable(false);
|
||||
|
||||
this._ctxHasEditorModification.set(isInlineChat || entry?.state.read(r) === WorkingSetEntryState.Modified);
|
||||
this._ctxHasEditorModification.set(isInlineChat || entry?.state.read(r) === ModifiedFileEntryState.Modified);
|
||||
this._ctxIsGlobalEditingSession.set(session.isGlobalEditingSession);
|
||||
this._ctxReviewModeEnabled.set(entry ? entry.reviewMode.read(r) : false);
|
||||
this._ctxHasRequestInProgress.set(
|
||||
|
||||
@@ -8,7 +8,7 @@ import { combinedDisposable, DisposableMap, DisposableStore, MutableDisposable,
|
||||
import { autorun, derived, derivedOpts, IObservable, observableFromEvent, observableSignalFromEvent, observableValue, transaction } from '../../../../../base/common/observable.js';
|
||||
import { HiddenItemStrategy, MenuWorkbenchToolBar, WorkbenchToolBar } from '../../../../../platform/actions/browser/toolbar.js';
|
||||
import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
|
||||
import { IChatEditingService, IChatEditingSession, IModifiedFileEntry, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatEditingService, IChatEditingSession, IModifiedFileEntry, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { MenuId } from '../../../../../platform/actions/common/actions.js';
|
||||
import { ActionViewItem } from '../../../../../base/browser/ui/actionbar/actionViewItems.js';
|
||||
import { IActionRunner } from '../../../../../base/common/actions.js';
|
||||
@@ -406,7 +406,7 @@ class ChatEditingOverlayController {
|
||||
const { session, entry } = data;
|
||||
|
||||
if (
|
||||
entry?.state.read(r) === WorkingSetEntryState.Modified // any entry changing
|
||||
entry?.state.read(r) === ModifiedFileEntryState.Modified // any entry changing
|
||||
|| (!session.isGlobalEditingSession && isInProgress.read(r)) // inline chat request
|
||||
) {
|
||||
// any session with changes
|
||||
|
||||
+6
-6
@@ -40,7 +40,7 @@ import { SaveReason, IEditorPane } from '../../../../common/editor.js';
|
||||
import { IFilesConfigurationService } from '../../../../services/filesConfiguration/common/filesConfigurationService.js';
|
||||
import { IResolvedTextFileEditorModel, ITextFileService, stringToSnapshot } from '../../../../services/textfile/common/textfiles.js';
|
||||
import { ICellEditOperation } from '../../../notebook/common/notebookCommon.js';
|
||||
import { IModifiedFileEntry, ChatEditKind, WorkingSetEntryState, IModifiedFileEntryEditorIntegration } from '../../common/chatEditingService.js';
|
||||
import { IModifiedFileEntry, ChatEditKind, ModifiedFileEntryState, IModifiedFileEntryEditorIntegration } from '../../common/chatEditingService.js';
|
||||
import { IChatResponseModel } from '../../common/chatModel.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
import { ChatEditingCodeEditorIntegration, IDocumentDiff2 } from './chatEditingCodeEditorIntegration.js';
|
||||
@@ -273,9 +273,9 @@ export class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifie
|
||||
const didResetToOriginalContent = this.modifiedModel.getValue() === this.initialContent;
|
||||
const currentState = this._stateObs.get();
|
||||
switch (currentState) {
|
||||
case WorkingSetEntryState.Modified:
|
||||
case ModifiedFileEntryState.Modified:
|
||||
if (didResetToOriginalContent) {
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, undefined);
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -319,7 +319,7 @@ export class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifie
|
||||
|
||||
transaction((tx) => {
|
||||
if (!isLastEdits) {
|
||||
this._stateObs.set(WorkingSetEntryState.Modified, tx);
|
||||
this._stateObs.set(ModifiedFileEntryState.Modified, tx);
|
||||
this._isCurrentlyBeingModifiedByObs.set(responseModel, tx);
|
||||
const lineCount = this.modifiedModel.getLineCount();
|
||||
this._rewriteRatioObs.set(Math.min(1, maxLineNumber / lineCount), tx);
|
||||
@@ -346,7 +346,7 @@ export class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifie
|
||||
this.originalModel.pushEditOperations(null, edits, _ => null);
|
||||
await this._updateDiffInfoSeq();
|
||||
if (this._diffInfo.get().identical) {
|
||||
this._stateObs.set(WorkingSetEntryState.Accepted, undefined);
|
||||
this._stateObs.set(ModifiedFileEntryState.Accepted, undefined);
|
||||
}
|
||||
this._accessibilitySignalService.playSignal(AccessibilitySignal.editsKept, { allowManyInParallel: true });
|
||||
return true;
|
||||
@@ -364,7 +364,7 @@ export class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifie
|
||||
this.modifiedModel.pushEditOperations(null, edits, _ => null);
|
||||
await this._updateDiffInfoSeq();
|
||||
if (this._diffInfo.get().identical) {
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, undefined);
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
||||
}
|
||||
this._accessibilitySignalService.playSignal(AccessibilitySignal.editsUndone, { allowManyInParallel: true });
|
||||
return true;
|
||||
|
||||
@@ -22,7 +22,7 @@ import { IEditorPane } from '../../../../common/editor.js';
|
||||
import { IFilesConfigurationService } from '../../../../services/filesConfiguration/common/filesConfigurationService.js';
|
||||
import { ICellEditOperation } from '../../../notebook/common/notebookCommon.js';
|
||||
import { IChatAgentResult } from '../../common/chatAgents.js';
|
||||
import { ChatEditKind, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { ChatEditKind, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatResponseModel } from '../../common/chatModel.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
|
||||
@@ -50,8 +50,8 @@ export abstract class AbstractChatEditingModifiedFileEntry extends Disposable im
|
||||
protected readonly _onDidDelete = this._register(new Emitter<void>());
|
||||
readonly onDidDelete = this._onDidDelete.event;
|
||||
|
||||
protected readonly _stateObs = observableValue<WorkingSetEntryState>(this, WorkingSetEntryState.Attached);
|
||||
readonly state: IObservable<WorkingSetEntryState> = this._stateObs;
|
||||
protected readonly _stateObs = observableValue<ModifiedFileEntryState>(this, ModifiedFileEntryState.Attached);
|
||||
readonly state: IObservable<ModifiedFileEntryState> = this._stateObs;
|
||||
|
||||
protected readonly _isCurrentlyBeingModifiedByObs = observableValue<IChatResponseModel | undefined>(this, undefined);
|
||||
readonly isCurrentlyBeingModifiedBy: IObservable<IChatResponseModel | undefined> = this._isCurrentlyBeingModifiedByObs;
|
||||
@@ -146,7 +146,7 @@ export abstract class AbstractChatEditingModifiedFileEntry extends Disposable im
|
||||
|
||||
const cleanup = autorun(r => {
|
||||
// reset config when settled
|
||||
const resetConfig = this.state.read(r) !== WorkingSetEntryState.Modified;
|
||||
const resetConfig = this.state.read(r) !== ModifiedFileEntryState.Modified;
|
||||
if (resetConfig) {
|
||||
this._store.delete(cleanup);
|
||||
this._reviewModeTempObs.set(undefined, undefined);
|
||||
@@ -161,13 +161,13 @@ export abstract class AbstractChatEditingModifiedFileEntry extends Disposable im
|
||||
}
|
||||
|
||||
async accept(tx: ITransaction | undefined): Promise<void> {
|
||||
if (this._stateObs.get() !== WorkingSetEntryState.Modified) {
|
||||
if (this._stateObs.get() !== ModifiedFileEntryState.Modified) {
|
||||
// already accepted or rejected
|
||||
return;
|
||||
}
|
||||
|
||||
await this._doAccept(tx);
|
||||
this._stateObs.set(WorkingSetEntryState.Accepted, tx);
|
||||
this._stateObs.set(ModifiedFileEntryState.Accepted, tx);
|
||||
this._autoAcceptCtrl.set(undefined, tx);
|
||||
|
||||
this._notifyAction('accepted');
|
||||
@@ -176,13 +176,13 @@ export abstract class AbstractChatEditingModifiedFileEntry extends Disposable im
|
||||
protected abstract _doAccept(tx: ITransaction | undefined): Promise<void>;
|
||||
|
||||
async reject(tx: ITransaction | undefined): Promise<void> {
|
||||
if (this._stateObs.get() !== WorkingSetEntryState.Modified) {
|
||||
if (this._stateObs.get() !== ModifiedFileEntryState.Modified) {
|
||||
// already accepted or rejected
|
||||
return;
|
||||
}
|
||||
|
||||
await this._doReject(tx);
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, tx);
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, tx);
|
||||
this._autoAcceptCtrl.set(undefined, tx);
|
||||
this._notifyAction('rejected');
|
||||
}
|
||||
@@ -309,6 +309,6 @@ export interface ISnapshotEntry {
|
||||
readonly original: string;
|
||||
readonly current: string;
|
||||
readonly originalToCurrentEdit: OffsetEdit;
|
||||
readonly state: WorkingSetEntryState;
|
||||
readonly state: ModifiedFileEntryState;
|
||||
telemetryInfo: IModifiedEntryTelemetryInfo;
|
||||
}
|
||||
|
||||
+10
-10
@@ -43,7 +43,7 @@ import { INotebookEditorModelResolverService } from '../../../notebook/common/no
|
||||
import { INotebookLoggingService } from '../../../notebook/common/notebookLoggingService.js';
|
||||
import { INotebookService } from '../../../notebook/common/notebookService.js';
|
||||
import { INotebookEditorWorkerService } from '../../../notebook/common/services/notebookWorkerService.js';
|
||||
import { ChatEditKind, IModifiedFileEntryEditorIntegration, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { ChatEditKind, IModifiedFileEntryEditorIntegration, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatResponseModel } from '../../common/chatModel.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
import { AbstractChatEditingModifiedFileEntry, IModifiedEntryTelemetryInfo, ISnapshotEntry } from './chatEditingModifiedFileEntry.js';
|
||||
@@ -253,11 +253,11 @@ export class ChatEditingModifiedNotebookEntry extends AbstractChatEditingModifie
|
||||
// const didResetToOriginalContent = createSnapshot(this.modifiedModel, this.transientOptions, this.configurationService) === this.initialContent;
|
||||
let didResetToOriginalContent = this.initialContentComparer.isEqual(this.modifiedModel);
|
||||
const currentState = this._stateObs.get();
|
||||
if (currentState === WorkingSetEntryState.Rejected) {
|
||||
if (currentState === ModifiedFileEntryState.Rejected) {
|
||||
return;
|
||||
}
|
||||
if (currentState === WorkingSetEntryState.Modified && didResetToOriginalContent) {
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, undefined);
|
||||
if (currentState === ModifiedFileEntryState.Modified && didResetToOriginalContent) {
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
||||
this.updateCellDiffInfo([], undefined);
|
||||
return;
|
||||
}
|
||||
@@ -394,8 +394,8 @@ export class ChatEditingModifiedNotebookEntry extends AbstractChatEditingModifie
|
||||
}
|
||||
|
||||
didResetToOriginalContent = this.initialContentComparer.isEqual(this.modifiedModel);
|
||||
if (currentState === WorkingSetEntryState.Modified && didResetToOriginalContent) {
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, undefined);
|
||||
if (currentState === ModifiedFileEntryState.Modified && didResetToOriginalContent) {
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
||||
this.updateCellDiffInfo([], undefined);
|
||||
return;
|
||||
}
|
||||
@@ -573,7 +573,7 @@ export class ChatEditingModifiedNotebookEntry extends AbstractChatEditingModifie
|
||||
|
||||
transaction((tx) => {
|
||||
if (!isLastEdits) {
|
||||
this._stateObs.set(WorkingSetEntryState.Modified, tx);
|
||||
this._stateObs.set(ModifiedFileEntryState.Modified, tx);
|
||||
this._isCurrentlyBeingModifiedByObs.set(responseModel, tx);
|
||||
const newRewriteRation = Math.max(this._rewriteRatioObs.get(), calculateNotebookRewriteRatio(this._cellsDiffInfo.get(), this.originalModel, this.modifiedModel));
|
||||
this._rewriteRatioObs.set(Math.min(1, newRewriteRation), tx);
|
||||
@@ -650,7 +650,7 @@ export class ChatEditingModifiedNotebookEntry extends AbstractChatEditingModifie
|
||||
private computeStateAfterAcceptingRejectingChanges(accepted: boolean) {
|
||||
const currentSnapshot = createSnapshot(this.modifiedModel, this.transientOptions, this.configurationService);
|
||||
if (new SnapshotComparer(currentSnapshot).isEqual(this.originalModel)) {
|
||||
const state = accepted ? WorkingSetEntryState.Accepted : WorkingSetEntryState.Rejected;
|
||||
const state = accepted ? ModifiedFileEntryState.Accepted : ModifiedFileEntryState.Rejected;
|
||||
this._stateObs.set(state, undefined);
|
||||
}
|
||||
}
|
||||
@@ -987,9 +987,9 @@ export class ChatEditingModifiedNotebookEntry extends AbstractChatEditingModifie
|
||||
}
|
||||
|
||||
const cellState = cellEntry.state.read(r);
|
||||
if (cellState === WorkingSetEntryState.Accepted) {
|
||||
if (cellState === ModifiedFileEntryState.Accepted) {
|
||||
this.computeStateAfterAcceptingRejectingChanges(true);
|
||||
} else if (cellState === WorkingSetEntryState.Rejected) {
|
||||
} else if (cellState === ModifiedFileEntryState.Rejected) {
|
||||
this.computeStateAfterAcceptingRejectingChanges(false);
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -35,7 +35,7 @@ import { IMultiDiffSourceResolver, IMultiDiffSourceResolverService, IResolvedMul
|
||||
import { CellUri } from '../../../notebook/common/notebookCommon.js';
|
||||
import { INotebookService } from '../../../notebook/common/notebookService.js';
|
||||
import { IChatAgentService } from '../../common/chatAgents.js';
|
||||
import { CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingAgentSupportsReadonlyReferencesContextKey, chatEditingResourceContextKey, ChatEditingSessionState, chatEditingSnapshotScheme, IChatEditingService, IChatEditingSession, IChatRelatedFile, IChatRelatedFilesProvider, IModifiedFileEntry, inChatEditingSessionContextKey, IStreamingEdits, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingAgentSupportsReadonlyReferencesContextKey, chatEditingResourceContextKey, ChatEditingSessionState, chatEditingSnapshotScheme, IChatEditingService, IChatEditingSession, IChatRelatedFile, IChatRelatedFilesProvider, IModifiedFileEntry, inChatEditingSessionContextKey, IStreamingEdits, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { ChatModel, IChatResponseModel, isCellTextEditOperation } from '../../common/chatModel.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
import { ChatAgentLocation } from '../../common/constants.js';
|
||||
@@ -394,7 +394,7 @@ class ChatDecorationsProvider extends Disposable implements IDecorationsProvider
|
||||
|
||||
private readonly _modifiedUris = derived<URI[]>(this, (r) => {
|
||||
const uri = this._currentEntries.read(r);
|
||||
return uri.filter(entry => !entry.isCurrentlyBeingModifiedBy.read(r) && entry.state.read(r) === WorkingSetEntryState.Modified).map(entry => entry.modifiedURI);
|
||||
return uri.filter(entry => !entry.isCurrentlyBeingModifiedBy.read(r) && entry.state.read(r) === ModifiedFileEntryState.Modified).map(entry => entry.modifiedURI);
|
||||
});
|
||||
|
||||
public readonly onDidChange = Event.any(
|
||||
|
||||
@@ -38,7 +38,7 @@ import { IEditorService } from '../../../../services/editor/common/editorService
|
||||
import { MultiDiffEditor } from '../../../multiDiffEditor/browser/multiDiffEditor.js';
|
||||
import { MultiDiffEditorInput } from '../../../multiDiffEditor/browser/multiDiffEditorInput.js';
|
||||
import { INotebookService } from '../../../notebook/common/notebookService.js';
|
||||
import { ChatEditingSessionChangeType, ChatEditingSessionState, ChatEditKind, getMultiDiffSourceUri, IChatEditingSession, IEditSessionEntryDiff, IModifiedFileEntry, IStreamingEdits, WorkingSetDisplayMetadata, WorkingSetEntryRemovalReason, WorkingSetEntryState } from '../../common/chatEditingService.js';
|
||||
import { ChatEditingSessionChangeType, ChatEditingSessionState, ChatEditKind, getMultiDiffSourceUri, IChatEditingSession, IEditSessionEntryDiff, IModifiedFileEntry, IStreamingEdits, WorkingSetDisplayMetadata, WorkingSetEntryRemovalReason, ModifiedFileEntryState } from '../../common/chatEditingService.js';
|
||||
import { IChatRequestDisablement, IChatResponseModel } from '../../common/chatModel.js';
|
||||
import { IChatService } from '../../common/chatService.js';
|
||||
import { AbstractChatEditingModifiedFileEntry, IModifiedEntryTelemetryInfo, ISnapshotEntry } from './chatEditingModifiedFileEntry.js';
|
||||
@@ -382,7 +382,7 @@ export class ChatEditingSession extends Disposable implements IChatEditingSessio
|
||||
public createSnapshot(requestId: string, undoStop: string | undefined): void {
|
||||
const snapshot = this._createSnapshot(requestId, undoStop);
|
||||
for (const [uri, _] of this._workingSet) {
|
||||
this._workingSet.set(uri, { state: WorkingSetEntryState.Sent });
|
||||
this._workingSet.set(uri, { state: ModifiedFileEntryState.Sent });
|
||||
}
|
||||
|
||||
const linearHistoryPtr = this._linearHistoryIndex.get();
|
||||
@@ -486,7 +486,7 @@ export class ChatEditingSession extends Disposable implements IChatEditingSessio
|
||||
// Restore all entries from the snapshot
|
||||
for (const snapshotEntry of entries.values()) {
|
||||
const entry = await this._getOrCreateModifiedFileEntry(snapshotEntry.resource, snapshotEntry.telemetryInfo);
|
||||
const restoreToDisk = snapshotEntry.state === WorkingSetEntryState.Modified || restoreResolvedToDisk;
|
||||
const restoreToDisk = snapshotEntry.state === ModifiedFileEntryState.Modified || restoreResolvedToDisk;
|
||||
entry.restoreFromSnapshot(snapshotEntry, restoreToDisk);
|
||||
entriesArr.push(entry);
|
||||
}
|
||||
@@ -1219,7 +1219,7 @@ interface ISnapshotEntryDTO {
|
||||
readonly originalHash: string;
|
||||
readonly currentHash: string;
|
||||
readonly originalToCurrentEdit: IOffsetEdit;
|
||||
readonly state: WorkingSetEntryState;
|
||||
readonly state: ModifiedFileEntryState;
|
||||
readonly snapshotUri: string;
|
||||
readonly telemetryInfo: IModifiedEntryTelemetryInfoDTO;
|
||||
}
|
||||
|
||||
+8
-8
@@ -26,7 +26,7 @@ import { editorSelectionBackground } from '../../../../../../platform/theme/comm
|
||||
import { CellEditState } from '../../../../notebook/browser/notebookBrowser.js';
|
||||
import { INotebookEditorService } from '../../../../notebook/browser/services/notebookEditorService.js';
|
||||
import { NotebookCellTextModel } from '../../../../notebook/common/model/notebookCellTextModel.js';
|
||||
import { WorkingSetEntryState } from '../../../common/chatEditingService.js';
|
||||
import { ModifiedFileEntryState } from '../../../common/chatEditingService.js';
|
||||
import { IChatResponseModel } from '../../../common/chatModel.js';
|
||||
import { pendingRewriteMinimap } from '../chatEditingModifiedFileEntry.js';
|
||||
|
||||
@@ -83,8 +83,8 @@ export class ChatEditingNotebookCellEntry extends ObservableDisposable {
|
||||
private _editDecorations: string[] = [];
|
||||
|
||||
private readonly _diffTrimWhitespace: IObservable<boolean>;
|
||||
protected readonly _stateObs = observableValue<WorkingSetEntryState>(this, WorkingSetEntryState.Modified);
|
||||
readonly state: IObservable<WorkingSetEntryState> = this._stateObs;
|
||||
protected readonly _stateObs = observableValue<ModifiedFileEntryState>(this, ModifiedFileEntryState.Modified);
|
||||
readonly state: IObservable<ModifiedFileEntryState> = this._stateObs;
|
||||
protected readonly _isCurrentlyBeingModifiedByObs = observableValue<IChatResponseModel | undefined>(this, undefined);
|
||||
readonly isCurrentlyBeingModifiedBy: IObservable<IChatResponseModel | undefined> = this._isCurrentlyBeingModifiedByObs;
|
||||
private readonly initialContent: string;
|
||||
@@ -169,9 +169,9 @@ export class ChatEditingNotebookCellEntry extends ObservableDisposable {
|
||||
const didResetToOriginalContent = this.modifiedModel.getValue() === this.initialContent;
|
||||
const currentState = this._stateObs.get();
|
||||
switch (currentState) {
|
||||
case WorkingSetEntryState.Modified:
|
||||
case ModifiedFileEntryState.Modified:
|
||||
if (didResetToOriginalContent) {
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, undefined);
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -212,7 +212,7 @@ export class ChatEditingNotebookCellEntry extends ObservableDisposable {
|
||||
|
||||
transaction((tx) => {
|
||||
if (!isLastEdits) {
|
||||
this._stateObs.set(WorkingSetEntryState.Modified, tx);
|
||||
this._stateObs.set(ModifiedFileEntryState.Modified, tx);
|
||||
this._isCurrentlyBeingModifiedByObs.set(responseModel, tx);
|
||||
this._maxModifiedLineNumber.set(maxLineNumber, tx);
|
||||
|
||||
@@ -257,7 +257,7 @@ export class ChatEditingNotebookCellEntry extends ObservableDisposable {
|
||||
}
|
||||
await this._updateDiffInfoSeq();
|
||||
if (this._diffInfo.get().identical) {
|
||||
this._stateObs.set(WorkingSetEntryState.Accepted, undefined);
|
||||
this._stateObs.set(ModifiedFileEntryState.Accepted, undefined);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -283,7 +283,7 @@ export class ChatEditingNotebookCellEntry extends ObservableDisposable {
|
||||
}
|
||||
await this._updateDiffInfoSeq();
|
||||
if (this._diffInfo.get().identical) {
|
||||
this._stateObs.set(WorkingSetEntryState.Rejected, undefined);
|
||||
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ import { IThemeService } from '../../../../platform/theme/common/themeService.js
|
||||
import { checkModeOption } from '../common/chat.js';
|
||||
import { IChatAgentCommand, IChatAgentData, IChatAgentService, IChatWelcomeMessageContent, isChatWelcomeMessageContent } from '../common/chatAgents.js';
|
||||
import { ChatContextKeys } from '../common/chatContextKeys.js';
|
||||
import { applyingChatEditsFailedContextKey, decidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey, hasUndecidedChatEditingResourceContextKey, IChatEditingService, IChatEditingSession, inChatEditingSessionContextKey, WorkingSetEntryState } from '../common/chatEditingService.js';
|
||||
import { applyingChatEditsFailedContextKey, decidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey, hasUndecidedChatEditingResourceContextKey, IChatEditingService, IChatEditingSession, inChatEditingSessionContextKey, ModifiedFileEntryState } from '../common/chatEditingService.js';
|
||||
import { ChatPauseState, IChatModel, IChatRequestVariableEntry, IChatResponseModel } from '../common/chatModel.js';
|
||||
import { chatAgentLeader, ChatRequestAgentPart, chatSubcommandLeader, formatChatQuestion, IParsedChatRequest } from '../common/chatParserTypes.js';
|
||||
import { ChatRequestParser } from '../common/chatRequestParser.js';
|
||||
@@ -276,13 +276,13 @@ export class ChatWidget extends Disposable implements IChatWidget {
|
||||
return;
|
||||
}
|
||||
const entries = currentSession.entries.read(reader);
|
||||
const decidedEntries = entries.filter(entry => entry.state.read(reader) !== WorkingSetEntryState.Modified);
|
||||
const decidedEntries = entries.filter(entry => entry.state.read(reader) !== ModifiedFileEntryState.Modified);
|
||||
return decidedEntries.map(entry => entry.entryId);
|
||||
}));
|
||||
this._register(bindContextKey(hasUndecidedChatEditingResourceContextKey, contextKeyService, (reader) => {
|
||||
const currentSession = this._editingSession.read(reader);
|
||||
const entries = currentSession?.entries.read(reader) ?? []; // using currentSession here
|
||||
const decidedEntries = entries.filter(entry => entry.state.read(reader) === WorkingSetEntryState.Modified);
|
||||
const decidedEntries = entries.filter(entry => entry.state.read(reader) === ModifiedFileEntryState.Modified);
|
||||
return decidedEntries.length > 0;
|
||||
}));
|
||||
this._register(bindContextKey(hasAppliedChatEditsContextKey, contextKeyService, (reader) => {
|
||||
|
||||
@@ -65,7 +65,7 @@ export interface IChatRelatedFilesProvider {
|
||||
}
|
||||
|
||||
export interface WorkingSetDisplayMetadata {
|
||||
state: WorkingSetEntryState;
|
||||
state: ModifiedFileEntryState;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
@@ -147,11 +147,11 @@ export const enum WorkingSetEntryRemovalReason {
|
||||
Programmatic
|
||||
}
|
||||
|
||||
export const enum WorkingSetEntryState {
|
||||
export const enum ModifiedFileEntryState {
|
||||
Modified,
|
||||
Accepted,
|
||||
Rejected,
|
||||
Transient, // TODO@joyceerhl remove this
|
||||
|
||||
Attached, // TODO@joyceerhl remove this
|
||||
Sent, // TODO@joyceerhl remove this
|
||||
}
|
||||
@@ -222,7 +222,7 @@ export interface IModifiedFileEntry {
|
||||
|
||||
readonly lastModifyingRequestId: string;
|
||||
|
||||
readonly state: IObservable<WorkingSetEntryState>;
|
||||
readonly state: IObservable<ModifiedFileEntryState>;
|
||||
readonly isCurrentlyBeingModifiedBy: IObservable<IChatResponseModel | undefined>;
|
||||
readonly rewriteRatio: IObservable<number>;
|
||||
|
||||
@@ -255,7 +255,7 @@ export const enum ChatEditingSessionState {
|
||||
|
||||
export const CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME = 'chat-editing-multi-diff-source';
|
||||
|
||||
export const chatEditingWidgetFileStateContextKey = new RawContextKey<WorkingSetEntryState>('chatEditingWidgetFileState', undefined, localize('chatEditingWidgetFileState', "The current state of the file in the chat editing widget"));
|
||||
export const chatEditingWidgetFileStateContextKey = new RawContextKey<ModifiedFileEntryState>('chatEditingWidgetFileState', undefined, localize('chatEditingWidgetFileState', "The current state of the file in the chat editing widget"));
|
||||
export const chatEditingAgentSupportsReadonlyReferencesContextKey = new RawContextKey<boolean>('chatEditingAgentSupportsReadonlyReferences', undefined, localize('chatEditingAgentSupportsReadonlyReferences', "Whether the chat editing agent supports readonly references (temporary)"));
|
||||
export const decidedChatEditingResourceContextKey = new RawContextKey<string[]>('decidedChatEditingResource', []);
|
||||
export const chatEditingResourceContextKey = new RawContextKey<string | undefined>('chatEditingResource', undefined);
|
||||
|
||||
@@ -8,7 +8,7 @@ import { URI } from '../../../../base/common/uri.js';
|
||||
import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
|
||||
import { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';
|
||||
import { Memento } from '../../../common/memento.js';
|
||||
import { WorkingSetEntryState } from './chatEditingService.js';
|
||||
import { ModifiedFileEntryState } from './chatEditingService.js';
|
||||
import { IChatRequestVariableEntry } from './chatModel.js';
|
||||
import { CHAT_PROVIDER_ID } from './chatParticipantContribTypes.js';
|
||||
import { ChatAgentLocation, ChatMode } from './constants.js';
|
||||
@@ -22,7 +22,7 @@ export interface IChatHistoryEntry {
|
||||
export interface IChatInputState {
|
||||
[key: string]: any;
|
||||
chatContextAttachments?: ReadonlyArray<IChatRequestVariableEntry>;
|
||||
chatWorkingSet?: ReadonlyArray<{ uri: URI; state: WorkingSetEntryState }>;
|
||||
chatWorkingSet?: ReadonlyArray<{ uri: URI; state: ModifiedFileEntryState }>;
|
||||
chatMode?: ChatMode;
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ import { EditorBasedInlineChatWidget } from './inlineChatWidget.js';
|
||||
import { InlineChatZoneWidget } from './inlineChatZoneWidget.js';
|
||||
import { ChatAgentLocation } from '../../chat/common/constants.js';
|
||||
import { ChatContextKeys } from '../../chat/common/chatContextKeys.js';
|
||||
import { IChatEditingService, WorkingSetEntryState } from '../../chat/common/chatEditingService.js';
|
||||
import { IChatEditingService, ModifiedFileEntryState } from '../../chat/common/chatEditingService.js';
|
||||
|
||||
export const enum State {
|
||||
CREATE_SESSION = 'CREATE_SESSION',
|
||||
@@ -1403,7 +1403,7 @@ export class InlineChatController2 implements IEditorContribution {
|
||||
|
||||
await Event.toPromise(session.editingSession.onDidDispose);
|
||||
|
||||
const rejected = session.editingSession.getEntry(uri)?.state.get() === WorkingSetEntryState.Rejected;
|
||||
const rejected = session.editingSession.getEntry(uri)?.state.get() === ModifiedFileEntryState.Rejected;
|
||||
return !rejected;
|
||||
}
|
||||
|
||||
@@ -1455,7 +1455,7 @@ export async function reviewEdits(accessor: ServicesAccessor, editor: ICodeEdito
|
||||
return false;
|
||||
}
|
||||
const state = entry.state.read(r);
|
||||
return state === WorkingSetEntryState.Accepted || state === WorkingSetEntryState.Rejected;
|
||||
return state === ModifiedFileEntryState.Accepted || state === ModifiedFileEntryState.Rejected;
|
||||
});
|
||||
|
||||
const whenDecided = waitForState(isSettled, Boolean);
|
||||
|
||||
@@ -30,7 +30,7 @@ import { ITextFileService } from '../../../services/textfile/common/textfiles.js
|
||||
import { UntitledTextEditorInput } from '../../../services/untitled/common/untitledTextEditorInput.js';
|
||||
import { IChatWidgetService } from '../../chat/browser/chat.js';
|
||||
import { IChatAgentService } from '../../chat/common/chatAgents.js';
|
||||
import { WorkingSetEntryState } from '../../chat/common/chatEditingService.js';
|
||||
import { ModifiedFileEntryState } from '../../chat/common/chatEditingService.js';
|
||||
import { IChatService } from '../../chat/common/chatService.js';
|
||||
import { ChatAgentLocation } from '../../chat/common/constants.js';
|
||||
import { CTX_INLINE_CHAT_HAS_AGENT, CTX_INLINE_CHAT_HAS_AGENT2, CTX_INLINE_CHAT_POSSIBLE } from '../common/inlineChat.js';
|
||||
@@ -361,7 +361,7 @@ export class InlineChatSessionServiceImpl implements IInlineChatSessionService {
|
||||
|
||||
const allSettled = entries.every(entry => {
|
||||
const state = entry.state.read(r);
|
||||
return (state === WorkingSetEntryState.Accepted || state === WorkingSetEntryState.Rejected)
|
||||
return (state === ModifiedFileEntryState.Accepted || state === ModifiedFileEntryState.Rejected)
|
||||
&& !entry.isCurrentlyBeingModifiedBy.read(r);
|
||||
});
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import { LineRangeMapping } from '../../../../editor/common/diff/rangeMapping.js
|
||||
import { IDiffEditorModel } from '../../../../editor/common/editorCommon.js';
|
||||
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
|
||||
import { IProgressService, ProgressLocation } from '../../../../platform/progress/common/progress.js';
|
||||
import { IChatEditingService, WorkingSetEntryState } from '../../chat/common/chatEditingService.js';
|
||||
import { IChatEditingService, ModifiedFileEntryState } from '../../chat/common/chatEditingService.js';
|
||||
import { Emitter, Event } from '../../../../base/common/event.js';
|
||||
import { autorun, autorunWithStore } from '../../../../base/common/observable.js';
|
||||
|
||||
@@ -358,7 +358,7 @@ export class QuickDiffModel extends Disposable {
|
||||
|
||||
// disable dirty diff when doing chat edits
|
||||
const isBeingModifiedByChatEdits = this._chatEditingService.editingSessionsObs.get()
|
||||
.some(session => session.getEntry(uri)?.state.get() === WorkingSetEntryState.Modified);
|
||||
.some(session => session.getEntry(uri)?.state.get() === ModifiedFileEntryState.Modified);
|
||||
if (isBeingModifiedByChatEdits) {
|
||||
return Promise.resolve([]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user