Commit 2069ab0c4344b608018b9ebe24c4048fb218feae

Michael Schmidt 2021-12-10T14:42:17

Rip: Use standard `char` token (#3252)

diff --git a/components/prism-rip.js b/components/prism-rip.js
index a79b877..d510bc5 100644
--- a/components/prism-rip.js
+++ b/components/prism-rip.js
@@ -1,5 +1,23 @@
 Prism.languages.rip = {
-	'comment': /#.*/,
+	'comment': {
+		pattern: /#.*/,
+		greedy: true
+	},
+
+	'char': {
+		pattern: /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,
+		greedy: true
+	},
+	'string': {
+		pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
+		greedy: true
+	},
+
+	'regex': {
+		pattern: /(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,
+		lookbehind: true,
+		greedy: true
+	},
 
 	'keyword': /(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,
 
@@ -11,19 +29,7 @@ Prism.languages.rip = {
 	'time': /\b\d{2}:\d{2}:\d{2}\b/,
 	'datetime': /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,
 
-	'character': /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,
-
-	'regex': {
-		pattern: /(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,
-		lookbehind: true,
-		greedy: true
-	},
-
 	'symbol': /:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,
-	'string': {
-		pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
-		greedy: true
-	},
 	'number': /[+-]?\b(?:\d+\.\d+|\d+)\b/,
 
 	'punctuation': /(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,
diff --git a/components/prism-rip.min.js b/components/prism-rip.min.js
index 6e79112..80e3425 100644
--- a/components/prism-rip.min.js
+++ b/components/prism-rip.min.js
@@ -1 +1 @@
-Prism.languages.rip={comment:/#.*/,keyword:/(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:false|true)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,character:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/};
\ No newline at end of file
+Prism.languages.rip={comment:{pattern:/#.*/,greedy:!0},char:{pattern:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},keyword:/(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:false|true)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/};
\ No newline at end of file
diff --git a/tests/languages/rip/char_feature.test b/tests/languages/rip/char_feature.test
new file mode 100644
index 0000000..83c1458
--- /dev/null
+++ b/tests/languages/rip/char_feature.test
@@ -0,0 +1,15 @@
+`a
+`b
+`Z
+
+----------------------------------------------------
+
+[
+	["char", "`a"],
+	["char", "`b"],
+	["char", "`Z"]
+]
+
+----------------------------------------------------
+
+Checks for characters.
diff --git a/tests/languages/rip/character_feature.test b/tests/languages/rip/character_feature.test
deleted file mode 100644
index 919e738..0000000
--- a/tests/languages/rip/character_feature.test
+++ /dev/null
@@ -1,14 +0,0 @@
-`a
-`b
-`Z
-----------------------------------------------------
-
-[
-	["character", "`a"],
-	["character", "`b"],
-	["character", "`Z"]
-]
-
-----------------------------------------------------
-
-Checks for characters.
\ No newline at end of file