Skip to content

Commit a51de46

Browse files
committed
feat(directory): add AutoDevDirectoryCompletionContributor
Add a new class `AutoDevDirectoryCompletionContributor` that extends `CreateDirectoryCompletionContributor`. This class provides directory completion for AutoDev prompts. It includes three variants: `prompts`, `prompts/quick`, and `prompts/templates`.
1 parent 93bcffe commit a51de46

File tree

4 files changed

+36
-3
lines changed

4 files changed

+36
-3
lines changed

src/222/main/resources/META-INF/autodev-core.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
implementation="cc.unitmesh.devti.runconfig.command.CompositeAutoBaseRunConfigurationProducer"/>
3939

4040
<configurationType implementation="cc.unitmesh.devti.runconfig.AutoDevConfigurationType"/>
41-
41+
<createDirectoryCompletionContributor implementation="cc.unitmesh.devti.custom.AutoDevDirectoryCompletionContributor"/>
4242
<!-- Run Configurations -->
4343
<programRunner implementation="cc.unitmesh.devti.runconfig.AutoDevCommandRunner"/>
4444

@@ -180,7 +180,6 @@
180180
icon="cc.unitmesh.devti.AutoDevIcons.AI_COPILOT" searchable="false">
181181

182182
<add-to-group group-id="ShowIntentionsGroup" relative-to-action="ShowIntentionActions" anchor="after"/>
183-
<add-to-group group-id="Floating.CodeToolbar" anchor="first"/>
184183
</group>
185184

186185
<!-- For right click -->

src/233/main/resources/META-INF/autodev-core.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
implementation="cc.unitmesh.devti.runconfig.command.CompositeAutoBaseRunConfigurationProducer"/>
3939

4040
<configurationType implementation="cc.unitmesh.devti.runconfig.AutoDevConfigurationType"/>
41-
41+
<createDirectoryCompletionContributor implementation="cc.unitmesh.devti.custom.AutoDevDirectoryCompletionContributor"/>
4242
<!-- Run Configurations -->
4343
<programRunner implementation="cc.unitmesh.devti.runconfig.AutoDevCommandRunner"/>
4444

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package cc.unitmesh.devti.custom
2+
3+
import cc.unitmesh.devti.AutoDevBundle
4+
import com.intellij.ide.actions.CreateDirectoryCompletionContributor
5+
import com.intellij.psi.PsiDirectory
6+
import org.jetbrains.annotations.Nls
7+
import org.jetbrains.jps.model.java.JavaResourceRootType
8+
import java.io.File
9+
10+
class AutoDevDirectoryCompletionContributor : CreateDirectoryCompletionContributor {
11+
override fun getDescription(): @Nls(capitalization = Nls.Capitalization.Sentence) String {
12+
return AutoDevBundle.message("autodev.directory.completion.description")
13+
}
14+
15+
override fun getVariants(psiDirectory: PsiDirectory): Collection<CreateDirectoryCompletionContributor.Variant> {
16+
val result = mutableListOf<CreateDirectoryCompletionContributor.Variant>()
17+
// prompt
18+
result += CreateDirectoryCompletionContributor.Variant("prompts", JavaResourceRootType.RESOURCE)
19+
// prompts + File.separator + "quick"
20+
result += CreateDirectoryCompletionContributor.Variant(
21+
"prompts" + File.separator + "quick",
22+
JavaResourceRootType.RESOURCE
23+
)
24+
// prompts + File.separator + "templates
25+
result += CreateDirectoryCompletionContributor.Variant(
26+
"prompts" + File.separator + "templates",
27+
JavaResourceRootType.RESOURCE
28+
)
29+
30+
return result.toList()
31+
}
32+
}
33+

src/main/resources/messages/AutoDevBundle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,5 @@ autodev.statusbar.name=AutoDev Status Bar
100100
autodev.statusbar.toolTipText=AutoDev
101101
autodev.statusbar.popup.title=AutoDevStatus
102102
autodev.statusbar.id=AutoDevStatusId
103+
autodev.directory.completion.description=AutoDev Custom Prompts
103104

0 commit comments

Comments
 (0)