fix: prompt text field persona suggestions (fixes #685)

This commit is contained in:
Carl-Robert Linnupuu 2024-09-11 00:38:23 +03:00
parent c7333a19f3
commit c9fcf7362d

View file

@ -10,6 +10,8 @@ import com.intellij.openapi.vfs.VirtualFile
import ee.carlrobert.codegpt.CodeGPTBundle
import ee.carlrobert.codegpt.settings.GeneralSettings
import ee.carlrobert.codegpt.settings.documentation.DocumentationSettings
import ee.carlrobert.codegpt.settings.persona.PersonaDetails
import ee.carlrobert.codegpt.settings.persona.PersonaSettings
import ee.carlrobert.codegpt.settings.service.ServiceType
import ee.carlrobert.codegpt.ui.DocumentationDetails
import ee.carlrobert.codegpt.util.ResourceUtil.getDefaultPersonas
@ -78,8 +80,13 @@ class PersonaSuggestionGroupItem : SuggestionGroupItem {
override val displayName: String = CodeGPTBundle.get("suggestionGroupItem.personas.displayName")
override val icon = AllIcons.General.User
override suspend fun getSuggestions(searchText: String?): List<SuggestionActionItem> =
getDefaultPersonas()
override suspend fun getSuggestions(searchText: String?): List<SuggestionActionItem> {
val userCreatedPersonas = service<PersonaSettings>().state.userCreatedPersonas
.map {
PersonaDetails(it.id, it.name ?: "Unknown", it.instructions ?: "Unknown")
}
.toMutableList()
return (userCreatedPersonas + getDefaultPersonas())
.filter {
if (searchText.isNullOrEmpty()) {
true
@ -89,6 +96,7 @@ class PersonaSuggestionGroupItem : SuggestionGroupItem {
}
.map { PersonaActionItem(it) }
.take(10) + listOf(CreatePersonaActionItem())
}
}
class DocumentationSuggestionGroupItem : SuggestionGroupItem {