Skip to content

Commit 828e8e0

Browse files
Fix at-rule syntax highlighting in @utility (#1501)
Fixes #1500 Before: <img width="341" height="515" alt="Screenshot 2025-11-26 at 07 33 54" src="https://github.com/user-attachments/assets/167e2e6d-f73f-4875-8545-57298f135ab4" /> After: <img width="305" height="504" alt="Screenshot 2025-11-26 at 07 34 05" src="https://github.com/user-attachments/assets/1d7fb149-51d5-4aa1-abde-905cb814870a" />
1 parent 072a6c9 commit 828e8e0

File tree

3 files changed

+58
-1
lines changed

3 files changed

+58
-1
lines changed

packages/tailwindcss-language-syntax/tests/__snapshots__/syntax.test.ts.snap

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,53 @@ exports[`@utility 1`] = `
11031103
11041104
}
11051105
^ 1: source.css.tailwind meta.at-rule.utility.body.tailwind punctuation.section.utility.end.bracket.curly.tailwind
1106+
1107+
1108+
^ 1: source.css.tailwind
1109+
1110+
@utility foo {
1111+
^^^^^^^^^^^^^^ 6: source.css.tailwind
1112+
^^^^^^^^ 2: keyword.control.at-rule.utility.tailwind
1113+
^ 1: punctuation.definition.keyword.css
1114+
^^^ 1: variable.parameter.utility.tailwind
1115+
^ 1: meta.at-rule.utility.body.tailwind punctuation.section.utility.begin.bracket.curly.tailwind
1116+
1117+
@apply flex;
1118+
^^^^^^^^^^^^^^ 5: source.css.tailwind meta.at-rule.utility.body.tailwind
1119+
^^^^^^^^^^^^ 4: meta.at-rule.header.css
1120+
^^^^^^ 2: keyword.control.at-rule.css
1121+
^ 1: punctuation.definition.keyword.css
1122+
^ 1: punctuation.terminator.rule.css
1123+
1124+
}
1125+
^ 1: source.css.tailwind meta.at-rule.utility.body.tailwind punctuation.section.utility.end.bracket.curly.tailwind
1126+
1127+
1128+
^ 1: source.css.tailwind
1129+
1130+
@utility foo {
1131+
^^^^^^^^^^^^^^ 6: source.css.tailwind
1132+
^^^^^^^^ 2: keyword.control.at-rule.utility.tailwind
1133+
^ 1: punctuation.definition.keyword.css
1134+
^^^ 1: variable.parameter.utility.tailwind
1135+
^ 1: meta.at-rule.utility.body.tailwind punctuation.section.utility.begin.bracket.curly.tailwind
1136+
1137+
& {
1138+
^^^^^^ 1: source.css.tailwind meta.at-rule.utility.body.tailwind
1139+
1140+
color: red;
1141+
^^^^^^^^^^^^^^^ 6: source.css.tailwind meta.at-rule.utility.body.tailwind
1142+
^^^^^ 1: meta.property-name.css support.type.property-name.css
1143+
^ 1: punctuation.separator.key-value.css
1144+
^^^ 1: meta.property-value.css support.constant.color.w3c-standard-color-name.css
1145+
^ 1: punctuation.terminator.rule.css
1146+
1147+
}
1148+
^^^ 2: source.css.tailwind meta.at-rule.utility.body.tailwind
1149+
^ 1: punctuation.section.utility.end.bracket.curly.tailwind
1150+
1151+
}
1152+
^^ 1: source.css.tailwind
11061153
"
11071154
`;
11081155

packages/tailwindcss-language-syntax/tests/syntax.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,16 @@ test('@utility', async ({ expect }) => {
196196
tab-size: --value(--tab-size-*);
197197
font-size: 12px;
198198
}
199+
200+
@utility foo {
201+
@apply flex;
202+
}
203+
204+
@utility foo {
205+
& {
206+
color: red;
207+
}
208+
}
199209
`)
200210

201211
expect(result.toString()).toMatchSnapshot()

packages/vscode-tailwindcss/syntaxes/at-rules.tmLanguage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@
389389
"name": "meta.at-rule.utility.body.tailwind",
390390
"patterns": [
391391
{
392-
"include": "source.css#rule-list-innards"
392+
"include": "#property-list"
393393
}
394394
]
395395
}

0 commit comments

Comments
 (0)