diff --git a/packages/tailwindcss-language-service/src/completionProvider.ts b/packages/tailwindcss-language-service/src/completionProvider.ts index 4ed21b6..c8885a0 100644 --- a/packages/tailwindcss-language-service/src/completionProvider.ts +++ b/packages/tailwindcss-language-service/src/completionProvider.ts @@ -476,14 +476,14 @@ function provideClassNameCompletions( position: Position, context?: CompletionContext ): CompletionList { - if (isHtmlContext(state, document, position) || isJsContext(state, document, position)) { - return provideClassAttributeCompletions(state, document, position, context) - } - if (isCssContext(state, document, position)) { return provideAtApplyCompletions(state, document, position) } + if (isHtmlContext(state, document, position) || isJsContext(state, document, position)) { + return provideClassAttributeCompletions(state, document, position, context) + } + return null } diff --git a/packages/tailwindcss-language-service/src/util/css.ts b/packages/tailwindcss-language-service/src/util/css.ts index 1b590c0..da8f84d 100644 --- a/packages/tailwindcss-language-service/src/util/css.ts +++ b/packages/tailwindcss-language-service/src/util/css.ts @@ -1,35 +1,24 @@ import type { TextDocument, Position } from 'vscode-languageserver' import { isInsideTag, isVueDoc, isSvelteDoc, isHtmlDoc } from './html' +import { isJsDoc } from './js' import { State } from './state' -export const CSS_LANGUAGES = [ - 'css', - 'less', - 'postcss', - 'sass', - 'scss', - 'stylus', - 'sugarss', -] +export const CSS_LANGUAGES = ['css', 'less', 'postcss', 'sass', 'scss', 'stylus', 'sugarss'] export function isCssDoc(state: State, doc: TextDocument): boolean { - const userCssLanguages = Object.keys( - state.editor.userLanguages - ).filter((lang) => CSS_LANGUAGES.includes(state.editor.userLanguages[lang])) + const userCssLanguages = Object.keys(state.editor.userLanguages).filter((lang) => + CSS_LANGUAGES.includes(state.editor.userLanguages[lang]) + ) return [...CSS_LANGUAGES, ...userCssLanguages].indexOf(doc.languageId) !== -1 } -export function isCssContext( - state: State, - doc: TextDocument, - position: Position -): boolean { +export function isCssContext(state: State, doc: TextDocument, position: Position): boolean { if (isCssDoc(state, doc)) { return true } - if (isHtmlDoc(state, doc) || isVueDoc(doc) || isSvelteDoc(doc)) { + if (isHtmlDoc(state, doc) || isVueDoc(doc) || isSvelteDoc(doc) || isJsDoc(state, doc)) { let str = doc.getText({ start: { line: 0, character: 0 }, end: position,