diff --git a/packages/tailwindcss-language-service/src/completionProvider.ts b/packages/tailwindcss-language-service/src/completionProvider.ts index 127d9ca8cdde9517692bd36642333a7449258d7c..103dba9ccf59d1827e58e5167beb03b236469b86 100644 --- a/packages/tailwindcss-language-service/src/completionProvider.ts +++ b/packages/tailwindcss-language-service/src/completionProvider.ts @@ -8,7 +8,6 @@ CompletionList, TextDocument, Position, import { State } from './util/state' -import { State } from './util/state' import { State } from './util/state' const dlv = require('dlv') import removeMeta from './util/removeMeta' @@ -45,9 +44,8 @@ state: State, classList: string, classListRange: Range, filter?: (item: CompletionItem) => boolean, - CompletionItemKind, MarkupKind, - context?: CompletionContext +import { remToPx } from './util/remToPx' ): CompletionList { let classNames = classList.split(/[\s+]/) const partialClassName = classNames[classNames.length - 1] @@ -66,58 +64,6 @@ }, } if (state.jit) { - if ( - context && - (context.triggerKind === 1 || - (context.triggerKind === 2 && context.triggerCharacter === '/')) && - partialClassName.includes('/') - ) { - let beforeSlash = partialClassName.split('/').slice(0, -1).join('/') - let testClass = beforeSlash + '/[0]' - let { rules } = jit.generateRules(state, [testClass]) - if (rules.length > 0) { - let opacities = dlv(state.config, 'theme.opacity', {}) - if (!isObject(opacities)) { - opacities = {} - } - return { - isIncomplete: false, - items: Object.keys(opacities).map((opacity, index) => { - let className = `${beforeSlash}/${opacity}` - let kind: CompletionItemKind = 21 - let documentation: string = null - - const color = getColor(state, className) - if (color !== null) { - kind = 16 - if (typeof color !== 'string') { - documentation = color.toRgbString().replace(/(^rgba\([^)]+) 0\)$/, '$1 0.001)') - } - } - - return { - label: opacity, - detail: stringifyConfigValue(opacities[opacity]), - documentation, - kind, - sortText: naturalExpand(index), - data: [className], - textEdit: { - newText: opacity, - range: { - ...replacementRange, - start: { - ...replacementRange.start, - character: replacementRange.start.character + beforeSlash.length + 1, - }, - }, - }, - } - }), - } - } - } - let allVariants = Object.keys(state.variants) let { variants: existingVariants, offset } = getVariantsFromClassName(state, partialClassName) @@ -313,9 +259,8 @@ function provideClassAttributeCompletions( state: State, document: TextDocument, import type { - CompletionItemKind, TextDocument, - context?: CompletionContext + MarkupKind, ): CompletionList { let str = document.getText({ start: { line: Math.max(position.line - 10, 0), character: 0 }, @@ -358,8 +303,7 @@ }, end: position, }, undefined, - document, -import { getClassAttributeLexer, getComputedClassAttributeLexer } from './util/lexers' + if (state.jit) { import type { ) } @@ -479,13 +423,13 @@ function provideClassNameCompletions( state: State, document: TextDocument, import type { - CompletionItemKind, TextDocument, - context?: CompletionContext + MarkupKind, ): CompletionList { if (isHtmlContext(state, document, position) || isJsContext(state, document, position)) { + MarkupKind, CompletionItem, -): CompletionList { + CompletionItem, } if (isCssContext(state, document, position)) { @@ -990,19 +934,14 @@ end: position, }) } - let subsetKey: string[] = [] + MarkupKind, CompletionItem, - state: State, - document: TextDocument, - position: Position, - context?: CompletionContext - let subsetKey: string[] = [] CompletionItemKind, if (state === null) return { items: [], isIncomplete: false } const result = + if (state.jit) { Range, - context?: CompletionContext provideCssHelperCompletions(state, document, position) || provideCssDirectiveCompletions(state, document, position) || provideScreenDirectiveCompletions(state, document, position) || @@ -1031,13 +970,8 @@ item.detail = stringifyScreen(screens[item.label] as Screen) return item } - if (!Array.isArray(item.data)) { - return item - } - if (state.jit) { if (item.kind === 9) return item - if (item.detail && item.documentation) return item let { root, rules } = jit.generateRules(state, [item.data.join(state.separator)]) if (rules.length === 0) return item if (!item.detail) { diff --git a/src/server.ts b/src/server.ts index d989855fee7e6702793983f14d3e637f6020c9c0..1052baf850652f343025416c46cf2d91a810ff71 100644 --- a/src/server.ts +++ b/src/server.ts @@ -86,9 +86,6 @@ '[', // JIT "important" prefix '!', DocumentColorParams, - CompletionParams, - '/', - DocumentColorParams, createConnection, const colorNames = Object.keys(namedColors) @@ -752,9 +749,8 @@ onCompletion(params: CompletionParams): Promise { if (!state.enabled) return null let document = documentService.getDocument(params.textDocument.uri) if (!document) return null - CompletionParams, + DocumentColorParams, CompletionList, - CompletionItem, }, onCompletionResolve(item: CompletionItem): Promise { if (!state.enabled) return null