Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'js/highlight/ruby.js.map')
-rw-r--r--js/highlight/ruby.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/js/highlight/ruby.js.map b/js/highlight/ruby.js.map
index a035c503c..cde69bcf9 100644
--- a/js/highlight/ruby.js.map
+++ b/js/highlight/ruby.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./node_modules/highlight.js/lib/languages/ruby.js"],"names":["source","re","concat","args","joined","map","x","join","module","exports","hljs","RUBY_METHOD_RE","RUBY_KEYWORDS","keyword","built_in","literal","YARDOCTAG","className","begin","IRB_OBJECT","end","COMMENT_MODES","COMMENT","contains","relevance","SUBST","keywords","STRING","BACKSLASH_ESCAPE","variants","returnBegin","END_SAME_AS_BEGIN","NUMBER","PARAMS","endsParent","RUBY_DEFAULT_CONTAINS","beginKeywords","illegal","inherit","TITLE_MODE","IDENT_RE","UNDERSCORE_IDENT_RE","RE_STARTERS_RE","IRB_DEFAULT","starts","unshift","name","aliases","SHEBANG","binary"],"mappings":"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","file":"highlight/ruby.js?v=7a039ff98fb03685571d","sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Ruby\nDescription: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.\nWebsite: https://www.ruby-lang.org/\nAuthor: Anton Kovalyov <anton@kovalyov.net>\nContributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>, Loren Segal <lsegal@soen.ca>, Pascal Hurni <phi@ruby-reactive.org>, Cedric Sohrauer <sohrauer@googlemail.com>\nCategory: common\n*/\n\nfunction ruby(hljs) {\n var RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n var RUBY_KEYWORDS = {\n keyword:\n 'and then defined module in return redo if BEGIN retry end for self when ' +\n 'next until do begin unless END rescue else break undef not super class case ' +\n 'require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor ' +\n '__FILE__',\n built_in: 'proc lambda',\n literal:\n 'true false nil'\n };\n var YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n var IRB_OBJECT = {\n begin: '#<', end: '>'\n };\n var COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n {\n contains: [YARDOCTAG]\n }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [YARDOCTAG],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', '\\\\n$')\n ];\n var SUBST = {\n className: 'subst',\n begin: /#\\{/, end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n var STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [\n {begin: /'/, end: /'/},\n {begin: /\"/, end: /\"/},\n {begin: /`/, end: /`/},\n {begin: /%[qQwWx]?\\(/, end: /\\)/},\n {begin: /%[qQwWx]?\\[/, end: /\\]/},\n {begin: /%[qQwWx]?\\{/, end: /\\}/},\n {begin: /%[qQwWx]?</, end: />/},\n {begin: /%[qQwWx]?\\//, end: /\\//},\n {begin: /%[qQwWx]?%/, end: /%/},\n {begin: /%[qQwWx]?-/, end: /-/},\n {begin: /%[qQwWx]?\\|/, end: /\\|/},\n {\n // \\B in the beginning suppresses recognition of ?-sequences where ?\n // is the last character of a preceding identifier, as in: `func?4`\n begin: /\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/\n },\n { // heredocs\n begin: /<<[-~]?'?(\\w+)\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/,\n returnBegin: true,\n contains: [\n { begin: /<<[-~]?'?/ },\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/, end: /(\\w+)/,\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n var decimal = '[1-9](_?[0-9])*|0';\n var digits = '[0-9](_?[0-9])*';\n var NUMBER = {\n className: 'number', relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" },\n ]\n };\n\n var PARAMS = {\n className: 'params',\n begin: '\\\\(', end: '\\\\)', endsParent: true,\n keywords: RUBY_KEYWORDS\n };\n\n var RUBY_DEFAULT_CONTAINS = [\n STRING,\n {\n className: 'class',\n beginKeywords: 'class module', end: '$|;',\n illegal: /=/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {begin: '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?'}),\n {\n begin: '<\\\\s*',\n contains: [{\n begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE\n }]\n }\n ].concat(COMMENT_MODES)\n },\n {\n className: 'function',\n // def method_name(\n // def method_name;\n // def method_name (end of line)\n begin: concat(/def\\s*/, lookahead(RUBY_METHOD_RE + \"\\\\s*(\\\\(|;|$)\")),\n keywords: \"def\",\n end: '$|;',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {begin: RUBY_METHOD_RE}),\n PARAMS\n ].concat(COMMENT_MODES)\n },\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::'\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [STRING, {begin: RUBY_METHOD_RE}],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attemps to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|/,\n end: /\\|/,\n relevance:0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n illegal: /\\n/,\n variants: [\n {begin: '/', end: '/[a-z]*'},\n {begin: /%r\\{/, end: /\\}[a-z]*/},\n {begin: '%r\\\\(', end: '\\\\)[a-z]*'},\n {begin: '%r!', end: '![a-z]*'},\n {begin: '%r\\\\[', end: '\\\\][a-z]*'}\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n var SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n var DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\";\n var RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n var IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$', contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta',\n begin: '^('+SIMPLE_PROMPT+\"|\"+DEFAULT_PROMPT+'|'+RVM_PROMPT+')(?=[ ])',\n starts: {\n end: '$', contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: ['rb', 'gemspec', 'podspec', 'thor', 'irb'],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [\n hljs.SHEBANG({binary:\"ruby\"}),\n ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nmodule.exports = ruby;\n"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///./node_modules/highlight.js/lib/languages/ruby.js"],"names":["source","re","concat","args","joined","map","x","join","module","exports","hljs","RUBY_METHOD_RE","RUBY_KEYWORDS","keyword","built_in","literal","YARDOCTAG","className","begin","IRB_OBJECT","end","COMMENT_MODES","COMMENT","contains","relevance","SUBST","keywords","STRING","BACKSLASH_ESCAPE","variants","returnBegin","END_SAME_AS_BEGIN","NUMBER","PARAMS","endsParent","RUBY_DEFAULT_CONTAINS","beginKeywords","illegal","inherit","TITLE_MODE","IDENT_RE","UNDERSCORE_IDENT_RE","RE_STARTERS_RE","IRB_DEFAULT","starts","unshift","name","aliases","SHEBANG","binary"],"mappings":"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","file":"highlight/ruby.js?v=6664f92424d0159d1daa","sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Ruby\nDescription: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.\nWebsite: https://www.ruby-lang.org/\nAuthor: Anton Kovalyov <anton@kovalyov.net>\nContributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>, Loren Segal <lsegal@soen.ca>, Pascal Hurni <phi@ruby-reactive.org>, Cedric Sohrauer <sohrauer@googlemail.com>\nCategory: common\n*/\n\nfunction ruby(hljs) {\n var RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n var RUBY_KEYWORDS = {\n keyword:\n 'and then defined module in return redo if BEGIN retry end for self when ' +\n 'next until do begin unless END rescue else break undef not super class case ' +\n 'require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor ' +\n '__FILE__',\n built_in: 'proc lambda',\n literal:\n 'true false nil'\n };\n var YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n var IRB_OBJECT = {\n begin: '#<', end: '>'\n };\n var COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n {\n contains: [YARDOCTAG]\n }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [YARDOCTAG],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', '\\\\n$')\n ];\n var SUBST = {\n className: 'subst',\n begin: /#\\{/, end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n var STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [\n {begin: /'/, end: /'/},\n {begin: /\"/, end: /\"/},\n {begin: /`/, end: /`/},\n {begin: /%[qQwWx]?\\(/, end: /\\)/},\n {begin: /%[qQwWx]?\\[/, end: /\\]/},\n {begin: /%[qQwWx]?\\{/, end: /\\}/},\n {begin: /%[qQwWx]?</, end: />/},\n {begin: /%[qQwWx]?\\//, end: /\\//},\n {begin: /%[qQwWx]?%/, end: /%/},\n {begin: /%[qQwWx]?-/, end: /-/},\n {begin: /%[qQwWx]?\\|/, end: /\\|/},\n {\n // \\B in the beginning suppresses recognition of ?-sequences where ?\n // is the last character of a preceding identifier, as in: `func?4`\n begin: /\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/\n },\n { // heredocs\n begin: /<<[-~]?'?(\\w+)\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/,\n returnBegin: true,\n contains: [\n { begin: /<<[-~]?'?/ },\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/, end: /(\\w+)/,\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n var decimal = '[1-9](_?[0-9])*|0';\n var digits = '[0-9](_?[0-9])*';\n var NUMBER = {\n className: 'number', relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" },\n ]\n };\n\n var PARAMS = {\n className: 'params',\n begin: '\\\\(', end: '\\\\)', endsParent: true,\n keywords: RUBY_KEYWORDS\n };\n\n var RUBY_DEFAULT_CONTAINS = [\n STRING,\n {\n className: 'class',\n beginKeywords: 'class module', end: '$|;',\n illegal: /=/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {begin: '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?'}),\n {\n begin: '<\\\\s*',\n contains: [{\n begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE\n }]\n }\n ].concat(COMMENT_MODES)\n },\n {\n className: 'function',\n // def method_name(\n // def method_name;\n // def method_name (end of line)\n begin: concat(/def\\s*/, lookahead(RUBY_METHOD_RE + \"\\\\s*(\\\\(|;|$)\")),\n keywords: \"def\",\n end: '$|;',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {begin: RUBY_METHOD_RE}),\n PARAMS\n ].concat(COMMENT_MODES)\n },\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::'\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [STRING, {begin: RUBY_METHOD_RE}],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attemps to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|/,\n end: /\\|/,\n relevance:0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n illegal: /\\n/,\n variants: [\n {begin: '/', end: '/[a-z]*'},\n {begin: /%r\\{/, end: /\\}[a-z]*/},\n {begin: '%r\\\\(', end: '\\\\)[a-z]*'},\n {begin: '%r!', end: '![a-z]*'},\n {begin: '%r\\\\[', end: '\\\\][a-z]*'}\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n var SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n var DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\";\n var RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n var IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$', contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta',\n begin: '^('+SIMPLE_PROMPT+\"|\"+DEFAULT_PROMPT+'|'+RVM_PROMPT+')(?=[ ])',\n starts: {\n end: '$', contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: ['rb', 'gemspec', 'podspec', 'thor', 'irb'],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [\n hljs.SHEBANG({binary:\"ruby\"}),\n ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nmodule.exports = ruby;\n"],"sourceRoot":""} \ No newline at end of file