1 |
|
2 | (()=>{var e=(()=>{"use strict";return e=>{
|
3 | const a=e.regex,t=["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"]
|
4 | ;let r=["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"]
|
5 | ;r=r.concat(r.map((e=>"end"+e)));const n={scope:"string",variants:[{begin:/'/,
|
6 | end:/'/},{begin:/"/,end:/"/}]},o={scope:"number",match:/\d+/},s={begin:/\(/,
|
7 | end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[n,o]},c={
|
8 | beginKeywords:t.join(" "),keywords:{name:t},relevance:0,contains:[s]},m={
|
9 | match:/\|(?=[A-Za-z_]+:?)/,beginScope:"punctuation",relevance:0,contains:[{
|
10 | match:/[A-Za-z_]+:?/,
|
11 | keywords:["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"]
|
12 | }]},i=(e,{relevance:t})=>({beginScope:{1:"template-tag",3:"name"},
|
13 | relevance:t||2,endScope:"template-tag",begin:[/\{%/,/\s*/,a.either(...e)],
|
14 | end:/%\}/,keywords:"in",contains:[m,c,n,o]}),l=i(r,{relevance:2
|
15 | }),_=i([/[a-z_]+/],{relevance:1});return{name:"Twig",aliases:["craftcms"],
|
16 | case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#\}/),l,_,{
|
17 | className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",m,c,n,o]
|
18 | }]}}})();hljs.registerLanguage("twig",e)})(); |
\ | No newline at end of file |