aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-ruby.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-ruby.min.js')
-rw-r--r--public/prism/prism-ruby.min.js144
1 files changed, 144 insertions, 0 deletions
diff --git a/public/prism/prism-ruby.min.js b/public/prism/prism-ruby.min.js
new file mode 100644
index 0000000..f0d8621
--- /dev/null
+++ b/public/prism/prism-ruby.min.js
@@ -0,0 +1,144 @@
+!(function (e) {
+ (e.languages.ruby = e.languages.extend('clike', {
+ comment: { pattern: /#.*|^=begin\s[\s\S]*?^=end/m, greedy: !0 },
+ 'class-name': {
+ pattern:
+ /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
+ lookbehind: !0,
+ inside: { punctuation: /[.\\]/ },
+ },
+ keyword:
+ /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,
+ operator:
+ /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
+ punctuation: /[(){}[\].,;]/,
+ })),
+ e.languages.insertBefore('ruby', 'operator', {
+ 'double-colon': { pattern: /::/, alias: 'punctuation' },
+ });
+ var n = {
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
+ lookbehind: !0,
+ inside: {
+ content: {
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
+ lookbehind: !0,
+ inside: e.languages.ruby,
+ },
+ delimiter: { pattern: /^#\{|\}$/, alias: 'punctuation' },
+ },
+ };
+ delete e.languages.ruby.function;
+ var t =
+ '(?:' +
+ [
+ '([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1',
+ '\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)',
+ '\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}',
+ '\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]',
+ '<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>',
+ ].join('|') +
+ ')',
+ i =
+ '(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';
+ e.languages.insertBefore('ruby', 'keyword', {
+ 'regex-literal': [
+ {
+ pattern: RegExp('%r' + t + '[egimnosux]{0,6}'),
+ greedy: !0,
+ inside: { interpolation: n, regex: /[\s\S]+/ },
+ },
+ {
+ pattern:
+ /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
+ lookbehind: !0,
+ greedy: !0,
+ inside: { interpolation: n, regex: /[\s\S]+/ },
+ },
+ ],
+ variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
+ symbol: [
+ { pattern: RegExp('(^|[^:]):' + i), lookbehind: !0, greedy: !0 },
+ {
+ pattern: RegExp('([\r\n{(,][ \t]*)' + i + '(?=:(?!:))'),
+ lookbehind: !0,
+ greedy: !0,
+ },
+ ],
+ 'method-definition': {
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
+ lookbehind: !0,
+ inside: {
+ function: /\b\w+$/,
+ keyword: /^self\b/,
+ 'class-name': /^\w+/,
+ punctuation: /\./,
+ },
+ },
+ }),
+ e.languages.insertBefore('ruby', 'string', {
+ 'string-literal': [
+ {
+ pattern: RegExp('%[qQiIwWs]?' + t),
+ greedy: !0,
+ inside: { interpolation: n, string: /[\s\S]+/ },
+ },
+ {
+ pattern:
+ /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
+ greedy: !0,
+ inside: { interpolation: n, string: /[\s\S]+/ },
+ },
+ {
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
+ alias: 'heredoc-string',
+ greedy: !0,
+ inside: {
+ delimiter: {
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
+ inside: { symbol: /\b\w+/, punctuation: /^<<[-~]?/ },
+ },
+ interpolation: n,
+ string: /[\s\S]+/,
+ },
+ },
+ {
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
+ alias: 'heredoc-string',
+ greedy: !0,
+ inside: {
+ delimiter: {
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
+ inside: { symbol: /\b\w+/, punctuation: /^<<[-~]?'|'$/ },
+ },
+ string: /[\s\S]+/,
+ },
+ },
+ ],
+ 'command-literal': [
+ {
+ pattern: RegExp('%x' + t),
+ greedy: !0,
+ inside: {
+ interpolation: n,
+ command: { pattern: /[\s\S]+/, alias: 'string' },
+ },
+ },
+ {
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
+ greedy: !0,
+ inside: {
+ interpolation: n,
+ command: { pattern: /[\s\S]+/, alias: 'string' },
+ },
+ },
+ ],
+ }),
+ delete e.languages.ruby.string,
+ e.languages.insertBefore('ruby', 'number', {
+ builtin:
+ /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,
+ constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/,
+ }),
+ (e.languages.rb = e.languages.ruby);
+})(Prism);