Skip to content

Commit 0683e6f

Browse files
committed
fix: fix replace issue in comment
1 parent 68ae6cf commit 0683e6f

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

src/main/kotlin/cc/unitmesh/devti/actions/vcs/CommitMessageSuggestionAction.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@ import cc.unitmesh.devti.actions.chat.base.ChatBaseAction
44
import cc.unitmesh.devti.gui.chat.ChatActionType
55
import cc.unitmesh.devti.gui.chat.ChatContext
66
import cc.unitmesh.devti.gui.sendToChatPanel
7+
import cc.unitmesh.devti.gui.sendToChatWindow
78
import cc.unitmesh.devti.prompting.VcsPrompting
89
import cc.unitmesh.devti.provider.ContextPrompter
910
import com.intellij.openapi.actionSystem.AnActionEvent
1011
import com.intellij.openapi.components.service
1112
import com.intellij.openapi.project.ProjectManager
13+
import com.intellij.openapi.vcs.VcsConfiguration
1214
import com.intellij.openapi.vcs.VcsDataKeys
1315
import com.intellij.openapi.vcs.changes.Change
16+
import com.intellij.openapi.vcs.ui.CommitMessage
1417

1518
class CommitMessageSuggestionAction : ChatBaseAction() {
1619
override fun getActionType(): ChatActionType = ChatActionType.GEN_COMMIT_MESSAGE
@@ -28,11 +31,14 @@ class CommitMessageSuggestionAction : ChatBaseAction() {
2831
val project = event.project ?: return
2932
val prompt = generateCommitMessage(prepareVcsContext())
3033

31-
sendToChatPanel(project) { panel, service ->
34+
val commitMessageUi = event.getData(VcsDataKeys.COMMIT_MESSAGE_CONTROL)
35+
36+
sendToChatWindow(project, getActionType()) { panel, service ->
3237
val chatContext = ChatContext(
33-
getReplaceableAction(event),
34-
prompt,
35-
""
38+
{ response ->
39+
(commitMessageUi as CommitMessage).editorField.text += response
40+
VcsConfiguration.getInstance(project).saveCommitMessage(response)
41+
}, prompt, ""
3642
)
3743

3844
service.handlePromptAndResponse(panel, object : ContextPrompter() {

src/main/kotlin/cc/unitmesh/devti/gui/chat/ChatActionType.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package cc.unitmesh.devti.gui.chat
22

3-
import cc.unitmesh.devti.prompting.VcsPrompting
4-
import com.intellij.openapi.components.service
5-
import com.intellij.openapi.project.ProjectManager
6-
73
enum class ChatActionType {
84
CHAT,
95
REFACTOR,

src/main/kotlin/cc/unitmesh/devti/gui/chat/ChatCodingService.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ class ChatCodingService(var actionType: ChatActionType, val project: Project) {
5555
context?.replaceSelectedText?.invoke(getCodeSection(it, context.prefixText, context.suffixText))
5656
}
5757

58+
actionType === ChatActionType.GEN_COMMIT_MESSAGE -> ui.updateReplaceableContent(response) {
59+
context?.replaceSelectedText?.invoke(it)
60+
}
61+
5862
else -> ui.updateMessage(response)
5963
}
6064
}

0 commit comments

Comments
 (0)