swc_ecma_lexer/common/lexer/
jsx.rs

1macro_rules! xhtml {
2  (
3      $(
4          $i:ident : $s:expr,
5      )*
6  ) => {
7      pub(super) fn xhtml(s: &str) -> Option<char> {
8          match s{
9              $(stringify!($i) => Some($s),)*
10              _ => None,
11          }
12      }
13  };
14}
15
16xhtml!(
17  quot: '\u{0022}',
18  amp: '&',
19  apos: '\u{0027}',
20  lt: '<',
21  gt: '>',
22  nbsp: '\u{00A0}',
23  iexcl: '\u{00A1}',
24  cent: '\u{00A2}',
25  pound: '\u{00A3}',
26  curren: '\u{00A4}',
27  yen: '\u{00A5}',
28  brvbar: '\u{00A6}',
29  sect: '\u{00A7}',
30  uml: '\u{00A8}',
31  copy: '\u{00A9}',
32  ordf: '\u{00AA}',
33  laquo: '\u{00AB}',
34  not: '\u{00AC}',
35  shy: '\u{00AD}',
36  reg: '\u{00AE}',
37  macr: '\u{00AF}',
38  deg: '\u{00B0}',
39  plusmn: '\u{00B1}',
40  sup2: '\u{00B2}',
41  sup3: '\u{00B3}',
42  acute: '\u{00B4}',
43  micro: '\u{00B5}',
44  para: '\u{00B6}',
45  middot: '\u{00B7}',
46  cedil: '\u{00B8}',
47  sup1: '\u{00B9}',
48  ordm: '\u{00BA}',
49  raquo: '\u{00BB}',
50  frac14: '\u{00BC}',
51  frac12: '\u{00BD}',
52  frac34: '\u{00BE}',
53  iquest: '\u{00BF}',
54  Agrave: '\u{00C0}',
55  Aacute: '\u{00C1}',
56  Acirc: '\u{00C2}',
57  Atilde: '\u{00C3}',
58  Auml: '\u{00C4}',
59  Aring: '\u{00C5}',
60  AElig: '\u{00C6}',
61  Ccedil: '\u{00C7}',
62  Egrave: '\u{00C8}',
63  Eacute: '\u{00C9}',
64  Ecirc: '\u{00CA}',
65  Euml: '\u{00CB}',
66  Igrave: '\u{00CC}',
67  Iacute: '\u{00CD}',
68  Icirc: '\u{00CE}',
69  Iuml: '\u{00CF}',
70  ETH: '\u{00D0}',
71  Ntilde: '\u{00D1}',
72  Ograve: '\u{00D2}',
73  Oacute: '\u{00D3}',
74  Ocirc: '\u{00D4}',
75  Otilde: '\u{00D5}',
76  Ouml: '\u{00D6}',
77  times: '\u{00D7}',
78  Oslash: '\u{00D8}',
79  Ugrave: '\u{00D9}',
80  Uacute: '\u{00DA}',
81  Ucirc: '\u{00DB}',
82  Uuml: '\u{00DC}',
83  Yacute: '\u{00DD}',
84  THORN: '\u{00DE}',
85  szlig: '\u{00DF}',
86  agrave: '\u{00E0}',
87  aacute: '\u{00E1}',
88  acirc: '\u{00E2}',
89  atilde: '\u{00E3}',
90  auml: '\u{00E4}',
91  aring: '\u{00E5}',
92  aelig: '\u{00E6}',
93  ccedil: '\u{00E7}',
94  egrave: '\u{00E8}',
95  eacute: '\u{00E9}',
96  ecirc: '\u{00EA}',
97  euml: '\u{00EB}',
98  igrave: '\u{00EC}',
99  iacute: '\u{00ED}',
100  icirc: '\u{00EE}',
101  iuml: '\u{00EF}',
102  eth: '\u{00F0}',
103  ntilde: '\u{00F1}',
104  ograve: '\u{00F2}',
105  oacute: '\u{00F3}',
106  ocirc: '\u{00F4}',
107  otilde: '\u{00F5}',
108  ouml: '\u{00F6}',
109  divide: '\u{00F7}',
110  oslash: '\u{00F8}',
111  ugrave: '\u{00F9}',
112  uacute: '\u{00FA}',
113  ucirc: '\u{00FB}',
114  uuml: '\u{00FC}',
115  yacute: '\u{00FD}',
116  thorn: '\u{00FE}',
117  yuml: '\u{00FF}',
118  OElig: '\u{0152}',
119  oelig: '\u{0153}',
120  Scaron: '\u{0160}',
121  scaron: '\u{0161}',
122  Yuml: '\u{0178}',
123  fnof: '\u{0192}',
124  circ: '\u{02C6}',
125  tilde: '\u{02DC}',
126  Alpha: '\u{0391}',
127  Beta: '\u{0392}',
128  Gamma: '\u{0393}',
129  Delta: '\u{0394}',
130  Epsilon: '\u{0395}',
131  Zeta: '\u{0396}',
132  Eta: '\u{0397}',
133  Theta: '\u{0398}',
134  Iota: '\u{0399}',
135  Kappa: '\u{039A}',
136  Lambda: '\u{039B}',
137  Mu: '\u{039C}',
138  Nu: '\u{039D}',
139  Xi: '\u{039E}',
140  Omicron: '\u{039F}',
141  Pi: '\u{03A0}',
142  Rho: '\u{03A1}',
143  Sigma: '\u{03A3}',
144  Tau: '\u{03A4}',
145  Upsilon: '\u{03A5}',
146  Phi: '\u{03A6}',
147  Chi: '\u{03A7}',
148  Psi: '\u{03A8}',
149  Omega: '\u{03A9}',
150  alpha: '\u{03B1}',
151  beta: '\u{03B2}',
152  gamma: '\u{03B3}',
153  delta: '\u{03B4}',
154  epsilon: '\u{03B5}',
155  zeta: '\u{03B6}',
156  eta: '\u{03B7}',
157  theta: '\u{03B8}',
158  iota: '\u{03B9}',
159  kappa: '\u{03BA}',
160  lambda: '\u{03BB}',
161  mu: '\u{03BC}',
162  nu: '\u{03BD}',
163  xi: '\u{03BE}',
164  omicron: '\u{03BF}',
165  pi: '\u{03C0}',
166  rho: '\u{03C1}',
167  sigmaf: '\u{03C2}',
168  sigma: '\u{03C3}',
169  tau: '\u{03C4}',
170  upsilon: '\u{03C5}',
171  phi: '\u{03C6}',
172  chi: '\u{03C7}',
173  psi: '\u{03C8}',
174  omega: '\u{03C9}',
175  thetasym: '\u{03D1}',
176  upsih: '\u{03D2}',
177  piv: '\u{03D6}',
178  ensp: '\u{2002}',
179  emsp: '\u{2003}',
180  thinsp: '\u{2009}',
181  zwnj: '\u{200C}',
182  zwj: '\u{200D}',
183  lrm: '\u{200E}',
184  rlm: '\u{200F}',
185  ndash: '\u{2013}',
186  mdash: '\u{2014}',
187  lsquo: '\u{2018}',
188  rsquo: '\u{2019}',
189  sbquo: '\u{201A}',
190  ldquo: '\u{201C}',
191  rdquo: '\u{201D}',
192  bdquo: '\u{201E}',
193  dagger: '\u{2020}',
194  Dagger: '\u{2021}',
195  bull: '\u{2022}',
196  hellip: '\u{2026}',
197  permil: '\u{2030}',
198  prime: '\u{2032}',
199  Prime: '\u{2033}',
200  lsaquo: '\u{2039}',
201  rsaquo: '\u{203A}',
202  oline: '\u{203E}',
203  frasl: '\u{2044}',
204  euro: '\u{20AC}',
205  image: '\u{2111}',
206  weierp: '\u{2118}',
207  real: '\u{211C}',
208  trade: '\u{2122}',
209  alefsym: '\u{2135}',
210  larr: '\u{2190}',
211  uarr: '\u{2191}',
212  rarr: '\u{2192}',
213  darr: '\u{2193}',
214  harr: '\u{2194}',
215  crarr: '\u{21B5}',
216  lArr: '\u{21D0}',
217  uArr: '\u{21D1}',
218  rArr: '\u{21D2}',
219  dArr: '\u{21D3}',
220  hArr: '\u{21D4}',
221  forall: '\u{2200}',
222  part: '\u{2202}',
223  exist: '\u{2203}',
224  empty: '\u{2205}',
225  nabla: '\u{2207}',
226  isin: '\u{2208}',
227  notin: '\u{2209}',
228  ni: '\u{220B}',
229  prod: '\u{220F}',
230  sum: '\u{2211}',
231  minus: '\u{2212}',
232  lowast: '\u{2217}',
233  radic: '\u{221A}',
234  prop: '\u{221D}',
235  infin: '\u{221E}',
236  ang: '\u{2220}',
237  and: '\u{2227}',
238  or: '\u{2228}',
239  cap: '\u{2229}',
240  cup: '\u{222A}',
241  int: '\u{222B}',
242  there4: '\u{2234}',
243  sim: '\u{223C}',
244  cong: '\u{2245}',
245  asymp: '\u{2248}',
246  ne: '\u{2260}',
247  equiv: '\u{2261}',
248  le: '\u{2264}',
249  ge: '\u{2265}',
250  sub: '\u{2282}',
251  sup: '\u{2283}',
252  nsub: '\u{2284}',
253  sube: '\u{2286}',
254  supe: '\u{2287}',
255  oplus: '\u{2295}',
256  otimes: '\u{2297}',
257  perp: '\u{22A5}',
258  sdot: '\u{22C5}',
259  lceil: '\u{2308}',
260  rceil: '\u{2309}',
261  lfloor: '\u{230A}',
262  rfloor: '\u{230B}',
263  lang: '\u{2329}',
264  rang: '\u{232A}',
265  loz: '\u{25CA}',
266  spades: '\u{2660}',
267  clubs: '\u{2663}',
268  hearts: '\u{2665}',
269  diams: '\u{2666}',
270);