mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-19 07:54:46 +00:00
fix: selection not included in prompt (fixes #844)
This commit is contained in:
parent
668c8ed27e
commit
aa75902675
2 changed files with 18 additions and 14 deletions
|
|
@ -49,19 +49,21 @@ class SelectionTagProcessor : TagProcessor {
|
|||
tagDetails: TagDetails,
|
||||
promptBuilder: StringBuilder
|
||||
) {
|
||||
val selectionModel = (tagDetails as? SelectionTagDetails)?.selectionModel ?: return
|
||||
if (!selectionModel.hasSelection() || tagDetails.virtualFile == null) {
|
||||
val selectionTagDetails = tagDetails as? SelectionTagDetails ?: return
|
||||
if (selectionTagDetails.selectedText.isNullOrEmpty()) {
|
||||
return
|
||||
}
|
||||
|
||||
promptBuilder
|
||||
.append("\n```${tagDetails.virtualFile?.extension}\n")
|
||||
.append(selectionModel.selectedText)
|
||||
.append("\n```${tagDetails.virtualFile.extension}\n")
|
||||
.append(selectionTagDetails.selectedText)
|
||||
.append("\n```\n")
|
||||
|
||||
tagDetails.virtualFile = null
|
||||
tagDetails.selectionModel = null
|
||||
selectionModel.removeSelection()
|
||||
selectionTagDetails.selectionModel.let {
|
||||
if (it.hasSelection()) {
|
||||
it.removeSelection()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,13 +32,15 @@ data class FileTagDetails(var virtualFile: VirtualFile) :
|
|||
TagDetails(virtualFile.name, virtualFile.fileType.icon)
|
||||
|
||||
data class SelectionTagDetails(
|
||||
var virtualFile: VirtualFile?,
|
||||
var selectionModel: SelectionModel?,
|
||||
) :
|
||||
TagDetails(
|
||||
"${virtualFile?.name} (${selectionModel?.selectionStartPosition?.line}:${selectionModel?.selectionEndPosition?.line})",
|
||||
Icons.InSelection
|
||||
)
|
||||
var virtualFile: VirtualFile,
|
||||
var selectionModel: SelectionModel
|
||||
) : TagDetails(
|
||||
"${virtualFile.name} (${selectionModel.selectionStartPosition?.line}:${selectionModel.selectionEndPosition?.line})",
|
||||
Icons.InSelection
|
||||
) {
|
||||
var selectedText: String? = selectionModel.selectedText
|
||||
private set
|
||||
}
|
||||
|
||||
data class DocumentationTagDetails(var documentationDetails: DocumentationDetails) :
|
||||
TagDetails(documentationDetails.name, AllIcons.Toolwindows.Documentation)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue