diff --git a/packages/tailwindcss-language-service/src/util/find.ts b/packages/tailwindcss-language-service/src/util/find.ts index b0a4196195b9ffc81ec093c325319bb1933704e1..299f777cd3952b8bbe3e3d0b4c239e354101d340 100644 --- a/packages/tailwindcss-language-service/src/util/find.ts +++ b/packages/tailwindcss-language-service/src/util/find.ts @@ -11,7 +11,6 @@ import { getLanguageBoundaries } from './getLanguageBoundaries' import { resolveRange } from './resolveRange' import dlv from 'dlv' import { createMultiRegexp } from './createMultiRegexp' -import { rangesEqual } from './rangesEqual' export function findAll(re: RegExp, str: string): RegExpMatchArray[] { let match: RegExpMatchArray @@ -278,13 +277,6 @@ return result } -function dedupeClassLists(classLists: DocumentClassList[]): DocumentClassList[] { - return classLists.filter( - (classList, classListIndex) => - classListIndex === classLists.findIndex((c) => rangesEqual(c.range, classList.range)) - ) -} - export async function findClassListsInRange( state: State, doc: TextDocument, @@ -298,10 +290,7 @@ classLists = findClassListsInCssRange(doc, range) } else { classLists = await findClassListsInHtmlRange(state, doc, range) } - return dedupeClassLists([ - ...classLists, - ...(includeCustom ? await findCustomClassLists(state, doc, range) : []), - ]) + return [...classLists, ...(includeCustom ? await findCustomClassLists(state, doc, range) : [])] } export async function findClassListsInDocument( @@ -315,19 +304,17 @@ let boundaries = getLanguageBoundaries(state, doc) if (!boundaries) return [] - return dedupeClassLists( - flatten([ - ...(await Promise.all( - boundaries - .filter((b) => b.type === 'html' || b.type === 'jsx') - .map(({ range }) => findClassListsInHtmlRange(state, doc, range)) - )), - ...boundaries - .filter((b) => b.type === 'css') - .map(({ range }) => findClassListsInCssRange(doc, range)), - await findCustomClassLists(state, doc), - ]) - ) + return flatten([ + ...(await Promise.all( + boundaries + .filter((b) => b.type === 'html' || b.type === 'jsx') + .map(({ range }) => findClassListsInHtmlRange(state, doc, range)) + )), + ...boundaries + .filter((b) => b.type === 'css') + .map(({ range }) => findClassListsInCssRange(doc, range)), + await findCustomClassLists(state, doc), + ]) } export function findHelperFunctionsInDocument( diff --git a/packages/tailwindcss-language-service/src/util/rangesEqual.ts b/packages/tailwindcss-language-service/src/util/rangesEqual.ts index 0d9665521a801356c3689a4882bc182b3bd4f7da..220cebd50e242933d666ee7581d68e4030dd321b 100644 --- a/packages/tailwindcss-language-service/src/util/rangesEqual.ts +++ b/packages/tailwindcss-language-service/src/util/rangesEqual.ts @@ -1,4 +1,4 @@ -import type { Range } from 'vscode-languageserver' +import { Range } from 'vscode-languageserver' export function rangesEqual(a: Range, b: Range): boolean { return (