Skip to content

Commit 36cd82e

Browse files
committed
refactor: improve file reference completion
The completion provider for DevInLanguage now uses the correct file reference type and retrieves recently opened files from the editor history manager to enhance the file reference completion suggestions.
1 parent ca240d1 commit 36cd82e

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

exts/devin-lang/src/main/kotlin/cc/unitmesh/devti/language/completion/DevInCompletionContributor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class DevInCompletionContributor : CompletionContributor() {
1919
extend(CompletionType.BASIC, PlatformPatterns.psiElement(DevInTypes.AGENT_ID), BuiltinAgentProvider())
2020
extend(
2121
CompletionType.BASIC,
22-
valuePattern(FileReferenceLanguageProvider.REF_TYPE),
22+
valuePattern(FileReferenceLanguageProvider.FILE_REF_TYPE),
2323
FileReferenceLanguageProvider()
2424
)
2525
}

exts/devin-lang/src/main/kotlin/cc/unitmesh/devti/language/completion/FileReferenceLanguageProvider.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ import com.intellij.codeInsight.lookup.LookupElementBuilder
55
import com.intellij.ide.presentation.VirtualFilePresentation
66
import com.intellij.openapi.fileEditor.impl.EditorHistoryManager
77
import com.intellij.openapi.project.guessProjectDir
8-
import com.intellij.openapi.vfs.VirtualFile
98
import com.intellij.util.ProcessingContext
109
import java.io.File
1110

1211
class FileReferenceLanguageProvider : CompletionProvider<CompletionParameters>() {
1312
companion object {
14-
const val REF_TYPE = "file"
13+
const val FILE_REF_TYPE = "file"
1514
}
1615

1716
override fun addCompletions(
@@ -21,13 +20,11 @@ class FileReferenceLanguageProvider : CompletionProvider<CompletionParameters>()
2120
) {
2221
val project = parameters.position.project
2322
val basePath = project.guessProjectDir()?.path ?: return
24-
25-
val editorHistoryManager = EditorHistoryManager.getInstance(project)
26-
val fileList: List<VirtualFile> = editorHistoryManager.fileList
23+
val recentlyFiles = EditorHistoryManager.getInstance(project).fileList
2724

2825
// TODO: file should be in project
2926

30-
fileList.forEach {
27+
recentlyFiles.forEach {
3128
val removePrefix = it.path.removePrefix(basePath)
3229
val relativePath: String = removePrefix.removePrefix(File.separator)
3330

0 commit comments

Comments
 (0)