Skip to content

Commit aa81ea6

Browse files
authored
fix: Update config.json to support type-specific example highlighting (#458)
Update config.json to support type-specific example highlighting
1 parent dd00f74 commit aa81ea6

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

config.json

+20-5
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,50 @@
88
"mainDescription": "bold",
99
"exampleDescription": "",
1010
"exampleCode": "",
11-
"exampleToken": "underline"
11+
"exampleToken": "underline",
12+
"exampleNumber": "yellow, bold",
13+
"exampleString": "green, italic",
14+
"exampleBool": "magenta, bold"
1215
},
1316
"base16": {
1417
"commandName": "bold",
1518
"mainDescription": "",
1619
"exampleDescription": "green",
1720
"exampleCode": "red",
18-
"exampleToken": "cyan"
21+
"exampleToken": "cyan",
22+
"exampleNumber": "yellow, bold",
23+
"exampleString": "green, italic",
24+
"exampleBool": "magenta, bold"
1925
},
2026
"ocean": {
2127
"commandName": "bold, cyan",
2228
"mainDescription": "",
2329
"exampleDescription": "green",
2430
"exampleCode": "cyan",
25-
"exampleToken": "dim"
31+
"exampleToken": "dim",
32+
"exampleNumber": "yellow, bold",
33+
"exampleString": "green, italic",
34+
"exampleBool": "magenta, bold"
2635
},
2736
"inverse": {
2837
"commandName": "bold, inverse",
2938
"mainDescription": "inverse",
3039
"exampleDescription": "black",
3140
"exampleCode": "inverse",
32-
"exampleToken": "green, bgBlack, inverse"
41+
"exampleToken": "green, bgBlack, inverse",
42+
"exampleNumber": "yellow, bold",
43+
"exampleString": "green, italic",
44+
"exampleBool": "magenta, bold"
3345
},
3446
"matrix": {
3547
"commandName": "bold",
3648
"mainDescription": "underline",
3749
"exampleDescription": "green, bgBlack",
3850
"exampleCode": "green, bgBlack",
39-
"exampleToken": "green, bold, bgBlack"
51+
"exampleToken": "green, bold, bgBlack",
52+
"exampleNumber": "yellow, bold",
53+
"exampleString": "green, italic",
54+
"exampleBool": "magenta, bold"
4055
}
4156
},
4257
"theme": "simple"

lib/theme.js

+13-6
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,21 @@ class Theme {
5353
if (!this.hasDistinctStylesForTypes())
5454
return this.getStylingFunction(tokenName)(text);
5555

56+
let baseStyle = this.theme[tokenName] || '';
57+
let typeStyle = '';
58+
5659
if (!Number.isNaN(Number(text)))
57-
tokenName = 'exampleNumber';
58-
if (Number.isNaN(Number(text)))
59-
tokenName = 'exampleString';
60-
if (/true|false/.test(text))
61-
tokenName = 'exampleBool';
60+
typeStyle = this.theme['exampleNumber'];
61+
else if (/true|false/.test(text))
62+
typeStyle = this.theme['exampleBool'];
63+
else
64+
typeStyle = this.theme['exampleString'];
65+
66+
let combinedStyle = baseStyle ?
67+
baseStyle + (typeStyle ? ', ' + typeStyle : '') :
68+
typeStyle;
6269

63-
return this.getStylingFunction(tokenName)(text);
70+
return buildStylingFunction(combinedStyle)(text);
6471
}
6572
}
6673

0 commit comments

Comments
 (0)