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=""" context="dq_string" attribute="String"/>
0394 <StringDetect String="=>" attribute="Arrow Operator"/>
0395 <StringDetect String="{" context="hash" attribute="Symbol"/>
0396 <!-- implies <=> -->
0397 <StringDetect String="<=" attribute="Operator"/>
0398 <AnyChar String="+-/%*~!=<>?:" 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=""" 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; -->