From 42ef028c1ea583cfc5e544df1b40f8047dc5b1f7 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Fri, 6 Jun 2025 00:27:47 -0700 Subject: [PATCH] add auto accept toggle --- .voidrules | 2 ++ .../contrib/void/browser/editCodeService.ts | 20 +++++++++++++++++++ .../react/src/void-settings-tsx/Settings.tsx | 12 +++++++++++ .../void/common/voidSettingsService.ts | 3 +++ .../contrib/void/common/voidSettingsTypes.ts | 2 ++ 5 files changed, 39 insertions(+) diff --git a/.voidrules b/.voidrules index 6c655134..fe8403df 100644 --- a/.voidrules +++ b/.voidrules @@ -12,3 +12,5 @@ Do not add or remove semicolons to any of my files. Just go with convention and Never modify files outside src/vs/workbench/contrib/void without consulting with the user first. All types that map from a value A to B should be called bOfA. For example, if you create a hashmap that goes from toolId to toolName, it should be called toolNameOfToolId, etc. + +No need to check that it compiles by running compile, just stop. diff --git a/src/vs/workbench/contrib/void/browser/editCodeService.ts b/src/vs/workbench/contrib/void/browser/editCodeService.ts index 96e3bf6d..3eb7ed6b 100644 --- a/src/vs/workbench/contrib/void/browser/editCodeService.ts +++ b/src/vs/workbench/contrib/void/browser/editCodeService.ts @@ -1179,6 +1179,11 @@ class EditCodeService extends Disposable implements IEditCodeService { this._onDidChangeStreamingInDiffZone.fire({ uri, diffareaid: diffZone.diffareaid }) this._refreshStylesAndDiffsInURI(uri) onFinishEdit() + + // auto accept + if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) { + this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false }) + } } @@ -1218,6 +1223,11 @@ class EditCodeService extends Disposable implements IEditCodeService { this._onDidChangeStreamingInDiffZone.fire({ uri, diffareaid: diffZone.diffareaid }) this._refreshStylesAndDiffsInURI(uri) onFinishEdit() + + // auto accept + if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) { + this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false }) + } } this._writeURIText(uri, newContent, 'wholeFileRange', { shouldRealignDiffAreas: true }) @@ -1448,6 +1458,11 @@ class EditCodeService extends Disposable implements IEditCodeService { } this._refreshStylesAndDiffsInURI(uri) onFinishEdit() + + // auto accept + if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) { + this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false }) + } } // throws @@ -1732,6 +1747,11 @@ class EditCodeService extends Disposable implements IEditCodeService { this._deleteTrackingZone(trackingZone) onFinishEdit() + + // auto accept + if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) { + this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false }) + } } const onError = (e: { message: string; fullError: Error | null; }) => { diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx index 60294f06..cb32142b 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx @@ -1318,6 +1318,18 @@ export const Settings = () => { {settingsState.globalSettings.includeToolLintErrors ? 'Fix lint errors' : `Fix lint errors`} + + {/* Auto Accept LLM Changes Switch */} + +
+ voidSettingsService.setGlobalSetting('autoAcceptLLMChanges', newVal)} + /> + Auto-accept LLM changes +
+
diff --git a/src/vs/workbench/contrib/void/common/voidSettingsService.ts b/src/vs/workbench/contrib/void/common/voidSettingsService.ts index e448627a..4a1aaef5 100644 --- a/src/vs/workbench/contrib/void/common/voidSettingsService.ts +++ b/src/vs/workbench/contrib/void/common/voidSettingsService.ts @@ -281,6 +281,9 @@ class VoidSettingsService extends Disposable implements IVoidSettingsService { if (typeof readS.globalSettings.autoApprove === 'boolean') readS.globalSettings.autoApprove = {} if (readS.globalSettings.disableSystemMessage === undefined) readS.globalSettings.disableSystemMessage = false; + + // add autoAcceptLLMChanges feature + if (readS.globalSettings.autoAcceptLLMChanges === undefined) readS.globalSettings.autoAcceptLLMChanges = false; } catch (e) { readS = defaultState() diff --git a/src/vs/workbench/contrib/void/common/voidSettingsTypes.ts b/src/vs/workbench/contrib/void/common/voidSettingsTypes.ts index 1731fdf8..36058929 100644 --- a/src/vs/workbench/contrib/void/common/voidSettingsTypes.ts +++ b/src/vs/workbench/contrib/void/common/voidSettingsTypes.ts @@ -450,6 +450,7 @@ export type GlobalSettings = { includeToolLintErrors: boolean; isOnboardingComplete: boolean; disableSystemMessage: boolean; + autoAcceptLLMChanges: boolean; } export const defaultGlobalSettings: GlobalSettings = { @@ -464,6 +465,7 @@ export const defaultGlobalSettings: GlobalSettings = { includeToolLintErrors: true, isOnboardingComplete: false, disableSystemMessage: false, + autoAcceptLLMChanges: false, } export type GlobalSettingName = keyof GlobalSettings