Commit 809af0d91c530b2f8fa01d7f6e42cb982e9b3dcb

Michael Schmidt 2021-12-10T14:49:54

Reason: Use standard tokens correctly (#3251)

diff --git a/components/prism-reason.js b/components/prism-reason.js
index 4dce938..74fdfb5 100644
--- a/components/prism-reason.js
+++ b/components/prism-reason.js
@@ -9,15 +9,12 @@ Prism.languages.reason = Prism.languages.extend('clike', {
 	'operator': /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/
 });
 Prism.languages.insertBefore('reason', 'class-name', {
-	'character': {
+	'char': {
 		pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,
-		alias: 'string'
-	},
-	'constructor': {
-		// Negative look-ahead prevents from matching things like String.capitalize
-		pattern: /\b[A-Z]\w*\b(?!\s*\.)/,
-		alias: 'variable'
+		greedy: true
 	},
+	// Negative look-ahead prevents from matching things like String.capitalize
+	'constructor': /\b[A-Z]\w*\b(?!\s*\.)/,
 	'label': {
 		pattern: /\b[a-z]\w*(?=::)/,
 		alias: 'symbol'
diff --git a/components/prism-reason.min.js b/components/prism-reason.min.js
index 0d4abf0..e574faf 100644
--- a/components/prism-reason.min.js
+++ b/components/prism-reason.min.js
@@ -1 +1 @@
-Prism.languages.reason=Prism.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),Prism.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete Prism.languages.reason.function;
\ No newline at end of file
+Prism.languages.reason=Prism.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),Prism.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete Prism.languages.reason.function;
\ No newline at end of file
diff --git a/tests/languages/reason/char_feature.test b/tests/languages/reason/char_feature.test
new file mode 100644
index 0000000..244b076
--- /dev/null
+++ b/tests/languages/reason/char_feature.test
@@ -0,0 +1,19 @@
+'a'
+'\''
+'\\'
+'\xff'
+'\o214'
+
+----------------------------------------------------
+
+[
+	["char", "'a'"],
+	["char", "'\\''"],
+	["char", "'\\\\'"],
+	["char", "'\\xff'"],
+	["char", "'\\o214'"]
+]
+
+----------------------------------------------------
+
+Checks for characters.
diff --git a/tests/languages/reason/character_feature.test b/tests/languages/reason/character_feature.test
deleted file mode 100644
index 8b9de3e..0000000
--- a/tests/languages/reason/character_feature.test
+++ /dev/null
@@ -1,19 +0,0 @@
-'a'
-'\''
-'\\'
-'\xff'
-'\o214'
-
-----------------------------------------------------
-
-[
-	["character", "'a'"],
-	["character", "'\\''"],
-	["character", "'\\\\'"],
-	["character", "'\\xff'"],
-	["character", "'\\o214'"]
-]
-
-----------------------------------------------------
-
-Checks for characters.
\ No newline at end of file