diff --git a/packages/language-plugin-pug/package.json b/packages/language-plugin-pug/package.json index 8ea6a2b4a..434b5b81e 100644 --- a/packages/language-plugin-pug/package.json +++ b/packages/language-plugin-pug/package.json @@ -17,6 +17,6 @@ }, "dependencies": { "@volar/source-map": "2.2.0-alpha.10", - "volar-service-pug": "0.0.38" + "volar-service-pug": "0.0.39" } } diff --git a/packages/language-server/node.ts b/packages/language-server/node.ts index 9cbb66dbb..649182250 100644 --- a/packages/language-server/node.ts +++ b/packages/language-server/node.ts @@ -140,7 +140,7 @@ connection.onRequest(ParseSFCRequest.type, params => { connection.onRequest(DetectNameCasingRequest.type, async params => { const languageService = await getService(params.textDocument.uri); if (languageService) { - return await detect(languageService.context, params.textDocument.uri, getTsPluginClient(languageService.context)); + return await detect(languageService.context, params.textDocument.uri); } }); diff --git a/packages/language-service/lib/ideFeatures/nameCasing.ts b/packages/language-service/lib/ideFeatures/nameCasing.ts index f2c2707ce..b6913ffe4 100644 --- a/packages/language-service/lib/ideFeatures/nameCasing.ts +++ b/packages/language-service/lib/ideFeatures/nameCasing.ts @@ -108,13 +108,9 @@ export async function convertAttrName( return edits; } -export async function getNameCasing( - context: ServiceContext, - uri: string, - tsPluginClient?: typeof import('@vue/typescript-plugin/lib/client'), -) { +export async function getNameCasing(context: ServiceContext, uri: string) { - const detected = await detect(context, uri, tsPluginClient); + const detected = await detect(context, uri); const [attr, tag] = await Promise.all([ context.env.getConfiguration?.<'autoKebab' | 'autoCamel' | 'kebab' | 'camel'>('vue.complete.casing.props', uri), context.env.getConfiguration?.<'autoKebab' | 'autoPascal' | 'kebab' | 'pascal'>('vue.complete.casing.tags', uri), @@ -131,7 +127,6 @@ export async function getNameCasing( export async function detect( context: ServiceContext, uri: string, - tsPluginClient?: typeof import('@vue/typescript-plugin/lib/client'), ): Promise<{ tag: TagNameCasing[], attr: AttrNameCasing[], @@ -176,39 +171,25 @@ export async function detect( } async function getTagNameCase(file: VueVirtualCode): Promise { - const components = await tsPluginClient?.getComponentNames(file.fileName) ?? []; - const tagNames = getTemplateTagsAndAttrs(file); - const result: TagNameCasing[] = []; - - let anyComponentUsed = false; - - for (const component of components) { - if (tagNames.has(component) || tagNames.has(hyphenateTag(component))) { - anyComponentUsed = true; - break; - } - } - if (!anyComponentUsed) { - return []; // not sure component style, because do not have any component using in