From 1644a43973e4f0b262fba27bd60a0b5738825b8c Mon Sep 17 00:00:00 2001 From: mhenrixon Date: Sat, 4 Jan 2025 17:22:22 +0200 Subject: [PATCH 1/3] Add support for top-level @utility --- Tailwind CSS.sublime-syntax | 27 +++++++++++++++++++++++++++ tests/syntax_test.tailwind.css | 15 +++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/Tailwind CSS.sublime-syntax b/Tailwind CSS.sublime-syntax index a8ff655..6722319 100644 --- a/Tailwind CSS.sublime-syntax +++ b/Tailwind CSS.sublime-syntax @@ -50,6 +50,7 @@ contexts: - include: tailwind-at-screen - include: tailwind-at-plugin - include: tailwind-at-source + - include: tailwind-at-utility ###[ CSS SELECTORS ]########################################################### @@ -131,6 +132,32 @@ contexts: ###[ TAILWIND TOPLEVEL AT RULES ]############################################## + tailwind-at-utility: + - match: (@)utility{{break}} + captures: + 0: keyword.control.directive.css.tailwind + 1: punctuation.definition.keyword.css.tailwind + push: + - tailwind-at-utility-meta + - maybe-stylesheet-block + - tailwind-at-utility-name + + tailwind-at-utility-meta: + - meta_include_prototype: false + - meta_scope: meta.at-rule.utility.css.tailwind + - include: immediately-pop + + tailwind-at-utility-name: + - meta_include_prototype: false + - match: '{{ident_begin}}' + set: tailwind-at-utility-name-content + - include: comments + - include: else-pop + + tailwind-at-utility-name-content: + - meta_scope: entity.other.utility-name.css.tailwind + - include: identifier-content + # @config "./tailwind.config.js" tailwind-at-config: - match: (@)(?i:config){{break}} diff --git a/tests/syntax_test.tailwind.css b/tests/syntax_test.tailwind.css index a13bac0..d56fa1c 100644 --- a/tests/syntax_test.tailwind.css +++ b/tests/syntax_test.tailwind.css @@ -151,6 +151,21 @@ /* ^ punctuation.section.block.end.css */ } +@utility utility { +/*^^^^^^^^^^^^^^^^ meta.at-rule.utility.css.tailwind */ +/*^^^^^^ keyword.control.directive.css.tailwind */ +/* ^^^^^^^ entity.other.utility-name.css.tailwind */ +/* ^ meta.block.css punctuation.section.block.begin.css */ + @apply mb-4 font-extrabold; +/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.at-rule.utility.css.tailwind meta.block.css */ +/* ^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.at-rule.apply.css.tailwind */ +/* ^^^^^^ keyword.control.directive.apply.css.tailwind */ +/* ^ punctuation.definition.keyword.css.tailwind */ +/* ^^^^^^^^^^^^^^^^^^^ entity.other.attribute-name.class.css */ +/* ^ punctuation.terminator.rule.css */ +} +/* <- meta.at-rule.utility.css.tailwind meta.block.css punctuation.section.block.end.css */ + @variants variant { /* <- meta.at-rule.variants.css.tailwind keyword.control.directive.css.tailwind punctuation.definition.keyword.css.tailwind */ /*^^^^^^^^^^^^^^^^ meta.at-rule.variants.css.tailwind - meta.block */ From 6d27ea68c07e838f5e0829511e3726a25c46be52 Mon Sep 17 00:00:00 2001 From: deathaxe Date: Sat, 4 Jan 2025 18:47:29 +0100 Subject: [PATCH 2/3] Sort at-rule imports --- Tailwind CSS.sublime-syntax | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tailwind CSS.sublime-syntax b/Tailwind CSS.sublime-syntax index 6722319..5507dfb 100644 --- a/Tailwind CSS.sublime-syntax +++ b/Tailwind CSS.sublime-syntax @@ -44,13 +44,13 @@ contexts: - meta_prepend: true - include: tailwind-at-apply - include: tailwind-at-config + - include: tailwind-at-plugin - include: tailwind-at-responsive - - include: tailwind-at-tailwind - - include: tailwind-at-variants - include: tailwind-at-screen - - include: tailwind-at-plugin - include: tailwind-at-source + - include: tailwind-at-tailwind - include: tailwind-at-utility + - include: tailwind-at-variants ###[ CSS SELECTORS ]########################################################### From 6ba343d637912e769ac009eef1b48d9ce44d51d0 Mon Sep 17 00:00:00 2001 From: deathaxe Date: Sat, 4 Jan 2025 18:52:34 +0100 Subject: [PATCH 3/3] Add some symbol definitions --- Symbol List - Utility.tmPreferences | 15 +++++++++++++++ Symbol List - Variants.tmPreferences | 13 +++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 Symbol List - Utility.tmPreferences create mode 100644 Symbol List - Variants.tmPreferences diff --git a/Symbol List - Utility.tmPreferences b/Symbol List - Utility.tmPreferences new file mode 100644 index 0000000..5ea5ee3 --- /dev/null +++ b/Symbol List - Utility.tmPreferences @@ -0,0 +1,15 @@ + + + + + scope + entity.other.utility-name.css.tailwind + settings + + showInSymbolList + 1 + showInIndexedSymbolList + 1 + + + diff --git a/Symbol List - Variants.tmPreferences b/Symbol List - Variants.tmPreferences new file mode 100644 index 0000000..87f3b0d --- /dev/null +++ b/Symbol List - Variants.tmPreferences @@ -0,0 +1,13 @@ + + + + + scope + entity.other.variant-name.css.tailwind + settings + + showInSymbolList + 1 + + +