From efa5b088a625fbc3aff05e83b28951e58dcdc0b7 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Mon, 24 Apr 2023 12:45:59 +0200 Subject: [PATCH] Fixes #180538 --- .../inlineCompletions/browser/provideInlineCompletions.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.ts b/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.ts index 8e90d8b431b3a..5373751efa9d9 100644 --- a/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.ts +++ b/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.ts @@ -27,6 +27,9 @@ export async function provideInlineCompletions( token: CancellationToken = CancellationToken.None, languageConfigurationService?: ILanguageConfigurationService, ): Promise { + // Important: Don't use position after the await calls, as the model could have been changed in the meantime! + const defaultReplaceRange = getDefaultRange(position, model); + const providers = registry.all(model); const providerResults = await Promise.all(providers.map(async provider => { try { @@ -38,8 +41,6 @@ export async function provideInlineCompletions( return ({ provider, completions: undefined }); })); - const defaultReplaceRange = getDefaultRange(position, model); - const itemsByHash = new Map(); const lists: InlineCompletionList[] = []; for (const result of providerResults) {