Warning, /frameworks/syntax-highlighting/data/syntax/twig.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <language
0004   name="Twig/Twig" section="Markup" version="1" kateversion="5.79" extensions="*.twig"
0005   author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT"
0006   mimetype="text/x-twig" priority="-1"
0007 >
0008 
0009   <!-- https://twig.symfony.com/doc/3.x/ -->
0010 
0011   <highlighting>
0012     <list name="operators">
0013       <item>and</item>
0014       <item>or</item>
0015       <item>not</item>
0016       <item>b-and</item>
0017       <item>b-xor</item>
0018       <item>b-or</item>
0019       <item>starts with</item>
0020       <item>ends with</item>
0021       <item>matches</item>
0022       <item>has every</item>
0023       <item>has some</item>
0024       <item>in</item>
0025       <item>is</item>
0026     </list>
0027 
0028     <list name="control flow">
0029       <item>for</item>
0030       <item>endfor</item>
0031       <item>if</item>
0032       <item>elseif</item>
0033       <item>else</item>
0034       <item>endif</item>
0035     </list>
0036 
0037     <list name="variables">
0038       <item>_self</item>
0039       <item>_context</item>
0040       <item>_charset</item>
0041       <item>loop</item>
0042     </list>
0043 
0044     <list name="special values">
0045       <item>true</item>
0046       <item>false</item>
0047       <item>null</item>
0048       <item>none</item>
0049     </list>
0050 
0051     <list name="filters">
0052       <item>escape</item>
0053       <item>e</item>
0054       <item>abs</item>
0055       <item>batch</item>
0056       <item>capitalize</item>
0057       <item>column</item>
0058       <item>convert_encoding</item>
0059       <item>country_name</item>
0060       <item>currency_name</item>
0061       <item>currency_symbol</item>
0062       <item>data_uri</item>
0063       <item>date</item>
0064       <item>date_modify</item>
0065       <item>default</item>
0066       <item>escape</item>
0067       <item>filter</item>
0068       <item>first</item>
0069       <item>format</item>
0070       <item>format_decimal_number</item>
0071       <item>format_currency_number</item>
0072       <item>format_percent_number</item>
0073       <item>format_scientific_number</item>
0074       <item>format_spellout_number</item>
0075       <item>format_ordinal_number</item>
0076       <item>format_duration_number</item>
0077       <item>format_currency</item>
0078       <item>format_date</item>
0079       <item>format_datetime</item>
0080       <item>format_number</item>
0081       <item>format_time</item>
0082       <item>html_to_markdown</item>
0083       <item>inline_css</item>
0084       <item>inky_to_html</item>
0085       <item>join</item>
0086       <item>json_encode</item>
0087       <item>keys</item>
0088       <item>language_name</item>
0089       <item>last</item>
0090       <item>length</item>
0091       <item>locale_name</item>
0092       <item>lower</item>
0093       <item>map</item>
0094       <item>markdown_to_html</item>
0095       <item>merge</item>
0096       <item>nl2br</item>
0097       <item>number_format</item>
0098       <item>raw</item>
0099       <item>reduce</item>
0100       <item>replace</item>
0101       <item>reverse</item>
0102       <item>round</item>
0103       <item>slice</item>
0104       <item>slug</item>
0105       <item>sort</item>
0106       <item>spaceless</item>
0107       <item>split</item>
0108       <item>striptags</item>
0109       <item>timezone_name</item>
0110       <item>title</item>
0111       <item>trim</item>
0112       <item>u</item>
0113       <item>upper</item>
0114       <item>url_encode</item>
0115       <!-- symfony -->
0116       <item>abbr_class</item>
0117       <item>abbr_method</item>
0118       <item>file_excerpt</item>
0119       <item>file_link</item>
0120       <item>file_relative</item>
0121       <item>format_args</item>
0122       <item>format_args_as_text</item>
0123       <item>format_file</item>
0124       <item>format_file_from_text</item>
0125       <item>humanize</item>
0126       <item>sanitize_html</item>
0127       <item>serialize</item>
0128       <item>trans</item>
0129       <item>yaml_dump</item>
0130       <item>yaml_encode</item>
0131     </list>
0132 
0133     <list name="tags">
0134       <item>apply</item>
0135       <item>autoescape</item>
0136       <item>endautoescape</item>
0137       <item>block</item>
0138       <item>endblock</item>
0139       <item>cache</item>
0140       <item>endcache</item>
0141       <item>deprecated</item>
0142       <item>do</item>
0143       <item>embed</item>
0144       <item>endembed</item>
0145       <item>extends</item>
0146       <item>flush</item>
0147       <item>from</item>
0148       <item>import</item>
0149       <item>include</item>
0150       <item>macro</item>
0151       <item>endmacro</item>
0152       <item>sandbox</item>
0153       <item>endsandbox</item>
0154       <item>set</item>
0155       <item>endset</item>
0156       <item>use</item>
0157       <item>verbatim</item>
0158       <item>with</item>
0159       <item>endwith</item>
0160       <!-- symfony -->
0161       <item>form_theme</item>
0162       <item>stopwatch</item>
0163       <item>trans</item>
0164       <item>trans_default_domain</item>
0165       <!-- option of include -->
0166       <item>ignore missing</item>
0167     </list>
0168 
0169     <list name="functions">
0170       <item>attribute</item>
0171       <item>block</item>
0172       <item>constant</item>
0173       <item>country_names</item>
0174       <item>country_timezones</item>
0175       <item>currency_names</item>
0176       <item>cycle</item>
0177       <item>date</item>
0178       <item>dump</item>
0179       <item>html_classes</item>
0180       <item>include</item>
0181       <item>language_names</item>
0182       <item>locale_names</item>
0183       <item>max</item>
0184       <item>min</item>
0185       <item>parent</item>
0186       <item>random</item>
0187       <item>range</item>
0188       <item>script_names</item>
0189       <item>source</item>
0190       <item>template_from_string</item>
0191       <item>timezone_names</item>
0192       <!-- symfony -->
0193       <item>absolute_url</item>
0194       <item>asset</item>
0195       <item>asset_version</item>
0196       <item>controller</item>
0197       <item>csrf_token</item>
0198       <item>expression</item>
0199       <item>form</item>
0200       <item>form_end</item>
0201       <item>form_errors</item>
0202       <item>form_help</item>
0203       <item>form_label</item>
0204       <item>form_parent</item>
0205       <item>form_rest</item>
0206       <item>form_row</item>
0207       <item>form_start</item>
0208       <item>form_widget</item>
0209       <item>fragment_uri</item>
0210       <item>impersonation_exit_path</item>
0211       <item>impersonation_exit_url</item>
0212       <item>importmap</item>
0213       <item>is_granted</item>
0214       <item>logout_path</item>
0215       <item>logout_url</item>
0216       <item>path</item>
0217       <item>relative_path</item>
0218       <item>render</item>
0219       <item>render_esi</item>
0220       <item>t</item>
0221       <item>url</item>
0222     </list>
0223 
0224     <list name="tests">
0225       <item>constant</item>
0226       <item>defined</item>
0227       <item>divisible by</item>
0228       <item>empty</item>
0229       <item>even</item>
0230       <item>iterable</item>
0231       <item>odd</item>
0232       <item>same as</item>
0233       <!-- symfony -->
0234       <item>rootform</item>
0235       <item>selectedchoice</item>
0236     </list>
0237 
0238     <list name="named arguments">
0239       <!-- filter / function -->
0240       <item>allowable_tags</item>
0241       <item>locale</item>
0242       <item>to</item>
0243       <item>from</item>
0244       <item>size</item>
0245       <item>fill</item>
0246       <item>preserve_keys</item>
0247       <item>attrs</item>
0248       <item>style</item>
0249       <item>dateFormat</item>
0250       <item>timeFormat</item>
0251       <item>pattern</item>
0252       <item>timezone</item>
0253       <item>calendar</item>
0254       <item>currency</item>
0255       <item>array</item>
0256       <item>arrow</item>
0257       <item>strategy</item>
0258       <item>charset</item>
0259       <item>default</item>
0260       <item>modifier</item>
0261       <item>format</item>
0262       <item>mime</item>
0263       <item>parameters</item>
0264       <item>name</item>
0265       <item>glue</item>
0266       <item>and</item>
0267       <item>options</item>
0268       <item>decimal</item>
0269       <item>decimal_point</item>
0270       <item>thousand_sep</item>
0271       <item>initial</item>
0272       <item>character_mask</item>
0273       <item>side</item>
0274       <item>separator</item>
0275       <item>start</item>
0276       <item>length</item>
0277       <item>precision</item>
0278       <item>method</item>
0279       <item>delimiter</item>
0280       <item>limit</item>
0281       <!-- function -->
0282       <item>values</item>
0283       <item>position</item>
0284       <item>template</item>
0285       <item>variables</item>
0286       <item>with_context</item>
0287       <item>ignore_missing</item>
0288       <item>sandboxed</item>
0289       <item>max</item>
0290       <item>low</item>
0291       <item>high</item>
0292       <item>step</item>
0293       <item>ignore_missing</item>
0294       <item>context</item>
0295       <item>date</item>
0296     </list>
0297 
0298     <contexts>
0299 
0300       <context name="Start" attribute="Normal">
0301         <StringDetect String="{%" attribute="Twig Context" context="statement"/>
0302         <StringDetect String="{{" attribute="Twig Context" context="expression"/>
0303         <StringDetect String="{#" attribute="Comment" context="Comment"/>
0304       </context>
0305 
0306       <context name="statement" attribute="Normal" fallthroughContext="statement_expr">
0307         <DetectSpaces attribute="Normal"/>
0308         <StringDetect String="%}" attribute="Twig Context" context="#pop"/>
0309         <WordDetect String="if" attribute="Control Flow" context="statement_expr" beginRegion="if"/>
0310         <WordDetect String="endif" attribute="Control Flow" context="statement_expr" endRegion="if"/>
0311         <WordDetect String="for" attribute="Control Flow" context="statement_expr" beginRegion="for"/>
0312         <WordDetect String="endfor" attribute="Control Flow" context="statement_expr" endRegion="for"/>
0313         <keyword String="control flow" attribute="Control Flow" context="statement_expr"/>
0314         <WordDetect String="apply" attribute="Tag" context="apply_expr"/>
0315         <WordDetect String="from" attribute="Tag" context="from_expr"/>
0316         <WordDetect String="include" attribute="Tag" context="include_expr"/>
0317         <WordDetect String="embed" attribute="Tag" context="include_expr"/>
0318         <WordDetect String="import" attribute="Tag" context="import_expr"/>
0319         <WordDetect String="use" attribute="Tag" context="import_expr"/>
0320         <WordDetect String="verbatim" attribute="Tag" context="verbatim_expr"/>
0321         <WordDetect String="with" attribute="Tag" context="with_expr"/>
0322         <DetectIdentifier attribute="Tag" context="statement_expr"/>
0323       </context>
0324       <context name="statement_expr1" attribute="Normal">
0325         <DetectSpaces attribute="Normal"/>
0326         <StringDetect String="%}" attribute="Twig Context" context="#pop#pop"/>
0327       </context>
0328       <context name="statement_expr2" attribute="Normal">
0329         <IncludeRules context="value"/>
0330         <DetectIdentifier attribute="Normal"/>
0331       </context>
0332       <context name="statement_expr" attribute="Normal">
0333         <IncludeRules context="statement_expr1"/>
0334         <IncludeRules context="statement_expr2"/>
0335       </context>
0336 
0337       <context name="apply_expr" attribute="Normal" fallthroughContext="#pop!statement_expr">
0338         <IncludeRules context="statement_expr1"/>
0339         <DetectIdentifier attribute="Filter" context="#pop!statement_expr"/>
0340       </context>
0341       <context name="from_expr" attribute="Normal">
0342         <IncludeRules context="statement_expr1"/>
0343         <WordDetect String="import" attribute="Tag"/>
0344         <IncludeRules context="statement_expr2"/>
0345       </context>
0346       <context name="include_expr" attribute="Normal">
0347         <IncludeRules context="statement_expr1"/>
0348         <WordDetect String="only" attribute="Keyword Operator"/>
0349         <WordDetect String="with" attribute="Keyword Operator"/>
0350         <RegExpr String="\bignore\s+missing\b" attribute="Tag"/>
0351         <IncludeRules context="statement_expr2"/>
0352       </context>
0353       <context name="import_expr" attribute="Normal">
0354         <IncludeRules context="statement_expr1"/>
0355         <WordDetect String="as" attribute="Keyword Operator"/>
0356         <IncludeRules context="statement_expr2"/>
0357       </context>
0358       <context name="with_expr" attribute="Normal">
0359         <IncludeRules context="statement_expr1"/>
0360         <WordDetect String="only" attribute="Keyword Operator"/>
0361         <IncludeRules context="statement_expr2"/>
0362       </context>
0363       <context name="verbatim_expr" attribute="Normal">
0364         <DetectSpaces attribute="Normal"/>
0365         <StringDetect String="%}" attribute="Twig Context" context="#pop#pop!verbatim_block"/>
0366         <IncludeRules context="statement_expr2"/>
0367       </context>
0368       <context name="verbatim_block" attribute="Verbatim">
0369         <RegExpr String="{%\s+endverbatim\b" lookAhead="1" context="#pop"/>
0370       </context>
0371 
0372       <context name="expression" attribute="Normal">
0373         <DetectSpaces attribute="Normal"/>
0374         <StringDetect String="}}" attribute="Twig Context" context="#pop"/>
0375         <IncludeRules context="value"/>
0376         <DetectIdentifier attribute="Normal"/>
0377       </context>
0378 
0379       <context name="Comment" attribute="Comment">
0380         <DetectSpaces attribute="Comment"/>
0381         <StringDetect String="#}" attribute="Comment" context="#pop"/>
0382         <IncludeRules context="##Comments" />
0383         <DetectIdentifier attribute="Comment"/>
0384       </context>
0385 
0386       <context name="value" attribute="Normal">
0387         <AnyChar String=")[]" attribute="Symbol"/>
0388         <StringDetect String="(" context="parameters" attribute="Symbol"/>
0389         <StringDetect String="|" attribute="Filter Operator" context="filter"/>
0390         <StringDetect String=".." attribute="Operator"/>
0391         <StringDetect String="." context="prop" attribute="Dot Operator"/>
0392         <StringDetect String="'" context="sq_string" attribute="String"/>
0393         <StringDetect String="&quot;" context="dq_string" attribute="String"/>
0394         <StringDetect String="=>" attribute="Arrow Operator"/>
0395         <StringDetect String="{" context="hash" attribute="Symbol"/>
0396         <!-- implies <=> -->
0397         <StringDetect String="&lt;=" attribute="Operator"/>
0398         <AnyChar String="+-/%*~!=&lt;>?:" attribute="Operator"/>
0399         <Float attribute="Float"/>
0400         <Int attribute="Integer"/>
0401         <keyword String="functions" attribute="Function"/>
0402         <keyword String="operators" attribute="Keyword Operator" weakDeliminator="-"/>
0403         <keyword String="tests" attribute="Test"/>
0404         <keyword String="special values" attribute="Special Value"/>
0405         <keyword String="variables" attribute="Predefined Variable"/>
0406         <!-- keyword with spaces -->
0407         <RegExpr String="\b((starts|ends)\s+with|has\s+(every|some))\b" attribute="Keyword Operator"/>
0408         <!-- keyword with spaces -->
0409         <RegExpr String="\b(divisible\s+by|same\s+as)\b" attribute="Test"/>
0410         <RegExpr String="\b\w+(?=\()" attribute="Function"/>
0411       </context>
0412 
0413       <context name="filter" attribute="Normal" fallthroughContext="#pop">
0414         <DetectSpaces attribute="Normal"/>
0415         <DetectIdentifier attribute="Filter" context="#pop"/>
0416       </context>
0417 
0418       <context name="prop" attribute="Normal" fallthroughContext="#pop">
0419         <RegExpr String="\b\w+(?=\()" attribute="Function" context="#pop"/>
0420         <DetectIdentifier attribute="Property" context="#pop"/>
0421         <DetectSpaces attribute="Normal"/>
0422       </context>
0423 
0424       <context name="hash" attribute="Normal">
0425         <DetectSpaces attribute="Normal"/>
0426         <StringDetect String="}" context="#pop" attribute="Symbol"/>
0427         <IncludeRules context="value"/>
0428         <DetectIdentifier attribute="Normal"/>
0429       </context>
0430 
0431       <context name="parameters" attribute="Normal">
0432         <DetectSpaces attribute="Normal"/>
0433         <StringDetect String=")" context="#pop" attribute="Symbol"/>
0434         <StringDetect String="(" context="parameters" attribute="Symbol"/>
0435         <IncludeRules context="value"/>
0436         <RegExpr String="\b\w+\s*(?=\s*=)" attribute="Named Parameter"/>
0437         <DetectIdentifier attribute="Normal"/>
0438       </context>
0439 
0440       <context name="common_string" attribute="String" lineEndContext="#pop">
0441         <DetectSpaces attribute="String"/>
0442         <DetectIdentifier attribute="String"/>
0443         <HlCStringChar attribute="String Char"/>
0444       </context>
0445 
0446       <context name="sq_string" attribute="String">
0447         <StringDetect String="'" context="#pop" attribute="String"/>
0448         <IncludeRules context="common_string"/>
0449       </context>
0450 
0451       <context name="dq_string" attribute="String">
0452         <StringDetect String="&quot;" context="#pop" attribute="String"/>
0453         <IncludeRules context="common_string"/>
0454         <StringDetect String="#{" context="interpolation" attribute="String Char"/>
0455         <StringDetect String="\#" attribute="String Char"/>
0456       </context>
0457 
0458       <context name="interpolation" attribute="Normal">
0459         <DetectSpaces attribute="Normal"/>
0460         <StringDetect String="}" context="#pop" attribute="String Char"/>
0461         <IncludeRules context="value"/>
0462         <DetectIdentifier attribute="Normal"/>
0463       </context>
0464 
0465     </contexts>
0466 
0467     <itemDatas>
0468       <itemData name="Twig Context" defStyleNum="dsPreprocessor" spellChecking="0"/>
0469       <itemData name="Normal" defStyleNum="dsNormal" spellChecking="0"/>
0470       <itemData name="Comment" defStyleNum="dsComment"/>
0471       <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="0"/>
0472       <itemData name="Filter" defStyleNum="dsFunction" spellChecking="0"/>
0473       <itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/>
0474       <itemData name="Dot Operator" defStyleNum="dsOperator" spellChecking="0"/>
0475       <itemData name="Arrow Operator" defStyleNum="dsOperator" spellChecking="0"/>
0476       <itemData name="Filter Operator" defStyleNum="dsOperator" spellChecking="0"/>
0477       <itemData name="Keyword Operator" defStyleNum="dsKeyword" spellChecking="0"/>
0478       <itemData name="Tag" defStyleNum="dsKeyword" spellChecking="0"/>
0479       <itemData name="Test" defStyleNum="dsKeyword" spellChecking="0"/>
0480       <itemData name="Predefined Variable" defStyleNum="dsVariable" spellChecking="0"/>
0481       <itemData name="Special Value" defStyleNum="dsConstant" spellChecking="0"/>
0482       <itemData name="Property" defStyleNum="dsFunction" spellChecking="0"/>
0483       <itemData name="Function" defStyleNum="dsFunction" spellChecking="0"/>
0484       <itemData name="Named Parameter" defStyleNum="dsAttribute" spellChecking="0"/>
0485       <itemData name="String" defStyleNum="dsString"/>
0486       <itemData name="String Char" defStyleNum="dsSpecialChar" spellChecking="0"/>
0487       <itemData name="Verbatim" defStyleNum="dsVerbatimString" spellChecking="0"/>
0488       <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="0"/>
0489       <itemData name="Integer" defStyleNum="dsDecVal" spellChecking="0"/>
0490       <itemData name="Float" defStyleNum="dsFloat" spellChecking="0"/>
0491     </itemDatas>
0492   </highlighting>
0493   <general>
0494     <comments>
0495       <comment name="singleLine" start="#"/>
0496     </comments>
0497   </general>
0498 </language>
0499 <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->