diff --git a/src/main/kotlin/ee/carlrobert/codegpt/actions/editor/EditCodeSubmissionHandler.kt b/src/main/kotlin/ee/carlrobert/codegpt/actions/editor/EditCodeSubmissionHandler.kt index e21c24f55..9550def2d 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/actions/editor/EditCodeSubmissionHandler.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/actions/editor/EditCodeSubmissionHandler.kt @@ -11,6 +11,8 @@ import com.jetbrains.rd.util.AtomicReference import ee.carlrobert.codegpt.codecompletions.CompletionProgressNotifier import ee.carlrobert.codegpt.completions.CompletionRequestService import ee.carlrobert.codegpt.completions.EditCodeCompletionParameters +import ee.carlrobert.codegpt.settings.configuration.ChatMode +import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings import ee.carlrobert.codegpt.ui.ObservableProperties class EditCodeSubmissionHandler( @@ -39,8 +41,10 @@ class EditCodeSubmissionHandler( } runInEdt { editor.selectionModel.removeSelection() } + // EditCode should always use EDIT mode (no backticks) + // This is independent from the chat interface ChatMode setting service().getEditCodeCompletionAsync( - EditCodeCompletionParameters(userPrompt, selectedText), + EditCodeCompletionParameters(userPrompt, selectedText, ChatMode.EDIT), EditCodeCompletionListener(editor, observableProperties, selectionTextRange) ) } diff --git a/src/main/kotlin/ee/carlrobert/codegpt/settings/configuration/ConfigurationSettings.kt b/src/main/kotlin/ee/carlrobert/codegpt/settings/configuration/ConfigurationSettings.kt index c2ed34ab5..9663a7ccf 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/settings/configuration/ConfigurationSettings.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/settings/configuration/ConfigurationSettings.kt @@ -34,6 +34,7 @@ class ConfigurationSettingsState : BaseState() { var tableData by map() var chatCompletionSettings by property(ChatCompletionSettingsState()) var codeCompletionSettings by property(CodeCompletionSettingsState()) + var chatMode by enum(ChatMode.ASK) init { tableData.putAll(EditorActionsUtil.DEFAULT_ACTIONS) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt index 8c8019ce5..933fdca65 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt @@ -23,6 +23,7 @@ import ee.carlrobert.codegpt.CodeGPTBundle import ee.carlrobert.codegpt.Icons import ee.carlrobert.codegpt.conversations.Conversation import ee.carlrobert.codegpt.settings.configuration.ChatMode +import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings import ee.carlrobert.codegpt.settings.models.ModelRegistry import ee.carlrobert.codegpt.settings.service.FeatureType import ee.carlrobert.codegpt.settings.service.ModelSelectionService @@ -55,7 +56,7 @@ class UserInputPanel( private const val CORNER_RADIUS = 16 } - private var chatMode: ChatMode = ChatMode.ASK + private var chatMode: ChatMode = ConfigurationSettings.getState().chatMode private val disposableCoroutineScope = DisposableCoroutineScope() private val promptTextField = PromptTextField( @@ -106,6 +107,7 @@ class UserInputPanel( fun setChatMode(mode: ChatMode) { chatMode = mode + ConfigurationSettings.getState().chatMode = mode } init {