83ade8f95e51733881ac4ede695b46fc68e334798da2dd28f9eae879792ea9c2.json 13 KB

1
  1. {"ast":null,"code":"/*\nLanguage: Twig\nRequires: xml.js\nAuthor: Luke Holder <lukemh@gmail.com>\nDescription: Twig is a templating language for PHP\nWebsite: https://twig.symfony.com\nCategory: template\n*/\n\nfunction twig(hljs) {\n const regex = hljs.regex;\n const FUNCTION_NAMES = [\"absolute_url\", \"asset|0\", \"asset_version\", \"attribute\", \"block\", \"constant\", \"controller|0\", \"country_timezones\", \"csrf_token\", \"cycle\", \"date\", \"dump\", \"expression\", \"form|0\", \"form_end\", \"form_errors\", \"form_help\", \"form_label\", \"form_rest\", \"form_row\", \"form_start\", \"form_widget\", \"html_classes\", \"include\", \"is_granted\", \"logout_path\", \"logout_url\", \"max\", \"min\", \"parent\", \"path|0\", \"random\", \"range\", \"relative_path\", \"render\", \"render_esi\", \"source\", \"template_from_string\", \"url|0\"];\n const FILTERS = [\"abs\", \"abbr_class\", \"abbr_method\", \"batch\", \"capitalize\", \"column\", \"convert_encoding\", \"country_name\", \"currency_name\", \"currency_symbol\", \"data_uri\", \"date\", \"date_modify\", \"default\", \"escape\", \"file_excerpt\", \"file_link\", \"file_relative\", \"filter\", \"first\", \"format\", \"format_args\", \"format_args_as_text\", \"format_currency\", \"format_date\", \"format_datetime\", \"format_file\", \"format_file_from_text\", \"format_number\", \"format_time\", \"html_to_markdown\", \"humanize\", \"inky_to_html\", \"inline_css\", \"join\", \"json_encode\", \"keys\", \"language_name\", \"last\", \"length\", \"locale_name\", \"lower\", \"map\", \"markdown\", \"markdown_to_html\", \"merge\", \"nl2br\", \"number_format\", \"raw\", \"reduce\", \"replace\", \"reverse\", \"round\", \"slice\", \"slug\", \"sort\", \"spaceless\", \"split\", \"striptags\", \"timezone_name\", \"title\", \"trans\", \"transchoice\", \"trim\", \"u|0\", \"upper\", \"url_encode\", \"yaml_dump\", \"yaml_encode\"];\n let TAG_NAMES = [\"apply\", \"autoescape\", \"block\", \"cache\", \"deprecated\", \"do\", \"embed\", \"extends\", \"filter\", \"flush\", \"for\", \"form_theme\", \"from\", \"if\", \"import\", \"include\", \"macro\", \"sandbox\", \"set\", \"stopwatch\", \"trans\", \"trans_default_domain\", \"transchoice\", \"use\", \"verbatim\", \"with\"];\n TAG_NAMES = TAG_NAMES.concat(TAG_NAMES.map(t => `end${t}`));\n const STRING = {\n scope: 'string',\n variants: [{\n begin: /'/,\n end: /'/\n }, {\n begin: /\"/,\n end: /\"/\n }]\n };\n const NUMBER = {\n scope: \"number\",\n match: /\\d+/\n };\n const PARAMS = {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: [STRING, NUMBER]\n };\n const FUNCTIONS = {\n beginKeywords: FUNCTION_NAMES.join(\" \"),\n keywords: {\n name: FUNCTION_NAMES\n },\n relevance: 0,\n contains: [PARAMS]\n };\n const FILTER = {\n match: /\\|(?=[A-Za-z_]+:?)/,\n beginScope: \"punctuation\",\n relevance: 0,\n contains: [{\n match: /[A-Za-z_]+:?/,\n keywords: FILTERS\n }]\n };\n const tagNamed = (tagnames, {\n relevance\n }) => {\n return {\n beginScope: {\n 1: 'template-tag',\n 3: 'name'\n },\n relevance: relevance || 2,\n endScope: 'template-tag',\n begin: [/\\{%/, /\\s*/, regex.either(...tagnames)],\n end: /%\\}/,\n keywords: \"in\",\n contains: [FILTER, FUNCTIONS, STRING, NUMBER]\n };\n };\n const CUSTOM_TAG_RE = /[a-z_]+/;\n const TAG = tagNamed(TAG_NAMES, {\n relevance: 2\n });\n const CUSTOM_TAG = tagNamed([CUSTOM_TAG_RE], {\n relevance: 1\n });\n return {\n name: 'Twig',\n aliases: ['craftcms'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [hljs.COMMENT(/\\{#/, /#\\}/), TAG, CUSTOM_TAG, {\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: ['self', FILTER, FUNCTIONS, STRING, NUMBER]\n }]\n };\n}\nmodule.exports = twig;","map":{"version":3,"names":["twig","hljs","regex","FUNCTION_NAMES","FILTERS","TAG_NAMES","concat","map","t","STRING","scope","variants","begin","end","NUMBER","match","PARAMS","excludeBegin","excludeEnd","contains","FUNCTIONS","beginKeywords","join","keywords","name","relevance","FILTER","beginScope","tagNamed","tagnames","endScope","either","CUSTOM_TAG_RE","TAG","CUSTOM_TAG","aliases","case_insensitive","subLanguage","COMMENT","className","module","exports"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/highlight.js/lib/languages/twig.js"],"sourcesContent":["/*\nLanguage: Twig\nRequires: xml.js\nAuthor: Luke Holder <lukemh@gmail.com>\nDescription: Twig is a templating language for PHP\nWebsite: https://twig.symfony.com\nCategory: template\n*/\n\nfunction twig(hljs) {\n const regex = hljs.regex;\n const FUNCTION_NAMES = [\n \"absolute_url\",\n \"asset|0\",\n \"asset_version\",\n \"attribute\",\n \"block\",\n \"constant\",\n \"controller|0\",\n \"country_timezones\",\n \"csrf_token\",\n \"cycle\",\n \"date\",\n \"dump\",\n \"expression\",\n \"form|0\",\n \"form_end\",\n \"form_errors\",\n \"form_help\",\n \"form_label\",\n \"form_rest\",\n \"form_row\",\n \"form_start\",\n \"form_widget\",\n \"html_classes\",\n \"include\",\n \"is_granted\",\n \"logout_path\",\n \"logout_url\",\n \"max\",\n \"min\",\n \"parent\",\n \"path|0\",\n \"random\",\n \"range\",\n \"relative_path\",\n \"render\",\n \"render_esi\",\n \"source\",\n \"template_from_string\",\n \"url|0\"\n ];\n\n const FILTERS = [\n \"abs\",\n \"abbr_class\",\n \"abbr_method\",\n \"batch\",\n \"capitalize\",\n \"column\",\n \"convert_encoding\",\n \"country_name\",\n \"currency_name\",\n \"currency_symbol\",\n \"data_uri\",\n \"date\",\n \"date_modify\",\n \"default\",\n \"escape\",\n \"file_excerpt\",\n \"file_link\",\n \"file_relative\",\n \"filter\",\n \"first\",\n \"format\",\n \"format_args\",\n \"format_args_as_text\",\n \"format_currency\",\n \"format_date\",\n \"format_datetime\",\n \"format_file\",\n \"format_file_from_text\",\n \"format_number\",\n \"format_time\",\n \"html_to_markdown\",\n \"humanize\",\n \"inky_to_html\",\n \"inline_css\",\n \"join\",\n \"json_encode\",\n \"keys\",\n \"language_name\",\n \"last\",\n \"length\",\n \"locale_name\",\n \"lower\",\n \"map\",\n \"markdown\",\n \"markdown_to_html\",\n \"merge\",\n \"nl2br\",\n \"number_format\",\n \"raw\",\n \"reduce\",\n \"replace\",\n \"reverse\",\n \"round\",\n \"slice\",\n \"slug\",\n \"sort\",\n \"spaceless\",\n \"split\",\n \"striptags\",\n \"timezone_name\",\n \"title\",\n \"trans\",\n \"transchoice\",\n \"trim\",\n \"u|0\",\n \"upper\",\n \"url_encode\",\n \"yaml_dump\",\n \"yaml_encode\"\n ];\n\n let TAG_NAMES = [\n \"apply\",\n \"autoescape\",\n \"block\",\n \"cache\",\n \"deprecated\",\n \"do\",\n \"embed\",\n \"extends\",\n \"filter\",\n \"flush\",\n \"for\",\n \"form_theme\",\n \"from\",\n \"if\",\n \"import\",\n \"include\",\n \"macro\",\n \"sandbox\",\n \"set\",\n \"stopwatch\",\n \"trans\",\n \"trans_default_domain\",\n \"transchoice\",\n \"use\",\n \"verbatim\",\n \"with\"\n ];\n\n TAG_NAMES = TAG_NAMES.concat(TAG_NAMES.map(t => `end${t}`));\n\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n ]\n };\n\n const NUMBER = {\n scope: \"number\",\n match: /\\d+/\n };\n\n const PARAMS = {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: [\n STRING,\n NUMBER\n ]\n };\n\n\n const FUNCTIONS = {\n beginKeywords: FUNCTION_NAMES.join(\" \"),\n keywords: { name: FUNCTION_NAMES },\n relevance: 0,\n contains: [ PARAMS ]\n };\n\n const FILTER = {\n match: /\\|(?=[A-Za-z_]+:?)/,\n beginScope: \"punctuation\",\n relevance: 0,\n contains: [\n {\n match: /[A-Za-z_]+:?/,\n keywords: FILTERS\n },\n ]\n };\n\n const tagNamed = (tagnames, { relevance }) => {\n return {\n beginScope: {\n 1: 'template-tag',\n 3: 'name'\n },\n relevance: relevance || 2,\n endScope: 'template-tag',\n begin: [\n /\\{%/,\n /\\s*/,\n regex.either(...tagnames)\n ],\n end: /%\\}/,\n keywords: \"in\",\n contains: [\n FILTER,\n FUNCTIONS,\n STRING,\n NUMBER\n ]\n };\n };\n\n const CUSTOM_TAG_RE = /[a-z_]+/;\n const TAG = tagNamed(TAG_NAMES, { relevance: 2 });\n const CUSTOM_TAG = tagNamed([ CUSTOM_TAG_RE ], { relevance: 1 });\n\n return {\n name: 'Twig',\n aliases: [ 'craftcms' ],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n hljs.COMMENT(/\\{#/, /#\\}/),\n TAG,\n CUSTOM_TAG,\n {\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: [\n 'self',\n FILTER,\n FUNCTIONS,\n STRING,\n NUMBER\n ]\n }\n ]\n };\n}\n\nmodule.exports = twig;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}