blob: 327d60ff3606d14e251f96c2a79d6df7d3ac88db [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/handlebars.js"],"names":["source","re","concat","_len","arguments","length","args","Array","_key","joined","map","x","join","module","exports","hljs","BUILT_INS","LITERALS","literal","BRACKET_QUOTED_ID_REGEX","PLAIN_ID_REGEX","IDENTIFIER_REGEX","HASH_PARAM_REGEX","HELPER_NAME_OR_PATH_EXPRESSION","begin","lexemes","HELPER_PARAMETER","inherit","keywords","SUB_EXPRESSION","end","HASH","className","relevance","starts","contains","NUMBER_MODE","QUOTE_STRING_MODE","APOS_STRING_MODE","HELPER_PARAMETERS","keyword","returnEnd","SUB_EXPRESSION_CONTENTS","OPENING_BLOCK_MUSTACHE_CONTENTS","CLOSING_BLOCK_MUSTACHE_CONTENTS","BASIC_MUSTACHE_CONTENTS","name","aliases","case_insensitive","subLanguage","skip","COMMENT"],"mappings":"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","file":"react-syntax-highlighter_languages_highlight_handlebars-b7d6c744634388384cc6.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 return re.source;\n}\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\n\n\nfunction concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var joined = args.map(function (x) {\n return source(x);\n }).join(\"\");\n return joined;\n}\n/*\nLanguage: Handlebars\nRequires: xml.js\nAuthor: Robin Ward <robin.ward@gmail.com>\nDescription: Matcher for Handlebars as well as EmberJS additions.\nWebsite: https://handlebarsjs.com\nCategory: template\n*/\n\n\nfunction handlebars(hljs) {\n var BUILT_INS = {\n 'builtin-name': ['action', 'bindattr', 'collection', 'component', 'concat', 'debugger', 'each', 'each-in', 'get', 'hash', 'if', 'in', 'input', 'link-to', 'loc', 'log', 'lookup', 'mut', 'outlet', 'partial', 'query-params', 'render', 'template', 'textarea', 'unbound', 'unless', 'view', 'with', 'yield'].join(\" \")\n };\n var LITERALS = {\n literal: ['true', 'false', 'undefined', 'null'].join(\" \")\n }; // as defined in https://handlebarsjs.com/guide/expressions.html#literal-segments\n // this regex matches literal segments like ' abc ' or [ abc ] as well as helpers and paths\n // like a/b, ./abc/cde, and abc.bcd\n\n var DOUBLE_QUOTED_ID_REGEX = /\".*?\"/;\n var SINGLE_QUOTED_ID_REGEX = /'.*?'/;\n var BRACKET_QUOTED_ID_REGEX = /\\[.*?\\]/;\n var PLAIN_ID_REGEX = /[^\\s!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]+/;\n var PATH_DELIMITER_REGEX = /\\.|\\//;\n var IDENTIFIER_REGEX = concat('(', SINGLE_QUOTED_ID_REGEX, '|', DOUBLE_QUOTED_ID_REGEX, '|', BRACKET_QUOTED_ID_REGEX, '|', PLAIN_ID_REGEX, '|', PATH_DELIMITER_REGEX, ')+'); // identifier followed by a equal-sign (without the equal sign)\n\n var HASH_PARAM_REGEX = concat('(', BRACKET_QUOTED_ID_REGEX, '|', PLAIN_ID_REGEX, ')(?==)');\n var HELPER_NAME_OR_PATH_EXPRESSION = {\n begin: IDENTIFIER_REGEX,\n lexemes: /[\\w.\\/]+/\n };\n var HELPER_PARAMETER = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n keywords: LITERALS\n });\n var SUB_EXPRESSION = {\n begin: /\\(/,\n end: /\\)/ // the \"contains\" is added below when all necessary sub-modes are defined\n\n };\n var HASH = {\n // fka \"attribute-assignment\", parameters of the form 'key=value'\n className: 'attr',\n begin: HASH_PARAM_REGEX,\n relevance: 0,\n starts: {\n begin: /=/,\n end: /=/,\n starts: {\n contains: [hljs.NUMBER_MODE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, HELPER_PARAMETER, SUB_EXPRESSION]\n }\n }\n };\n var BLOCK_PARAMS = {\n // parameters of the form '{{#with x as | y |}}...{{/with}}'\n begin: /as\\s+\\|/,\n keywords: {\n keyword: 'as'\n },\n end: /\\|/,\n contains: [{\n // define sub-mode in order to prevent highlighting of block-parameter named \"as\"\n begin: /\\w+/\n }]\n };\n var HELPER_PARAMETERS = {\n contains: [hljs.NUMBER_MODE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, BLOCK_PARAMS, HASH, HELPER_PARAMETER, SUB_EXPRESSION],\n returnEnd: true // the property \"end\" is defined through inheritance when the mode is used. If depends\n // on the surrounding mode, but \"endsWithParent\" does not work here (i.e. it includes the\n // end-token of the surrounding mode)\n\n };\n var SUB_EXPRESSION_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n className: 'name',\n keywords: BUILT_INS,\n starts: hljs.inherit(HELPER_PARAMETERS, {\n end: /\\)/\n })\n });\n SUB_EXPRESSION.contains = [SUB_EXPRESSION_CONTENTS];\n var OPENING_BLOCK_MUSTACHE_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n keywords: BUILT_INS,\n className: 'name',\n starts: hljs.inherit(HELPER_PARAMETERS, {\n end: /}}/\n })\n });\n var CLOSING_BLOCK_MUSTACHE_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n keywords: BUILT_INS,\n className: 'name'\n });\n var BASIC_MUSTACHE_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n className: 'name',\n keywords: BUILT_INS,\n starts: hljs.inherit(HELPER_PARAMETERS, {\n end: /}}/\n })\n });\n var ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH = {\n begin: /\\\\\\{\\{/,\n skip: true\n };\n var PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH = {\n begin: /\\\\\\\\(?=\\{\\{)/,\n skip: true\n };\n return {\n name: 'Handlebars',\n aliases: ['hbs', 'html.hbs', 'html.handlebars', 'htmlbars'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH, PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH, hljs.COMMENT(/\\{\\{!--/, /--\\}\\}/), hljs.COMMENT(/\\{\\{!/, /\\}\\}/), {\n // open raw block \"{{{{raw}}}} content not evaluated {{{{/raw}}}}\"\n className: 'template-tag',\n begin: /\\{\\{\\{\\{(?!\\/)/,\n end: /\\}\\}\\}\\}/,\n contains: [OPENING_BLOCK_MUSTACHE_CONTENTS],\n starts: {\n end: /\\{\\{\\{\\{\\//,\n returnEnd: true,\n subLanguage: 'xml'\n }\n }, {\n // close raw block\n className: 'template-tag',\n begin: /\\{\\{\\{\\{\\//,\n end: /\\}\\}\\}\\}/,\n contains: [CLOSING_BLOCK_MUSTACHE_CONTENTS]\n }, {\n // open block statement\n className: 'template-tag',\n begin: /\\{\\{#/,\n end: /\\}\\}/,\n contains: [OPENING_BLOCK_MUSTACHE_CONTENTS]\n }, {\n className: 'template-tag',\n begin: /\\{\\{(?=else\\}\\})/,\n end: /\\}\\}/,\n keywords: 'else'\n }, {\n className: 'template-tag',\n begin: /\\{\\{(?=else if)/,\n end: /\\}\\}/,\n keywords: 'else if'\n }, {\n // closing block statement\n className: 'template-tag',\n begin: /\\{\\{\\//,\n end: /\\}\\}/,\n contains: [CLOSING_BLOCK_MUSTACHE_CONTENTS]\n }, {\n // template variable or helper-call that is NOT html-escaped\n className: 'template-variable',\n begin: /\\{\\{\\{/,\n end: /\\}\\}\\}/,\n contains: [BASIC_MUSTACHE_CONTENTS]\n }, {\n // template variable or helper-call that is html-escaped\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: [BASIC_MUSTACHE_CONTENTS]\n }]\n };\n}\n\nmodule.exports = handlebars;"],"sourceRoot":""}