Home

tailwind-ctp-intellisense @master - refs - log -
-
https://git.jolheiser.com/tailwind-ctp-intellisense.git
Tailwind intellisense + Catppuccin
tree log patch
Revert "Improve conflict diagnostics (#503)" (#525) This reverts commit ddfaea21cc5feca1bbf71ddb36645a61f01daea3.
Signature
-----BEGIN PGP SIGNATURE----- wsBcBAABCAAQBQJiVz9yCRBK7hj4Ov3rIwAAzyUIAEc9tyWjJXbN83zqwpRhj8Sx LlZ2gTGPqIL+sQdWAOhT/1HagW0q1FoAoIshkJX8jE5aFVJcBjMFWIBwHPozk/JV nGYUB8d5/dls+DsAfMY6TP3YZxWKpVqOTmY0Jn5PBSl+Q6UgEocRcO1bU5eBCdly TQAlPOgR7sAClU5UnhibH9eZ6w0c8Sixd7mnnk80hwBLsJkBOPVTvKbZtPcakfuo hsNpbBD0rFC/od9ozf3+lGLfpi4PdAF0MHMEuQc8W/8BWTzTXE6wkNMany3lonfb XNvddJgHU1CzI9p7GhX+p/3gQmu+Udx2maKYx3D16EnVKoStS7A+KOOkWP5NBa0= =ALB6 -----END PGP SIGNATURE-----
Brad Cornes <bradlc41@gmail.com>
2 years ago
4 changed files, 60 additions(+), 117 deletions(-)
M packages/tailwindcss-language-service/src/diagnostics/getCssConflictDiagnostics.ts -> packages/tailwindcss-language-service/src/diagnostics/getCssConflictDiagnostics.ts
diff --git a/packages/tailwindcss-language-service/src/diagnostics/getCssConflictDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getCssConflictDiagnostics.ts
index e73aab6ccf35957193efb9b05ab017f26202dad9..4459d249bed274dee0a18fe58c3db84f9574acf2 100644
--- a/packages/tailwindcss-language-service/src/diagnostics/getCssConflictDiagnostics.ts
+++ b/packages/tailwindcss-language-service/src/diagnostics/getCssConflictDiagnostics.ts
@@ -20,11 +20,9 @@   let diagnostics: CssConflictDiagnostic[] = []
   const classLists = await findClassListsInDocument(state, document)
 
   classLists.forEach((classList) => {
-import { State, Settings } from '../util/state'
 import { joinWithAnd } from '../util/joinWithAnd'
 import { State, Settings } from '../util/state'
-import { State, Settings } from '../util/state'
-      : getClassNamesInClassList(classList)
+import { getClassNameDecls } from '../util/getClassNameDecls'
 
     classNames.forEach((className, index) => {
       if (state.jit) {
M packages/tailwindcss-language-service/src/diagnostics/getRecommendedVariantOrderDiagnostics.ts -> packages/tailwindcss-language-service/src/diagnostics/getRecommendedVariantOrderDiagnostics.ts
diff --git a/packages/tailwindcss-language-service/src/diagnostics/getRecommendedVariantOrderDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getRecommendedVariantOrderDiagnostics.ts
index 51e8e82121e37d54f42458b702341285e167b3fd..236195719ef87e1f693a7ccb1e2f23ad0ccd5652 100644
--- a/packages/tailwindcss-language-service/src/diagnostics/getRecommendedVariantOrderDiagnostics.ts
+++ b/packages/tailwindcss-language-service/src/diagnostics/getRecommendedVariantOrderDiagnostics.ts
@@ -22,7 +22,7 @@
   let diagnostics: RecommendedVariantOrderDiagnostic[] = []
   const classLists = await findClassListsInDocument(state, document)
 
-  classLists.flat().forEach((classList) => {
+  classLists.forEach((classList) => {
     const classNames = getClassNamesInClassList(classList)
     classNames.forEach((className) => {
       let { rules } = jit.generateRules(state, [className.className])
M packages/tailwindcss-language-service/src/documentColorProvider.ts -> packages/tailwindcss-language-service/src/documentColorProvider.ts
diff --git a/packages/tailwindcss-language-service/src/documentColorProvider.ts b/packages/tailwindcss-language-service/src/documentColorProvider.ts
index f40b93a64449d0f47a95584c7e7e791a894c1e19..081d1c0c8086a553d36727711fb0aae744d38ca9 100644
--- a/packages/tailwindcss-language-service/src/documentColorProvider.ts
+++ b/packages/tailwindcss-language-service/src/documentColorProvider.ts
@@ -20,7 +20,7 @@   let settings = await state.editor.getConfiguration(document.uri)
   if (settings.tailwindCSS.colorDecorators === false) return colors
 
   let classLists = await findClassListsInDocument(state, document)
-  classLists.flat().forEach((classList) => {
+  classLists.forEach((classList) => {
     let classNames = getClassNamesInClassList(classList)
     classNames.forEach((className) => {
       let color = getColor(state, className.className)
M packages/tailwindcss-language-service/src/util/find.ts -> packages/tailwindcss-language-service/src/util/find.ts
diff --git a/packages/tailwindcss-language-service/src/util/find.ts b/packages/tailwindcss-language-service/src/util/find.ts
index d0ad26681d864cb45c0d893a556e2bd88cc44497..d9a23c461e9c490c4d9708b6768822329c04c25d 100644
--- a/packages/tailwindcss-language-service/src/util/find.ts
+++ b/packages/tailwindcss-language-service/src/util/find.ts
@@ -77,17 +77,9 @@   mode?: 'html' | 'css',
   includeCustom: boolean = true
 ): Promise<DocumentClassName[]> {
   const classLists = await findClassListsInRange(state, doc, range, mode, includeCustom)
-  return flatten(
-    classLists.flatMap((classList) => {
-import { isJsxContext } from './js'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-        return classList.map(getClassNamesInClassList)
-      } else {
-        return [getClassNamesInClassList(classList)]
-import { isJsxContext } from './js'
+import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
 import { isWithinRange } from './isWithinRange'
-    })
-  )
 }
 
 export async function findClassNamesInDocument(
@@ -95,17 +87,9 @@   state: State,
   doc: TextDocument
 ): Promise<DocumentClassName[]> {
   const classLists = await findClassListsInDocument(state, doc)
-  return flatten(
-    classLists.flatMap((classList) => {
-import { isJsxContext } from './js'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-        return classList.map(getClassNamesInClassList)
-      } else {
-        return [getClassNamesInClassList(classList)]
-import { isJsxContext } from './js'
+import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
 import { isWithinRange } from './isWithinRange'
-    })
-  )
 }
 
 export function findClassListsInCssRange(doc: TextDocument, range?: Range): DocumentClassList[] {
@@ -203,7 +187,7 @@   state: State,
   doc: TextDocument,
   range?: Range
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-          end,
+import { isHtmlContext } from './html'
   const text = doc.getText(range)
 
   const matches = matchClassAttributes(
@@ -212,7 +196,7 @@     (await state.editor.getConfiguration(doc.uri)).tailwindCSS.classAttributes
   )
 
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-            character: (end.line === 0 ? range.start.character : 0) + start.character,
+import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
 
   matches.forEach((match) => {
     const subtext = text.substr(match.index + match[0].length - 1)
@@ -223,12 +207,10 @@         ? getComputedClassAttributeLexer()
         : getClassAttributeLexer()
     lexer.reset(subtext)
 
-    let classLists: Array<{ value: string; offset: number } | { value: string; offset: number }[]> =
-  let match: RegExpMatchArray
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+          character: (end.line === 0 ? globalStart.character : 0) + start.character,
-    let rootClassList: { value: string; offset: number }[] = []
+    let token: moo.Token
     let currentClassList: { value: string; offset: number }
-    let depth = 0
 
     try {
       for (let token of lexer) {
@@ -243,145 +225,107 @@             }
           }
         } else {
           if (currentClassList) {
-            if (depth === 0) {
-              rootClassList.push({
-                value: currentClassList.value,
-                offset: currentClassList.offset,
-  let matches: RegExpMatchArray[] = []
+  classList,
 import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
-  while ((match = re.exec(str)) !== null) {
+  range,
-  while ((match = re.exec(str)) !== null) {
+  range,
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-    })
+import lineColumn from 'line-column'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-  )
-              })
-            }
           }
           currentClassList = undefined
         }
-        if (token.type === 'lbrace') {
-          depth += 1
-        } else if (token.type === 'rbrace') {
-          depth -= 1
-        }
       }
     } catch (_) {}
 
     if (currentClassList) {
-      if (depth === 0) {
-        rootClassList.push({
-    matches.push({ ...match })
+import lineColumn from 'line-column'
-          offset: currentClassList.offset,
-    matches.push({ ...match })
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-      } else {
-    matches.push({ ...match })
 import lineColumn from 'line-column'
-    matches.push({ ...match })
-          offset: currentClassList.offset,
+import lineColumn from 'line-column'
-        })
-      }
+        offset: currentClassList.offset,
 import { isHtmlContext } from './html'
-import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
-
+import { flatten } from './array'
-import type { TextDocument, Range, Position } from 'vscode-languageserver'
+import { isHtmlContext } from './html'
 import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
-import { isCssContext, isCssDoc } from './css'
 
     result.push(
       ...classLists
-        .map((classList) => {
-          if (Array.isArray(classList)) {
-            return classList
-              .map((classList) => resolveClassList(classList, text, match, range))
-              .filter((x) => x !== null)
-          } else {
-            return resolveClassList(classList, text, match, range)
-import type { TextDocument, Range, Position } from 'vscode-languageserver'
 import lineColumn from 'line-column'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-        })
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-import lineColumn from 'line-column'
+import { isHtmlContext } from './html'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
-import { isCssContext, isCssDoc } from './css'
+import { isWithinRange } from './isWithinRange'
-import type { TextDocument, Range, Position } from 'vscode-languageserver'
+import lineColumn from 'line-column'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-
+import { isJsxContext } from './js'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-import { isCssContext, isCssDoc } from './css'
 import lineColumn from 'line-column'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
 
-function resolveClassList(
-  classList: { value: string; offset: number },
-  text: string,
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import { flatten } from './array'
-  range?: Range
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import { getClassAttributeLexer, getComputedClassAttributeLexer } from './lexers'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import { getLanguageBoundaries } from './getLanguageBoundaries'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import { resolveRange } from './resolveRange'
-    return null
-  }
 
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import dlv from 'dlv'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+      } else {
+import lineColumn from 'line-column'
 import { createMultiRegexp } from './createMultiRegexp'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 export function findAll(re: RegExp, str: string): RegExpMatchArray[] {
-import type { TextDocument, Range, Position } from 'vscode-languageserver'
+  return matches[matches.length - 1]
 import { isCssContext, isCssDoc } from './css'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
   let match: RegExpMatchArray
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-import { isJsxContext } from './js'
+import { isCssContext, isCssDoc } from './css'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-import { isHtmlContext } from './html'
+import { isCssContext, isCssDoc } from './css'
+import lineColumn from 'line-column'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
+import { isJsxContext } from './js'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
   while ((match = re.exec(str)) !== null) {
-  )
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-import { isCssContext, isCssDoc } from './css'
+  for (let i = 0; i < parts.length; i++) {
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
     matches.push({ ...match })
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
   }
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
   return matches
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+              },
+import lineColumn from 'line-column'
 }
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 export function findLast(re: RegExp, str: string): RegExpMatchArray {
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
   const matches = findAll(re, str)
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
+import lineColumn from 'line-column'
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
+      const end = indexToPosition(classList, index + parts[i].length)
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import { createMultiRegexp } from './createMultiRegexp'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-import { isHtmlContext } from './html'
-import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+    matches.push({ ...match })
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-import { isWithinRange } from './isWithinRange'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
+import lineColumn from 'line-column'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-import { isJsxContext } from './js'
+import { isCssContext, isCssDoc } from './css'
 import { getLanguageBoundaries } from './getLanguageBoundaries'
-import type { TextDocument, Range, Position } from 'vscode-languageserver'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-export function getClassNamesInClassList({
-  }
+
+  return result
 }
 
 export async function findClassListsInRange(
@@ -391,9 +334,10 @@   range?: Range,
   mode?: 'html' | 'css',
   includeCustom: boolean = true
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-          end,
+import { isHtmlContext } from './html'
+import lineColumn from 'line-column'
 import { DocumentClassName, DocumentClassList, State, DocumentHelperFunction } from './state'
-  range,
+import { isHtmlContext } from './html'
   if (mode === 'css') {
     classLists = findClassListsInCssRange(doc, range)
   } else {
@@ -406,7 +350,7 @@ export async function findClassListsInDocument(
   state: State,
   doc: TextDocument
 import type { TextDocument, Range, Position } from 'vscode-languageserver'
-          end,
+import { isHtmlContext } from './html'
   if (isCssDoc(state, doc)) {
     return findClassListsInCssRange(doc)
   }