@@ -10,7 +10,7 @@ import SwiftSyntax
10
10
import SwiftSyntaxMacros
11
11
12
12
extension CSSStyle {
13
- public enum Color : HTMLInitializable {
13
+ public enum Color : HTMLParsable {
14
14
case currentColor
15
15
case hex( String )
16
16
case hsl( SFloat , SFloat , SFloat , SFloat ? = nil )
@@ -90,7 +90,7 @@ extension CSSStyle {
90
90
case lemonChiffon
91
91
case lightBlue
92
92
case lightCoral
93
- case lighCyan
93
+ case lightCyan
94
94
case lightGoldenRodYellow
95
95
case lightGray, lightGrey
96
96
case lightGreen
@@ -167,12 +167,170 @@ extension CSSStyle {
167
167
case yellow
168
168
case yellowGreen
169
169
170
- public init ? ( context: some MacroExpansionContext , isUnchecked: Bool , key: String , arguments: LabeledExprListSyntax ) {
171
- return nil
170
+ // MARK: init
171
+ public init ? ( context: HTMLExpansionContext ) {
172
+ switch context. key {
173
+ case " currentColor " : self = . currentColor
174
+ case " inherit " : self = . inherit
175
+ case " initial " : self = . initial
176
+ case " transparent " : self = . transparent
177
+
178
+ case " aliceBlue " : self = . aliceBlue
179
+ case " antiqueWhite " : self = . antiqueWhite
180
+ case " aqua " : self = . aqua
181
+ case " aquamarine " : self = . aquamarine
182
+ case " azure " : self = . azure
183
+ case " beige " : self = . beige
184
+ case " bisque " : self = . bisque
185
+ case " black " : self = . black
186
+ case " blanchedAlmond " : self = . blanchedAlmond
187
+ case " blue " : self = . blue
188
+ case " blueViolet " : self = . blueViolet
189
+ case " brown " : self = . brown
190
+ case " burlyWood " : self = . burlyWood
191
+ case " cadetBlue " : self = . cadetBlue
192
+ case " chartreuse " : self = . chartreuse
193
+ case " chocolate " : self = . chocolate
194
+ case " coral " : self = . coral
195
+ case " cornflowerBlue " : self = . cornflowerBlue
196
+ case " cornsilk " : self = . cornsilk
197
+ case " crimson " : self = . crimson
198
+ case " cyan " : self = . cyan
199
+ case " darkBlue " : self = . darkBlue
200
+ case " darkCyan " : self = . darkCyan
201
+ case " darkGoldenRod " : self = . darkGoldenRod
202
+ case " darkGray " : self = . darkGray
203
+ case " darkGrey " : self = . darkGrey
204
+ case " darkGreen " : self = . darkGreen
205
+ case " darkKhaki " : self = . darkKhaki
206
+ case " darkMagenta " : self = . darkMagenta
207
+ case " darkOliveGreen " : self = . darkOliveGreen
208
+ case " darkOrange " : self = . darkOrange
209
+ case " darkOrchid " : self = . darkOrchid
210
+ case " darkRed " : self = . darkRed
211
+ case " darkSalmon " : self = . darkSalmon
212
+ case " darkSeaGreen " : self = . darkSeaGreen
213
+ case " darkSlateBlue " : self = . darkSlateBlue
214
+ case " darkSlateGray " : self = . darkSlateGray
215
+ case " darkSlateGrey " : self = . darkSlateGrey
216
+ case " darkTurquoise " : self = . darkTurquoise
217
+ case " darkViolet " : self = . darkViolet
218
+ case " deepPink " : self = . deepPink
219
+ case " deepSkyBlue " : self = . deepSkyBlue
220
+ case " dimGray " : self = . dimGray
221
+ case " dimGrey " : self = . dimGrey
222
+ case " dodgerBlue " : self = . dodgerBlue
223
+ case " fireBrick " : self = . fireBrick
224
+ case " floralWhite " : self = . floralWhite
225
+ case " forestGreen " : self = . forestGreen
226
+ case " fuchsia " : self = . fuchsia
227
+ case " gainsboro " : self = . gainsboro
228
+ case " ghostWhite " : self = . ghostWhite
229
+ case " gold " : self = . gold
230
+ case " goldenRod " : self = . goldenRod
231
+ case " gray " : self = . gray
232
+ case " grey " : self = . grey
233
+ case " green " : self = . green
234
+ case " greenYellow " : self = . greenYellow
235
+ case " honeyDew " : self = . honeyDew
236
+ case " hotPink " : self = . hotPink
237
+ case " indianRed " : self = . indianRed
238
+ case " indigo " : self = . indigo
239
+ case " ivory " : self = . ivory
240
+ case " khaki " : self = . khaki
241
+ case " lavender " : self = . lavender
242
+ case " lavenderBlush " : self = . lavenderBlush
243
+ case " lawnGreen " : self = . lawnGreen
244
+ case " lemonChiffon " : self = . lemonChiffon
245
+ case " lightBlue " : self = . lightBlue
246
+ case " lightCoral " : self = . lightCoral
247
+ case " lightCyan " : self = . lightCyan
248
+ case " lightGoldenRodYellow " : self = . lightGoldenRodYellow
249
+ case " lightGray " : self = . lightGray
250
+ case " lightGrey " : self = . lightGrey
251
+ case " lightGreen " : self = . lightGreen
252
+ case " lightPink " : self = . lightPink
253
+ case " lightSalmon " : self = . lightSalmon
254
+ case " lightSeaGreen " : self = . lightSeaGreen
255
+ case " lightSkyBlue " : self = . lightSkyBlue
256
+ case " lightSlateGray " : self = . lightSlateGray
257
+ case " lightSlateGrey " : self = . lightSlateGrey
258
+ case " lightSteelBlue " : self = . lightSteelBlue
259
+ case " lightYellow " : self = . lightYellow
260
+ case " lime " : self = . lime
261
+ case " limeGreen " : self = . limeGreen
262
+ case " linen " : self = . linen
263
+ case " magenta " : self = . magenta
264
+ case " maroon " : self = . maroon
265
+ case " mediumAquaMarine " : self = . mediumAquaMarine
266
+ case " mediumBlue " : self = . mediumBlue
267
+ case " mediumOrchid " : self = . mediumOrchid
268
+ case " mediumPurple " : self = . mediumPurple
269
+ case " mediumSeaGreen " : self = . mediumSeaGreen
270
+ case " mediumSlateBlue " : self = . mediumSlateBlue
271
+ case " mediumSpringGreen " : self = . mediumSpringGreen
272
+ case " mediumTurquoise " : self = . mediumTurquoise
273
+ case " mediumVioletRed " : self = . mediumVioletRed
274
+ case " midnightBlue " : self = . midnightBlue
275
+ case " mintCream " : self = . mintCream
276
+ case " mistyRose " : self = . mistyRose
277
+ case " moccasin " : self = . moccasin
278
+ case " navajoWhite " : self = . navajoWhite
279
+ case " navy " : self = . navy
280
+ case " oldLace " : self = . oldLace
281
+ case " olive " : self = . olive
282
+ case " oliveDrab " : self = . oliveDrab
283
+ case " orange " : self = . orange
284
+ case " orangeRed " : self = . orangeRed
285
+ case " orchid " : self = . orchid
286
+ case " paleGoldenRod " : self = . paleGoldenRod
287
+ case " paleGreen " : self = . paleGreen
288
+ case " paleTurquoise " : self = . paleTurquoise
289
+ case " paleVioletRed " : self = . paleVioletRed
290
+ case " papayaWhip " : self = . papayaWhip
291
+ case " peachPuff " : self = . peachPuff
292
+ case " peru " : self = . peru
293
+ case " pink " : self = . pink
294
+ case " plum " : self = . plum
295
+ case " powderBlue " : self = . powderBlue
296
+ case " purple " : self = . purple
297
+ case " rebeccaPurple " : self = . rebeccaPurple
298
+ case " red " : self = . red
299
+ case " rosyBrown " : self = . rosyBrown
300
+ case " royalBlue " : self = . royalBlue
301
+ case " saddleBrown " : self = . saddleBrown
302
+ case " salmon " : self = . salmon
303
+ case " sandyBrown " : self = . sandyBrown
304
+ case " seaGreen " : self = . seaGreen
305
+ case " seaShell " : self = . seaShell
306
+ case " sienna " : self = . sienna
307
+ case " silver " : self = . silver
308
+ case " skyBlue " : self = . skyBlue
309
+ case " slateBlue " : self = . slateBlue
310
+ case " slateGray " : self = . slateGray
311
+ case " slateGrey " : self = . slateGrey
312
+ case " snow " : self = . snow
313
+ case " springGreen " : self = . springGreen
314
+ case " steelBlue " : self = . steelBlue
315
+ case " tan " : self = . tan
316
+ case " teal " : self = . teal
317
+ case " thistle " : self = . thistle
318
+ case " tomato " : self = . tomato
319
+ case " turquoise " : self = . turquoise
320
+ case " violet " : self = . violet
321
+ case " wheat " : self = . wheat
322
+ case " white " : self = . white
323
+ case " whiteSmoke " : self = . whiteSmoke
324
+ case " yellow " : self = . yellow
325
+ case " yellowGreen " : self = . yellowGreen
326
+ default : return nil
327
+ }
172
328
}
173
329
330
+ /// - Warning: Never use.
174
331
public var key : String { " " }
175
332
333
+ // MARK: HTML value
176
334
@inlinable
177
335
public func htmlValue( encoding: HTMLEncoding , forMacro: Bool ) -> String ? {
178
336
switch self {
0 commit comments