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: aea806de81fd2199e5e01896e7b8946a9c3bfe6c (plain)
1
{"version":3,"file":"highlight/ruby.js?v=4da12e961a9f561c44b7","mappings":"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","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ruby.js"],"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  const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n  const 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  const YARDOCTAG = {\n    className: 'doctag',\n    begin: '@[A-Za-z]+'\n  };\n  const IRB_OBJECT = {\n    begin: '#<',\n    end: '>'\n  };\n  const 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  const SUBST = {\n    className: 'subst',\n    begin: /#\\{/,\n    end: /\\}/,\n    keywords: RUBY_KEYWORDS\n  };\n  const STRING = {\n    className: 'string',\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      SUBST\n    ],\n    variants: [\n      {\n        begin: /'/,\n        end: /'/\n      },\n      {\n        begin: /\"/,\n        end: /\"/\n      },\n      {\n        begin: /`/,\n        end: /`/\n      },\n      {\n        begin: /%[qQwWx]?\\(/,\n        end: /\\)/\n      },\n      {\n        begin: /%[qQwWx]?\\[/,\n        end: /\\]/\n      },\n      {\n        begin: /%[qQwWx]?\\{/,\n        end: /\\}/\n      },\n      {\n        begin: /%[qQwWx]?</,\n        end: />/\n      },\n      {\n        begin: /%[qQwWx]?\\//,\n        end: /\\//\n      },\n      {\n        begin: /%[qQwWx]?%/,\n        end: /%/\n      },\n      {\n        begin: /%[qQwWx]?-/,\n        end: /-/\n      },\n      {\n        begin: /%[qQwWx]?\\|/,\n        end: /\\|/\n      },\n      // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n      // where ? is the last character of a preceding identifier, as in: `func?4`\n      {\n        begin: /\\B\\?(\\\\\\d{1,3})/\n      },\n      {\n        begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/\n      },\n      {\n        begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/\n      },\n      {\n        begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/\n      },\n      {\n        begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/\n      },\n      {\n        begin: /\\B\\?\\\\?\\S/\n      },\n      { // heredocs\n        begin: /<<[-~]?'?(\\w+)\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/,\n        returnBegin: true,\n        contains: [\n          {\n            begin: /<<[-~]?'?/\n          },\n          hljs.END_SAME_AS_BEGIN({\n            begin: /(\\w+)/,\n            end: /(\\w+)/,\n            contains: [\n              hljs.BACKSLASH_ESCAPE,\n              SUBST\n            ]\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  const decimal = '[1-9](_?[0-9])*|0';\n  const digits = '[0-9](_?[0-9])*';\n  const NUMBER = {\n    className: 'number',\n    relevance: 0,\n    variants: [\n      // decimal integer/float, optionally exponential or rational, optionally imaginary\n      {\n        begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b`\n      },\n\n      // explicit decimal/binary/octal/hexadecimal integer,\n      // optionally rational and/or imaginary\n      {\n        begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\"\n      },\n      {\n        begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\"\n      },\n      {\n        begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\"\n      },\n      {\n        begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\"\n      },\n\n      // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n      {\n        begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\"\n      }\n    ]\n  };\n\n  const PARAMS = {\n    className: 'params',\n    begin: '\\\\(',\n    end: '\\\\)',\n    endsParent: true,\n    keywords: RUBY_KEYWORDS\n  };\n\n  const RUBY_DEFAULT_CONTAINS = [\n    STRING,\n    {\n      className: 'class',\n      beginKeywords: 'class module',\n      end: '$|;',\n      illegal: /=/,\n      contains: [\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?'\n        }),\n        {\n          begin: '<\\\\s*',\n          contains: [\n            {\n              begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE,\n              // we already get points for <, we don't need poitns\n              // for the name also\n              relevance: 0\n            }\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      relevance: 0, // relevance comes from kewords\n      keywords: \"def\",\n      end: '$|;',\n      contains: [\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: RUBY_METHOD_RE\n        }),\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: [\n        STRING,\n        {\n          begin: RUBY_METHOD_RE\n        }\n      ],\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: [\n            hljs.BACKSLASH_ESCAPE,\n            SUBST\n          ],\n          illegal: /\\n/,\n          variants: [\n            {\n              begin: '/',\n              end: '/[a-z]*'\n            },\n            {\n              begin: /%r\\{/,\n              end: /\\}[a-z]*/\n            },\n            {\n              begin: '%r\\\\(',\n              end: '\\\\)[a-z]*'\n            },\n            {\n              begin: '%r!',\n              end: '![a-z]*'\n            },\n            {\n              begin: '%r\\\\[',\n              end: '\\\\][a-z]*'\n            }\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  const SIMPLE_PROMPT = \"[>?]>\";\n  // irb(main):001:0>\n  const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\";\n  const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n  const IRB_DEFAULT = [\n    {\n      begin: /^\\s*=>/,\n      starts: {\n        end: '$',\n        contains: RUBY_DEFAULT_CONTAINS\n      }\n    },\n    {\n      className: 'meta',\n      begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n      starts: {\n        end: '$',\n        contains: RUBY_DEFAULT_CONTAINS\n      }\n    }\n  ];\n\n  COMMENT_MODES.unshift(IRB_OBJECT);\n\n  return {\n    name: 'Ruby',\n    aliases: [\n      'rb',\n      'gemspec',\n      'podspec',\n      'thor',\n      'irb'\n    ],\n    keywords: RUBY_KEYWORDS,\n    illegal: /\\/\\*/,\n    contains: [\n      hljs.SHEBANG({\n        binary: \"ruby\"\n      })\n    ]\n      .concat(IRB_DEFAULT)\n      .concat(COMMENT_MODES)\n      .concat(RUBY_DEFAULT_CONTAINS)\n  };\n}\n\nmodule.exports = ruby;\n"],"names":["concat","args","map","x","source","re","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","digits","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"],"sourceRoot":""}