Skip to content

Commit d89e079

Browse files
committed
Filter out index completion labels that are already in scope
1 parent cf0e2c5 commit d89e079

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

server/src/main/kotlin/org/javacs/kt/completion/Completions.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,11 @@ fun completions(file: CompiledFile, cursor: Int, index: SymbolIndex, config: Com
6464
LOG.debug("Looking for completions that match '{}'", partial)
6565

6666
val (elementItems, isExhaustive) = elementCompletionItems(file, cursor, config, partial)
67-
val elementItemList = elementItems.take(MAX_COMPLETION_ITEMS).toList()
67+
val elementItemList = elementItems.toList()
68+
val elementItemLabels = elementItemList.mapNotNull { it.label }.toSet()
6869
val items = (
6970
elementItemList.asSequence()
70-
+ (if (!isExhaustive) indexCompletionItems(file.parse, index, partial) else emptySequence())
71+
+ (if (!isExhaustive) indexCompletionItems(file.parse, index, partial).filter { it.label !in elementItemLabels } else emptySequence())
7172
+ (if (elementItemList.isEmpty()) keywordCompletionItems(partial) else emptySequence())
7273
)
7374
val itemList = items

0 commit comments

Comments
 (0)