Skip to content

Commit a678f18

Browse files
committed
Ignore Cursor Change When Request In Progress
1 parent 3135931 commit a678f18

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Sources/CodeEditSourceEditor/CodeSuggestion/Model/SuggestionViewModel.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ final class SuggestionViewModel: ObservableObject {
3030

3131
self.activeTextView = textView
3232
itemsRequestTask = Task {
33+
defer { itemsRequestTask = nil }
34+
3335
do {
3436
guard let completionItems = await delegate.completionSuggestionsRequested(
3537
textView: textView,
@@ -67,6 +69,8 @@ final class SuggestionViewModel: ObservableObject {
6769
position: CursorPosition,
6870
close: () -> Void
6971
) {
72+
guard itemsRequestTask == nil else { return }
73+
7074
if activeTextView !== textView {
7175
close()
7276
return
@@ -75,7 +79,8 @@ final class SuggestionViewModel: ObservableObject {
7579
guard let newItems = delegate.completionOnCursorMove(
7680
textView: textView,
7781
cursorPosition: position
78-
) else {
82+
),
83+
!newItems.isEmpty else {
7984
close()
8085
return
8186
}

0 commit comments

Comments
 (0)