1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | let re = {
|
10 | 'colorize': 'C',
|
11 | 'colorhex': '(?:[0-9a-fA-F]{3}){1,2}',
|
12 | 'colorname': '[a-zA-Z]+',
|
13 | 'padding': 'P[0-9]{2}',
|
14 | 'zoom': 'Z(?:[0-9]+(?:\\.[0-9]+)?|x)',
|
15 | 'zoomsym': 'Z[0-9]{2},[0-9]+(?:\\.[0-9]+)?(?:,[0-9]{3}x[0-9]{3})?',
|
16 | 'classbase': '-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}',
|
17 | 'id': '[a-zA-Z][_a-zA-Z0-9-]{0,100}',
|
18 | }
|
19 |
|
20 | re.colorbase = `(?:${re.colorhex}|${re.colorname})`;
|
21 | re.color = `_${re.colorbase}_`;
|
22 | re.colors = `_${re.colorbase}(?:,${re.colorbase})?_`;
|
23 | re.background = `G${re.color}`;
|
24 | re.detail = `D${re.colors}`;
|
25 | re.detailsym = `D[0-9]{2}${re.colors}`;
|
26 | re.classes = `${re.classbase}(?: ${re.classbase})*`;
|
27 | re.full = `-(${re.colorize})?(${re.padding})?(${re.background})?(${re.detail})?(${re.zoom})?(?:-((?:${re.detailsym})*)((?:${re.zoomsym})*))?(?:-(${re.classes})?!(?:(${re.id})!)?)?`;
|
28 |
|
29 | export { re }
|