From 608a9593e4e6ba7ececdd6040113b10aea19d874 Mon Sep 17 00:00:00 2001 From: johnsoncodehk Date: Thu, 21 Apr 2022 09:16:56 +0800 Subject: [PATCH] fix: emmet completion duplicate in template --- .../vue-language-service/src/languageFeatures/complete.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/vue-language-service/src/languageFeatures/complete.ts b/packages/vue-language-service/src/languageFeatures/complete.ts index 422d774b3..68ed177a9 100644 --- a/packages/vue-language-service/src/languageFeatures/complete.ts +++ b/packages/vue-language-service/src/languageFeatures/complete.ts @@ -146,6 +146,10 @@ export function register(context: LanguageServiceRuntimeContext) { if (cache!.mainCompletion && (!plugin.complete.isAdditional || cache?.mainCompletion.documentUri !== sourceMap.mappedDocument.uri)) continue; + // avoid duplicate items with .vue and .vue.htmlx + if (plugin.complete.isAdditional && cache?.data.some(data => data.plugin === plugin)) + continue; + const embeddedCompletionList = await plugin.complete?.on(sourceMap.mappedDocument, embeddedRange.start, completionContext); if (!embeddedCompletionList || !embeddedCompletionList.items.length) @@ -205,6 +209,10 @@ export function register(context: LanguageServiceRuntimeContext) { if (cache.mainCompletion && (!plugin.complete.isAdditional || cache.mainCompletion.documentUri !== document.uri)) continue; + // avoid duplicate items with .vue and .vue.htmlx + if (plugin.complete.isAdditional && cache?.data.some(data => data.plugin === plugin)) + continue; + const completionList = await plugin.complete?.on(document, position, completionContext); if (!completionList || !completionList.items.length)