diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ChatToolWindowTabPanel.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ChatToolWindowTabPanel.java index 1d07a37e..28a37e72 100644 --- a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ChatToolWindowTabPanel.java +++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ChatToolWindowTabPanel.java @@ -300,8 +300,19 @@ public class ChatToolWindowTabPanel implements Disposable { } promptBuilder.append(remainingText); - message.setUserMessage(promptBuilder.toString()); - message.setPrompt(promptBuilder.toString()); + String highlightedTextMd = ""; + if (editor != null) { + var selectionModel = editor.getSelectionModel(); + var selectedText = selectionModel.getSelectedText(); + if (selectedText != null && !selectedText.isEmpty()) { + var fileExtension = FileUtil.getFileExtension(editor.getVirtualFile().getName()); + highlightedTextMd = format("\n```%s\n%s\n```\n", fileExtension, selectedText); + selectionModel.removeSelection(); + } + } + + message.setUserMessage(highlightedTextMd + promptBuilder); + message.setPrompt(highlightedTextMd + promptBuilder); sendMessage(message, ConversationType.DEFAULT, processEditorSelection(editor, message)); return Unit.INSTANCE;