1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
diff --git a/syntaxes/tailwind.tmLanguage.json b/syntaxes/tailwind.tmLanguage.json
new file mode 100644
index 0000000000000000000000000000000000000000..a7adc63420270ec5e150ca74f9b6945b9ea5d9ca
--- /dev/null
+++ b/syntaxes/tailwind.tmLanguage.json
@@ -0,0 +1,75 @@
+{
+ "scopeName": "source.css.tailwind",
+ "fileTypes": [],
+ "injectionSelector": "meta.property-list.css, meta.property-list.scss",
+ "name": "TailwindCSS",
+ "patterns": [
+ {
+ "begin": "^\\s*(@)apply\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "keyword.control.at-rule.apply.tailwind"
+ },
+ "1": {
+ "name": "punctuation.definition.keyword.tailwind"
+ }
+ },
+ "end": ";",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.terminator.rule.tailwind"
+ }
+ },
+ "patterns": [
+ {
+ "begin": "(?x)\n(?=\n (?:\\|)? # Possible anonymous namespace prefix\n (?:\n [-\\[:.*\\#a-zA-Z_] # Valid selector character\n |\n [^\\x00-\\x7F] # Which can include non-ASCII symbols\n |\n \\\\ # Or an escape sequence\n (?:[0-9a-fA-F]{1,6}|.)\n )\n)",
+ "end": "(?=\\s*[;])",
+ "patterns": [
+ {
+ "match": "!\\s*important(?![\\w-])",
+ "name": "keyword.other.important.tailwind"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.tailwind"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "source.css#escapes"
+ }
+ ]
+ }
+ },
+ "match": "(?x)\n(\\.)? # Valid class-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,.\\#)\\[:{>;+~|] # - Another selector\n | /\\* # - A block comment\n)",
+ "name": "entity.other.attribute-name.class.tailwind"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "(?i)(?<![\\w-])(config)(\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.config.tailwind"
+ },
+ "2": {
+ "name": "punctuation.section.function.begin.bracket.round.tailwind"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.section.function.end.bracket.round.tailwind"
+ }
+ },
+ "patterns": [
+ {
+ "include": "source.css#property-values"
+ }
+ ]
+ }
+ ]
+}
|