diff --git a/packages/tailwindcss-language-service/src/completionProvider.ts b/packages/tailwindcss-language-service/src/completionProvider.ts index bbfb0b1a..8f81fdc5 100644 --- a/packages/tailwindcss-language-service/src/completionProvider.ts +++ b/packages/tailwindcss-language-service/src/completionProvider.ts @@ -2280,7 +2280,10 @@ export async function resolveCompletionItem( if (state.v4) { if (item.kind === 9) return item if (item.detail && item.documentation) return item + + let base = state.designSystem.compile([className])[0] let root = state.designSystem.compile([[...variants, className].join(state.separator)])[0] + let rules = root.nodes.filter((node) => node.type === 'rule') if (rules.length === 0) return item @@ -2288,16 +2291,26 @@ export async function resolveCompletionItem( if (rules.length === 1) { let decls: postcss.Declaration[] = [] - root.walkDecls((node) => { + // Remove any `@property` rules + base = base.clone() + base.walkAtRules((rule) => { + // Ignore declarations inside `@property` rules + if (rule.name === 'property') { + rule.remove() + } + + // Ignore declarations @supports (-moz-orient: inline) + // this is a hack used for `@property` fallbacks in Firefox + if (rule.name === 'supports' && rule.params === '(-moz-orient: inline)') { + rule.remove() + } + }) + + base.walkDecls((node) => { decls.push(node) }) - item.detail = await jit.stringifyDecls( - state, - postcss.rule({ - nodes: decls, - }), - ) + item.detail = await jit.stringifyDecls(state, postcss.rule({ nodes: decls })) } else { item.detail = `${rules.length} rules` } diff --git a/packages/vscode-tailwindcss/CHANGELOG.md b/packages/vscode-tailwindcss/CHANGELOG.md index b0edc93d..14775414 100644 --- a/packages/vscode-tailwindcss/CHANGELOG.md +++ b/packages/vscode-tailwindcss/CHANGELOG.md @@ -11,6 +11,8 @@ - Fix error when using VSCode < 1.78 ([#1353](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1353)) - Don’t skip suggesting empty variant implementations ([#1352](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1352)) - Handle helper function lookups in nested parens ([#1354](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1354)) +- Hide `@property` declarations from completion details ([#1356](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1356)) +- Hide variant-provided declarations from completion details for a utility ([#1356](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1356)) # 0.14.16