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

ruby.js.map « highlight « js - github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a035c503ce528b88a55f69bc539fd7ff6e8c7732 (plain)
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":""}