Warning, /frameworks/syntax-highlighting/data/generators/cmake.xml.tpl is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004 <!-- NOTE See https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#variable-references -->
0005 <!ENTITY var_ref_re "[/\.\+\-_0-9A-Za-z]+">
0006 <!-- NOTE See `cmGeneratorExpression::IsValidTargetName` -->
0007 <!ENTITY tgt_name_re "[A-Za-z0-9_\.\+\-]+">
0008 ]>
0009 <!--
0010 This file is part of KDE's kate project.
0011
0012 SPDX-FileCopyrightText: 2004 Alexander Neundorf <neundorf@kde.org>
0013 SPDX-FileCopyrightText: 2005 Dominik Haumann <dhdev@gmx.de>
0014 SPDX-FileCopyrightText: 2007, 2008, 2013, 2014 Matthew Woehlke <mw_triad@users.sourceforge.net>
0015 SPDX-FileCopyrightText: 2013-2015, 2017-2023 Alex Turbov <i.zaufi@gmail.com>
0016
0017 SPDX-License-Identifier: LGPL-2.0-or-later
0018 -->
0019
0020 <!-- ***** THIS FILE WAS GENERATED BY A SCRIPT - DO NOT EDIT *****
0021 cd data/generators
0022 # increase version of cmake.xml.tpl then
0023 ./generate-cmake-syntax.py cmake.yaml > ../syntax/cmake.xml
0024 -->
0025
0026 <language
0027 name="CMake"
0028 version="<!--{version}-->"
0029 kateversion="5.62"
0030 section="Other"
0031 extensions="CMakeLists.txt;*.cmake;*.cmake.in"
0032 style="CMake"
0033 mimetype="text/x-cmake"
0034 author="Alex Turbov (i.zaufi@gmail.com)"
0035 license="LGPLv2+"
0036 >
0037 <highlighting>
0038
0039 <list name="commands">
0040 <!--[- for command in commands ]-->
0041 <item><!--{command.name}--></item>
0042 <!--[- endfor ]-->
0043 </list>
0044
0045 <!--[- macro render_command_arg_lists(commands) ]-->
0046 <!--[- for command in commands -]-->
0047 <!--[- if command.named_args and command.named_args.kw ]-->
0048 <list name="<!--{command.name}-->_nargs">
0049 <!--[- for arg in command.named_args.kw ]-->
0050 <item><!--{arg}--></item>
0051 <!--[- endfor ]-->
0052 </list>
0053 <!--[- endif ]-->
0054 <!--[- if command.special_args and command.special_args.kw ]-->
0055 <list name="<!--{command.name}-->_sargs">
0056 <!--[- for arg in command.special_args.kw ]-->
0057 <item><!--{arg}--></item>
0058 <!--[- endfor ]-->
0059 </list>
0060 <!--[- endif ]-->
0061 <!--[- endfor ]-->
0062 <!--[- endmacro ]-->
0063 <!--{- render_command_arg_lists(commands) }-->
0064 <!--{- render_command_arg_lists(standard_module_commands) }-->
0065
0066 <list name="variables">
0067 <!--[- for var in variables.kw ]-->
0068 <item><!--{var}--></item>
0069 <!--[- endfor ]-->
0070 </list>
0071
0072 <list name="deprecated-or-internal-variables">
0073 <!--[- for var in deprecated_or_internal_variables.kw ]-->
0074 <item><!--{var}--></item>
0075 <!--[- endfor ]-->
0076 </list>
0077
0078 <list name="environment-variables">
0079 <!--[- for var in environment_variables.kw ]-->
0080 <item><!--{var}--></item>
0081 <!--[- endfor ]-->
0082 </list>
0083
0084 <!--[- for kind in properties.kinds ]-->
0085 <list name="<!--{ kind|replace('_', '-') }-->">
0086 <!--[- for prop in properties[kind].kw ]-->
0087 <item><!--{prop}--></item>
0088 <!--[- endfor ]-->
0089 </list>
0090 <!--[- endfor ]-->
0091
0092 <list name="generator-expressions">
0093 <!--[- for expr in generator_expressions ]-->
0094 <item><!--{ expr }--></item>
0095 <!--[- endfor ]-->
0096 </list>
0097 <!--[- for expr in complex_generator_expressions ]-->
0098 <list name="genex-<!--{expr.name}-->-subcommands">
0099 <!--[- for cmd in expr.subcommands ]-->
0100 <item><!--{ cmd }--></item>
0101 <!--[- endfor ]-->
0102 </list>
0103 <!--[- endfor ]-->
0104
0105 <list name="standard-modules">
0106 <!--[- for module in modules.utility ]-->
0107 <item><!--{ module }--></item>
0108 <!--[- endfor ]-->
0109 </list>
0110
0111 <list name="standard-finder-modules">
0112 <!--[- for module in modules.finder ]-->
0113 <item><!--{ module | replace('Find', '') }--></item>
0114 <!--[- endfor ]-->
0115 </list>
0116
0117 <list name="deprecated-modules">
0118 <!--[- for module in modules.deprecated ]-->
0119 <item><!--{ module }--></item>
0120 <!--[- endfor ]-->
0121 </list>
0122
0123 <!-- Source/cmStringAlgorithms.cxx: bool cmIsOff(cm::string_view val) -->
0124 <list name="true_special_arg">
0125 <item>TRUE</item>
0126 <item>ON</item>
0127 <item>YES</item>
0128 <item>Y</item>
0129 <item>0</item>
0130 </list>
0131
0132 <!-- Source/cmStringAlgorithms.cxx: bool cmIsOff(cm::string_view val) -->
0133 <list name="false_special_arg">
0134 <item>FALSE</item>
0135 <item>OFF</item>
0136 <item>NO</item>
0137 <item>IGNORE</item>
0138 <item>N</item>
0139 <item>0</item>
0140 </list>
0141
0142 <contexts>
0143
0144 <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
0145 <DetectSpaces />
0146 <!--[ for command in commands -]-->
0147 <WordDetect String="<!--{command.name}-->" insensitive="true" attribute="<!--{command.attribute}-->" context="<!--{command.name}-->_ctx"<!--[ if command.start_region ]--> beginRegion="<!--{command.start_region}-->"<!--[ endif -]--> <!--[- if command.end_region ]--> endRegion="<!--{command.end_region}-->"<!--[ endif ]--> />
0148 <!--[ endfor -]-->
0149 <!--[ for command in standard_module_commands -]-->
0150 <WordDetect String="<!--{command.name}-->" insensitive="true" attribute="CMake Provided Function/Macro" context="<!--{command.name}-->_ctx" />
0151 <!--[ endfor -]-->
0152 <DetectChar attribute="Comment" context="Match Comments and Docs" char="#" lookAhead="true" />
0153 <DetectIdentifier attribute="User Function/Macro" context="User Function" />
0154 <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" />
0155 <IncludeRules context="LineError" />
0156 </context>
0157 <!--[- macro render_command_parsers(commands) ]-->
0158 <!--[ for command in commands -]-->
0159 <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx">
0160 <DetectChar attribute="Normal Text" context="<!--{command.name}-->_ctx_op<!--{'_tgt_first' if command.first_arg_is_target else '_tgts_first' if command.first_args_are_targets else ''}-->" char="(" />
0161 <DetectChar attribute="Normal Text" context="#pop" char=")" />
0162 </context>
0163 <!--[- if command.first_arg_is_target ]-->
0164 <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op_tgt_first">
0165 <DetectSpaces />
0166 <RegExpr attribute="Aliased Targets" context="<!--{command.name}-->_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" />
0167 <RegExpr attribute="Targets" context="<!--{command.name}-->_ctx_op" String="&tgt_name_re;" />
0168 <IncludeRules context="User Function Opened" />
0169 <IncludeRules context="LineError" />
0170 </context>
0171 <!--[- endif ]-->
0172 <!--[- if command.first_args_are_targets ]-->
0173 <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op_tgts_first">
0174 <DetectSpaces />
0175 <!--[- if command.named_args and command.named_args.kw ]-->
0176 <!-- NOTE Handle the only case in CMake nowadays:
0177 1. `set_target_properties` have a named keyword (`PROPERTIES`) after targets list
0178 -->
0179 <keyword context="<!--{command.name}-->_ctx_op" String="<!--{command.name}-->_nargs" lookAhead="true" />
0180 <!--[- endif ]-->
0181 <IncludeRules context="Detect Aliased Targets" />
0182 <IncludeRules context="Detect Targets" />
0183 <IncludeRules context="User Function Opened" />
0184 <IncludeRules context="LineError" />
0185 </context>
0186 <!--[- endif ]-->
0187 <!--[- if not command.first_args_are_targets or (command.named_args and command.named_args.kw) ]-->
0188 <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op">
0189 <DetectSpaces />
0190 <!--[- if command.nested_parentheses ]-->
0191 <DetectChar attribute="Normal Text" context="<!--{command.name}-->_ctx_op_nested" char="(" />
0192 <!--[- endif ]-->
0193 <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
0194 <!--[- if command.named_args and command.named_args.kw ]-->
0195 <!--[- if command.has_target_name_after_kw ]-->
0196 <WordDetect String="<!--{command.has_target_name_after_kw}-->" attribute="Named Args" context="Target Name" />
0197 <!--[- endif ]-->
0198 <!--[- if command.has_target_names_after_kw ]-->
0199 <WordDetect String="<!--{command.has_target_names_after_kw}-->" attribute="Named Args" context="<!--{command.name}-->_tgts" />
0200 <!--[- endif ]-->
0201 <keyword attribute="Named Args" context="#stay" String="<!--{command.name}-->_nargs" />
0202 <!--[- endif ]-->
0203 <!--[- if command.name == 'include' ]-->
0204 <keyword attribute="Standard Module" context="#stay" String="standard-modules" />
0205 <keyword attribute="Deprecated Module" context="#stay" String="deprecated-modules" />
0206 <!--[- endif ]-->
0207 <!--[- if command.name == 'find_package' ]-->
0208 <keyword attribute="Standard Module" context="#stay" String="standard-finder-modules" />
0209 <!--[- endif ]-->
0210 <!--[- if command.special_args and command.special_args.kw ]-->
0211 <keyword attribute="Special Args" context="#stay" String="<!--{command.name}-->_sargs" />
0212 <!--[- endif ]-->
0213 <!--[- if command.property_args and command.property_args.kw ]-->
0214 <!--[- for kind in command.property_args.kw ]-->
0215 <keyword attribute="Property" context="#stay" String="<!--{kind}-->" />
0216 <!--[- if properties[kind|replace('-', '_')].re ]-->
0217 <IncludeRules context="Detect More <!--{kind}-->" />
0218 <!--[- endif ]-->
0219 <!--[- endfor ]-->
0220 <!--[- endif ]-->
0221 <!--[- if command is not nulary ]-->
0222 <IncludeRules context="User Function Args" />
0223 <!--[- if command.name == 'cmake_policy' ]-->
0224 <!-- NOTE Handle CMP<NNN> as a special arg of `cmake_policy` command -->
0225 <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9]+\b" />
0226 <!--[- endif ]-->
0227 <!--[- endif ]-->
0228 </context>
0229 <!--[- endif ]-->
0230 <!--[- if command.has_target_names_after_kw ]-->
0231 <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_tgts">
0232 <DetectSpaces />
0233 <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
0234 <keyword attribute="Named Args" context="#pop" String="<!--{command.name}-->_nargs" />
0235 <IncludeRules context="Detect Aliased Targets" />
0236 <IncludeRules context="Detect Targets" />
0237 <IncludeRules context="User Function Args" />
0238 <IncludeRules context="LineError" />
0239 </context>
0240 <!--[- endif ]-->
0241 <!--[- if command.nested_parentheses ]-->
0242 <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op_nested">
0243 <DetectSpaces />
0244 <DetectChar attribute="Normal Text" context="#pop" char=")" />
0245 <DetectChar attribute="Normal Text" context="<!--{command.name}-->_ctx_op_nested" char="(" />
0246 <!--[- if command.named_args and command.named_args.kw ]-->
0247 <keyword attribute="Named Args" context="#stay" String="<!--{command.name}-->_nargs" />
0248 <!--[- endif ]-->
0249 <!--[- if command.special_args and command.special_args.kw ]-->
0250 <keyword attribute="Special Args" context="#stay" String="<!--{command.name}-->_sargs" />
0251 <!--[- endif ]-->
0252 <!--[- if command.property_args and command.property_args.kw ]-->
0253 <!--[- for kind in command.property_args.kw ]-->
0254 <keyword attribute="Property" context="#stay" String="<!--{kind}-->" />
0255 <!--[- if properties[kind|replace('-', '_')].re ]-->
0256 <IncludeRules context="Detect More <!--{kind}-->" />
0257 <!--[- endif ]-->
0258 <!--[- endfor ]-->
0259 <!--[- endif ]-->
0260 <IncludeRules context="User Function Args" />
0261 </context>
0262 <!--[- endif ]-->
0263 <!--[ endfor -]-->
0264 <!--[- endmacro -]-->
0265 <!--{- render_command_parsers(commands) -}-->
0266 <!--{- render_command_parsers(standard_module_commands) -}-->
0267 <!--[ for kind in properties.kinds if properties[kind].re -]-->
0268 <context attribute="Normal Text" lineEndContext="#stay" name="Detect More <!--{ kind|replace('_', '-') }-->">
0269 <RegExpr attribute="Property" context="#stay" String="<!--{properties[kind].re}-->" />
0270 </context><!--{ '\n' }-->
0271 <!--[ endfor -]-->
0272
0273 <context attribute="User Function/Macro" lineEndContext="#stay" name="User Function">
0274 <DetectChar attribute="Normal Text" context="User Function Opened" char="(" />
0275 <DetectChar attribute="Normal Text" context="#pop" char=")" />
0276 </context>
0277
0278 <context attribute="Normal Text" lineEndContext="#stay" name="User Function Opened">
0279 <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
0280 <IncludeRules context="User Function Args" />
0281 </context>
0282
0283 <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables">
0284 <RegExpr attribute="Internal Name" context="#stay" String="\b_&var_ref_re;\b" />
0285 <keyword attribute="CMake Internal Variable" context="#stay" String="deprecated-or-internal-variables" insensitive="false" />
0286 <keyword attribute="Builtin Variable" context="#stay" String="variables" insensitive="false" />
0287 <IncludeRules context="Detect More Builtin Variables" />
0288 </context>
0289
0290 <context attribute="Normal Text" lineEndContext="#stay" name="Detect More Builtin Variables">
0291 <!--[- if deprecated_or_internal_variables.re ]-->
0292 <RegExpr attribute="CMake Internal Variable" context="#stay" String="<!--{deprecated_or_internal_variables.re}-->" />
0293 <!--[- endif ]-->
0294 <!--[- if variables.re ]-->
0295 <RegExpr attribute="Builtin Variable" context="#stay" String="<!--{variables.re}-->" />
0296 <!--[- endif ]-->
0297 </context>
0298
0299 <context attribute="Normal Text" lineEndContext="#stay" name="Detect Variable Substitutions">
0300 <RegExpr attribute="Cache Variable Substitution" context="#stay" String="\$CACHE\{\s*[\w-]+\s*\}" />
0301 <RegExpr attribute="Environment Variable Substitution" context="EnvVarSubst" String="\$?ENV\{" />
0302 <Detect2Chars attribute="Variable Substitution" context="VarSubst" char="$" char1="{" />
0303 <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" />
0304 </context>
0305
0306 <context attribute="Environment Variable Substitution" lineEndContext="#pop" name="EnvVarSubst">
0307 <DetectChar attribute="Environment Variable Substitution" context="#pop" char="}" />
0308 <keyword attribute="Standard Environment Variable" context="#stay" String="environment-variables" insensitive="false" />
0309 <!--[- if environment_variables.re ]-->
0310 <RegExpr attribute="Standard Environment Variable" context="#stay" String="<!--{environment_variables.re}-->" />
0311 <!--[- endif ]-->
0312 <DetectIdentifier />
0313 <IncludeRules context="Detect Variable Substitutions" />
0314 </context>
0315
0316 <context attribute="Variable Substitution" lineEndContext="#pop" name="VarSubst">
0317 <DetectChar attribute="Variable Substitution" context="#pop" char="}" />
0318 <IncludeRules context="Detect Builtin Variables" />
0319 <DetectIdentifier />
0320 <IncludeRules context="Detect Variable Substitutions" />
0321 </context>
0322
0323 <context attribute="@Variable Substitution" lineEndContext="#pop" name="@VarSubst">
0324 <DetectChar attribute="@Variable Substitution" context="VarSubst@" char="@" />
0325 </context>
0326
0327 <context attribute="@Variable Substitution" lineEndContext="#pop#pop" name="VarSubst@">
0328 <DetectChar attribute="@Variable Substitution" context="#pop#pop" char="@" />
0329 <IncludeRules context="Detect Builtin Variables" />
0330 <DetectIdentifier />
0331 </context>
0332
0333 <context attribute="Normal Text" lineEndContext="#stay" name="Target Name">
0334 <DetectSpaces />
0335 <RegExpr attribute="Aliased Targets" context="#pop" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" />
0336 <IncludeRules context="Detect Targets" />
0337 <IncludeRules context="User Function Opened" />
0338 <IncludeRules context="LineError" />
0339 </context>
0340
0341 <context attribute="Normal Text" lineEndContext="#stay" name="Detect Targets">
0342 <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" />
0343 </context>
0344
0345 <context attribute="Normal Text" lineEndContext="#stay" name="LineError">
0346 <RegExpr attribute="Error" context="#stay" String=".*" />
0347 </context>
0348
0349 <context attribute="Normal Text" lineEndContext="#stay" name="User Function Args">
0350 <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="(" />
0351 <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1=")" />
0352 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1=""" />
0353 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="$" />
0354 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="n" />
0355 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="\" />
0356 <DetectChar attribute="Strings" context="String" char=""" />
0357 <RegExpr attribute="Strings" context="Bracketed String" String="\[(=*)\[" beginRegion="BracketedString" />
0358 <DetectChar attribute="Comment" context="Match Comments" char="#" lookAhead="true" />
0359 <IncludeRules context="Detect Builtin Variables" />
0360 <IncludeRules context="Detect Variable Substitutions" />
0361 <IncludeRules context="Detect Special Values" />
0362 <IncludeRules context="Detect Aliased Targets" />
0363 <IncludeRules context="Detect Generator Expressions" />
0364 <DetectIdentifier />
0365 </context>
0366
0367 <context attribute="Normal Text" lineEndContext="#stay" name="Detect Special Values">
0368 <RegExpr attribute="Version Arg" context="#stay" String="\b[0-9]++(.[0-9]++)+\b" />
0369 <keyword attribute="True Special Arg" context="#stay" String="true_special_arg" insensitive="true" />
0370 <keyword attribute="False Special Arg" context="#stay" String="false_special_arg" insensitive="true" />
0371 <RegExpr attribute="False Special Arg" context="#stay" String="\b(?:&var_ref_re;-)?NOTFOUND\b" />
0372 <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9][0-9][0-9][0-9]\b" />
0373 </context>
0374
0375 <context attribute="Normal Text" lineEndContext="#stay" name="Detect Aliased Targets">
0376 <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" />
0377 </context>
0378
0379 <context attribute="Comment" lineEndContext="#pop" name="Match Comments">
0380 <DetectSpaces />
0381 <RegExpr attribute="Comment" context="#pop!Bracketed Comment" String="#\[(=*)\[" beginRegion="BracketedComment" />
0382 <DetectChar attribute="Comment" context="#pop!Comment" char="#" />
0383 <DetectIdentifier />
0384 </context>
0385
0386 <context attribute="Comment" lineEndContext="#pop" name="Match Comments and Docs">
0387 <RegExpr attribute="Region Marker" context="#pop!RST Documentation" String="^#\[(=*)\[\.rst:" column="0" beginRegion="RSTDocumentation" />
0388 <IncludeRules context="Match Comments" />
0389 </context>
0390
0391 <context attribute="Comment" lineEndContext="#pop" name="Comment">
0392 <DetectSpaces />
0393 <LineContinue attribute="Comment" context="#pop" />
0394 <IncludeRules context="##Comments" />
0395 <DetectIdentifier />
0396 </context>
0397
0398 <context attribute="Comment" lineEndContext="#stay" name="RST Documentation" dynamic="true">
0399 <RegExpr attribute="Region Marker" context="#pop" String="^#?\]%1\]" dynamic="true" column="0" endRegion="RSTDocumentation" />
0400 <IncludeRules context="##reStructuredText" />
0401 </context>
0402
0403 <context attribute="Comment" lineEndContext="#stay" name="Bracketed Comment" dynamic="true">
0404 <LineContinue attribute="Comment" context="#stay" />
0405 <DetectSpaces />
0406 <StringDetect attribute="Comment" context="#pop" String="]%1]" dynamic="true" endRegion="BracketedComment" />
0407 <IncludeRules context="##Comments" />
0408 </context>
0409
0410 <context attribute="Strings" lineEndContext="#stay" name="String">
0411 <DetectSpaces />
0412 <DetectIdentifier />
0413 <RegExpr attribute="Strings" context="#pop" String=""(?=[ );]|$)" />
0414 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1=""" />
0415 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="$" />
0416 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="n" />
0417 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="r" />
0418 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="t" />
0419 <Detect2Chars attribute="Escapes" context="#stay" char="\" char1="\" />
0420 <IncludeRules context="Detect Variable Substitutions" />
0421 <IncludeRules context="Detect Generator Expressions" />
0422 </context>
0423
0424 <context attribute="Strings" lineEndContext="#stay" name="Bracketed String" dynamic="true">
0425 <StringDetect attribute="Strings" context="#pop" String="]%1]" dynamic="true" endRegion="BracketedString" />
0426 </context>
0427
0428 <context attribute="Normal Text" lineEndContext="#stay" name="Detect Generator Expressions">
0429 <Detect2Chars attribute="Generator Expression" context="Generator Expression" char="$" char1="<" />
0430 </context>
0431
0432 <context attribute="Generator Expression" lineEndContext="#stay" name="Generator Expression">
0433 <IncludeRules context="Detect Generator Expressions" />
0434 <DetectChar attribute="Comment" context="Comment" char="#" />
0435 <DetectChar attribute="Generator Expression" context="#pop" char=">" />
0436 <keyword attribute="Generator Expression Keyword" context="#stay" String="generator-expressions" insensitive="false" />
0437 <!--[- for expr in complex_generator_expressions ]-->
0438 <WordDetect String="<!--{expr.name}-->" attribute="Generator Expression Keyword" context="genex_<!--{expr.name}-->_ctx" />
0439 <!--[- endfor ]-->
0440 <IncludeRules context="Detect Aliased Targets" />
0441 <IncludeRules context="Detect Variable Substitutions" />
0442 <DetectIdentifier />
0443 </context>
0444
0445 <!--[- for expr in complex_generator_expressions ]-->
0446 <context attribute="Generator Expression" lineEndContext="#stay" name="genex_<!--{expr.name}-->_ctx" fallthroughContext="#pop">
0447 <DetectChar char=":" context="#stay" />
0448 <DetectSpaces />
0449 <keyword attribute="Generator Expression Sub-Command" context="#pop" String="genex-<!--{expr.name}-->-subcommands" insensitive="false" />
0450 </context>
0451 <!--[- endfor ]-->
0452
0453 </contexts>
0454
0455 <itemDatas>
0456 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
0457 <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
0458 <itemData name="Command" defStyleNum="dsKeyword" spellChecking="false" />
0459 <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false" />
0460 <itemData name="CMake Provided Function/Macro" defStyleNum="dsFunction" bold="true" spellChecking="false" />
0461 <itemData name="User Function/Macro" defStyleNum="dsFunction" spellChecking="false" />
0462 <itemData name="Property" defStyleNum="dsOthers" spellChecking="false" />
0463 <itemData name="Targets" defStyleNum="dsBaseN" spellChecking="false" />
0464 <itemData name="Aliased Targets" defStyleNum="dsBaseN" spellChecking="false" />
0465 <itemData name="Named Args" defStyleNum="dsOthers" spellChecking="false" />
0466 <itemData name="Special Args" defStyleNum="dsOthers" spellChecking="false" />
0467 <itemData name="True Special Arg" defStyleNum="dsOthers" color="#30a030" selColor="#30a030" spellChecking="false" />
0468 <itemData name="False Special Arg" defStyleNum="dsOthers" color="#e05050" selColor="#e05050" spellChecking="false" />
0469 <itemData name="Version Arg" defStyleNum="dsDataType" spellChecking="false" />
0470 <itemData name="Strings" defStyleNum="dsString" spellChecking="true" />
0471 <itemData name="Escapes" defStyleNum="dsSpecialChar" spellChecking="false" />
0472 <itemData name="Builtin Variable" defStyleNum="dsDecVal" color="#c09050" selColor="#c09050" spellChecking="false" />
0473 <itemData name="CMake Internal Variable" defStyleNum="dsVariable" spellChecking="false" />
0474 <itemData name="Internal Name" defStyleNum="dsVariable" spellChecking="false" />
0475 <itemData name="Variable Substitution" defStyleNum="dsDecVal" spellChecking="false" />
0476 <itemData name="@Variable Substitution" defStyleNum="dsBaseN" spellChecking="false" />
0477 <itemData name="Cache Variable Substitution" defStyleNum="dsFloat" spellChecking="false" />
0478 <itemData name="Environment Variable Substitution" defStyleNum="dsFloat" spellChecking="false" />
0479 <itemData name="Standard Environment Variable" defStyleNum="dsFloat" spellChecking="false" />
0480 <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false" />
0481 <itemData name="Generator Expression Sub-Command" defStyleNum="dsKeyword" color="#c05050" selColor="#c05050" spellChecking="false" />
0482 <itemData name="Generator Expression" defStyleNum="dsOthers" color="#b86050" selColor="#b86050" spellChecking="false" />
0483 <itemData name="Standard Module" defStyleNum="dsImport" spellChecking="false" />
0484 <itemData name="Deprecated Module" defStyleNum="dsImport" spellChecking="false" />
0485 <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />
0486 <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
0487 </itemDatas>
0488
0489 </highlighting>
0490
0491 <general>
0492 <comments>
0493 <comment name="singleLine" start="#" position="afterwhitespace" />
0494 <comment name="multiLine" start="#[[" end="]]" region="BracketedComment" />
0495 </comments>
0496 <keywords casesensitive="1" weakDeliminator="." />
0497 </general>
0498 </language>
0499
0500 <!-- kate: replace-tabs on; indent-width 2; tab-width 2; -->