From 489d3b43385cac2b418e3fbaded636e6724cf9fa Mon Sep 17 00:00:00 2001 From: Lucas Vazquez Date: Sat, 8 Jan 2022 18:07:42 -0300 Subject: [PATCH 1/4] fix: prevent errors in not semicolon languages --- .../getInvalidTailwindDirectiveDiagnostics.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts index 05526ff9..d3ca9e5f 100644 --- a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts +++ b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts @@ -27,11 +27,22 @@ export function getInvalidTailwindDirectiveDiagnostics( ranges.push(...boundaries.css) } + const notSemicolonLanguages = ["sass"] + let regex: RegExp + if ( + notSemicolonLanguages.includes(doc.languageId) || + (state.editor && notSemicolonLanguages.includes(state.editor.userLanguages[doc.languageId])) + ) { + regex = /(?:\s|^)@tailwind\s+(?[^\n]+)/g + } else { + regex = /(?:\s|^)@tailwind\s+(?[^;]+)/g + } + let hasVariantsDirective = state.jit && semver.gte(state.version, '2.1.99') ranges.forEach((range) => { let text = document.getText(range) - let matches = findAll(/(?:\s|^)@tailwind\s+(?[^;]+)/g, text) + let matches = findAll(regex, text) let valid = [ 'utilities', From 4f916f1bc9147ae9000b73ea4fe4d16c847b8819 Mon Sep 17 00:00:00 2001 From: Lucas Vazquez Date: Sat, 8 Jan 2022 18:18:10 -0300 Subject: [PATCH 2/4] fix: extends fix for sugarss and stylus --- .../src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts index d3ca9e5f..776ee1ab 100644 --- a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts +++ b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts @@ -27,7 +27,7 @@ export function getInvalidTailwindDirectiveDiagnostics( ranges.push(...boundaries.css) } - const notSemicolonLanguages = ["sass"] + const notSemicolonLanguages = ["sass", "sugarss", "stylus"] let regex: RegExp if ( notSemicolonLanguages.includes(doc.languageId) || From dd7ad4f54ed3ed495ce59b9c64f371da1835a685 Mon Sep 17 00:00:00 2001 From: Brad Cornes Date: Wed, 23 Feb 2022 11:13:59 +0000 Subject: [PATCH 3/4] Formatting --- .../src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts index 776ee1ab..39d38f43 100644 --- a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts +++ b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts @@ -27,7 +27,7 @@ export function getInvalidTailwindDirectiveDiagnostics( ranges.push(...boundaries.css) } - const notSemicolonLanguages = ["sass", "sugarss", "stylus"] + let notSemicolonLanguages = ['sass', 'sugarss', 'stylus'] let regex: RegExp if ( notSemicolonLanguages.includes(doc.languageId) || @@ -37,7 +37,7 @@ export function getInvalidTailwindDirectiveDiagnostics( } else { regex = /(?:\s|^)@tailwind\s+(?[^;]+)/g } - + let hasVariantsDirective = state.jit && semver.gte(state.version, '2.1.99') ranges.forEach((range) => { From 8042cb6bfae4b8d5f94125c0fbdfaab59cedd31f Mon Sep 17 00:00:00 2001 From: Brad Cornes Date: Wed, 23 Feb 2022 11:17:34 +0000 Subject: [PATCH 4/4] Fix document access --- .../diagnostics/getInvalidTailwindDirectiveDiagnostics.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts index 39d38f43..e177db75 100644 --- a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts +++ b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts @@ -30,8 +30,9 @@ export function getInvalidTailwindDirectiveDiagnostics( let notSemicolonLanguages = ['sass', 'sugarss', 'stylus'] let regex: RegExp if ( - notSemicolonLanguages.includes(doc.languageId) || - (state.editor && notSemicolonLanguages.includes(state.editor.userLanguages[doc.languageId])) + notSemicolonLanguages.includes(document.languageId) || + (state.editor && + notSemicolonLanguages.includes(state.editor.userLanguages[document.languageId])) ) { regex = /(?:\s|^)@tailwind\s+(?[^\n]+)/g } else {