Rip: Use standard `char` token (#3252)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
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