@@ -5,15 +5,30 @@ import com.intellij.openapi.application.runReadAction
5
5
import com.intellij.openapi.components.Service
6
6
import com.intellij.openapi.project.Project
7
7
import com.intellij.openapi.project.guessProjectDir
8
+ import com.intellij.openapi.vfs.VirtualFile
8
9
9
10
@Service(Service .Level .PROJECT )
10
11
class TeamPromptsBuilder (private val project : Project ) {
11
12
val settings = project.teamPromptsSettings
12
- fun build (): List <TeamPromptAction > {
13
+ fun default (): List <TeamPromptAction > {
13
14
val path = settings.state.teamPromptsDir
14
15
val promptsDir = project.guessProjectDir()?.findChild(path) ? : return emptyList()
15
16
16
- return promptsDir.children.filter { it.name.endsWith(" .vm" ) }.map {
17
+ val filterPrompts = promptsDir.children.filter { it.name.endsWith(" .vm" ) }
18
+ return buildPrompts(filterPrompts)
19
+ }
20
+
21
+ fun quickPrompts (): List <TeamPromptAction > {
22
+ val baseDir = settings.state.teamPromptsDir
23
+ val promptsDir = project.guessProjectDir()?.findChild(baseDir) ? : return emptyList()
24
+ val quickPromptDir = promptsDir.findChild(" quick" ) ? : return emptyList()
25
+ val quickPromptFiles = quickPromptDir.children.filter { it.name.endsWith(" .vm" ) }
26
+
27
+ return buildPrompts(quickPromptFiles)
28
+ }
29
+
30
+ private fun buildPrompts (prompts : List <VirtualFile >): List <TeamPromptAction > {
31
+ return prompts.map {
17
32
// a prompt should be named as <actionName>.vm, and we need to replace - with " "
18
33
val promptName = it.nameWithoutExtension.replace(" -" , " " )
19
34
// load content of the prompt file
0 commit comments