From ed51ba73a81b6cf32b29f2a8c16380633050cdca Mon Sep 17 00:00:00 2001 From: Brad Cornes Date: Fri, 5 Nov 2021 16:18:48 +0000 Subject: [PATCH] Update syntax definitions --- packages/vscode-tailwindcss/package.json | 46 +++- .../syntaxes/at-apply.tmLanguage.json | 39 ++++ .../syntaxes/at-rules.scss.tmLanguage.json | 121 +++++++++++ .../syntaxes/at-rules.tmLanguage.json | 201 ++++++++++++++++++ .../syntaxes/screen-fn.tmLanguage.json | 37 ++++ .../syntaxes/tailwind.tmLanguage.json | 75 ------- .../syntaxes/theme-fn.tmLanguage.json | 60 ++++++ 7 files changed, 500 insertions(+), 79 deletions(-) create mode 100644 packages/vscode-tailwindcss/syntaxes/at-apply.tmLanguage.json create mode 100644 packages/vscode-tailwindcss/syntaxes/at-rules.scss.tmLanguage.json create mode 100644 packages/vscode-tailwindcss/syntaxes/at-rules.tmLanguage.json create mode 100644 packages/vscode-tailwindcss/syntaxes/screen-fn.tmLanguage.json delete mode 100644 packages/vscode-tailwindcss/syntaxes/tailwind.tmLanguage.json create mode 100644 packages/vscode-tailwindcss/syntaxes/theme-fn.tmLanguage.json diff --git a/packages/vscode-tailwindcss/package.json b/packages/vscode-tailwindcss/package.json index 343dc5b..4a40a42 100755 --- a/packages/vscode-tailwindcss/package.json +++ b/packages/vscode-tailwindcss/package.json @@ -52,12 +52,50 @@ ], "grammars": [ { - "scopeName": "tailwindcss.injection", - "path": "./syntaxes/tailwind.tmLanguage.json", + "scopeName": "tailwindcss.at-rules.injection", + "path": "./syntaxes/at-rules.tmLanguage.json", + "injectTo": [ + "source.css", + "source.css.postcss", + "source.vue", + "source.svelte", + "text.html" + ] + }, + { + "scopeName": "tailwindcss.at-rules.scss.injection", + "path": "./syntaxes/at-rules.scss.tmLanguage.json", + "injectTo": [ + "source.css.scss" + ] + }, + { + "scopeName": "tailwindcss.at-apply.injection", + "path": "./syntaxes/at-apply.tmLanguage.json", + "injectTo": [ + "source.css", + "source.css.postcss", + "source.vue", + "source.svelte", + "text.html" + ] + }, + { + "scopeName": "tailwindcss.theme-fn.injection", + "path": "./syntaxes/theme-fn.tmLanguage.json", + "injectTo": [ + "source.css", + "source.css.postcss", + "source.vue", + "source.svelte", + "text.html" + ] + }, + { + "scopeName": "tailwindcss.screen-fn.injection", + "path": "./syntaxes/screen-fn.tmLanguage.json", "injectTo": [ "source.css", - "source.css.scss", - "source.css.less", "source.css.postcss", "source.vue", "source.svelte", diff --git a/packages/vscode-tailwindcss/syntaxes/at-apply.tmLanguage.json b/packages/vscode-tailwindcss/syntaxes/at-apply.tmLanguage.json new file mode 100644 index 0000000..ce9f25e --- /dev/null +++ b/packages/vscode-tailwindcss/syntaxes/at-apply.tmLanguage.json @@ -0,0 +1,39 @@ +{ + "scopeName": "tailwindcss.at-apply.injection", + "fileTypes": [], + "injectionSelector": "L:meta.property-list.css -comment, meta.property-list.scss -comment", + "name": "TailwindCSS", + "patterns": [ + { + "name": "meta.at-rule.apply.tailwind", + "begin": "(@)apply\\b", + "beginCaptures": { + "0": { + "name": "keyword.control.at-rule.apply.tailwind" + }, + "1": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": ";|(?=[}])", + "endCaptures": { + "0": { + "name": "punctuation.terminator.apply.tailwind" + } + }, + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "match": "!\\s*important(?![\\w-])", + "name": "keyword.other.important.css" + }, + { + "match": "[^\\s;]+?", + "name": "entity.other.attribute-name.class.css" + } + ] + } + ] +} diff --git a/packages/vscode-tailwindcss/syntaxes/at-rules.scss.tmLanguage.json b/packages/vscode-tailwindcss/syntaxes/at-rules.scss.tmLanguage.json new file mode 100644 index 0000000..f29de64 --- /dev/null +++ b/packages/vscode-tailwindcss/syntaxes/at-rules.scss.tmLanguage.json @@ -0,0 +1,121 @@ +{ + "scopeName": "tailwindcss.at-rules.scss.injection", + "fileTypes": [], + "injectionSelector": "L:source.css.scss -comment", + "name": "TailwindCSS", + "patterns": [ + { + "begin": "(?i)((@)tailwind)(?=\\s|/\\*|$)", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.tailwind.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": ";", + "endCaptures": { + "0": { + "name": "punctuation.terminator.tailwind.tailwind" + } + }, + "name": "meta.at-rule.tailwind.css", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "include": "source.css#escapes" + }, + { + "match": "[^\\s;]+?", + "name": "entity.name.function.scss" + } + ] + }, + { + "begin": "(?i)((@)screen)\\b", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.screen.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "\\s*(?={)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "match": "[^\\s{]+?", + "name": "entity.name.function.scss" + } + ] + }, + { + "begin": "(?i)((@)layer)\\b", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.layer.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "\\s*(?={)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "match": "[^\\s{]+?", + "name": "entity.name.function.scss" + } + ] + }, + { + "begin": "(?i)((@)variants)\\b", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.variants.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "\\s*(?={)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "include": "source.css#commas" + }, + { + "match": "[^\\s{,]+?", + "name": "entity.name.function.scss" + } + ] + }, + { + "begin": "(?i)((@)responsive)\\b", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.responsive.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "\\s*(?={)", + "patterns": [ + { + "include": "source.css#comment-block" + } + ] + } + ] +} diff --git a/packages/vscode-tailwindcss/syntaxes/at-rules.tmLanguage.json b/packages/vscode-tailwindcss/syntaxes/at-rules.tmLanguage.json new file mode 100644 index 0000000..5933e54 --- /dev/null +++ b/packages/vscode-tailwindcss/syntaxes/at-rules.tmLanguage.json @@ -0,0 +1,201 @@ +{ + "scopeName": "tailwindcss.at-rules.injection", + "fileTypes": [], + "injectionSelector": "L:source.css -comment -source.css.scss", + "name": "TailwindCSS", + "patterns": [ + { + "begin": "(?i)((@)tailwind)(?=\\s|/\\*|$)", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.tailwind.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": ";", + "endCaptures": { + "0": { + "name": "punctuation.terminator.tailwind.tailwind" + } + }, + "name": "meta.at-rule.tailwind.css", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "include": "source.css#escapes" + }, + { + "match": "[^\\s;]+?", + "name": "variable.parameter.tailwind.tailwind" + } + ] + }, + { + "begin": "(?i)((@)screen)(?=[\\s{]|/\\*|$)", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.screen.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "(?<=})(?!\\G)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "match": "[^\\s{]+?", + "name": "variable.parameter.screen.tailwind" + }, + { + "begin": "{", + "beginCaptures": { + "0": { + "name": "punctuation.section.screen.begin.bracket.curly.tailwind" + } + }, + "end": "}", + "endCaptures": { + "0": { + "name": "punctuation.section.screen.end.bracket.curly.tailwind" + } + }, + "name": "meta.at-rule.screen.body.tailwind", + "patterns": [ + { + "include": "source.css" + } + ] + } + ] + }, + { + "begin": "(?i)((@)layer)(?=[\\s{]|/\\*|$)", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.layer.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "(?<=})(?!\\G)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "match": "[^\\s{]+?", + "name": "variable.parameter.layer.tailwind" + }, + { + "begin": "{", + "beginCaptures": { + "0": { + "name": "punctuation.section.layer.begin.bracket.curly.tailwind" + } + }, + "end": "}", + "endCaptures": { + "0": { + "name": "punctuation.section.layer.end.bracket.curly.tailwind" + } + }, + "name": "meta.at-rule.layer.body.tailwind", + "patterns": [ + { + "include": "source.css" + } + ] + } + ] + }, + { + "begin": "(?i)((@)variants)(?=[\\s{]|/\\*|$)", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.variants.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "(?<=})(?!\\G)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "include": "source.css#commas" + }, + { + "match": "[^\\s{,]+?", + "name": "variable.parameter.variants.tailwind" + }, + { + "begin": "{", + "beginCaptures": { + "0": { + "name": "punctuation.section.variants.begin.bracket.curly.tailwind" + } + }, + "end": "}", + "endCaptures": { + "0": { + "name": "punctuation.section.variants.end.bracket.curly.tailwind" + } + }, + "name": "meta.at-rule.variants.body.tailwind", + "patterns": [ + { + "include": "source.css" + } + ] + } + ] + }, + { + "begin": "(?i)((@)responsive)(?=[\\s{]|/\\*|$)", + "beginCaptures": { + "1": { + "name": "keyword.control.at-rule.responsive.tailwind" + }, + "2": { + "name": "punctuation.definition.keyword.css" + } + }, + "end": "(?<=})(?!\\G)", + "patterns": [ + { + "include": "source.css#comment-block" + }, + { + "begin": "{", + "beginCaptures": { + "0": { + "name": "punctuation.section.responsive.begin.bracket.curly.tailwind" + } + }, + "end": "}", + "endCaptures": { + "0": { + "name": "punctuation.section.responsive.end.bracket.curly.tailwind" + } + }, + "name": "meta.at-rule.responsive.body.tailwind", + "patterns": [ + { + "include": "source.css" + } + ] + } + ] + } + ] +} diff --git a/packages/vscode-tailwindcss/syntaxes/screen-fn.tmLanguage.json b/packages/vscode-tailwindcss/syntaxes/screen-fn.tmLanguage.json new file mode 100644 index 0000000..bf2f929 --- /dev/null +++ b/packages/vscode-tailwindcss/syntaxes/screen-fn.tmLanguage.json @@ -0,0 +1,37 @@ +{ + "scopeName": "tailwindcss.screen-fn.injection", + "fileTypes": [], + "injectionSelector": "L:meta.property-value.css -comment, meta.at-rule.media.header.css -comment", + "name": "TailwindCSS", + "patterns": [ + { + "begin": "(?i)(?;+~|] # - Another selector\n | /\\* # - A block comment\n)", - "name": "entity.other.attribute-name.class.tailwind" - } - ] - } - ] - }, - { - "begin": "(?i)(?