brand-intent 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -3
- package/parser/brandParser.ts +125 -1
- package/parser/colorSystem.ts +2 -1
- package/parser/icons.ts +140 -0
- package/parser/index.ts +5 -2
- package/parser/purposeParser.ts +52 -26
- package/vscode-extension/syntaxes/brand.tmLanguage.json +454 -0
- package/vscode-extension/syntaxes/composition.tmLanguage.json +242 -0
- package/vscode-extension/syntaxes/format.tmLanguage.json +103 -0
- package/vscode-extension/syntaxes/identity.tmLanguage.json +83 -0
- package/vscode-extension/syntaxes/purpose.tmLanguage.json +251 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scopeName": "source.brand-intent-composition",
|
|
3
|
+
"name": "Brand Intent Composition",
|
|
4
|
+
"patterns": [
|
|
5
|
+
{ "include": "#comment" },
|
|
6
|
+
{ "include": "#id-field" },
|
|
7
|
+
{ "include": "#name-field" },
|
|
8
|
+
{ "include": "#image" },
|
|
9
|
+
{ "include": "#grid" },
|
|
10
|
+
{ "include": "#logo-none" },
|
|
11
|
+
{ "include": "#logo-keyword" },
|
|
12
|
+
{ "include": "#logo-row" },
|
|
13
|
+
{ "include": "#icon-keyword" },
|
|
14
|
+
{ "include": "#icon-row" },
|
|
15
|
+
{ "include": "#illustration" },
|
|
16
|
+
{ "include": "#mode" },
|
|
17
|
+
{ "include": "#flow" },
|
|
18
|
+
{ "include": "#flow-panel" },
|
|
19
|
+
{ "include": "#flow-split" },
|
|
20
|
+
{ "include": "#sticky" },
|
|
21
|
+
{ "include": "#flow-property" },
|
|
22
|
+
{ "include": "#spacer" },
|
|
23
|
+
{ "include": "#divider" },
|
|
24
|
+
{ "include": "#flow-icon" },
|
|
25
|
+
{ "include": "#sticky-logo" },
|
|
26
|
+
{ "include": "#grouped-slot" },
|
|
27
|
+
{ "include": "#slot-row" },
|
|
28
|
+
{ "include": "#keyword-partial" }
|
|
29
|
+
],
|
|
30
|
+
"repository": {
|
|
31
|
+
"comment": {
|
|
32
|
+
"match": "^\\s*#.*$",
|
|
33
|
+
"name": "comment.line.number-sign.brand-intent-composition"
|
|
34
|
+
},
|
|
35
|
+
"id-field": {
|
|
36
|
+
"match": "^(id:)\\s+(.*)",
|
|
37
|
+
"captures": {
|
|
38
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
39
|
+
"2": { "name": "entity.name.type.brand-intent-composition" }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"name-field": {
|
|
43
|
+
"match": "^(name:)\\s+(.*)",
|
|
44
|
+
"captures": {
|
|
45
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
46
|
+
"2": { "name": "string.unquoted.brand-intent-composition" }
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"image": {
|
|
50
|
+
"match": "^(image:)\\s+(full|none|\\w+--\\w+(?:\\s+cols\\s+\\S+)?)",
|
|
51
|
+
"captures": {
|
|
52
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
53
|
+
"2": { "name": "string.unquoted.brand-intent-composition" }
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"grid": {
|
|
57
|
+
"match": "^(grid:)\\s+(\\d+)\\s+(\\d+)",
|
|
58
|
+
"captures": {
|
|
59
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
60
|
+
"2": { "name": "constant.numeric.brand-intent-composition" },
|
|
61
|
+
"3": { "name": "constant.numeric.brand-intent-composition" }
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"logo-none": {
|
|
65
|
+
"match": "^(logo:)\\s+(none)",
|
|
66
|
+
"captures": {
|
|
67
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
68
|
+
"2": { "name": "string.unquoted.brand-intent-composition" }
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"logo-keyword": {
|
|
72
|
+
"match": "^(logo:)\\s+(top|center|bottom)\\s+(?:col\\s+)?(left|center|right)(?:\\s+(s|m|l))?",
|
|
73
|
+
"captures": {
|
|
74
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
75
|
+
"2": { "name": "constant.numeric.row.brand-intent-composition" },
|
|
76
|
+
"3": { "name": "variable.parameter.brand-intent-composition" },
|
|
77
|
+
"4": { "name": "constant.numeric.brand-intent-composition" }
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"logo-row": {
|
|
81
|
+
"match": "^(logo:)\\s+(row)\\s+(\\d+)\\s+(?:col\\s+)?(left|center|right)(?:\\s+(s|m|l))?",
|
|
82
|
+
"captures": {
|
|
83
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
84
|
+
"2": { "name": "keyword.other.brand-intent-composition" },
|
|
85
|
+
"3": { "name": "constant.numeric.row.brand-intent-composition" },
|
|
86
|
+
"4": { "name": "variable.parameter.brand-intent-composition" },
|
|
87
|
+
"5": { "name": "constant.numeric.brand-intent-composition" }
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"icon-keyword": {
|
|
91
|
+
"match": "^(icon:)\\s+(top|center|bottom)\\s+(?:col\\s+)?(left|center|right)(?:\\s+(s|m|l))?",
|
|
92
|
+
"captures": {
|
|
93
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
94
|
+
"2": { "name": "constant.numeric.row.brand-intent-composition" },
|
|
95
|
+
"3": { "name": "variable.parameter.brand-intent-composition" },
|
|
96
|
+
"4": { "name": "constant.numeric.brand-intent-composition" }
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"icon-row": {
|
|
100
|
+
"match": "^(icon:)\\s+(row)\\s+(\\d+)\\s+(?:col\\s+)?(left|center|right)(?:\\s+(s|m|l))?",
|
|
101
|
+
"captures": {
|
|
102
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
103
|
+
"2": { "name": "keyword.other.brand-intent-composition" },
|
|
104
|
+
"3": { "name": "constant.numeric.row.brand-intent-composition" },
|
|
105
|
+
"4": { "name": "variable.parameter.brand-intent-composition" },
|
|
106
|
+
"5": { "name": "constant.numeric.brand-intent-composition" }
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"illustration": {
|
|
110
|
+
"match": "^(illustration:)\\s+(top-left|top-center|top-right|center-left|center|center-right|bottom-left|bottom-center|bottom-right)\\s+(fit-width|fit-height)\\s+(\\d+(?:\\.\\d+)?)(%)(?:\\s+(offset)\\s+(-?\\d+(?:\\.\\d+)?)(?:\\s+(-?\\d+(?:\\.\\d+)?))?)?",
|
|
111
|
+
"captures": {
|
|
112
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
113
|
+
"2": { "name": "variable.parameter.brand-intent-composition" },
|
|
114
|
+
"3": { "name": "variable.parameter.brand-intent-composition" },
|
|
115
|
+
"4": { "name": "constant.numeric.brand-intent-composition" },
|
|
116
|
+
"5": { "name": "keyword.operator.brand-intent-composition" },
|
|
117
|
+
"6": { "name": "keyword.control.brand-intent-composition" },
|
|
118
|
+
"7": { "name": "constant.numeric.brand-intent-composition" },
|
|
119
|
+
"8": { "name": "constant.numeric.brand-intent-composition" }
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"mode": {
|
|
123
|
+
"match": "^(mode:)\\s+(grid|flow)",
|
|
124
|
+
"captures": {
|
|
125
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
126
|
+
"2": { "name": "constant.language.brand-intent-composition" }
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"flow": {
|
|
130
|
+
"match": "^(flow:)\\s*$",
|
|
131
|
+
"captures": {
|
|
132
|
+
"1": { "name": "keyword.control.brand-intent-composition" }
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"flow-panel": {
|
|
136
|
+
"match": "^(flow:)\\s+(panel)\\s+(\\S+)(?:\\s+(\\d+/\\d+))?(?:\\s+(\\d+/\\d+))?",
|
|
137
|
+
"captures": {
|
|
138
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
139
|
+
"2": { "name": "entity.name.tag.brand-intent-composition" },
|
|
140
|
+
"3": { "name": "variable.parameter.brand-intent-composition" },
|
|
141
|
+
"4": { "name": "constant.numeric.brand-intent-composition" },
|
|
142
|
+
"5": { "name": "constant.numeric.brand-intent-composition" }
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"flow-split": {
|
|
146
|
+
"match": "^(flow:)\\s+(split)\\s+(top|bottom|left|right)(?:\\s+(\\d+/\\d+))?",
|
|
147
|
+
"captures": {
|
|
148
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
149
|
+
"2": { "name": "entity.name.tag.brand-intent-composition" },
|
|
150
|
+
"3": { "name": "variable.parameter.brand-intent-composition" },
|
|
151
|
+
"4": { "name": "constant.numeric.brand-intent-composition" }
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"sticky": {
|
|
155
|
+
"match": "^(sticky:)\\s+(top|bottom|left|right)(?:\\s+(s|m|l))?",
|
|
156
|
+
"captures": {
|
|
157
|
+
"1": { "name": "keyword.control.brand-intent-composition" },
|
|
158
|
+
"2": { "name": "variable.parameter.brand-intent-composition" },
|
|
159
|
+
"3": { "name": "constant.numeric.brand-intent-composition" }
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"flow-property": {
|
|
163
|
+
"match": "^\\s+(direction|columns|column-gap)(:)\\s+(.*)",
|
|
164
|
+
"captures": {
|
|
165
|
+
"1": { "name": "support.type.property-name.brand-intent-composition" },
|
|
166
|
+
"2": { "name": "punctuation.separator.brand-intent-composition" },
|
|
167
|
+
"3": { "name": "constant.numeric.brand-intent-composition" }
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"spacer": {
|
|
171
|
+
"match": "^\\s+\\|\\s+(spacer-)(\\w+)",
|
|
172
|
+
"captures": {
|
|
173
|
+
"1": { "name": "support.type.brand-intent-composition" },
|
|
174
|
+
"2": { "name": "constant.numeric.brand-intent-composition" }
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"divider": {
|
|
178
|
+
"match": "^\\s+\\|\\s+(divider-)(ruler|hairline)",
|
|
179
|
+
"captures": {
|
|
180
|
+
"1": { "name": "support.type.brand-intent-composition" },
|
|
181
|
+
"2": { "name": "entity.name.tag.brand-intent-composition" }
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"flow-icon": {
|
|
185
|
+
"match": "^\\s+\\|\\s+(icon)\\s+(left|center|right)(?:\\s+(s|m|l))?",
|
|
186
|
+
"captures": {
|
|
187
|
+
"1": { "name": "keyword.other.brand-intent-composition" },
|
|
188
|
+
"2": { "name": "variable.parameter.brand-intent-composition" },
|
|
189
|
+
"3": { "name": "constant.numeric.brand-intent-composition" }
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"sticky-logo": {
|
|
193
|
+
"match": "^\\s+\\|\\s+(logo)\\s+(left|center|right)(?:\\s+(s|m|l))?",
|
|
194
|
+
"captures": {
|
|
195
|
+
"1": { "name": "keyword.other.brand-intent-composition" },
|
|
196
|
+
"2": { "name": "variable.parameter.brand-intent-composition" },
|
|
197
|
+
"3": { "name": "constant.numeric.brand-intent-composition" }
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"grouped-slot": {
|
|
201
|
+
"match": "^\\s+\\|\\s+(primary|secondary|detail|meta|cta|label)(?:\\s+(cols)\\s+(\\S+))?\\s+(left|center|right)(?:\\s+(top|center|bottom))?(?:\\s+(columns:\\d+))?(?:\\s+(gap:\\w+))?",
|
|
202
|
+
"captures": {
|
|
203
|
+
"1": { "name": "entity.name.tag.brand-intent-composition" },
|
|
204
|
+
"2": { "name": "keyword.other.brand-intent-composition" },
|
|
205
|
+
"3": { "name": "constant.numeric.brand-intent-composition" },
|
|
206
|
+
"4": { "name": "support.constant.brand-intent-composition" },
|
|
207
|
+
"5": { "name": "support.constant.brand-intent-composition" },
|
|
208
|
+
"6": { "name": "variable.parameter.brand-intent-composition" },
|
|
209
|
+
"7": { "name": "variable.parameter.brand-intent-composition" }
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"slot-row": {
|
|
213
|
+
"match": "^(primary|secondary|detail|meta|cta|label)\\s+(?:(row)\\s+)?(\\d+|top|center|bottom)\\s+(cols)\\s+(\\S+)\\s+(left|center|right)(?:\\s+(top|center|bottom))?",
|
|
214
|
+
"captures": {
|
|
215
|
+
"1": { "name": "entity.name.tag.brand-intent-composition" },
|
|
216
|
+
"2": { "name": "keyword.other.brand-intent-composition" },
|
|
217
|
+
"3": { "name": "constant.numeric.row.brand-intent-composition" },
|
|
218
|
+
"4": { "name": "keyword.other.brand-intent-composition" },
|
|
219
|
+
"5": { "name": "constant.numeric.brand-intent-composition" },
|
|
220
|
+
"6": { "name": "support.constant.brand-intent-composition" },
|
|
221
|
+
"7": { "name": "support.constant.brand-intent-composition" }
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"keyword-partial": {
|
|
225
|
+
"comment": "Fallback: color the keyword token on incomplete lines (while typing)",
|
|
226
|
+
"patterns": [
|
|
227
|
+
{
|
|
228
|
+
"match": "^(id:|name:|image:|grid:|logo:|icon:|illustration:|mode:|flow:|sticky:|primary|secondary|detail|meta|cta|label)(?=\\s|$)",
|
|
229
|
+
"captures": {
|
|
230
|
+
"1": { "name": "keyword.control.brand-intent-composition" }
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"match": "^\\s+\\|\\s+(spacer-|divider-|primary|secondary|detail|meta|cta|label)(?=\\s|$)",
|
|
235
|
+
"captures": {
|
|
236
|
+
"1": { "name": "support.type.brand-intent-composition" }
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
]
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scopeName": "source.brand-intent-format",
|
|
3
|
+
"name": "Brand Intent Format",
|
|
4
|
+
"patterns": [
|
|
5
|
+
{ "include": "#comment" },
|
|
6
|
+
{ "include": "#id-field" },
|
|
7
|
+
{ "include": "#name-field" },
|
|
8
|
+
{ "include": "#category" },
|
|
9
|
+
{ "include": "#no" },
|
|
10
|
+
{ "include": "#purposes" },
|
|
11
|
+
{ "include": "#size" },
|
|
12
|
+
{ "include": "#grid" },
|
|
13
|
+
{ "include": "#numeric-field" },
|
|
14
|
+
{ "include": "#insets" },
|
|
15
|
+
{ "include": "#string-field" },
|
|
16
|
+
{ "include": "#keyword-partial" }
|
|
17
|
+
],
|
|
18
|
+
"repository": {
|
|
19
|
+
"comment": {
|
|
20
|
+
"match": "^\\s*#.*$",
|
|
21
|
+
"name": "comment.line.number-sign.brand-intent-format"
|
|
22
|
+
},
|
|
23
|
+
"id-field": {
|
|
24
|
+
"match": "^(id:)\\s+(.*)",
|
|
25
|
+
"captures": {
|
|
26
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
27
|
+
"2": { "name": "entity.name.type.brand-intent-format" }
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"name-field": {
|
|
31
|
+
"match": "^(name:)\\s+(.*)",
|
|
32
|
+
"captures": {
|
|
33
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
34
|
+
"2": { "name": "string.unquoted.brand-intent-format" }
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"category": {
|
|
38
|
+
"match": "^(category:)\\s+(instagram|linkedin|print|signage)",
|
|
39
|
+
"captures": {
|
|
40
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
41
|
+
"2": { "name": "entity.name.tag.brand-intent-format" }
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"no": {
|
|
45
|
+
"match": "^(no:)\\s+(.*)",
|
|
46
|
+
"captures": {
|
|
47
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
48
|
+
"2": { "name": "string.unquoted.brand-intent-format" }
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"purposes": {
|
|
52
|
+
"match": "^(purposes:)\\s+(.*)",
|
|
53
|
+
"captures": {
|
|
54
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
55
|
+
"2": { "name": "string.unquoted.brand-intent-format" }
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"size": {
|
|
59
|
+
"match": "^(size:)\\s+(\\S+)\\s+(\\S+)",
|
|
60
|
+
"captures": {
|
|
61
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
62
|
+
"2": { "name": "constant.numeric.brand-intent-format" },
|
|
63
|
+
"3": { "name": "constant.numeric.brand-intent-format" }
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"grid": {
|
|
67
|
+
"match": "^(grid:)\\s+(\\d+)\\s+(\\d+)",
|
|
68
|
+
"captures": {
|
|
69
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
70
|
+
"2": { "name": "constant.numeric.brand-intent-format" },
|
|
71
|
+
"3": { "name": "constant.numeric.brand-intent-format" }
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"numeric-field": {
|
|
75
|
+
"match": "^(dpi|bleed|comfort):\\s*(.+)",
|
|
76
|
+
"captures": {
|
|
77
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
78
|
+
"2": { "name": "constant.numeric.brand-intent-format" }
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"insets": {
|
|
82
|
+
"match": "^(danger:|crop:)\\s+(.*)",
|
|
83
|
+
"captures": {
|
|
84
|
+
"1": { "name": "keyword.control.brand-intent-format" },
|
|
85
|
+
"2": { "name": "constant.numeric.brand-intent-format" }
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"string-field": {
|
|
89
|
+
"match": "^(label|sublabel):\\s*(.+)",
|
|
90
|
+
"captures": {
|
|
91
|
+
"1": { "name": "support.type.property-name.brand-intent-format" },
|
|
92
|
+
"2": { "name": "string.unquoted.brand-intent-format" }
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"keyword-partial": {
|
|
96
|
+
"comment": "Fallback: color the keyword token on incomplete lines (while typing)",
|
|
97
|
+
"match": "^(id:|name:|category:|no:|purposes:|size:|grid:|dpi:|bleed:|comfort:|danger:|crop:|label:|sublabel:)(?=\\s|$)",
|
|
98
|
+
"captures": {
|
|
99
|
+
"1": { "name": "keyword.control.brand-intent-format" }
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scopeName": "source.brand-intent-identity",
|
|
3
|
+
"name": "Brand Intent Identity",
|
|
4
|
+
"patterns": [
|
|
5
|
+
{ "include": "#comment" },
|
|
6
|
+
{ "include": "#top-level-keyword" },
|
|
7
|
+
{ "include": "#named-block" },
|
|
8
|
+
{ "include": "#indented-property" },
|
|
9
|
+
{ "include": "#flag" },
|
|
10
|
+
{ "include": "#value-name" },
|
|
11
|
+
{ "include": "#list-item" },
|
|
12
|
+
{ "include": "#continuation-line" }
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"comment": {
|
|
16
|
+
"match": "^\\s*#.*$",
|
|
17
|
+
"name": "comment.line.number-sign.brand-intent-identity"
|
|
18
|
+
},
|
|
19
|
+
"top-level-keyword": {
|
|
20
|
+
"match": "^(essence|promise|tagline|positioning|purpose|mission|vision|archetype)(:)\\s+(.*)",
|
|
21
|
+
"captures": {
|
|
22
|
+
"1": { "name": "keyword.control.brand-intent-identity" },
|
|
23
|
+
"2": { "name": "punctuation.separator.key-value.brand-intent-identity" },
|
|
24
|
+
"3": { "name": "string.unquoted.brand-intent-identity" }
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"named-block": {
|
|
28
|
+
"comment": "Block headers: voice, pillars, values, narrative NAME, audience NAME, anti-audience NAME",
|
|
29
|
+
"patterns": [
|
|
30
|
+
{
|
|
31
|
+
"match": "^(voice|pillars|values)\\s*$",
|
|
32
|
+
"captures": {
|
|
33
|
+
"1": { "name": "keyword.control.brand-intent-identity" }
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"match": "^(narrative|audience|anti-audience)\\s+(\\S.*)",
|
|
38
|
+
"captures": {
|
|
39
|
+
"1": { "name": "keyword.control.brand-intent-identity" },
|
|
40
|
+
"2": { "name": "entity.name.type.brand-intent-identity" }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"indented-property": {
|
|
46
|
+
"match": "^(\\s{2,})(register|persona|rhythm|always|never|primary|secondary|avoid|label|profile|motivation|language|description)(:)\\s+(.*)",
|
|
47
|
+
"captures": {
|
|
48
|
+
"2": { "name": "support.type.property-name.brand-intent-identity" },
|
|
49
|
+
"3": { "name": "punctuation.separator.key-value.brand-intent-identity" },
|
|
50
|
+
"4": { "name": "string.unquoted.brand-intent-identity" }
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"flag": {
|
|
54
|
+
"comment": "Bare flags: primary (presence = true)",
|
|
55
|
+
"match": "^(\\s{2,})(primary)\\s*$",
|
|
56
|
+
"captures": {
|
|
57
|
+
"2": { "name": "constant.language.brand-intent-identity" }
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"value-name": {
|
|
61
|
+
"comment": "Value names inside the values block (2-space indent, no colon)",
|
|
62
|
+
"match": "^(\\s{2})(\\S.*)$",
|
|
63
|
+
"captures": {
|
|
64
|
+
"2": { "name": "entity.name.tag.brand-intent-identity" }
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"list-item": {
|
|
68
|
+
"comment": "List items: - value",
|
|
69
|
+
"match": "^(\\s{2,})(-)\\s+(.*)",
|
|
70
|
+
"captures": {
|
|
71
|
+
"2": { "name": "punctuation.definition.list.brand-intent-identity" },
|
|
72
|
+
"3": { "name": "string.unquoted.brand-intent-identity" }
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"continuation-line": {
|
|
76
|
+
"comment": "Indented continuation lines for multi-line values",
|
|
77
|
+
"match": "^(\\s{4,})(\\S.*)",
|
|
78
|
+
"captures": {
|
|
79
|
+
"2": { "name": "string.unquoted.brand-intent-identity" }
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|