Skip to content

Commit 071c3dd

Browse files
committed
Merge branch 'c-fixes' of https://github.com/rygorous/prism into gh-pages
Conflicts: components/prism-c.js components/prism-c.min.js components/prism-clike.js components/prism-clike.min.js + added tests
1 parent 4d64d07 commit 071c3dd

File tree

7 files changed

+42
-5
lines changed

7 files changed

+42
-5
lines changed

components/prism-c.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Prism.languages.c = Prism.languages.extend('clike', {
22
'keyword': /\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,
33
'operator': /\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/,
4-
'number': /\b-?(0x[\da-f]+|\d*\.?\d+(e[+-]?\d+)?)[fFuUlL]*\b/i
4+
'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i
55
});
66

77
Prism.languages.insertBefore('c', 'string', {

components/prism-c.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/prism-clike.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Prism.languages.clike = {
2020
'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
2121
'boolean': /\b(true|false)\b/,
2222
'function': /[a-z0-9_]+(?=\()/i,
23-
'number': /\b-?(0x[\da-f]+|\d*\.?\d+(e[+-]?\d+)?)\b/i,
23+
'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
2424
'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
2525
'punctuation': /[{}[\];(),.:]/
2626
};

components/prism-clike.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

prism.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ Prism.languages.clike = {
574574
'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
575575
'boolean': /\b(true|false)\b/,
576576
'function': /[a-z0-9_]+(?=\()/i,
577-
'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,
577+
'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
578578
'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
579579
'punctuation': /[{}[\];(),.:]/
580580
};

tests/languages/c/number_feature.test

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
42
2+
3.14159
3+
4e10
4+
2.1e-10
5+
0.4e+2
6+
0xbabe
7+
0xBABE
8+
42f
9+
42F
10+
42u
11+
42U
12+
42l
13+
42L
14+
15+
----------------------------------------------------
16+
17+
[
18+
["number", "42"],
19+
["number", "3.14159"],
20+
["number", "4e10"],
21+
["number", "2.1e-10"],
22+
["number", "0.4e+2"],
23+
["number", "0xbabe"],
24+
["number", "0xBABE"],
25+
["number", "42f"],
26+
["number", "42F"],
27+
["number", "42u"],
28+
["number", "42U"],
29+
["number", "42l"],
30+
["number", "42L"]
31+
]
32+
33+
----------------------------------------------------
34+
35+
Checks for decimal numbers and hexadecimal numbers.

tests/languages/clike/number_feature.test

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
3.14159
33
4e10
44
2.1e-10
5+
0.4e+2
56
0xbabe
67
0xBABE
78

@@ -12,6 +13,7 @@
1213
["number", "3.14159"],
1314
["number", "4e10"],
1415
["number", "2.1e-10"],
16+
["number", "0.4e+2"],
1517
["number", "0xbabe"],
1618
["number", "0xBABE"]
1719
]

0 commit comments

Comments
 (0)