diff options
author | David Schulz <david.schulz@qt.io> | 2022-02-09 09:13:05 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2022-02-11 08:00:00 +0000 |
commit | 37f8fcd79113c4093f6984e94f507d05dde54090 (patch) | |
tree | a3d245046247b8a8d70e2f51411b0263ffed40eb | |
parent | 12c63bbce9f829ef9c165cfc651c0ea1c25a23e1 (diff) |
Editor: update ksyntaxhighlighting engine to v5.90.0
Task-number: QTCREATORBUG-22558
Change-Id: I7314c146a6de359ea8d60750d8a2c8e972b33fc9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
37 files changed, 7230 insertions, 1386 deletions
diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt index a8f5980862e..4d352af3d65 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt @@ -29,6 +29,7 @@ add_qtc_library(KSyntaxHighlighting SHARED src/lib/foldingregion.cpp src/lib/foldingregion.h src/lib/format.cpp src/lib/format.h src/lib/format_p.h src/lib/htmlhighlighter.cpp src/lib/htmlhighlighter.h + src/lib/highlightingdata.cpp src/lib/highlightingdata_p.hpp src/lib/keywordlist.cpp src/lib/keywordlist_p.h src/lib/matchresult_p.h src/lib/repository.cpp src/lib/repository.h src/lib/repository_p.h diff --git a/src/libs/3rdparty/syntax-highlighting/autogenerated/ksyntaxhighlighting_version.h b/src/libs/3rdparty/syntax-highlighting/autogenerated/ksyntaxhighlighting_version.h index a8c5d74235a..4336b19ce5d 100644 --- a/src/libs/3rdparty/syntax-highlighting/autogenerated/ksyntaxhighlighting_version.h +++ b/src/libs/3rdparty/syntax-highlighting/autogenerated/ksyntaxhighlighting_version.h @@ -3,10 +3,10 @@ #ifndef SyntaxHighlighting_VERSION_H #define SyntaxHighlighting_VERSION_H -#define SyntaxHighlighting_VERSION_STRING "5.87.0" +#define SyntaxHighlighting_VERSION_STRING "5.90.0" #define SyntaxHighlighting_VERSION_MAJOR 5 -#define SyntaxHighlighting_VERSION_MINOR 87 +#define SyntaxHighlighting_VERSION_MINOR 90 #define SyntaxHighlighting_VERSION_PATCH 0 -#define SyntaxHighlighting_VERSION ((5<<16)|(87<<8)|(0)) +#define SyntaxHighlighting_VERSION ((5<<16)|(90<<8)|(0)) #endif diff --git a/src/libs/3rdparty/syntax-highlighting/autogenerated/src/lib/ksyntaxhighlighting_export.h b/src/libs/3rdparty/syntax-highlighting/autogenerated/src/lib/ksyntaxhighlighting_export.h index 1213499635c..25fb987a978 100644 --- a/src/libs/3rdparty/syntax-highlighting/autogenerated/src/lib/ksyntaxhighlighting_export.h +++ b/src/libs/3rdparty/syntax-highlighting/autogenerated/src/lib/ksyntaxhighlighting_export.h @@ -88,7 +88,7 @@ #define KSYNTAXHIGHLIGHTING_BUILD_DEPRECATED_SINCE(major, minor) 1 #ifdef KSYNTAXHIGHLIGHTING_NO_DEPRECATED -# define KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT 0x55700 +# define KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT 0x55a00 #endif #ifdef KSYNTAXHIGHLIGHTING_NO_DEPRECATED_WARNINGS # define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE 0 @@ -98,7 +98,7 @@ # ifdef KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT # define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT # else -# define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE 0x55700 +# define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE 0x55a00 # endif #endif @@ -178,7 +178,7 @@ #define KSYNTAXHIGHLIGHTING_BUILD_DEPRECATED_SINCE(major, minor) 1 #ifdef KSYNTAXHIGHLIGHTING_NO_DEPRECATED -# define KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT 0x55700 +# define KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT 0x55a00 #endif #ifdef KSYNTAXHIGHLIGHTING_NO_DEPRECATED_WARNINGS # define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE 0 @@ -188,7 +188,7 @@ # ifdef KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT # define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE KSYNTAXHIGHLIGHTING_DISABLE_DEPRECATED_BEFORE_AND_AT # else -# define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE 0x55700 +# define KSYNTAXHIGHLIGHTING_DEPRECATED_WARNINGS_SINCE 0x55a00 # endif #endif diff --git a/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt index acc2429ec84..6e86a05e9e3 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt @@ -64,7 +64,7 @@ if (QRC_SYNTAX) # generate the qrc file manually, to make dependencies on generated files work... add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" - COMMAND ${Qt5Core_RCC_EXECUTABLE} --name syntax_data -o "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" + COMMAND Qt${QT_MAJOR_VERSION}::rcc --name syntax_data -o "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" DEPENDS ${defs} ${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax ) set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" PROPERTIES SKIP_AUTOMOC ON) @@ -79,5 +79,5 @@ endif() # this needs some more recent CMake than generally required set_property(TARGET SyntaxHighlightingData PROPERTY POSITION_INDEPENDENT_CODE 1) if(NOT ${CMAKE_VERSION} VERSION_LESS "3.13.0") - target_link_libraries(SyntaxHighlightingData PRIVATE Qt5::Core) + target_link_libraries(SyntaxHighlightingData PRIVATE Qt${QT_MAJOR_VERSION}::Core) endif() diff --git a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.xml.tpl b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.xml.tpl index 1c1a3da4ba2..45057a8a054 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.xml.tpl +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.xml.tpl @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ - <!ENTITY id_re "[_A-Za-z][\-_0-9A-Za-z]*"> + <!-- NOTE See https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#variable-references --> + <!ENTITY var_ref_re "[/\.\+\-_0-9A-Za-z]+"> + <!-- NOTE See `cmGeneratorExpression::IsValidTargetName` --> + <!ENTITY tgt_name_re "[A-Za-z0-9_\.\+\-]+"> ]> <!-- This file is part of KDE's kate project. @@ -38,7 +41,9 @@ <item><!--{command.name}--></item> <!--[- endfor ]--> </list> - <!--[ for command in commands -]--> + + <!--[- macro render_command_arg_lists(commands) ]--> + <!--[- for command in commands -]--> <!--[- if command.named_args and command.named_args.kw ]--> <list name="<!--{command.name}-->_nargs"> <!--[- for arg in command.named_args.kw ]--> @@ -54,6 +59,9 @@ </list> <!--[- endif ]--> <!--[- endfor ]--> + <!--[- endmacro ]--> + <!--{- render_command_arg_lists(commands) }--> + <!--{- render_command_arg_lists(standard_module_commands) }--> <list name="variables"> <!--[- for var in variables.kw ]--> @@ -87,6 +95,24 @@ <!--[- endfor ]--> </list> + <list name="standard-modules"> + <!--[- for module in modules.utility ]--> + <item><!--{ module }--></item> + <!--[- endfor ]--> + </list> + + <list name="standard-finder-modules"> + <!--[- for module in modules.finder ]--> + <item><!--{ module | replace('Find', '') }--></item> + <!--[- endfor ]--> + </list> + + <list name="deprecated-modules"> + <!--[- for module in modules.deprecated ]--> + <item><!--{ module }--></item> + <!--[- endfor ]--> + </list> + <contexts> <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text"> @@ -94,25 +120,68 @@ <!--[ for command in commands -]--> <WordDetect String="<!--{command.name}-->" insensitive="true" attribute="Command" context="<!--{command.name}-->_ctx"<!--[ if command.start_region ]--> beginRegion="<!--{command.start_region}-->"<!--[ endif -]--> <!--[- if command.end_region ]--> endRegion="<!--{command.end_region}-->"<!--[ endif ]--> /> <!--[ endfor -]--> + <!--[ for command in standard_module_commands -]--> + <WordDetect String="<!--{command.name}-->" insensitive="true" attribute="CMake Provided Function/Macro" context="<!--{command.name}-->_ctx" /> + <!--[ endfor -]--> <DetectChar attribute="Comment" context="Match Comments and Docs" char="#" lookAhead="true" /> <DetectIdentifier attribute="User Function/Macro" context="User Function" /> - <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&id_re;@" lookAhead="true" /> - <!-- Include keywords matching for language autocompleter work --> - <keyword attribute="Command" context="#stay" String="commands" /> + <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> - + <!--[- macro render_command_parsers(commands) ]--> <!--[ for command in commands -]--> <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx"> - <DetectChar attribute="Normal Text" context="<!--{command.name}-->_ctx_op" char="(" /> + <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="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <!--[- if command.first_arg_is_target ]--> + <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="<!--{command.name}-->_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="<!--{command.name}-->_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <!--[- endif ]--> + <!--[- if command.first_args_are_targets ]--> + <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op_tgts_first"> + <!--[- if command.named_args and command.named_args.kw ]--> + <!-- NOTE Handle the only case in CMake nowadays: + 1. `set_target_properties` have a named keyword (`PROPERTIES`) after targets list + --> + <keyword context="<!--{command.name}-->_ctx_op" String="<!--{command.name}-->_nargs" lookAhead="true" /> + <!--[- endif ]--> + <IncludeRules context="Detect Aliased Targets" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> + <!--[- endif ]--> + <!--[- if not command.first_args_are_targets or (command.named_args and command.named_args.kw) ]--> <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op"> <!--[- if command.nested_parentheses ]--> <DetectChar attribute="Normal Text" context="<!--{command.name}-->_ctx_op_nested" char="(" /> <!--[- endif ]--> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <!--[- if command.named_args and command.named_args.kw ]--> + <!--[- if command.has_target_name_after_kw ]--> + <WordDetect String="<!--{command.has_target_name_after_kw}-->" attribute="Named Args" context="Target Name" /> + <!--[- endif ]--> + <!--[- if command.has_target_names_after_kw ]--> + <WordDetect String="<!--{command.has_target_names_after_kw}-->" attribute="Named Args" context="<!--{command.name}-->_tgts" /> + <!--[- endif ]--> <keyword attribute="Named Args" context="#stay" String="<!--{command.name}-->_nargs" /> <!--[- endif ]--> + <!--[- if command.name == 'include' ]--> + <keyword attribute="Standard Module" context="#stay" String="standard-modules" /> + <keyword attribute="Deprecated Module" context="#stay" String="deprecated-modules" /> + <!--[- endif ]--> + <!--[- if command.name == 'find_package' ]--> + <keyword attribute="Standard Module" context="#stay" String="standard-finder-modules" /> + <!--[- endif ]--> <!--[- if command.special_args and command.special_args.kw ]--> <keyword attribute="Special Args" context="#stay" String="<!--{command.name}-->_sargs" /> <!--[- endif ]--> @@ -132,9 +201,21 @@ <!--[- endif ]--> <!--[- endif ]--> </context> + <!--[- endif ]--> + <!--[- if command.has_target_names_after_kw ]--> + <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_tgts"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#pop" String="<!--{command.name}-->_nargs" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <!--[- endif ]--> <!--[- if command.nested_parentheses ]--> <context attribute="Normal Text" lineEndContext="#stay" name="<!--{command.name}-->_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <!--[- if command.named_args and command.named_args.kw ]--> <keyword attribute="Named Args" context="#stay" String="<!--{command.name}-->_nargs" /> <!--[- endif ]--> @@ -153,33 +234,27 @@ </context> <!--[- endif ]--> <!--[ endfor -]--> - + <!--[- endmacro -]--> + <!--{- render_command_parsers(commands) -}--> + <!--{- render_command_parsers(standard_module_commands) -}--> <!--[ for kind in properties.kinds if properties[kind].re -]--> <context attribute="Normal Text" lineEndContext="#stay" name="Detect More <!--{ kind|replace('_', '-') }-->"> <RegExpr attribute="Property" context="#stay" String="<!--{properties[kind].re}-->" /> </context><!--{ '\n' }--> <!--[ endfor -]--> - <context attribute="Normal Text" lineEndContext="#stay" name="EndCmdPop"> - <DetectChar attribute="Normal Text" context="#pop" char=")" /> - </context> - - <context attribute="Normal Text" lineEndContext="#stay" name="EndCmdPop2"> - <DetectChar attribute="Normal Text" context="#pop#pop" char=")" /> - </context> - <context attribute="User Function/Macro" lineEndContext="#stay" name="User Function"> <DetectChar attribute="Normal Text" context="User Function Opened" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="User Function Opened"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables"> - <RegExpr attribute="Internal Name" context="#stay" String="\b_&id_re;\b" /> + <RegExpr attribute="Internal Name" context="#stay" String="\b_&var_ref_re;\b" /> <keyword attribute="CMake Internal Variable" context="#stay" String="deprecated-or-internal-variables" insensitive="false" /> <keyword attribute="Builtin Variable" context="#stay" String="variables" insensitive="false" /> <IncludeRules context="Detect More Builtin Variables" /> @@ -198,7 +273,7 @@ <RegExpr attribute="Cache Variable Substitution" context="#stay" String="\$CACHE\{\s*[\w-]+\s*\}" /> <RegExpr attribute="Environment Variable Substitution" context="EnvVarSubst" String="\$?ENV\{" /> <Detect2Chars attribute="Variable Substitution" context="VarSubst" char="$" char1="{" /> - <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&id_re;@" lookAhead="true" /> + <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" /> </context> <context attribute="Environment Variable Substitution" lineEndContext="#pop" name="EnvVarSubst"> @@ -229,6 +304,15 @@ <DetectChar attribute="@Variable Substitution" context="#pop#pop" char="@" /> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Target Name"> + <RegExpr attribute="Aliased Targets" context="#pop" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#pop" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="User Function Args"> <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="(" /> <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1=")" /> @@ -261,12 +345,12 @@ <WordDetect attribute="False Special Arg" context="#stay" String="N" insensitive="true" /> <WordDetect attribute="False Special Arg" context="#stay" String="IGNORE" insensitive="true" /> <WordDetect attribute="False Special Arg" context="#stay" String="0" /> - <RegExpr attribute="False Special Arg" context="#stay" String="\b(?:&id_re;-)?NOTFOUND\b" /> - <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9][0-9][0-9]\b" /> + <RegExpr attribute="False Special Arg" context="#stay" String="\b(?:&var_ref_re;-)?NOTFOUND\b" /> + <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9][0-9][0-9][0-9]\b" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect Aliased Targets"> - <RegExpr attribute="Aliased Targets" context="#stay" String="\b&id_re;::&id_re;(?:\:\:&id_re;)*\b" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> </context> <context attribute="Comment" lineEndContext="#pop" name="Match Comments"> @@ -330,9 +414,12 @@ <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" /> + <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" /> <itemData name="Command" defStyleNum="dsKeyword" spellChecking="false" /> + <itemData name="CMake Provided Function/Macro" defStyleNum="dsFunction" bold="true" spellChecking="false" /> <itemData name="User Function/Macro" defStyleNum="dsFunction" spellChecking="false" /> <itemData name="Property" defStyleNum="dsOthers" spellChecking="false" /> + <itemData name="Targets" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Aliased Targets" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Named Args" defStyleNum="dsOthers" spellChecking="false" /> <itemData name="Special Args" defStyleNum="dsOthers" spellChecking="false" /> @@ -351,8 +438,10 @@ <itemData name="Standard Environment Variable" defStyleNum="dsFloat" spellChecking="false" /> <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false" /> <itemData name="Generator Expression" defStyleNum="dsOthers" color="#b86050" selColor="#b86050" spellChecking="false" /> - <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" /> + <itemData name="Standard Module" defStyleNum="dsImport" spellChecking="false" /> + <itemData name="Deprecated Module" defStyleNum="dsImport" spellChecking="false" /> <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" /> + <itemData name="Error" defStyleNum="dsError" spellChecking="false" /> </itemDatas> </highlighting> @@ -360,7 +449,7 @@ <general> <comments> <comment name="singleLine" start="#" position="afterwhitespace" /> - <comment name="multiLine" start="#[[" end="]]" region="BracketedComment"/> + <comment name="multiLine" start="#[[" end="]]" region="BracketedComment" /> </comments> <keywords casesensitive="1" weakDeliminator="." /> </general> diff --git a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml index ab26c2153b3..f5437900627 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml @@ -1,4 +1,4 @@ -version: 34 +version: 37 global-properties: - ALLOW_DUPLICATE_CUSTOM_TARGETS @@ -415,6 +415,7 @@ test-properties: - DEPENDS - DISABLED - ENVIRONMENT + - ENVIRONMENT_MODIFICATION # Since 3.22 - FAIL_REGULAR_EXPRESSION - FIXTURES_CLEANUP - FIXTURES_REQUIRED @@ -790,6 +791,7 @@ variables: - CMAKE_PROJECT_INCLUDE # Since 3.15 - CMAKE_PROJECT_INCLUDE_BEFORE # Since 3.15 - CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE + - CMAKE_REQUIRE_FIND_PACKAGE_<PackageName> # Since 3.22 - CMAKE_SKIP_INSTALL_ALL_DEPENDENCY - CMAKE_STAGING_PREFIX - CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS @@ -967,6 +969,7 @@ variables: - CMAKE_<LANG>_LINKER_LAUNCHER # Sine 3.21 - CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG # Sine 3.16 - CMAKE_<LANG>_LINK_LIBRARY_FLAG # Sine 3.16 + - CMAKE_<LANG>_LINK_WHAT_YOU_USE_FLAG # Since 3.22 - CMAKE_<LANG>_VISIBILITY_PRESET - CMAKE_LIBRARY_OUTPUT_DIRECTORY - CMAKE_LIBRARY_OUTPUT_DIRECTORY_<CONFIG> @@ -977,6 +980,7 @@ variables: - CMAKE_LINK_LIBRARY_FILE_FLAG - CMAKE_LINK_LIBRARY_FLAG - CMAKE_LINK_WHAT_YOU_USE + - CMAKE_LINK_WHAT_YOU_USE_CHECK # Since 3.22 - CMAKE_MACOSX_BUNDLE - CMAKE_MACOSX_RPATH - CMAKE_MAP_IMPORTED_CONFIG_<CONFIG> @@ -1055,6 +1059,10 @@ variables: - CMAKE_Fortran_MODDIR_DEFAULT - CMAKE_Fortran_MODDIR_FLAG - CMAKE_Fortran_MODOUT_FLAG + - CMAKE_HIP_ARCHITECTURES # Since 3.21 + - CMAKE_HIP_EXTENSIONS # Since 3.21 + - CMAKE_HIP_STANDARD # Since 3.21 + - CMAKE_HIP_STANDARD_REQUIRED # Since 3.21 - CMAKE_ISPC_HEADER_DIRECTORY # Since 3.19 - CMAKE_ISPC_HEADER_SUFFIX # Since 3.19.2 - CMAKE_ISPC_INSTRUCTION_SETS # Since 3.19 @@ -1075,6 +1083,8 @@ variables: - CMAKE_<LANG>_CREATE_SHARED_LIBRARY - CMAKE_<LANG>_CREATE_SHARED_MODULE - CMAKE_<LANG>_CREATE_STATIC_LIBRARY + - CMAKE_<LANG>_EXTENSIONS + - CMAKE_<LANG>_EXTENSIONS_DEFAULT # Since 3.22 - CMAKE_<LANG>_FLAGS - CMAKE_<LANG>_FLAGS_DEBUG - CMAKE_<LANG>_FLAGS_DEBUG_INIT @@ -1269,7 +1279,14 @@ variables: - CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM - CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL - CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND + # Fallback Interface Variables for `cmake_host_system_information` + # Since CMake 3.22 + - CMAKE_GET_OS_RELEASE_FALLBACK_SCRIPTS + - CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_<varname> + - CMAKE_GET_OS_RELEASE_FALLBACK_RESULT # Well known CMake's official module's variables + # - BundleUtilities + - BU_CHMOD_BUNDLE_ITEMS # - CheckCompilerFlag # - CheckCCompilerFlag # - CheckSourceCompiles @@ -1289,6 +1306,13 @@ variables: # - CheckIncludeFile # - CheckIncludeFiles # - CheckLibraryExists + # - CheckPIESupported + - CMAKE_C_LINK_PIE_SUPPORTED + - CMAKE_CXX_LINK_PIE_SUPPORTED + - CMAKE_Fortran_LINK_PIE_SUPPORTED + - CMAKE_C_LINK_NO_PIE_SUPPORTED + - CMAKE_CXX_LINK_NO_PIE_SUPPORTED + - CMAKE_Fortran_LINK_NO_PIE_SUPPORTED # - CheckPrototypeDefinition # - CheckStructHasMember # - CheckSymbolExists @@ -1498,6 +1522,7 @@ variables: - CPACK_NSIS_BRANDING_TEXT # Since 3.20 - CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION # Since 3.20 - CPACK_NSIS_EXECUTABLE # Since 3.21 + - CPACK_NSIS_IGNORE_LICENSE_PAGE # Since 3.22 # - CPackNuGet (since 3.12) - CPACK_NUGET_COMPONENT_INSTALL - CPACK_NUGET_PACKAGE_NAME @@ -1655,6 +1680,7 @@ variables: - CPACK_RPM_SOURCE_PKG_BUILD_PARAMS - CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX - CPACK_RPM_BUILDREQUIRES + - CPACK_RPM_REQUIRES_EXCLUDE_FROM # Since 3.22 # - CPack - CPACK_PACKAGE_NAME - CPACK_PACKAGE_VENDOR @@ -1746,18 +1772,552 @@ variables: - ExternalData_CUSTOM_LOCATION - ExternalData_CUSTOM_FILE - ExternalData_CUSTOM_ERROR + # - FetchContent + - FETCHCONTENT_QUIET + - FETCHCONTENT_FULLY_DISCONNECTED + - FETCHCONTENT_UPDATES_DISCONNECTED + - FETCHCONTENT_SOURCE_DIR_<ucName> + - FETCHCONTENT_UPDATES_DISCONNECTED_<ucName> # - FindXXX module "standard" variables - <package>_INCLUDE_DIRS - <package>_LIBRARIES - <package>_LIBRARY_DIRS - <package>_VERSION_STRING + # NOTE For the other stanfard finders below variables matched + # the regular expressions above gonna be omitted. + # - FindALSA + - ALSA_LIBRARY + # - FindArmadillo + - ALSA_LIBRARY + # - FindASPELL + - ASPELL_EXECUTABLE + - ASPELL_DEFINITIONS + # - FindAVIFile + - AVIFILE_DEFINITIONS + # - FindBacktrace + - Backtrace_HEADER + - Backtrace_LIBRARY + # - FindBISON + - BISON_EXECUTABLE + - BISON_<Name>_DEFINED + - BISON_<Name>_INPUT + - BISON_<Name>_OUTPUT_SOURCE + - BISON_<Name>_OUTPUT_HEADER + - BISON_<Name>_OUTPUTS + - BISON_<Name>_COMPILE_FLAGS + # - FindBLAS + - BLA_STATIC + - BLA_VENDOR + - BLA_F95 + - BLA_PREFER_PKGCONFIG + - BLAS_LINKER_FLAGS + - BLA_SIZEOF_INTEGER # Since 3.22 + # - FindBoost + - Boost_<COMPONENT>_LIBRARY + - Boost_VERSION_MACRO + - Boost_VERSION_COUNT + - Boost_INCLUDE_DIR + - Boost_LIBRARY_DIR_DEBUG + - Boost_LIBRARY_DIR_RELEASE + - Boost_<COMPONENT>_LIBRARY_DEBUG + - Boost_<COMPONENT>_LIBRARY_RELEASE + - BOOSTROOT + - BOOST_INCLUDEDIR + - BOOST_LIBRARYDIR + - Boost_NO_SYSTEM_PATHS + - Boost_ADDITIONAL_VERSIONS + - Boost_USE_DEBUG_LIBS + - Boost_USE_RELEASE_LIBS + - Boost_USE_MULTITHREADED + - Boost_USE_STATIC_LIBS + - Boost_USE_DEBUG_RUNTIME + - Boost_USE_DEBUG_PYTHON + - Boost_USE_STLPORT + - Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS + - Boost_COMPILER + - Boost_LIB_PREFIX + - Boost_ARCHITECTURE + - Boost_THREADAPI + - Boost_NAMESPACE + - Boost_DEBUG + - Boost_REALPATH + - Boost_NO_WARN_NEW_VERSIONS + # - FindBullet + # - FindBZip2 + - BZIP2_NEED_PREFIX + - BZIP2_INCLUDE_DIR + # - FindCABLE + - CABLE + - CABLE_TCL_LIBRARY + - CABLE_INCLUDE_DIR + # - FindCoin3D + # - FindCUDAToolkit + - CUDAToolkit_NVCC_EXECUTABLE + # - FindCups + - CUPS_INCLUDE_DIR + # - FindCURL + - CURL_NO_CURL_CMAKE + # - FindCurses + - CURSES_CFLAGS + - CURSES_HAVE_CURSES_H + - CURSES_HAVE_NCURSES_H + - CURSES_HAVE_NCURSES_NCURSES_H + - CURSES_HAVE_NCURSES_CURSES_H + - CURSES_NEED_NCURSES + - CURSES_NEED_WIDE + # - CURSES_LIBRARY deprecated + # - FindCVS + - CVS_EXECUTABLE + # - FindCxxTest + - CXXTEST_USE_PYTHON + - CXXTEST_TESTGEN_ARGS + - CXXTEST_PERL_TESTGEN_EXECUTABLE + - CXXTEST_PYTHON_TESTGEN_EXECUTABLE + - CXXTEST_TESTGEN_EXECUTABLE + - CXXTEST_TESTGEN_INTERPRETER + # - FindCygwin + # - FindDart + # - FindDCMTK + # - FindDevIL # - FindDoxygen - DOXYGEN_<TAG> + # - FindEnvModules + - EnvModules_COMMAND + # - FindEXPAT + # - FindFLEX + - FLEX_EXECUTABLE + # - FindFLTK + - FLTK_SKIP_OPENGL + - FLTK_SKIP_FORMS + - FLTK_SKIP_IMAGES + - FLTK_SKIP_FLUID + - FLTK_FLUID_EXECUTABLE + - FLTK_WRAP_UI + - FLTK_BASE_LIBRARY_RELEASE + - FLTK_BASE_LIBRARY_DEBUG + - FLTK_GL_LIBRARY_RELEASE + - FLTK_GL_LIBRARY_DEBUG + - FLTK_FORMS_LIBRARY_RELEASE + - FLTK_FORMS_LIBRARY_DEBUG + - FLTK_IMAGES_LIBRARY_RELEASE + - FLTK_IMAGES_LIBRARY_DEBUG + # - FindFLTK2 + - FLTK2_FLUID_EXECUTABLE + - FLTK2_WRAP_UI + - FLTK2_BASE_LIBRARY + - FLTK2_GL_LIBRARY + - FLTK2_IMAGES_LIBRARY + # - FindFontconfig + - Fontconfig_COMPILE_OPTIONS + # - FindFreetype + - FREETYPE_INCLUDE_DIR_ft2build + - FREETYPE_INCLUDE_DIR_freetype2 + # - FindGCCXML + - GCCXML + # - FindGDAL + - GDAL_LIBRARY + - FindGDAL_SKIP_GDAL_CONFIG + - GDAL_ADDITIONAL_LIBRARY_VERSIONS + # - FindGettext + - GETTEXT_MSGMERGE_EXECUTABLE + - GETTEXT_MSGFMT_EXECUTABLE + # - FindGIF + - GIF_LIBRARY + # - FindGit + - GIT_EXECUTABLE + # - FindGLEW + - GLEW_USE_STATIC_LIBS + - GLEW_VERBOSE + # - FindGLUT + - GLUT_glut_LIBRARY + - GLUT_Xmu_LIBRARY + - GLUT_Xi_LIBRARY + # - FindGnuplot + - GNUPLOT_EXECUTABLE + # - FindGnuTLS + - GNUTLS_DEFINITIONS + # - FindGSL + - GSL_CBLAS_LIBRARY + - GSL_CBLAS_LIBRARY_DEBUG + - GSL_CONFIG_EXECUTABLE + - GSL_LIBRARY + - GSL_LIBRARY_DEBUG + # - FindGTest + - GTEST_MSVC_SEARCH + # - FindGTK + # - FindGTK2 + - GTK2_TARGETS + - GTK2_DEFINITIONS + - GTK2_USE_IMPORTED_TARGETS + - GTK2_DEBUG + - GTK2_ADDITIONAL_SUFFIXES + # - FindHDF5 + - HDF5_DEFINITIONS + - HDF5_C_DEFINITIONS + - HDF5_CXX_DEFINITIONS + - HDF5_Fortran_DEFINITIONS + - HDF5_IS_PARALLEL + - HDF5_C_COMPILER_EXECUTABLE + - HDF5_CXX_COMPILER_EXECUTABLE + - HDF5_Fortran_COMPILER_EXECUTABLE + - HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE + - HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE + - HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE + - HDF5_DIFF_EXECUTABLE + - HDF5_PREFER_PARALLEL + - HDF5_FIND_DEBUG + - HDF5_NO_FIND_PACKAGE_CONFIG_FILE + # - FindHg + - HG_EXECUTABLE + #- <var-prefix>_WC_CHANGESET + #- <var-prefix>_WC_REVISION + # - FindHSPELL + # - FindHTMLHelp + - HTML_HELP_COMPILER + - HTML_HELP_LIBRARY + # - FindIce + # - FindIconv + - Iconv_IS_BUILT_IN + - Iconv_LIBRARY + # - FindIcotool + - ICOTOOL_EXECUTABLE + # - FindICU + - ICU_MAKEFILE_INC + - ICU_PKGDATA_INC + - ICU_<P>_EXECUTABLE + - ICU_<C>_LIBRARY + - ICU_DEBUG + # - FindImageMagick + # - FindIntl + - Intl_LIBRARY + - Intl_IS_BUILT_IN + # - FindITK + # - FindJasper + - JASPER_LIBRARY_RELEASE + - JASPER_LIBARRY_DEBUG + # - FindJava + - Java_JAVA_EXECUTABLE + - Java_JAVAC_EXECUTABLE + - Java_JAVAH_EXECUTABLE + - Java_JAVADOC_EXECUTABLE + - Java_IDLJ_EXECUTABLE + - Java_JAR_EXECUTABLE + - Java_JARSIGNER_EXECUTABLE + # - FindJNI + - JAVA_AWT_LIBRARY + - JAVA_JVM_LIBRARY + - JAVA_INCLUDE_PATH + - JAVA_INCLUDE_PATH2 + - JAVA_AWT_INCLUDE_PATH + # - FindJPEG + - JPEG_LIBRARY_RELEASE + - JPEG_LIBRARY_DEBUG + - JPEG_LIBRARY + # - FindKDE3 + # - FindKDE4 + # - FindLAPACK + - LAPACK_LINKER_FLAGS + # - FindLATEX + - LATEX_COMPILER + - PDFLATEX_COMPILER + - XELATEX_COMPILER + - LUALATEX_COMPILER + - BIBTEX_COMPILER + - BIBER_COMPILER + - MAKEINDEX_COMPILER + - XINDY_COMPILER + - DVIPS_CONVERTER + - DVIPDF_CONVERTER + - PS2PDF_CONVERTER + - PDFTOPS_CONVERTER + - LATEX2HTML_CONVERTER + - HTLATEX_COMPILER + # - FindLibArchive + # - FindLibinput + - Libinput_COMPILE_OPTIONS + # - FindLibLZMA + - LIBLZMA_HAS_AUTO_DECODER + - LIBLZMA_HAS_EASY_ENCODER + - LIBLZMA_HAS_LZMA_PRESET + # - FindLibXml2 + - LIBXML2_DEFINITIONS + - LIBXML2_XMLLINT_EXECUTABLE + - LIBXML2_LIBRARY + # - FindLibXslt + - LIBXSLT_DEFINITIONS + - LIBXSLT_XSLTPROC_EXECUTABLE + # - FindLTTngUST + - LTTNGUST_HAS_TRACEF + - LTTNGUST_HAS_TRACELOG + # - FindLua + # - FindLua50 + # - FindLua51 + # - FindMatlab + - MATLAB_FIND_DEBUG + - MATLAB_ADDITIONAL_VERSIONS + - Matlab_MAIN_PROGRAM + - Matlab_MEX_LIBRARY + - Matlab_MX_LIBRARY + - Matlab_ENG_LIBRARY + - Matlab_MAT_LIBRARY + - Matlab_ENGINE_LIBRARY + - Matlab_DATAARRAY_LIBRARY + - Matlab_MEX_COMPILER + - Matlab_MCC_COMPILER + - Matlab_MEX_EXTENSION + # - FindMFC + # - FindMotif + # - FindMPEG + - MPEG_mpeg2_LIBRARY + - MPEG_vo_LIBRARY + # - FindMPEG2 + - MPEG2_mpeg2_LIBRARY + - MPEG2_vo_LIBRARY + # - FindMPI + - MPI_<lang>_COMPILER + - MPI_<lang>_COMPILE_OPTIONS + - MPI_<lang>_COMPILE_DEFINITIONS + - MPI_Fortran_HAVE_F77_HEADER + - MPI_Fortran_HAVE_F90_MODULE + - MPI_Fortran_HAVE_F08_MODULE + - MPIEXEC_EXECUTABLE + - MPIEXEC_NUMPROC_FLAG + - MPIEXEC_MAX_NUMPROCS + - MPIEXEC_PREFLAGS + - MPIEXEC_POSTFLAGS + - MPIEXEC_EXECUTABLE + - MPI_HOME + - MPI_COMPILER_FLAGS + - MPI_EXECUTABLE_SUFFIX + - MPI_GUESS_LIBRARY_NAME + - MPI_ASSUME_NO_BUILTIN_MPI + - MPI_SKIP_COMPILER_WRAPPER + - MPI_SKIP_GUESSING + - MPI_CXX_SKIP_MPICXX + - MPI_<lang>_ADDITIONAL_INCLUDE_VARS + - MPI_<lib_name>_LIBRARY + - MPI_<lang>_LIB_NAMES + - MPI_DETERMINE_Fortran_CAPABILITIES + - MPI_SUBARRAYS_SUPPORTED + - MPI_ASYNC_PROTECTS_NONBLOCKING + - MPI_Fortran_F77_HEADER_SUBARRAYS + - MPI_Fortran_F77_HEADER_ASYNCPROT + - MPI_Fortran_F90_MODULE_SUBARRAYS + - MPI_Fortran_F90_MODULE_ASYNCPROT + - MPI_Fortran_F08_MODULE_SUBARRAYS + - MPI_Fortran_F08_MODULE_ASYNCPROT + # - FindMsys + # - FindODBC + - ODBC_CONFIG + - ODBC_LIBRARY + # - FindOpenACC + - OpenACC_<lang>_FLAGS + - OpenACC_<lang>_OPTIONS + - OpenACC_<lang>_SPEC_DATE + - OpenACC_ACCEL_TARGET + # - FindOpenAL + - OPENAL_LIBRARY + # - FindOpenCL + - OpenCL_LIBRARY + # - FindOpenGL + - OPENGL_egl_LIBRARY + - OPENGL_glu_LIBRARY + - OPENGL_glx_LIBRARY + - OPENGL_opengl_LIBRARY + - OPENGL_gl_LIBRARY + - OpenGL_GL_PREFERENCE + # - FindOpenMP + - OpenMP_<lang>_FLAGS + - OpenMP_<lang>_LIB_NAMES + - OpenMP_<libname>_LIBRARY + - OpenMP_Fortran_HAVE_OMPLIB_HEADER + - OpenMP_Fortran_HAVE_OMPLIB_MODULE + - OpenMP_<lang>_SPEC_DATE + # - FindOpenSceneGraph + # - FindOpenSSL + - OPENSSL_CRYPTO_LIBRARY + - OPENSSL_SSL_LIBRARY + - OPENSSL_APPLINK_SOURCE + - OPENSSL_USE_STATIC_LIBS + - OPENSSL_MSVC_STATIC_RT + # - FindOpenThreads + # - Findosg + # - Findosg_functions + # - FindosgAnimation + # - FindosgDB + # - FindosgFX + # - FindosgGA + # - FindosgIntrospection + # - FindosgManipulator + # - FindosgParticle + # - FindosgPresentation + # - FindosgProducer + # - FindosgQt + # - FindosgShadow + # - FindosgSim + # - FindosgTerrain + # - FindosgText + # - FindosgUtil + # - FindosgViewer + # - FindosgVolume + # - FindosgWidget + # - FindPatch + - Patch_EXECUTABLE + # - FindPerl + - PERL_EXECUTABLE + # - FindPerlLibs + - PERL_SITESEARCH + - PERL_SITEARCH + - PERL_SITELIB + - PERL_VENDORARCH + - PERL_VENDORLIB + - PERL_ARCHLIB + - PERL_PRIVLIB + - PERL_UPDATE_ARCHLIB + - PERL_UPDATE_PRIVLIB + - PERL_EXTRA_C_FLAGS + # - FindPHP4 + - PHP4_INCLUDE_PATH + - PHP4_EXECUTABLE + # - FindPhysFS + - PHYSFS_LIBRARY + # - FindPike + - PIKE_INCLUDE_PATH + - PIKE_EXECUTABLE # - FindPkgConfig - PKG_CONFIG_EXECUTABLE - PKG_CONFIG_VERSION_STRING - PKG_CONFIG_USE_CMAKE_PREFIX_PATH - <prefix>_MODULE_NAME # Since 3.16 + # - FindPNG + - PNG_DEFINITIONS + - PNG_LIBRARY + # - FindPostgreSQL + # - FindProducer + # - FindProtobuf + - Protobuf_SRC_ROOT_FOLDER + - Protobuf_IMPORT_DIRS + - Protobuf_DEBUG + - Protobuf_USE_STATIC_LIBS + - Protobuf_LIBRARY + - Protobuf_PROTOC_LIBRARY + - Protobuf_PROTOC_EXECUTABLE + - Protobuf_LIBRARY_DEBUG + - Protobuf_PROTOC_LIBRARY_DEBUG + - Protobuf_LITE_LIBRARY + - Protobuf_LITE_LIBRARY_DEBUG + # - FindPython + - Python_EXECUTABLE + - Python_INTERPRETER_ID + - Python_STDLIB + - Python_STDARCH + - Python_SITELIB + - Python_SITEARCH + - Python_SOABI + - Python_COMPILER + - Python_COMPILER_ID + - Python_DOTNET_LAUNCHER + - Python_LINK_OPTIONS + - Python_USE_STATIC_LIBS + - Python_FIND_ABI + - Python_FIND_STRATEGY + - Python_FIND_REGISTRY + - Python_FIND_FRAMEWORK + - Python_FIND_VIRTUALENV + - Python_FIND_IMPLEMENTATIONS + - Python_FIND_UNVERSIONED_NAMES + - Python_ARTIFACTS_INTERACTIVE + # - FindPython2 + - Python2_EXECUTABLE + - Python2_INTERPRETER_ID + - Python2_STDLIB + - Python2_STDARCH + - Python2_SITELIB + - Python2_SITEARCH + - Python2_SOABI + - Python2_COMPILER + - Python2_COMPILER_ID + - Python2_DOTNET_LAUNCHER + - Python2_LINK_OPTIONS + - Python2_USE_STATIC_LIBS + - Python2_FIND_ABI + - Python2_FIND_STRATEGY + - Python2_FIND_REGISTRY + - Python2_FIND_FRAMEWORK + - Python2_FIND_VIRTUALENV + - Python2_FIND_IMPLEMENTATIONS + - Python2_FIND_UNVERSIONED_NAMES + - Python2_ARTIFACTS_INTERACTIVE + # - FindPython3 + - Python3_EXECUTABLE + - Python3_INTERPRETER_ID + - Python3_STDLIB + - Python3_STDARCH + - Python3_SITELIB + - Python3_SITEARCH + - Python3_SOABI + - Python3_COMPILER + - Python3_COMPILER_ID + - Python3_DOTNET_LAUNCHER + - Python3_LINK_OPTIONS + - Python3_USE_STATIC_LIBS + - Python3_FIND_ABI + - Python3_FIND_STRATEGY + - Python3_FIND_REGISTRY + - Python3_FIND_FRAMEWORK + - Python3_FIND_VIRTUALENV + - Python3_FIND_IMPLEMENTATIONS + - Python3_FIND_UNVERSIONED_NAMES + - Python3_ARTIFACTS_INTERACTIVE + # - FindQt3 + # - FindQt4 + # - FindQuickTime + # - FindRTI + - RTI_DEFINITIONS + # - FindRuby + - Ruby_EXECUTABLE + - Ruby_FIND_VIRTUALENV + # - FindSDL + - SDL_LIBRARY + - SDL_BUILDING_LIBRARY + # - FindSDL_image + - SDLIMAGE_LIBRARY + # - FindSDL_mixer + - SDLMIXER_LIBRARY + # - FindSDL_net + - SDLNET_LIBRARY + # - FindSDL_sound + - SDL_SOUND_LIBRARY + # - FindSDL_ttf + - SDLTTF_LIBRARY + # - FindSelfPackers + # - FindSquish + - SQUISH_SERVER_EXECUTABLE + - SQUISH_CLIENT_EXECUTABLE + # - FindSQLite3 + # - FindSubversion + - Subversion_SVN_EXECUTABLE + - Subversion_VERSION_SVN + # <var-prefix>_WC_URL + # <var-prefix>_WC_ROOT + # <var-prefix>_WC_REVISION + # <var-prefix>_WC_LAST_CHANGED_AUTHOR + # <var-prefix>_WC_LAST_CHANGED_DATE + # <var-prefix>_WC_LAST_CHANGED_REV + # <var-prefix>_WC_INFO + # - FindSWIG + - SWIG_EXECUTABLE + # - FindTCL + - TCL_INCLUDE_PATH + - TCL_TCLSH + - TK_LIBRARY + - TK_INCLUDE_PATH + - TK_WISH + # - FindTclsh + # - FindTclStub + - TCL_STUB_LIBRARY + - TK_STUB_LIBRARY + - TTK_STUB_LIBRARY # - FindThreads - CMAKE_THREAD_LIBS_INIT - CMAKE_USE_SPROC_INIT @@ -1766,6 +2326,62 @@ variables: - CMAKE_HP_PTHREADS_INIT - CMAKE_THREAD_PREFER_PTHREAD - THREADS_PREFER_PTHREAD_FLAG + # - FindTIFF + - TIFF_LIBRARY_RELEASE + - TIFF_LIBRARY_DEBUG + - TIFFXX_LIBRARY_RELEASE + - TIFFXX_LIBRARY_DEBUG + # - FindUnixCommands + # - FindVTK + # - FindVulkan + - Vulkan_LIBRARY + - Vulkan_GLSLC_EXECUTABLE + - Vulkan_GLSLANG_VALIDATOR_EXECUTABLE + # - FindWget + - WGET_EXECUTABLE + # - FindWish + # - FindwxWidgets + - wxWidgets_CONFIGURATION + - wxWidgets_EXCLUDE_COMMON_LIBRARIES + - wxWidgets_USE_DEBUG + - wxWidgets_USE_UNICODE + - wxWidgets_USE_UNIVERSAL + - wxWidgets_USE_STATIC + - wxWidgets_DEFINITIONS + - wxWidgets_DEFINITIONS_DEBUG + - wxWidgets_CXX_FLAGS + - wxWidgets_USE_FILE + # - FindX11 + # - FindXalanC + - XalanC_LIBRARY + # - FindXCTest + - XCTest_EXECUTABLE + # - FindXercesC + - XercesC_LIBRARY + # - FindXMLRPC + # - FindZLIB + # - FortranCInterface + # The following vars gonna match by regex + # - FortranCInterface_GLOBAL_FOUND + # - FortranCInterface_MODULE_FOUND + - FortranCInterface_GLOBAL_PREFIX + - FortranCInterface_GLOBAL_SUFFIX + - FortranCInterface_GLOBAL_CASE + - FortranCInterface_GLOBAL__PREFIX + - FortranCInterface_GLOBAL__SUFFIX + - FortranCInterface_GLOBAL__CASE + - FortranCInterface_MODULE_PREFIX + - FortranCInterface_MODULE_MIDDLE + - FortranCInterface_MODULE_SUFFIX + - FortranCInterface_MODULE_CASE + - FortranCInterface_MODULE__PREFIX + - FortranCInterface_MODULE__MIDDLE + - FortranCInterface_MODULE__SUFFIX + - FortranCInterface_MODULE__CASE + - FortranCInterface_VERIFIED_C + - FortranCInterface_VERIFIED_CXX + - FortranCInterface_GLOBAL_SYMBOLS + - FortranCInterface_MODULE_SYMBOLS # - GNUInstallDirs - CMAKE_INSTALL_BINDIR - CMAKE_INSTALL_FULL_BINDIR @@ -1799,6 +2415,8 @@ variables: - CMAKE_INSTALL_FULL_MANDIR - CMAKE_INSTALL_DOCDIR - CMAKE_INSTALL_FULL_DOCDIR + # - GoogleTest + - CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE # - InstallRequiredSystemLibraries - CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS - CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP @@ -1866,12 +2484,15 @@ environment-variables: # Environment Variables that Control the Build - CMAKE_APPLE_SILICON_PROCESSOR # Since 3.19.2 - CMAKE_BUILD_PARALLEL_LEVEL + - CMAKE_BUILD_TYPE # Since 3.22 + - CMAKE_CONFIGURATION_TYPES # Since 3.22 - CMAKE_CONFIG_TYPE - CMAKE_EXPORT_COMPILE_COMMANDS # Since 3.17 - CMAKE_GENERATOR - CMAKE_GENERATOR_INSTANCE - CMAKE_GENERATOR_PLATFORM - CMAKE_GENERATOR_TOOLSET + - CMAKE_INSTALL_MODE # Since 3.22 - CMAKE_<LANG>_COMPILER_LAUNCHER # Since 3.17 - CMAKE_MSVCIDE_RUN_PATH - CMAKE_NO_VERBOSE @@ -1951,6 +2572,9 @@ scripting-commands: , OS_RELEASE , OS_VERSION , OS_PLATFORM + # Since 3.22 + , DISTRIB_INFO + , DISTRIB_<name> ] - name: cmake_language @@ -2075,6 +2699,7 @@ scripting-commands: , IN_LIST , DEFINED ] + has-target-name-after-kw: TARGET nested-parentheses?: true - name: else @@ -2460,6 +3085,7 @@ scripting-commands: - name: if named-args: *if + has-target-name-after-kw: TARGET nested-parentheses?: true start-region: if - @@ -2671,6 +3297,7 @@ scripting-commands: - name: while named-args: *if + has-target-name-after-kw: TARGET nested-parentheses?: true start-region: while @@ -2703,6 +3330,7 @@ project-commands: , POST_BUILD ] nested-parentheses?: true + has-target-name-after-kw: TARGET - name: add_custom_target named-args: [ @@ -2721,17 +3349,22 @@ project-commands: , COMMAND_EXPAND_LISTS , SOURCES ] + first-arg-is-target?: true nested-parentheses?: true - name: add_definitions - name: add_dependencies + first-args-are-targets?: true - name: add_executable named-args: [WIN32, MACOSX_BUNDLE, EXCLUDE_FROM_ALL, IMPORTED, GLOBAL, ALIAS] + first-arg-is-target?: true - name: add_library named-args: [STATIC, SHARED, MODULE, OBJECT, EXCLUDE_FROM_ALL, IMPORTED, UNKNOWN, GLOBAL, ALIAS, INTERFACE] + first-arg-is-target?: true + has-target-name-after-kw: ALIAS - name: add_link_options - @@ -2750,6 +3383,7 @@ project-commands: , PARALLEL_LEVEL # Since 3.21 , TARGET ] + has-target-name-after-kw: TARGET - name: create_test_sourcelist named-args: [EXTRA_INCLUDE, FUNCTION] @@ -2760,7 +3394,7 @@ project-commands: - name: enable_language named-args: [OPTIONAL] - special-args: [ + special-args: &langs [ ASM , ASM-ATT , ASM_NASM @@ -2783,6 +3417,7 @@ project-commands: - name: export named-args: [EXPORT, NAMESPACE, FILE, TARGETS, APPEND, EXPORT_LINK_INTERFACE_LIBRARIES, ANDROID_MK] + has-target-names-after-kw: TARGETS - name: fltk_wrap_ui - @@ -2795,6 +3430,7 @@ project-commands: property-args: &get_source_file_property [source-properties] - name: get_target_property + second-arg-is-target?: true property-args: &get_target_property [target-properties] - name: get_test_property @@ -2882,6 +3518,7 @@ project-commands: , SETUID , SETGID ] + has-target-names-after-kw: TARGETS - name: link_directories named-args: [AFTER, BEFORE] @@ -2936,6 +3573,7 @@ project-commands: name: set_target_properties named-args: [PROPERTIES] property-args: *get_target_property + first-args-are-targets?: true # NOTE Multiple target args - name: set_tests_properties named-args: [PROPERTIES] @@ -2946,6 +3584,7 @@ project-commands: - name: target_compile_definitions named-args: &target_compile_definitions [INTERFACE, PUBLIC, PRIVATE] + first-arg-is-target?: true - name: target_compile_features named-args: *target_compile_definitions @@ -3032,9 +3671,11 @@ project-commands: , cuda_std_20 , cuda_std_23 # Since 3.21 ] + first-arg-is-target?: true - name: target_compile_options named-args: &target_compile_options [BEFORE, INTERFACE, PUBLIC, PRIVATE] + first-arg-is-target?: true - name: target_include_directories named-args: [ @@ -3045,23 +3686,29 @@ project-commands: , PUBLIC , PRIVATE ] + first-arg-is-target?: true - # Since 3.13 name: target_link_directories named-args: *target_compile_options + first-arg-is-target?: true - name: target_link_libraries named-args: *target_compile_definitions + first-arg-is-target?: true - name: target_link_options named-args: *target_compile_definitions + first-arg-is-target?: true - # Since 3.16 name: target_precompile_headers named-args: [INTERFACE, PUBLIC, PRIVATE, REUSE_FROM] + first-arg-is-target?: true - name: target_sources named-args: *target_compile_definitions + first-arg-is-target?: true - name: try_compile named-args: [ @@ -3191,3 +3838,1174 @@ ctest-commands: - name: ctest_upload named-args: [FILES, CAPTURE_CMAKE_ERROR, QUIET] + +modules: + # The modules listed here are part of the CMake distribution: + # https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html + utility: + - AndroidTestUtilities + - BundleUtilities + - CheckCCompilerFlag + - CheckCompilerFlag + - CheckCSourceCompiles + - CheckCSourceRuns + - CheckCXXCompilerFlag + - CheckCXXSourceCompiles + - CheckCXXSourceRuns + - CheckCXXSymbolExists + - CheckFortranCompilerFlag + - CheckFortranFunctionExists + - CheckFortranSourceCompiles + - CheckFortranSourceRuns + - CheckFunctionExists + - CheckIncludeFileCXX + - CheckIncludeFile + - CheckIncludeFiles + - CheckIPOSupported + - CheckLanguage + - CheckLibraryExists + - CheckLinkerFlag + - CheckOBJCCompilerFlag + - CheckOBJCSourceCompiles + - CheckOBJCSourceRuns + - CheckOBJCXXCompilerFlag + - CheckOBJCXXSourceCompiles + - CheckOBJCXXSourceRuns + - CheckPIESupported + - CheckPrototypeDefinition + - CheckSourceCompiles + - CheckSourceRuns + - CheckStructHasMember + - CheckSymbolExists + - CheckTypeSize + - CheckVariableExists + - CMakeAddFortranSubdirectory + - CMakeBackwardCompatibilityCXX + - CMakeDependentOption + - CMakeFindDependencyMacro + - CMakeFindFrameworks + # NOTE The commented modules below are not for `include()` + # - CMakeFindPackageMode + # - CMakeGraphVizOptions + - CMakePackageConfigHelpers + - CMakePrintHelpers + - CMakePrintSystemInformation + - CMakePushCheckState + # NOTE The commented module below is not for `include()` + # - CMakeVerifyManifest + - CPack + - CPackComponent + - CPackIFW + - CPackIFWConfigureFile + - CSharpUtilities + - CTest + - CTestCoverageCollectGCOV + - CTestScriptMode + - CTestUseLaunchers + - Dart + - DeployQt4 + - ExternalData + - ExternalProject + - FeatureSummary + - FetchContent + - FindPackageHandleStandardArgs + - FindPackageMessage + - FortranCInterface + - GenerateExportHeader + - GNUInstallDirs + - GoogleTest + - InstallRequiredSystemLibraries + - ProcessorCount + - SelectLibraryConfigurations + # NOTE The commented module below is not for `include()` + # - SquishTestScript + - TestForANSIForScope + - TestForANSIStreamHeaders + - TestForSSTREAM + - TestForSTDNamespace + - UseEcos + - UseJava + - UseSWIG + - UsewxWidgets + + finder: + - FindALSA + - FindArmadillo + - FindASPELL + - FindAVIFile + - FindBacktrace + - FindBISON + - FindBLAS + - FindBoost + - FindBullet + - FindBZip2 + - FindCABLE + - FindCoin3D + - FindCUDAToolkit + - FindCups + - FindCURL + - FindCurses + - FindCVS + - FindCxxTest + - FindCygwin + - FindDart + - FindDCMTK + - FindDevIL + - FindDoxygen + - FindEnvModules + - FindEXPAT + - FindFLEX + - FindFLTK + - FindFLTK2 + - FindFontconfig + - FindFreetype + - FindGCCXML + - FindGDAL + - FindGettext + - FindGIF + - FindGit + - FindGLEW + - FindGLUT + - FindGnuplot + - FindGnuTLS + - FindGSL + - FindGTest + - FindGTK + - FindGTK2 + - FindHDF5 + - FindHg + - FindHSPELL + - FindHTMLHelp + - FindIce + - FindIconv + - FindIcotool + - FindICU + - FindImageMagick + - FindIntl + - FindITK + - FindJasper + - FindJava + - FindJNI + - FindJPEG + - FindKDE3 + - FindKDE4 + - FindLAPACK + - FindLATEX + - FindLibArchive + - FindLibinput + - FindLibLZMA + - FindLibXml2 + - FindLibXslt + - FindLTTngUST + - FindLua + - FindLua50 + - FindLua51 + - FindMatlab + - FindMFC + - FindMotif + - FindMPEG + - FindMPEG2 + - FindMPI + - FindMsys + - FindODBC + - FindOpenACC + - FindOpenAL + - FindOpenCL + - FindOpenGL + - FindOpenMP + - FindOpenSceneGraph + - FindOpenSSL + - FindOpenThreads + - Findosg + - Findosg_functions + - FindosgAnimation + - FindosgDB + - FindosgFX + - FindosgGA + - FindosgIntrospection + - FindosgManipulator + - FindosgParticle + - FindosgPresentation + - FindosgProducer + - FindosgQt + - FindosgShadow + - FindosgSim + - FindosgTerrain + - FindosgText + - FindosgUtil + - FindosgViewer + - FindosgVolume + - FindosgWidget + - FindPatch + - FindPerl + - FindPerlLibs + - FindPHP4 + - FindPhysFS + - FindPike + - FindPkgConfig + - FindPNG + - FindPostgreSQL + - FindProducer + - FindProtobuf + - FindPython + - FindPython2 + - FindPython3 + - FindQt3 + - FindQt4 + - FindQuickTime + - FindRTI + - FindRuby + - FindSDL + - FindSDL_image + - FindSDL_mixer + - FindSDL_net + - FindSDL_sound + - FindSDL_ttf + - FindSelfPackers + - FindSquish + - FindSQLite3 + - FindSubversion + - FindSWIG + - FindTCL + - FindTclsh + - FindTclStub + - FindThreads + - FindTIFF + - FindUnixCommands + - FindVTK + - FindVulkan + - FindWget + - FindWish + - FindwxWidgets + - FindX11 + - FindXalanC + - FindXCTest + - FindXercesC + - FindXMLRPC + - FindZLIB + + deprecated: + # Deprecated Utility Modules + - AddFileDependencies + - CMakeDetermineVSServicePack + - CMakeExpandImportedTargets + - CMakeForceCompiler + - CMakeParseArguments + - Documentation + - MacroAddFileDependencies + - TestCXXAcceptsFlag + - UseJavaClassFilelist + - UseJavaSymlinks + - UsePkgConfig + - Use_wxWindows + - WriteBasicConfigVersionFile + - WriteCompilerDetectionHeader + # Deprecated Find Modules + - FindCUDA + - FindPythonInterp + - FindPythonLibs + - FindQt + - FindwxWindows + # Legacy CPack Modules + - CPackArchive + - CPackBundle + - CPackCygwin + - CPackDeb + - CPackDMG + - CPackFreeBSD + - CPackNSIS + - CPackNuGet + - CPackPackageMaker + - CPackProductBuild + - CPackRPM + - CPackWIX + # ATTENTION The following modules still in the list of the standard modules + # however, the docs claims that they have been deprecated + - GetPrerequisites + - TestBigEndian + +standard-module-commands: + # AndroidTestUtilities + - + name: android_add_test_data + named-args: + - FILES + - FILES_DEST + - LIBS + - LIBS_DEST + - DEVICE_OBJECT_STORE + - DEVICE_TEST_DIR + - NO_LINK_REGEX + # BundleUtilities + - name: fixup_bundle + - name: copy_and_fixup_bundle + - name: verify_app + - name: get_bundle_main_executable + - name: get_dotapp_dir + - name: get_bundle_and_executable + - name: get_bundle_all_executables + - name: get_item_key + - name: get_item_rpaths + - name: clear_bundle_keys + - name: set_bundle_key_values + - name: get_bundle_keys + - name: copy_resolved_item_into_bundle + - name: copy_resolved_framework_into_bundle + - name: fixup_bundle_item + - name: verify_bundle_prerequisites + - name: verify_bundle_symlinks + # CheckCCompilerFlag + - name: check_c_compiler_flag + # CheckCompilerFlag + - name: check_compiler_flag + # CheckCSourceCompiles + - + name: check_c_source_compiles + named-args: &ccsc [FAIL_REGEX] + # CheckCSourceRuns + - name: check_c_source_runs + # CheckCXXCompilerFlag + - name: check_cxx_compiler_flag + # CheckCXXSourceCompiles + - + name: check_cxx_source_compiles + named-args: *ccsc + # CheckCXXSourceRuns + - name: check_cxx_source_runs + # CheckCXXSymbolExists + - name: check_cxx_symbol_exists + # CheckFortranCompilerFlag + - name: check_fortran_compiler_flag + # CheckFortranFunctionExists + - name: check_fortran_function_exists + # CheckFortranSourceCompiles + - + name: check_fortran_source_compiles + named-args: &frse [FAIL_REGEX, SRC_EXT] + # CheckFortranSourceRuns + - + name: check_fortran_source_runs + named-args: &se [SRC_EXT] + # CheckFunctionExists + - name: check_function_exists + # CheckIncludeFileCXX + - name: check_include_file_cxx + # CheckIncludeFile + - name: check_include_file + # CheckIncludeFiles + - + name: check_include_files + named-args: &l [LANGUAGE] + special-args: &ccxx [C, CXX] + # CheckIPOSupported + - + name: check_ipo_supported + named-args: [RESULT, OUTPUT, LANGUAGES] + special-args: &ccxxf [C, CXX, Fortran] + # CheckLanguage + - + name: check_language + special-args: *langs + # CheckLibraryExists + - name: check_library_exists + # CheckLinkerFlag + - name: check_linker_flag + # CheckOBJCCompilerFlag + - name: check_objc_compiler_flag + # CheckOBJCSourceCompiles + - + name: check_objc_source_compiles + named-args: *ccsc + # CheckOBJCSourceRuns + - name: check_objc_source_runs + # CheckOBJCXXCompilerFlag + - name: check_objcxx_compiler_flag + # CheckOBJCXXSourceCompiles + - + name: check_objcxx_source_compiles + named-args: *ccsc + # CheckOBJCXXSourceRuns + - name: check_objcxx_source_runs + # CheckPIESupported + - + name: check_pie_supported + named-args: [OUTPUT_VARIABLE, LANGUAGES] + special-args: *ccxxf + # CheckPrototypeDefinition + - name: check_prototype_definition + # CheckSourceCompiles + - + name: check_source_compiles + named-args: *frse + # CheckSourceRuns + - + name: check_source_runs + named-args: *se + # CheckStructHasMember + - + name: check_struct_has_member + named-args: *l + special-args: *ccxx + # CheckSymbolExists + - name: check_symbol_exists + # CheckTypeSize + - + name: check_type_size + named-args: [BUILTIN_TYPES_ONLY, LANGUAGE] + special-args: *ccxx + # CheckVariableExists + - name: check_variable_exists + # CMakeAddFortranSubdirectory + - + name: cmake_add_fortran_subdirectory + named-args: + - PROJECT + - ARCHIVE_DIR + - RUNTIME_DIR + - LIBRARIES + - LINK_LIBRARIES + - LINK_LIBS + - CMAKE_COMMAND_LINE + - NO_EXTERNAL_INSTALL + # CMakeBackwardCompatibilityCXX + # CMakeDependentOption + - name: cmake_dependent_option + # CMakeFindDependencyMacro + - name: find_dependency + # CMakeFindFrameworks + # CMakeFindPackageMode + # CMakeGraphVizOptions + # CMakePackageConfigHelpers + - + name: configure_package_config_file + named-args: + - INSTALL_DESTINATION + - PATH_VARS + - NO_SET_AND_CHECK_MACRO + - NO_CHECK_REQUIRED_COMPONENTS_MACRO + - INSTALL_PREFIX + - + name: write_basic_package_version_file + named-args: + - VERSION + - COMPATIBILITY + - ARCH_INDEPENDENT + special-args: [AnyNewerVersion, SameMajorVersion, SameMinorVersion, ExactVersion] + # CMakePrintHelpers + - + name: cmake_print_properties + named-args: + - TARGETS + - SOURCES + - DIRECTORIES + - TESTS + - CACHE_ENTRIES + - PROPERTIES + has-target-names-after-kw: TARGETS + # CMakePrintSystemInformation + # CMakePushCheckState + - + name: cmake_push_check_state + named-args: [RESET] + - name: cmake_pop_check_state + - name: cmake_reset_check_state + # CMakeVerifyManifest + # CPack + # CPackComponent + - + name: cpack_add_component + named-args: + - DISPLAY_NAME + - DESCRIPTION + - HIDDEN + - REQUIRED + - DISABLED + - GROUP + - DEPENDS + - INSTALL_TYPES + - DOWNLOADED + - ARCHIVE_FILE + - PLIST + - + name: cpack_add_component_group + named-args: + - DISPLAY_NAME + - DESCRIPTION + - PARENT_GROUP + - EXPANDED + - BOLD_TITLE + - + name: cpack_add_install_type + named-args: [DISPLAY_NAME] + - + name: cpack_configure_downloads + named-args: + - UPLOAD_DIRECTORY + - ALL + - ADD_REMOVE + - NO_ADD_REMOVE + # CPackIFW + - + name: cpack_ifw_configure_component + named-args: + - COMMON + - ESSENTIAL + - VIRTUAL + - FORCED_INSTALLATION + - REQUIRES_ADMIN_RIGHTS] + - NAME + - DISPLAY_NAME + - DESCRIPTION + - UPDATE_TEXT + - VERSION + - RELEASE_DATE + - SCRIPT + - PRIORITY + - SORTING_PRIORITY + - DEPENDS + - DEPENDENCIES + - AUTO_DEPEND_ON + - LICENSES + - DEFAULT + - USER_INTERFACES + - TRANSLATIONS + - REPLACES + - CHECKABLE + - + name: cpack_ifw_configure_component_group + named-args: + - VIRTUAL + - FORCED_INSTALLATION + - REQUIRES_ADMIN_RIGHTS + - NAME + - DISPLAY_NAME + - DESCRIPTION + - UPDATE_TEXT + - VERSION + - RELEASE_DATE + - SCRIPT + - PRIORITY + - SORTING_PRIORITY + - DEPENDS + - DEPENDENCIES + - AUTO_DEPEND_ON + - LICENSES + - DEFAULT + - USER_INTERFACES + - TRANSLATIONS + - REPLACES + - CHECKABLE + - + name: cpack_ifw_add_repository + named-args: + - DISABLED + - URL + - USERNAME + - PASSWORD + - DISPLAY_NAME + - + name: cpack_ifw_update_repository + named-args: + - ADD + - REMOVE + - URL + - REPLACE + - OLD_URL + - NEW_URL + - USERNAME + - PASSWORD + - DISPLAY_NAME + - name: cpack_ifw_add_package_resources + # CPackIFWConfigureFile + - name: cpack_ifw_configure_file + # CSharpUtilities + - name: csharp_set_windows_forms_properties + - name: csharp_set_designer_cs_properties + - name: csharp_set_xaml_cs_properties + - name: csharp_get_filename_keys + - name: csharp_get_filename_key_base + - name: csharp_get_dependentupon_name + # CTest + # CTestCoverageCollectGCOV + - + name: ctest_coverage_collect_gcov + named-args: + - TARBALL + - TARBALL_COMPRESSION + - SOURCE + - BUILD + - GCOV_COMMAND + - GCOV_OPTIONS + - GLOB + - DELETE + - QUIET + # CTestScriptMode + # CTestUseLaunchers + # Dart + # DeployQt4 + - name: write_qt4_conf + - name: resolve_qt4_paths + - name: fixup_qt4_executable + - name: install_qt4_plugin_path + - name: install_qt4_plugin + - name: install_qt4_executable + # ExternalData + - name: ExternalData_Expand_Arguments + - name: ExternalData_Add_Test + - + name: ExternalData_Add_Target + named-args: [SHOW_PROGRESS] + # ExternalProject + - + name: ExternalProject_Add + named-args: + - PREFIX + - TMP_DIR + - STAMP_DIR + - LOG_DIR + - DOWNLOAD_DIR + - SOURCE_DIR + - BINARY_DIR + - INSTALL_DIR + - DOWNLOAD_COMMAND + - URL + - URL_HASH + - URL_MD5 + - DOWNLOAD_NAME + - DOWNLOAD_NO_EXTRACT + - DOWNLOAD_NO_PROGRESS + - TIMEOUT + - INACTIVITY_TIMEOUT + - HTTP_USERNAME + - HTTP_PASSWORD + - HTTP_HEADER + - TLS_VERIFY + - TLS_CAINFO + - NETRC + - NETRC_FILE + - GIT_REPOSITORY + - GIT_TAG + - GIT_REMOTE_NAME + - GIT_SUBMODULES + - GIT_SUBMODULES_RECURSE + - GIT_SHALLOW + - GIT_PROGRESS + - GIT_CONFIG + - GIT_REMOTE_UPDATE_STRATEGY + - SVN_REPOSITORY + - SVN_REVISION + - SVN_USERNAME + - SVN_PASSWORD + - SVN_TRUST_CERT + - HG_REPOSITORY + - HG_TAG + - CVS_REPOSITORY + - CVS_MODULE + - CVS_TAG + - UPDATE_COMMAND + - UPDATE_DISCONNECTED + - PATCH_COMMAND + - CONFIGURE_COMMAND + - CMAKE_COMMAND + - CMAKE_GENERATOR + - CMAKE_GENERATOR_PLATFORM + - CMAKE_GENERATOR_TOOLSET + - CMAKE_GENERATOR_INSTANCE + - CMAKE_ARGS + - CMAKE_CACHE_ARGS + - CMAKE_CACHE_DEFAULT_ARGS + - SOURCE_SUBDIR + - CONFIGURE_HANDLED_BY_BUILD + - BUILD_COMMAND + - BUILD_IN_SOURCE + - BUILD_ALWAYS + - BUILD_BYPRODUCTS + - INSTALL_COMMAND + - TEST_COMMAND + - TEST_BEFORE_INSTALL + - TEST_AFTER_INSTALL + - TEST_EXCLUDE_FROM_MAIN + - LOG_DOWNLOAD + - LOG_UPDATE + - LOG_PATCH + - LOG_CONFIGURE + - LOG_BUILD + - LOG_INSTALL + - LOG_TEST + - LOG_MERGED_STDOUTERR + - LOG_OUTPUT_ON_FAILURE + - USES_TERMINAL_DOWNLOAD + - USES_TERMINAL_UPDATE + - USES_TERMINAL_CONFIGURE + - USES_TERMINAL_BUILD + - USES_TERMINAL_INSTALL + - USES_TERMINAL_TEST + - DEPENDS + - EXCLUDE_FROM_ALL + - STEP_TARGETS + - INDEPENDENT_STEP_TARGETS + - LIST_SEPARATOR + - COMMAND + special-args: [IGNORED, OPTIONAL, REQUIRED, CHECKOUT, REBASE, REBASE_CHECKOUT] + property-args: *get_target_property + - name: ExternalProject_Get_Property + - + name: ExternalProject_Add_Step + named-args: + - COMMAND + - COMMENT + - DEPENDEES + - DEPENDERS + - DEPENDS + - INDEPENDENT + - BYPRODUCTS + - ALWAYS + - EXCLUDE_FROM_MAIN + - WORKING_DIRECTORY + - LOG + - USES_TERMINAL + - + name: ExternalProject_Add_StepTargets + named-args: + - NO_DEPENDS + - name: ExternalProject_Add_StepDependencies + # FeatureSummary + - + name: feature_summary + named-args: + - FILENAME + - APPEND + - VAR + - INCLUDE_QUIET_PACKAGES + - FATAL_ON_MISSING_REQUIRED_PACKAGES + - DESCRIPTION + - DEFAULT_DESCRIPTION + - QUIET_ON_EMPTY + - WHAT + - ALL + - PACKAGES_FOUND + - PACKAGES_NOT_FOUND + - ENABLED_FEATURES + - DISABLED_FEATURES + - + name: set_package_properties + named-args: + - PROPERTIES + - URL + - DESCRIPTION + - TYPE + - RUNTIME + - OPTIONAL + - RECOMMENDED + - REQUIRED + - PURPOSE + - name: add_feature_info + - name: set_package_info + - name: set_feature_info + - name: print_enabled_features + - name: print_disabled_features + # FetchContent + - + name: FetchContent_Declare + named-args: + - DOWNLOAD_COMMAND + - URL + - URL_HASH + - URL_MD5 + - DOWNLOAD_NAME + - DOWNLOAD_NO_EXTRACT + - DOWNLOAD_NO_PROGRESS + - TIMEOUT + - INACTIVITY_TIMEOUT + - HTTP_USERNAME + - HTTP_PASSWORD + - HTTP_HEADER + - TLS_VERIFY + - TLS_CAINFO + - NETRC + - NETRC_FILE + - GIT_REPOSITORY + - GIT_TAG + - GIT_REMOTE_NAME + - GIT_SUBMODULES + - GIT_SUBMODULES_RECURSE + - GIT_SHALLOW + - GIT_PROGRESS + - GIT_CONFIG + - GIT_REMOTE_UPDATE_STRATEGY + - SVN_REPOSITORY + - SVN_REVISION + - SVN_USERNAME + - SVN_PASSWORD + - SVN_TRUST_CERT + - HG_REPOSITORY + - HG_TAG + - CVS_REPOSITORY + - CVS_MODULE + - CVS_TAG + - UPDATE_COMMAND + - UPDATE_DISCONNECTED + - PATCH_COMMAND + - SOURCE_SUBDIR + - + name: FetchContent_Populate + named-args: + - QUIET + - SUBBUILD_DIR + - SOURCE_DIR + - BINARY_DIR + - DOWNLOAD_COMMAND + - URL + - URL_HASH + - URL_MD5 + - DOWNLOAD_NAME + - DOWNLOAD_NO_EXTRACT + - DOWNLOAD_NO_PROGRESS + - TIMEOUT + - INACTIVITY_TIMEOUT + - HTTP_USERNAME + - HTTP_PASSWORD + - HTTP_HEADER + - TLS_VERIFY + - TLS_CAINFO + - NETRC + - NETRC_FILE + - GIT_REPOSITORY + - GIT_TAG + - GIT_REMOTE_NAME + - GIT_SUBMODULES + - GIT_SUBMODULES_RECURSE + - GIT_SHALLOW + - GIT_PROGRESS + - GIT_CONFIG + - GIT_REMOTE_UPDATE_STRATEGY + - SVN_REPOSITORY + - SVN_REVISION + - SVN_USERNAME + - SVN_PASSWORD + - SVN_TRUST_CERT + - HG_REPOSITORY + - HG_TAG + - CVS_REPOSITORY + - CVS_MODULE + - CVS_TAG + - UPDATE_COMMAND + - UPDATE_DISCONNECTED + - PATCH_COMMAND + - SOURCE_SUBDIR + - + name: FetchContent_GetProperties + named-args: + - SOURCE_DIR + - BINARY_DIR + - POPULATED + - name: FetchContent_MakeAvailable + # FindPackageHandleStandardArgs + - + name: find_package_handle_standard_args + named-args: + - DEFAULT_MSG + - FOUND_VAR + - REQUIRED_VARS + - VERSION_VAR + - HANDLE_VERSION_RANGE + - HANDLE_COMPONENTS + - CONFIG_MODE + - NAME_MISMATCHED + - REASON_FAILURE_MESSAGE + - FAIL_MESSAGE + - + name: find_package_check_version + named-args: + - HANDLE_VERSION_RANGE + - RESULT_MESSAGE_VARIABLE + # FindPackageMessage + - name: find_package_message + # FortranCInterface + - + name: FortranCInterface_HEADER + named-args: + - MACRO_NAMESPACE + - SYMBOL_NAMESPACE + - SYMBOLS + - + name: FortranCInterface_VERIFY + named-args: [CXX, QUIET] + # GenerateExportHeader + - + name: generate_export_header + named-args: + - BASE_NAME + - EXPORT_MACRO_NAME + - EXPORT_FILE_NAME + - DEPRECATED_MACRO_NAME + - NO_EXPORT_MACRO_NAME + - INCLUDE_GUARD_NAME + - STATIC_DEFINE + - NO_DEPRECATED_MACRO_NAME + - DEFINE_NO_DEPRECATED + - PREFIX_NAME + - CUSTOM_CONTENT_FROM_VARIABLE + first-arg-is-target?: true + # GetPrerequisites (NOTE The module has functions but has been deprecated) + # GNUInstallDirs + - name: GNUInstallDirs_get_absolute_install_dir + # GoogleTest + - + name: gtest_add_tests + named-args: + - TARGET + - SOURCES + - EXTRA_ARGS + - WORKING_DIRECTORY + - TEST_PREFIX + - TEST_SUFFIX + - SKIP_DEPENDENCY + - TEST_LIST + has-target-name-after-kw: TARGET + - + name: gtest_discover_tests # Since 3.10 + named-args: + - EXTRA_ARGS + - WORKING_DIRECTORY + - TEST_PREFIX + - TEST_SUFFIX + - TEST_FILTER # Since 3.22 + - NO_PRETTY_TYPES + - NO_PRETTY_VALUES + - PROPERTIES + - TEST_LIST + - DISCOVERY_TIMEOUT + - XML_OUTPUT_DIR + - DISCOVERY_MODE + special-args: [POST_BUILD, PRE_TEST] + first-arg-is-target?: true + # InstallRequiredSystemLibraries + # ProcessorCount + - name: processorcount + # SelectLibraryConfigurations + - name: select_library_configurations + # SquishTestScript + # TestBigEndian + - name: test_big_endian + # TestForANSIForScope + # TestForANSIStreamHeaders + # TestForSSTREAM + # TestForSTDNamespace + # UseEcos + - name: ecos_add_include_directories + - name: ecos_add_executable + - name: ecos_add_target_lib + - name: ecos_adjust_directory + - name: ecos_use_arm_elf_tools + - name: ecos_use_i386_elf_tools + - name: ecos_use_ppc_eabi_tools + # UseJava + - + name: add_jar + named-args: + - SOURCES + - RESOURCES + - NAMESPACE + - INCLUDE_JARS + - ENTRY_POINT + - VERSION + - MANIFEST + - OUTPUT_NAME + - OUTPUT_DIR + - GENERATE_NATIVE_HEADERS + - DESTINATION + - INSTALL + - BUILD + first-arg-is-target?: true + - + name: install_jar + named-args: &dc [DESTINATION, COMPONENT] + first-arg-is-target?: true + - + name: install_jni_symlink + named-args: *dc + first-arg-is-target?: true + - + name: create_javah + named-args: + - TARGET + - GENERATED_FILES + - CLASSES + - CLASSPATH + - DEPENDS + - OUTPUT_NAME + - OUTPUT_DIR + has-target-name-after-kw: TARGET + - + name: install_jar_exports + named-args: + - TARGETS + - NAMESPACE + - FILE + - DESTINATION + - COMPONENT + has-target-names-after-kw: TARGETS + - + name: export_jars + named-args: + - TARGETS + - NAMESPACE + - FILE + has-target-names-after-kw: TARGETS + - + name: find_jar + named-args: + - NAMES + - PATHS + - ENV + - VERSIONS + - DOC + - + name: create_javadoc + named-args: + - PACKAGES + - FILES + - SOURCEPATH + - CLASSPATH + - INSTALLPATH + - DOCTITLE + - WINDOWTITLE + - AUTHOR + - USE + - VERSION + # UseSWIG + - + name: swig_add_library + named-args: + - TYPE + - SHARED + - MODULE + - STATIC + - USE_BUILD_SHARED_LIBS + - LANGUAGE + - NO_PROXY + - OUTPUT_DIR + - OUTFILE_DIR + - SOURCES + - name: swig_link_libraries + # UsewxWidgets + # NOTE Some standard finder modules also provide commands + # FindSquish + - + name: squish_add_test + named-args: + - AUT + - SUITE + - TEST + - SETTINGSGROUP + - PRE_COMMAND + - POST_COMMAND + # FindBISON + - + name: bison_target + named-args: + - COMPILE_FLAGS + - DEFINES_FILE + - VERBOSE + - REPORT_FILE + # FindCxxTest + - name: cxxtest_add_test + # FindDoxygen + - + name: doxygen_add_docs + named-args: [ALL, USE_STAMP_FILE, WORKING_DIRECTORY, COMMENT] + # FindEnvModules + - + name: env_module + named-args: [COMMAND, OUTPUT_VARIABLE, RESULT_VARIABLE] + - + name: env_module_swap + named-args: [OUTPUT_VARIABLE, RESULT_VARIABLE] + - name: env_module_list + - name: env_module_avail + # FindFLEX + - + name: flex_target + named-args: + - COMPILE_FLAGS + - DEFINES_FILE + - name: add_flex_bison_dependency + # FindGettext + - + name: gettext_create_translations + named-args: [ALL] + - + name: gettext_process_pot_file + named-args: [ALL, INSTALL_DESTINATION, LANGUAGES] + - + name: gettext_process_po_files + named-args: [ALL, INSTALL_DESTINATION, PO_FILES] + # FindHg + - name: hg_wc_info + # FindMatlab + - name: matlab_get_version_from_release_name + - name: matlab_get_release_name_from_version + - name: matlab_extract_all_installed_versions_from_registry + - name: matlab_get_all_valid_matlab_roots_from_registry + - name: matlab_get_mex_suffix + - name: matlab_get_version_from_matlab_run + - + name: matlab_add_unit_test + named-args: + - NAME + - UNITTEST_FILE + - CUSTOM_TEST_COMMAND + - UNITTEST_PRECOMMAND + - TIMEOUT + - ADDITIONAL_PATH + - MATLAB_ADDITIONAL_STARTUP_OPTIONS + - TEST_ARGS + - NO_UNITTEST_FRAMEWORK + - + name: matlab_add_mex + named-args: + - NAME + - EXECUTABLE + - MODULE + - SHARED + - SRC + - OUTPUT_NAME + - DOCUMENTATION + - LINK_TO + - EXCLUDE_FROM_ALL + special-args: [R2017b, R2018a] + # FindPkgConfig + - + name: pkg_check_modules + named-args: &pkgcm + - REQUIRED + - QUIET + - NO_CMAKE_PATH + - NO_CMAKE_ENVIRONMENT_PATH + - IMPORTED_TARGET + - GLOBAL + - + name: pkg_search_module + named-args: *pkgcm + - + name: pkg_get_variable + # FindProtobuf + - + name: protobuf_generate_cpp + named-args: [DESCRIPTORS, EXPORT_MACRO] + - + name: protobuf_generate_python + # FindPython + - + name: Python_add_library + named-args: [STATIC, SHARED, MODULE, WITH_SOABI] + # FindSubversion + - + name: Subversion_WC_INFO + named-args: [IGNORE_SVN_FAILURE] + - + name: Subversion_WC_LOG + # FindXCTest + - name: xctest_add_bundle + - name: xctest_add_test diff --git a/src/libs/3rdparty/syntax-highlighting/data/generators/generate-cmake-syntax.py b/src/libs/3rdparty/syntax-highlighting/data/generators/generate-cmake-syntax.py index 24b1eb0d7cc..dfe77e4627e 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/generate-cmake-syntax.py +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/generate-cmake-syntax.py @@ -57,7 +57,7 @@ def try_transform_placeholder_string_to_regex(name): if 'ARGV' in m: return 'ARGV[0-9]+' - return '&id_re;'.join(m) if 1 < len(m) else name + return '&var_ref_re;'.join(m) if 1 < len(m) else name def try_placeholders_to_regex(names): @@ -109,6 +109,26 @@ def transform_command(cmd): cmd['nested_parentheses'] = cmd['nested-parentheses?'] if 'nested-parentheses?' in cmd else False + if 'first-arg-is-target?' in cmd: + cmd['first_arg_is_target'] = cmd['first-arg-is-target?'] + can_be_nulary = False + + if 'first-args-are-targets?' in cmd: + cmd['first_args_are_targets'] = cmd['first-args-are-targets?'] + can_be_nulary = False + + if 'has-target-name-after-kw' in cmd: + cmd['has_target_name_after_kw'] = cmd['has-target-name-after-kw'] + can_be_nulary = False + + if 'has-target-names-after-kw' in cmd: + cmd['has_target_names_after_kw'] = cmd['has-target-names-after-kw'] + can_be_nulary = False + + if 'second-arg-is-target?' in cmd: + cmd['second_arg_is_target'] = cmd['second-arg-is-target?'] + can_be_nulary = False + if 'nulary?' in cmd and cmd['nulary?'] and not can_be_nulary: raise RuntimeError('Command `{}` w/ args declared nulary!?'.format(cmd['name'])) @@ -124,8 +144,7 @@ def transform_command(cmd): #BEGIN Jinja filters def cmd_is_nulary(cmd): - assert not ('named-args' in cmd or 'special-args' in cmd or 'property-args' in cmd) - return 'nulary?' in cmd and cmd['nulary?'] + return cmd.setdefault('nulary?', False) #END Jinja filters @@ -134,7 +153,7 @@ def cmd_is_nulary(cmd): @click.argument('input_yaml', type=click.File('r')) @click.argument('template', type=click.File('r'), default='./cmake.xml.tpl') def cli(input_yaml, template): - data = yaml.load(input_yaml) + data = yaml.load(input_yaml, Loader=yaml.BaseLoader) # Partition `variables` and `environment-variables` lists into "pure" (key)words and regexes to match for var_key in _VAR_KIND_LIST: @@ -164,8 +183,16 @@ def cli(input_yaml, template): data['commands'] = list( map( transform_command - , data['scripting-commands'] + data['project-commands'] + data['ctest-commands']) + , data['scripting-commands'] + data['project-commands'] + data['ctest-commands'] + ) + ) + data['standard_module_commands'] = list( + map( + transform_command + , data['standard-module-commands'] + ) ) + del data['standard-module-commands'] # Fix node names to be accessible from Jinja template data['generator_expressions'] = data['generator-expressions'] diff --git a/src/libs/3rdparty/syntax-highlighting/data/generators/spdx-comments.xml.tpl b/src/libs/3rdparty/syntax-highlighting/data/generators/spdx-comments.xml.tpl index 58cc80f960b..b9944a2bd04 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/spdx-comments.xml.tpl +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/spdx-comments.xml.tpl @@ -1,7 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> +<!-- ***** THIS FILE WAS GENERATED BY A SCRIPT - DO NOT EDIT ***** + cd data/generators + # increase version of spdx-comments.xml.tpl then + ./generate-spdx-syntax.py > ../syntax/spdx-comments.xml +--> <language - version="4" + version="6" kateversion="3.1" name="SPDX-Comments" section="Other" @@ -58,9 +63,7 @@ <context name="license-expression" attribute="SPDX Value" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> <DetectSpaces/> - <DetectChar char="(" context="#stay" attribute="SPDX License Expression Operator" /> - <DetectChar char=")" context="#stay" attribute="SPDX License Expression Operator" /> - <DetectChar char="+" context="#stay" attribute="SPDX License Expression Operator" /> + <AnyChar String="()+" context="#stay" attribute="SPDX License Expression Operator" /> <keyword String="licenses" context="#stay" attribute="SPDX License" /> <keyword String="deprecated-licenses" context="#stay" attribute="SPDX Deprecated License" /> <keyword String="exceptions" context="#stay" attribute="SPDX License Exception" /> diff --git a/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd b/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd index fa510e0d147..fdea0dd7521 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd +++ b/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd @@ -130,8 +130,8 @@ extensions: A file glob or pattern to decide for which documents to use this syntax description style: The style that this highlighter provides. It is used through required-syntax-style by the indenters. [optional] mimetype: A list of mimetypes to decide for which documents to use this syntax description [optional] - version: Version number of this syntax description [optional] - kateversion: Kate version required for using this file [optional] + version: Version number of this syntax description + kateversion: Kate version required for using this file casesensitive: Whether text is matched case sensitive. [boolean, optional, default=true] FIXME: This is not implemented yet priority: Priority of this language, if more than one are usable for the file [optional] author: Name of author of this hl file [optional] diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml index c7b21cb2a01..72e200cce2d 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml @@ -39,7 +39,7 @@ <!ENTITY arithmetic_as_subshell "\(((?:[^`'"()$]++|\$\{[^`'"(){}$]+\}|\$(?=[^{`'"()])|`[^`]*+`|\((?1)(?:[)]|(?=['"])))++)(?:[)](?=$|[^)])|["'])"> ]> -<language name="Bash" version="30" kateversion="5.79" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.nix;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> +<language name="Bash" version="34" kateversion="5.79" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.exlib;*.exheres-0;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> <!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl) Changes by Matthew Woehlke (mw_triad@users.sourceforge.net) @@ -133,6 +133,9 @@ <!-- /bin --> <item>arch</item> <item>awk</item> + <item>b2sum</item> + <item>base32</item> + <item>base64</item> <item>bash</item> <item>bunzip2</item> <item>bzcat</item> @@ -147,11 +150,15 @@ <item>bzmore</item> <item>cat</item> <item>chattr</item> + <item>chcon</item> <item>chgrp</item> <item>chmod</item> <item>chown</item> <item>chvt</item> + <item>cksum</item> <item>cp</item> + <item>crontab</item> + <item>csplit</item> <item>date</item> <item>dd</item> <item>deallocvt</item> @@ -165,9 +172,11 @@ <item>dumpkeys</item> <item>ed</item> <item>egrep</item> + <item>expand</item> <item>false</item> <item>fgconsole</item> <item>fgrep</item> + <item>fold</item> <item>fuser</item> <item>gawk</item> <item>getkeycodes</item> @@ -178,7 +187,9 @@ <item>gunzip</item> <item>gzexe</item> <item>gzip</item> + <item>hostid</item> <item>hostname</item> + <item>iconv</item> <item>igawk</item> <item>install</item> <item>kbd_mode</item> @@ -206,6 +217,7 @@ <item>lzmainfo</item> <item>lzmore</item> <item>mapscrn</item> + <item>md5sum</item> <item>mesg</item> <item>mkdir</item> <item>mkfifo</item> @@ -217,20 +229,29 @@ <item>nano</item> <item>netstat</item> <item>nisdomainname</item> + <item>nproc</item> <item>nroff</item> + <item>numfmt</item> <item>openvt</item> + <item>paste</item> + <item>pathchk</item> <item>pgawk</item> <item>pidof</item> <item>ping</item> + <item>pinky</item> + <item>printenv</item> <item>ps</item> <item>pstree</item> + <item>ptx</item> <item>rbash</item> <item>readlink</item> + <item>realpath</item> <item>red</item> <item>resizecons</item> <item>rm</item> <item>rmdir</item> <item>run-parts</item> + <item>runcon</item> <item>sash</item> <item>sed</item> <item>setfont</item> @@ -239,22 +260,33 @@ <item>setmetamode</item> <item>setserial</item> <item>sh</item> + <item>sha1sum</item> + <item>sha224sum</item> + <item>sha256sum</item> + <item>sha384sum</item> + <item>sha512sum</item> <item>showkey</item> <item>shred</item> + <item>shuf</item> <item>sleep</item> <item>ssed</item> <item>stat</item> + <item>stdbuf</item> <item>stty</item> <item>su</item> <item>sync</item> <item>tar</item> <item>tempfile</item> + <item>timeout</item> <item>touch</item> + <item>tput</item> <item>troff</item> <item>true</item> <item>truncate</item> + <item>tty</item> <item>umount</item> <item>uname</item> + <item>unexpand</item> <item>unicode_start</item> <item>unicode_stop</item> <item>unlink</item> @@ -263,6 +295,7 @@ <item>utmpdump</item> <item>uuidgen</item> <item>vdir</item> + <item>vi</item> <item>wall</item> <item>wc</item> <item>xz</item> @@ -336,6 +369,7 @@ <item>gc</item> <item>gcc</item> <item>clang</item> + <item>clang++</item> <item>valgrind</item> <item>xdg-open</item> <item>cmake</item> @@ -464,6 +498,19 @@ <contexts> <context attribute="Normal Text" lineEndContext="#stay" name="Start" fallthroughContext="Command"> + <IncludeRules context="BashOneLine"/> + </context> + + <!-- used by other syntaxes --> + <context attribute="Normal Text" lineEndContext="#pop" name="FindOneLineBackq" fallthroughContext="#pop"> + <DetectChar attribute="Backquote" context="OneLineBackq" char="`"/> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="OneLineBackq" fallthroughContext="Command"> + <DetectChar attribute="Backquote" context="#pop" char="`"/> + <IncludeRules context="Start"/> + </context> + + <context attribute="Normal Text" lineEndContext="#pop" name="BashOneLine" fallthroughContext="Command"> <DetectSpaces attribute="Normal Text" context="#stay"/> <DetectChar attribute="Comment" context="Comment" char="#"/> <!-- start expression in double parentheses --> @@ -1104,6 +1151,7 @@ <!-- VarBracePrefix called as soon as ${! is encoutered --> <context attribute="Variable" lineEndContext="#pop" name="VarBracePrefix"> <DetectIdentifier attribute="Variable" context="#pop!VarBracePrefixSuffix"/> + <Int attribute="Variable" context="#pop!VarBracePrefixSuffix"/> </context> <context attribute="Variable" lineEndContext="#pop" name="VarBracePrefixSuffix" fallthroughContext="#pop!VarError"> <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/> diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml index d8676a250db..e94885b856f 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ - <!ENTITY id_re "[_A-Za-z][\-_0-9A-Za-z]*"> + <!-- NOTE See https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#variable-references --> + <!ENTITY var_ref_re "[/\.\+\-_0-9A-Za-z]+"> + <!-- NOTE See `cmGeneratorExpression::IsValidTargetName` --> + <!ENTITY tgt_name_re "[A-Za-z0-9_\.\+\-]+"> ]> <!-- This file is part of KDE's kate project. @@ -22,7 +25,7 @@ <language name="CMake" - version="34" + version="37" kateversion="5.0" section="Other" extensions="CMakeLists.txt;*.cmake;*.cmake.in" @@ -144,7 +147,6 @@ <item>ctest_update</item> <item>ctest_upload</item> </list> - <list name="cmake_host_system_information_nargs"> <item>QUERY</item> <item>RESULT</item> @@ -152,6 +154,7 @@ <list name="cmake_host_system_information_sargs"> <item>AVAILABLE_PHYSICAL_MEMORY</item> <item>AVAILABLE_VIRTUAL_MEMORY</item> + <item>DISTRIB_INFO</item> <item>FQDN</item> <item>HAS_AMD_3DNOW</item> <item>HAS_AMD_3DNOW_PLUS</item> @@ -1398,16 +1401,779 @@ <item>FILES</item> <item>QUIET</item> </list> + <list name="android_add_test_data_nargs"> + <item>DEVICE_OBJECT_STORE</item> + <item>DEVICE_TEST_DIR</item> + <item>FILES</item> + <item>FILES_DEST</item> + <item>LIBS</item> + <item>LIBS_DEST</item> + <item>NO_LINK_REGEX</item> + </list> + <list name="check_c_source_compiles_nargs"> + <item>FAIL_REGEX</item> + </list> + <list name="check_cxx_source_compiles_nargs"> + <item>FAIL_REGEX</item> + </list> + <list name="check_fortran_source_compiles_nargs"> + <item>FAIL_REGEX</item> + <item>SRC_EXT</item> + </list> + <list name="check_fortran_source_runs_nargs"> + <item>SRC_EXT</item> + </list> + <list name="check_include_files_nargs"> + <item>LANGUAGE</item> + </list> + <list name="check_include_files_sargs"> + <item>C</item> + <item>CXX</item> + </list> + <list name="check_ipo_supported_nargs"> + <item>LANGUAGES</item> + <item>OUTPUT</item> + <item>RESULT</item> + </list> + <list name="check_ipo_supported_sargs"> + <item>C</item> + <item>CXX</item> + <item>Fortran</item> + </list> + <list name="check_language_sargs"> + <item>ASM</item> + <item>ASM-ATT</item> + <item>ASM_MASM</item> + <item>ASM_NASM</item> + <item>C</item> + <item>CSharp</item> + <item>CUDA</item> + <item>CXX</item> + <item>Fortran</item> + <item>HIP</item> + <item>ISPC</item> + <item>Java</item> + <item>OBJC</item> + <item>OBJCXX</item> + <item>RC</item> + <item>Swift</item> + </list> + <list name="check_objc_source_compiles_nargs"> + <item>FAIL_REGEX</item> + </list> + <list name="check_objcxx_source_compiles_nargs"> + <item>FAIL_REGEX</item> + </list> + <list name="check_pie_supported_nargs"> + <item>LANGUAGES</item> + <item>OUTPUT_VARIABLE</item> + </list> + <list name="check_pie_supported_sargs"> + <item>C</item> + <item>CXX</item> + <item>Fortran</item> + </list> + <list name="check_source_compiles_nargs"> + <item>FAIL_REGEX</item> + <item>SRC_EXT</item> + </list> + <list name="check_source_runs_nargs"> + <item>SRC_EXT</item> + </list> + <list name="check_struct_has_member_nargs"> + <item>LANGUAGE</item> + </list> + <list name="check_struct_has_member_sargs"> + <item>C</item> + <item>CXX</item> + </list> + <list name="check_type_size_nargs"> + <item>BUILTIN_TYPES_ONLY</item> + <item>LANGUAGE</item> + </list> + <list name="check_type_size_sargs"> + <item>C</item> + <item>CXX</item> + </list> + <list name="cmake_add_fortran_subdirectory_nargs"> + <item>ARCHIVE_DIR</item> + <item>CMAKE_COMMAND_LINE</item> + <item>LIBRARIES</item> + <item>LINK_LIBRARIES</item> + <item>LINK_LIBS</item> + <item>NO_EXTERNAL_INSTALL</item> + <item>PROJECT</item> + <item>RUNTIME_DIR</item> + </list> + <list name="configure_package_config_file_nargs"> + <item>INSTALL_DESTINATION</item> + <item>INSTALL_PREFIX</item> + <item>NO_CHECK_REQUIRED_COMPONENTS_MACRO</item> + <item>NO_SET_AND_CHECK_MACRO</item> + <item>PATH_VARS</item> + </list> + <list name="write_basic_package_version_file_nargs"> + <item>ARCH_INDEPENDENT</item> + <item>COMPATIBILITY</item> + <item>VERSION</item> + </list> + <list name="write_basic_package_version_file_sargs"> + <item>AnyNewerVersion</item> + <item>ExactVersion</item> + <item>SameMajorVersion</item> + <item>SameMinorVersion</item> + </list> + <list name="cmake_print_properties_nargs"> + <item>CACHE_ENTRIES</item> + <item>DIRECTORIES</item> + <item>PROPERTIES</item> + <item>SOURCES</item> + <item>TARGETS</item> + <item>TESTS</item> + </list> + <list name="cmake_push_check_state_nargs"> + <item>RESET</item> + </list> + <list name="cpack_add_component_nargs"> + <item>ARCHIVE_FILE</item> + <item>DEPENDS</item> + <item>DESCRIPTION</item> + <item>DISABLED</item> + <item>DISPLAY_NAME</item> + <item>DOWNLOADED</item> + <item>GROUP</item> + <item>HIDDEN</item> + <item>INSTALL_TYPES</item> + <item>PLIST</item> + <item>REQUIRED</item> + </list> + <list name="cpack_add_component_group_nargs"> + <item>BOLD_TITLE</item> + <item>DESCRIPTION</item> + <item>DISPLAY_NAME</item> + <item>EXPANDED</item> + <item>PARENT_GROUP</item> + </list> + <list name="cpack_add_install_type_nargs"> + <item>DISPLAY_NAME</item> + </list> + <list name="cpack_configure_downloads_nargs"> + <item>ADD_REMOVE</item> + <item>ALL</item> + <item>NO_ADD_REMOVE</item> + <item>UPLOAD_DIRECTORY</item> + </list> + <list name="cpack_ifw_configure_component_nargs"> + <item>AUTO_DEPEND_ON</item> + <item>CHECKABLE</item> + <item>COMMON</item> + <item>DEFAULT</item> + <item>DEPENDENCIES</item> + <item>DEPENDS</item> + <item>DESCRIPTION</item> + <item>DISPLAY_NAME</item> + <item>ESSENTIAL</item> + <item>FORCED_INSTALLATION</item> + <item>LICENSES</item> + <item>NAME</item> + <item>PRIORITY</item> + <item>RELEASE_DATE</item> + <item>REPLACES</item> + <item>REQUIRES_ADMIN_RIGHTS]</item> + <item>SCRIPT</item> + <item>SORTING_PRIORITY</item> + <item>TRANSLATIONS</item> + <item>UPDATE_TEXT</item> + <item>USER_INTERFACES</item> + <item>VERSION</item> + <item>VIRTUAL</item> + </list> + <list name="cpack_ifw_configure_component_group_nargs"> + <item>AUTO_DEPEND_ON</item> + <item>CHECKABLE</item> + <item>DEFAULT</item> + <item>DEPENDENCIES</item> + <item>DEPENDS</item> + <item>DESCRIPTION</item> + <item>DISPLAY_NAME</item> + <item>FORCED_INSTALLATION</item> + <item>LICENSES</item> + <item>NAME</item> + <item>PRIORITY</item> + <item>RELEASE_DATE</item> + <item>REPLACES</item> + <item>REQUIRES_ADMIN_RIGHTS</item> + <item>SCRIPT</item> + <item>SORTING_PRIORITY</item> + <item>TRANSLATIONS</item> + <item>UPDATE_TEXT</item> + <item>USER_INTERFACES</item> + <item>VERSION</item> + <item>VIRTUAL</item> + </list> + <list name="cpack_ifw_add_repository_nargs"> + <item>DISABLED</item> + <item>DISPLAY_NAME</item> + <item>PASSWORD</item> + <item>URL</item> + <item>USERNAME</item> + </list> + <list name="cpack_ifw_update_repository_nargs"> + <item>ADD</item> + <item>DISPLAY_NAME</item> + <item>NEW_URL</item> + <item>OLD_URL</item> + <item>PASSWORD</item> + <item>REMOVE</item> + <item>REPLACE</item> + <item>URL</item> + <item>USERNAME</item> + </list> + <list name="ctest_coverage_collect_gcov_nargs"> + <item>BUILD</item> + <item>DELETE</item> + <item>GCOV_COMMAND</item> + <item>GCOV_OPTIONS</item> + <item>GLOB</item> + <item>QUIET</item> + <item>SOURCE</item> + <item>TARBALL</item> + <item>TARBALL_COMPRESSION</item> + </list> + <list name="ExternalData_Add_Target_nargs"> + <item>SHOW_PROGRESS</item> + </list> + <list name="ExternalProject_Add_nargs"> + <item>BINARY_DIR</item> + <item>BUILD_ALWAYS</item> + <item>BUILD_BYPRODUCTS</item> + <item>BUILD_COMMAND</item> + <item>BUILD_IN_SOURCE</item> + <item>CMAKE_ARGS</item> + <item>CMAKE_CACHE_ARGS</item> + <item>CMAKE_CACHE_DEFAULT_ARGS</item> + <item>CMAKE_COMMAND</item> + <item>CMAKE_GENERATOR</item> + <item>CMAKE_GENERATOR_INSTANCE</item> + <item>CMAKE_GENERATOR_PLATFORM</item> + <item>CMAKE_GENERATOR_TOOLSET</item> + <item>COMMAND</item> + <item>CONFIGURE_COMMAND</item> + <item>CONFIGURE_HANDLED_BY_BUILD</item> + <item>CVS_MODULE</item> + <item>CVS_REPOSITORY</item> + <item>CVS_TAG</item> + <item>DEPENDS</item> + <item>DOWNLOAD_COMMAND</item> + <item>DOWNLOAD_DIR</item> + <item>DOWNLOAD_NAME</item> + <item>DOWNLOAD_NO_EXTRACT</item> + <item>DOWNLOAD_NO_PROGRESS</item> + <item>EXCLUDE_FROM_ALL</item> + <item>GIT_CONFIG</item> + <item>GIT_PROGRESS</item> + <item>GIT_REMOTE_NAME</item> + <item>GIT_REMOTE_UPDATE_STRATEGY</item> + <item>GIT_REPOSITORY</item> + <item>GIT_SHALLOW</item> + <item>GIT_SUBMODULES</item> + <item>GIT_SUBMODULES_RECURSE</item> + <item>GIT_TAG</item> + <item>HG_REPOSITORY</item> + <item>HG_TAG</item> + <item>HTTP_HEADER</item> + <item>HTTP_PASSWORD</item> + <item>HTTP_USERNAME</item> + <item>INACTIVITY_TIMEOUT</item> + <item>INDEPENDENT_STEP_TARGETS</item> + <item>INSTALL_COMMAND</item> + <item>INSTALL_DIR</item> + <item>LIST_SEPARATOR</item> + <item>LOG_BUILD</item> + <item>LOG_CONFIGURE</item> + <item>LOG_DIR</item> + <item>LOG_DOWNLOAD</item> + <item>LOG_INSTALL</item> + <item>LOG_MERGED_STDOUTERR</item> + <item>LOG_OUTPUT_ON_FAILURE</item> + <item>LOG_PATCH</item> + <item>LOG_TEST</item> + <item>LOG_UPDATE</item> + <item>NETRC</item> + <item>NETRC_FILE</item> + <item>PATCH_COMMAND</item> + <item>PREFIX</item> + <item>SOURCE_DIR</item> + <item>SOURCE_SUBDIR</item> + <item>STAMP_DIR</item> + <item>STEP_TARGETS</item> + <item>SVN_PASSWORD</item> + <item>SVN_REPOSITORY</item> + <item>SVN_REVISION</item> + <item>SVN_TRUST_CERT</item> + <item>SVN_USERNAME</item> + <item>TEST_AFTER_INSTALL</item> + <item>TEST_BEFORE_INSTALL</item> + <item>TEST_COMMAND</item> + <item>TEST_EXCLUDE_FROM_MAIN</item> + <item>TIMEOUT</item> + <item>TLS_CAINFO</item> + <item>TLS_VERIFY</item> + <item>TMP_DIR</item> + <item>UPDATE_COMMAND</item> + <item>UPDATE_DISCONNECTED</item> + <item>URL</item> + <item>URL_HASH</item> + <item>URL_MD5</item> + <item>USES_TERMINAL_BUILD</item> + <item>USES_TERMINAL_CONFIGURE</item> + <item>USES_TERMINAL_DOWNLOAD</item> + <item>USES_TERMINAL_INSTALL</item> + <item>USES_TERMINAL_TEST</item> + <item>USES_TERMINAL_UPDATE</item> + </list> + <list name="ExternalProject_Add_sargs"> + <item>CHECKOUT</item> + <item>IGNORED</item> + <item>OPTIONAL</item> + <item>REBASE</item> + <item>REBASE_CHECKOUT</item> + <item>REQUIRED</item> + </list> + <list name="ExternalProject_Add_Step_nargs"> + <item>ALWAYS</item> + <item>BYPRODUCTS</item> + <item>COMMAND</item> + <item>COMMENT</item> + <item>DEPENDEES</item> + <item>DEPENDERS</item> + <item>DEPENDS</item> + <item>EXCLUDE_FROM_MAIN</item> + <item>INDEPENDENT</item> + <item>LOG</item> + <item>USES_TERMINAL</item> + <item>WORKING_DIRECTORY</item> + </list> + <list name="ExternalProject_Add_StepTargets_nargs"> + <item>NO_DEPENDS</item> + </list> + <list name="feature_summary_nargs"> + <item>ALL</item> + <item>APPEND</item> + <item>DEFAULT_DESCRIPTION</item> + <item>DESCRIPTION</item> + <item>DISABLED_FEATURES</item> + <item>ENABLED_FEATURES</item> + <item>FATAL_ON_MISSING_REQUIRED_PACKAGES</item> + <item>FILENAME</item> + <item>INCLUDE_QUIET_PACKAGES</item> + <item>PACKAGES_FOUND</item> + <item>PACKAGES_NOT_FOUND</item> + <item>QUIET_ON_EMPTY</item> + <item>VAR</item> + <item>WHAT</item> + </list> + <list name="set_package_properties_nargs"> + <item>DESCRIPTION</item> + <item>OPTIONAL</item> + <item>PROPERTIES</item> + <item>PURPOSE</item> + <item>RECOMMENDED</item> + <item>REQUIRED</item> + <item>RUNTIME</item> + <item>TYPE</item> + <item>URL</item> + </list> + <list name="FetchContent_Declare_nargs"> + <item>CVS_MODULE</item> + <item>CVS_REPOSITORY</item> + <item>CVS_TAG</item> + <item>DOWNLOAD_COMMAND</item> + <item>DOWNLOAD_NAME</item> + <item>DOWNLOAD_NO_EXTRACT</item> + <item>DOWNLOAD_NO_PROGRESS</item> + <item>GIT_CONFIG</item> + <item>GIT_PROGRESS</item> + <item>GIT_REMOTE_NAME</item> + <item>GIT_REMOTE_UPDATE_STRATEGY</item> + <item>GIT_REPOSITORY</item> + <item>GIT_SHALLOW</item> + <item>GIT_SUBMODULES</item> + <item>GIT_SUBMODULES_RECURSE</item> + <item>GIT_TAG</item> + <item>HG_REPOSITORY</item> + <item>HG_TAG</item> + <item>HTTP_HEADER</item> + <item>HTTP_PASSWORD</item> + <item>HTTP_USERNAME</item> + <item>INACTIVITY_TIMEOUT</item> + <item>NETRC</item> + <item>NETRC_FILE</item> + <item>PATCH_COMMAND</item> + <item>SOURCE_SUBDIR</item> + <item>SVN_PASSWORD</item> + <item>SVN_REPOSITORY</item> + <item>SVN_REVISION</item> + <item>SVN_TRUST_CERT</item> + <item>SVN_USERNAME</item> + <item>TIMEOUT</item> + <item>TLS_CAINFO</item> + <item>TLS_VERIFY</item> + <item>UPDATE_COMMAND</item> + <item>UPDATE_DISCONNECTED</item> + <item>URL</item> + <item>URL_HASH</item> + <item>URL_MD5</item> + </list> + <list name="FetchContent_Populate_nargs"> + <item>BINARY_DIR</item> + <item>CVS_MODULE</item> + <item>CVS_REPOSITORY</item> + <item>CVS_TAG</item> + <item>DOWNLOAD_COMMAND</item> + <item>DOWNLOAD_NAME</item> + <item>DOWNLOAD_NO_EXTRACT</item> + <item>DOWNLOAD_NO_PROGRESS</item> + <item>GIT_CONFIG</item> + <item>GIT_PROGRESS</item> + <item>GIT_REMOTE_NAME</item> + <item>GIT_REMOTE_UPDATE_STRATEGY</item> + <item>GIT_REPOSITORY</item> + <item>GIT_SHALLOW</item> + <item>GIT_SUBMODULES</item> + <item>GIT_SUBMODULES_RECURSE</item> + <item>GIT_TAG</item> + <item>HG_REPOSITORY</item> + <item>HG_TAG</item> + <item>HTTP_HEADER</item> + <item>HTTP_PASSWORD</item> + <item>HTTP_USERNAME</item> + <item>INACTIVITY_TIMEOUT</item> + <item>NETRC</item> + <item>NETRC_FILE</item> + <item>PATCH_COMMAND</item> + <item>QUIET</item> + <item>SOURCE_DIR</item> + <item>SOURCE_SUBDIR</item> + <item>SUBBUILD_DIR</item> + <item>SVN_PASSWORD</item> + <item>SVN_REPOSITORY</item> + <item>SVN_REVISION</item> + <item>SVN_TRUST_CERT</item> + <item>SVN_USERNAME</item> + <item>TIMEOUT</item> + <item>TLS_CAINFO</item> + <item>TLS_VERIFY</item> + <item>UPDATE_COMMAND</item> + <item>UPDATE_DISCONNECTED</item> + <item>URL</item> + <item>URL_HASH</item> + <item>URL_MD5</item> + </list> + <list name="FetchContent_GetProperties_nargs"> + <item>BINARY_DIR</item> + <item>POPULATED</item> + <item>SOURCE_DIR</item> + </list> + <list name="find_package_handle_standard_args_nargs"> + <item>CONFIG_MODE</item> + <item>DEFAULT_MSG</item> + <item>FAIL_MESSAGE</item> + <item>FOUND_VAR</item> + <item>HANDLE_COMPONENTS</item> + <item>HANDLE_VERSION_RANGE</item> + <item>NAME_MISMATCHED</item> + <item>REASON_FAILURE_MESSAGE</item> + <item>REQUIRED_VARS</item> + <item>VERSION_VAR</item> + </list> + <list name="find_package_check_version_nargs"> + <item>HANDLE_VERSION_RANGE</item> + <item>RESULT_MESSAGE_VARIABLE</item> + </list> + <list name="FortranCInterface_HEADER_nargs"> + <item>MACRO_NAMESPACE</item> + <item>SYMBOLS</item> + <item>SYMBOL_NAMESPACE</item> + </list> + <list name="FortranCInterface_VERIFY_nargs"> + <item>CXX</item> + <item>QUIET</item> + </list> + <list name="generate_export_header_nargs"> + <item>BASE_NAME</item> + <item>CUSTOM_CONTENT_FROM_VARIABLE</item> + <item>DEFINE_NO_DEPRECATED</item> + <item>DEPRECATED_MACRO_NAME</item> + <item>EXPORT_FILE_NAME</item> + <item>EXPORT_MACRO_NAME</item> + <item>INCLUDE_GUARD_NAME</item> + <item>NO_DEPRECATED_MACRO_NAME</item> + <item>NO_EXPORT_MACRO_NAME</item> + <item>PREFIX_NAME</item> + <item>STATIC_DEFINE</item> + </list> + <list name="gtest_add_tests_nargs"> + <item>EXTRA_ARGS</item> + <item>SKIP_DEPENDENCY</item> + <item>SOURCES</item> + <item>TARGET</item> + <item>TEST_LIST</item> + <item>TEST_PREFIX</item> + <item>TEST_SUFFIX</item> + <item>WORKING_DIRECTORY</item> + </list> + <list name="gtest_discover_tests_nargs"> + <item>DISCOVERY_MODE</item> + <item>DISCOVERY_TIMEOUT</item> + <item>EXTRA_ARGS</item> + <item>NO_PRETTY_TYPES</item> + <item>NO_PRETTY_VALUES</item> + <item>PROPERTIES</item> + <item>TEST_FILTER</item> + <item>TEST_LIST</item> + <item>TEST_PREFIX</item> + <item>TEST_SUFFIX</item> + <item>WORKING_DIRECTORY</item> + <item>XML_OUTPUT_DIR</item> + </list> + <list name="gtest_discover_tests_sargs"> + <item>POST_BUILD</item> + <item>PRE_TEST</item> + </list> + <list name="add_jar_nargs"> + <item>BUILD</item> + <item>DESTINATION</item> + <item>ENTRY_POINT</item> + <item>GENERATE_NATIVE_HEADERS</item> + <item>INCLUDE_JARS</item> + <item>INSTALL</item> + <item>MANIFEST</item> + <item>NAMESPACE</item> + <item>OUTPUT_DIR</item> + <item>OUTPUT_NAME</item> + <item>RESOURCES</item> + <item>SOURCES</item> + <item>VERSION</item> + </list> + <list name="install_jar_nargs"> + <item>COMPONENT</item> + <item>DESTINATION</item> + </list> + <list name="install_jni_symlink_nargs"> + <item>COMPONENT</item> + <item>DESTINATION</item> + </list> + <list name="create_javah_nargs"> + <item>CLASSES</item> + <item>CLASSPATH</item> + <item>DEPENDS</item> + <item>GENERATED_FILES</item> + <item>OUTPUT_DIR</item> + <item>OUTPUT_NAME</item> + <item>TARGET</item> + </list> + <list name="install_jar_exports_nargs"> + <item>COMPONENT</item> + <item>DESTINATION</item> + <item>FILE</item> + <item>NAMESPACE</item> + <item>TARGETS</item> + </list> + <list name="export_jars_nargs"> + <item>FILE</item> + <item>NAMESPACE</item> + <item>TARGETS</item> + </list> + <list name="find_jar_nargs"> + <item>DOC</item> + <item>ENV</item> + <item>NAMES</item> + <item>PATHS</item> + <item>VERSIONS</item> + </list> + <list name="create_javadoc_nargs"> + <item>AUTHOR</item> + <item>CLASSPATH</item> + <item>DOCTITLE</item> + <item>FILES</item> + <item>INSTALLPATH</item> + <item>PACKAGES</item> + <item>SOURCEPATH</item> + <item>USE</item> + <item>VERSION</item> + <item>WINDOWTITLE</item> + </list> + <list name="swig_add_library_nargs"> + <item>LANGUAGE</item> + <item>MODULE</item> + <item>NO_PROXY</item> + <item>OUTFILE_DIR</item> + <item>OUTPUT_DIR</item> + <item>SHARED</item> + <item>SOURCES</item> + <item>STATIC</item> + <item>TYPE</item> + <item>USE_BUILD_SHARED_LIBS</item> + </list> + <list name="squish_add_test_nargs"> + <item>AUT</item> + <item>POST_COMMAND</item> + <item>PRE_COMMAND</item> + <item>SETTINGSGROUP</item> + <item>SUITE</item> + <item>TEST</item> + </list> + <list name="bison_target_nargs"> + <item>COMPILE_FLAGS</item> + <item>DEFINES_FILE</item> + <item>REPORT_FILE</item> + <item>VERBOSE</item> + </list> + <list name="doxygen_add_docs_nargs"> + <item>ALL</item> + <item>COMMENT</item> + <item>USE_STAMP_FILE</item> + <item>WORKING_DIRECTORY</item> + </list> + <list name="env_module_nargs"> + <item>COMMAND</item> + <item>OUTPUT_VARIABLE</item> + <item>RESULT_VARIABLE</item> + </list> + <list name="env_module_swap_nargs"> + <item>OUTPUT_VARIABLE</item> + <item>RESULT_VARIABLE</item> + </list> + <list name="flex_target_nargs"> + <item>COMPILE_FLAGS</item> + <item>DEFINES_FILE</item> + </list> + <list name="gettext_create_translations_nargs"> + <item>ALL</item> + </list> + <list name="gettext_process_pot_file_nargs"> + <item>ALL</item> + <item>INSTALL_DESTINATION</item> + <item>LANGUAGES</item> + </list> + <list name="gettext_process_po_files_nargs"> + <item>ALL</item> + <item>INSTALL_DESTINATION</item> + <item>PO_FILES</item> + </list> + <list name="matlab_add_unit_test_nargs"> + <item>ADDITIONAL_PATH</item> + <item>CUSTOM_TEST_COMMAND</item> + <item>MATLAB_ADDITIONAL_STARTUP_OPTIONS</item> + <item>NAME</item> + <item>NO_UNITTEST_FRAMEWORK</item> + <item>TEST_ARGS</item> + <item>TIMEOUT</item> + <item>UNITTEST_FILE</item> + <item>UNITTEST_PRECOMMAND</item> + </list> + <list name="matlab_add_mex_nargs"> + <item>DOCUMENTATION</item> + <item>EXCLUDE_FROM_ALL</item> + <item>EXECUTABLE</item> + <item>LINK_TO</item> + <item>MODULE</item> + <item>NAME</item> + <item>OUTPUT_NAME</item> + <item>SHARED</item> + <item>SRC</item> + </list> + <list name="matlab_add_mex_sargs"> + <item>R2017b</item> + <item>R2018a</item> + </list> + <list name="pkg_check_modules_nargs"> + <item>GLOBAL</item> + <item>IMPORTED_TARGET</item> + <item>NO_CMAKE_ENVIRONMENT_PATH</item> + <item>NO_CMAKE_PATH</item> + <item>QUIET</item> + <item>REQUIRED</item> + </list> + <list name="pkg_search_module_nargs"> + <item>GLOBAL</item> + <item>IMPORTED_TARGET</item> + <item>NO_CMAKE_ENVIRONMENT_PATH</item> + <item>NO_CMAKE_PATH</item> + <item>QUIET</item> + <item>REQUIRED</item> + </list> + <list name="protobuf_generate_cpp_nargs"> + <item>DESCRIPTORS</item> + <item>EXPORT_MACRO</item> + </list> + <list name="Python_add_library_nargs"> + <item>MODULE</item> + <item>SHARED</item> + <item>STATIC</item> + <item>WITH_SOABI</item> + </list> + <list name="Subversion_WC_INFO_nargs"> + <item>IGNORE_SVN_FAILURE</item> + </list> <list name="variables"> + <item>ALSA_LIBRARY</item> <item>ANDROID</item> <item>APPLE</item> <item>ARGC</item> <item>ARGN</item> <item>ARGV</item> + <item>ASPELL_DEFINITIONS</item> + <item>ASPELL_EXECUTABLE</item> + <item>AVIFILE_DEFINITIONS</item> + <item>BIBER_COMPILER</item> + <item>BIBTEX_COMPILER</item> + <item>BISON_EXECUTABLE</item> + <item>BLAS_LINKER_FLAGS</item> + <item>BLA_F95</item> + <item>BLA_PREFER_PKGCONFIG</item> + <item>BLA_SIZEOF_INTEGER</item> + <item>BLA_STATIC</item> + <item>BLA_VENDOR</item> + <item>BOOSTROOT</item> + <item>BOOST_INCLUDEDIR</item> + <item>BOOST_LIBRARYDIR</item> <item>BORLAND</item> <item>BUILD_SHARED_LIBS</item> <item>BUILD_TESTING</item> + <item>BU_CHMOD_BUNDLE_ITEMS</item> + <item>BZIP2_INCLUDE_DIR</item> + <item>BZIP2_NEED_PREFIX</item> + <item>Backtrace_HEADER</item> + <item>Backtrace_LIBRARY</item> + <item>Boost_ADDITIONAL_VERSIONS</item> + <item>Boost_ARCHITECTURE</item> + <item>Boost_COMPILER</item> + <item>Boost_DEBUG</item> + <item>Boost_INCLUDE_DIR</item> + <item>Boost_LIBRARY_DIR_DEBUG</item> + <item>Boost_LIBRARY_DIR_RELEASE</item> + <item>Boost_LIB_PREFIX</item> + <item>Boost_NAMESPACE</item> + <item>Boost_NO_SYSTEM_PATHS</item> + <item>Boost_NO_WARN_NEW_VERSIONS</item> + <item>Boost_REALPATH</item> + <item>Boost_THREADAPI</item> + <item>Boost_USE_DEBUG_LIBS</item> + <item>Boost_USE_DEBUG_PYTHON</item> + <item>Boost_USE_DEBUG_RUNTIME</item> + <item>Boost_USE_MULTITHREADED</item> + <item>Boost_USE_RELEASE_LIBS</item> + <item>Boost_USE_STATIC_LIBS</item> + <item>Boost_USE_STLPORT</item> + <item>Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS</item> + <item>Boost_VERSION_COUNT</item> + <item>Boost_VERSION_MACRO</item> + <item>CABLE</item> + <item>CABLE_INCLUDE_DIR</item> + <item>CABLE_TCL_LIBRARY</item> <item>CMAKE_ABSOLUTE_DESTINATION_FILES</item> <item>CMAKE_AIX_EXPORT_ALL_SYMBOLS</item> <item>CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS</item> @@ -1507,10 +2273,14 @@ <item>CMAKE_CURRENT_SOURCE_DIR</item> <item>CMAKE_CXX_COMPILE_FEATURES</item> <item>CMAKE_CXX_EXTENSIONS</item> + <item>CMAKE_CXX_LINK_NO_PIE_SUPPORTED</item> + <item>CMAKE_CXX_LINK_PIE_SUPPORTED</item> <item>CMAKE_CXX_STANDARD</item> <item>CMAKE_CXX_STANDARD_REQUIRED</item> <item>CMAKE_C_COMPILE_FEATURES</item> <item>CMAKE_C_EXTENSIONS</item> + <item>CMAKE_C_LINK_NO_PIE_SUPPORTED</item> + <item>CMAKE_C_LINK_PIE_SUPPORTED</item> <item>CMAKE_C_STANDARD</item> <item>CMAKE_C_STANDARD_REQUIRED</item> <item>CMAKE_DEBUG_POSTFIX</item> @@ -1574,6 +2344,8 @@ <item>CMAKE_FRAMEWORK</item> <item>CMAKE_FRAMEWORK_PATH</item> <item>CMAKE_Fortran_FORMAT</item> + <item>CMAKE_Fortran_LINK_NO_PIE_SUPPORTED</item> + <item>CMAKE_Fortran_LINK_PIE_SUPPORTED</item> <item>CMAKE_Fortran_MODDIR_DEFAULT</item> <item>CMAKE_Fortran_MODDIR_FLAG</item> <item>CMAKE_Fortran_MODOUT_FLAG</item> @@ -1584,6 +2356,8 @@ <item>CMAKE_GENERATOR_NO_COMPILER_ENV</item> <item>CMAKE_GENERATOR_PLATFORM</item> <item>CMAKE_GENERATOR_TOOLSET</item> + <item>CMAKE_GET_OS_RELEASE_FALLBACK_RESULT</item> + <item>CMAKE_GET_OS_RELEASE_FALLBACK_SCRIPTS</item> <item>CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND</item> <item>CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM</item> <item>CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL</item> @@ -1592,7 +2366,12 @@ <item>CMAKE_GLOBAL_AUTORCC_TARGET</item> <item>CMAKE_GLOBAL_AUTORCC_TARGET_NAME</item> <item>CMAKE_GNUtoMS</item> + <item>CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE</item> <item>CMAKE_HAS_ANSI_STRING_STREAM</item> + <item>CMAKE_HIP_ARCHITECTURES</item> + <item>CMAKE_HIP_EXTENSIONS</item> + <item>CMAKE_HIP_STANDARD</item> + <item>CMAKE_HIP_STANDARD_REQUIRED</item> <item>CMAKE_HOST_APPLE</item> <item>CMAKE_HOST_SOLARIS</item> <item>CMAKE_HOST_SYSTEM</item> @@ -1688,6 +2467,7 @@ <item>CMAKE_LINK_SEARCH_END_STATIC</item> <item>CMAKE_LINK_SEARCH_START_STATIC</item> <item>CMAKE_LINK_WHAT_YOU_USE</item> + <item>CMAKE_LINK_WHAT_YOU_USE_CHECK</item> <item>CMAKE_MACOSX_BUNDLE</item> <item>CMAKE_MACOSX_RPATH</item> <item>CMAKE_MAJOR_VERSION</item> @@ -1994,6 +2774,7 @@ <item>CPACK_NSIS_FINISH_TITLE</item> <item>CPACK_NSIS_FINISH_TITLE_3LINES</item> <item>CPACK_NSIS_HELP_LINK</item> + <item>CPACK_NSIS_IGNORE_LICENSE_PAGE</item> <item>CPACK_NSIS_INSTALLED_ICON_NAME</item> <item>CPACK_NSIS_INSTALLER_MUI_ICON_CODE</item> <item>CPACK_NSIS_INSTALL_ROOT</item> @@ -2128,6 +2909,7 @@ <item>CPACK_RPM_PRE_TRANS_SCRIPT_FILE</item> <item>CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE</item> <item>CPACK_RPM_RELOCATION_PATHS</item> + <item>CPACK_RPM_REQUIRES_EXCLUDE_FROM</item> <item>CPACK_RPM_SOURCE_PKG_BUILD_PARAMS</item> <item>CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX</item> <item>CPACK_RPM_SPEC_INSTALL_POST</item> @@ -2240,8 +3022,28 @@ <item>CTEST_UPDATE_VERSION_ONLY</item> <item>CTEST_UPDATE_VERSION_OVERRIDE</item> <item>CTEST_USE_LAUNCHERS</item> + <item>CUDAToolkit_NVCC_EXECUTABLE</item> + <item>CUPS_INCLUDE_DIR</item> + <item>CURL_NO_CURL_CMAKE</item> + <item>CURSES_CFLAGS</item> + <item>CURSES_HAVE_CURSES_H</item> + <item>CURSES_HAVE_NCURSES_CURSES_H</item> + <item>CURSES_HAVE_NCURSES_H</item> + <item>CURSES_HAVE_NCURSES_NCURSES_H</item> + <item>CURSES_NEED_NCURSES</item> + <item>CURSES_NEED_WIDE</item> + <item>CVS_EXECUTABLE</item> + <item>CXXTEST_PERL_TESTGEN_EXECUTABLE</item> + <item>CXXTEST_PYTHON_TESTGEN_EXECUTABLE</item> + <item>CXXTEST_TESTGEN_ARGS</item> + <item>CXXTEST_TESTGEN_EXECUTABLE</item> + <item>CXXTEST_TESTGEN_INTERPRETER</item> + <item>CXXTEST_USE_PYTHON</item> <item>CYGWIN</item> + <item>DVIPDF_CONVERTER</item> + <item>DVIPS_CONVERTER</item> <item>EXECUTABLE_OUTPUT_PATH</item> + <item>EnvModules_COMMAND</item> <item>ExternalData_BINARY_ROOT</item> <item>ExternalData_CUSTOM_ERROR</item> <item>ExternalData_CUSTOM_FILE</item> @@ -2258,7 +3060,66 @@ <item>ExternalData_TIMEOUT_ABSOLUTE</item> <item>ExternalData_TIMEOUT_INACTIVITY</item> <item>ExternalData_URL_TEMPLATES</item> + <item>FETCHCONTENT_FULLY_DISCONNECTED</item> + <item>FETCHCONTENT_QUIET</item> + <item>FETCHCONTENT_UPDATES_DISCONNECTED</item> + <item>FLEX_EXECUTABLE</item> + <item>FLTK2_BASE_LIBRARY</item> + <item>FLTK2_FLUID_EXECUTABLE</item> + <item>FLTK2_GL_LIBRARY</item> + <item>FLTK2_IMAGES_LIBRARY</item> + <item>FLTK2_WRAP_UI</item> + <item>FLTK_BASE_LIBRARY_DEBUG</item> + <item>FLTK_BASE_LIBRARY_RELEASE</item> + <item>FLTK_FLUID_EXECUTABLE</item> + <item>FLTK_FORMS_LIBRARY_DEBUG</item> + <item>FLTK_FORMS_LIBRARY_RELEASE</item> + <item>FLTK_GL_LIBRARY_DEBUG</item> + <item>FLTK_GL_LIBRARY_RELEASE</item> + <item>FLTK_IMAGES_LIBRARY_DEBUG</item> + <item>FLTK_IMAGES_LIBRARY_RELEASE</item> + <item>FLTK_SKIP_FLUID</item> + <item>FLTK_SKIP_FORMS</item> + <item>FLTK_SKIP_IMAGES</item> + <item>FLTK_SKIP_OPENGL</item> + <item>FLTK_WRAP_UI</item> + <item>FREETYPE_INCLUDE_DIR_freetype2</item> + <item>FREETYPE_INCLUDE_DIR_ft2build</item> + <item>FindGDAL_SKIP_GDAL_CONFIG</item> + <item>Fontconfig_COMPILE_OPTIONS</item> + <item>FortranCInterface_GLOBAL_CASE</item> + <item>FortranCInterface_GLOBAL_PREFIX</item> + <item>FortranCInterface_GLOBAL_SUFFIX</item> + <item>FortranCInterface_GLOBAL_SYMBOLS</item> + <item>FortranCInterface_GLOBAL__CASE</item> + <item>FortranCInterface_GLOBAL__PREFIX</item> + <item>FortranCInterface_GLOBAL__SUFFIX</item> + <item>FortranCInterface_MODULE_CASE</item> + <item>FortranCInterface_MODULE_MIDDLE</item> + <item>FortranCInterface_MODULE_PREFIX</item> + <item>FortranCInterface_MODULE_SUFFIX</item> + <item>FortranCInterface_MODULE_SYMBOLS</item> + <item>FortranCInterface_MODULE__CASE</item> + <item>FortranCInterface_MODULE__MIDDLE</item> + <item>FortranCInterface_MODULE__PREFIX</item> + <item>FortranCInterface_MODULE__SUFFIX</item> + <item>FortranCInterface_VERIFIED_C</item> + <item>FortranCInterface_VERIFIED_CXX</item> + <item>GCCXML</item> + <item>GDAL_ADDITIONAL_LIBRARY_VERSIONS</item> + <item>GDAL_LIBRARY</item> + <item>GETTEXT_MSGFMT_EXECUTABLE</item> + <item>GETTEXT_MSGMERGE_EXECUTABLE</item> <item>GHS-MULTI</item> + <item>GIF_LIBRARY</item> + <item>GIT_EXECUTABLE</item> + <item>GLEW_USE_STATIC_LIBS</item> + <item>GLEW_VERBOSE</item> + <item>GLUT_Xi_LIBRARY</item> + <item>GLUT_Xmu_LIBRARY</item> + <item>GLUT_glut_LIBRARY</item> + <item>GNUPLOT_EXECUTABLE</item> + <item>GNUTLS_DEFINITIONS</item> <item>GRAPHVIZ_EXECUTABLES</item> <item>GRAPHVIZ_EXTERNAL_LIBS</item> <item>GRAPHVIZ_GENERATE_PER_TARGET</item> @@ -2270,8 +3131,110 @@ <item>GRAPHVIZ_NODE_PREFIX</item> <item>GRAPHVIZ_SHARED_LIBS</item> <item>GRAPHVIZ_STATIC_LIBS</item> + <item>GSL_CBLAS_LIBRARY</item> + <item>GSL_CBLAS_LIBRARY_DEBUG</item> + <item>GSL_CONFIG_EXECUTABLE</item> + <item>GSL_LIBRARY</item> + <item>GSL_LIBRARY_DEBUG</item> + <item>GTEST_MSVC_SEARCH</item> + <item>GTK2_ADDITIONAL_SUFFIXES</item> + <item>GTK2_DEBUG</item> + <item>GTK2_DEFINITIONS</item> + <item>GTK2_TARGETS</item> + <item>GTK2_USE_IMPORTED_TARGETS</item> + <item>HDF5_CXX_COMPILER_EXECUTABLE</item> + <item>HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE</item> + <item>HDF5_CXX_DEFINITIONS</item> + <item>HDF5_C_COMPILER_EXECUTABLE</item> + <item>HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE</item> + <item>HDF5_C_DEFINITIONS</item> + <item>HDF5_DEFINITIONS</item> + <item>HDF5_DIFF_EXECUTABLE</item> + <item>HDF5_FIND_DEBUG</item> + <item>HDF5_Fortran_COMPILER_EXECUTABLE</item> + <item>HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE</item> + <item>HDF5_Fortran_DEFINITIONS</item> + <item>HDF5_IS_PARALLEL</item> + <item>HDF5_NO_FIND_PACKAGE_CONFIG_FILE</item> + <item>HDF5_PREFER_PARALLEL</item> + <item>HG_EXECUTABLE</item> + <item>HTLATEX_COMPILER</item> + <item>HTML_HELP_COMPILER</item> + <item>HTML_HELP_LIBRARY</item> + <item>ICOTOOL_EXECUTABLE</item> + <item>ICU_DEBUG</item> + <item>ICU_MAKEFILE_INC</item> + <item>ICU_PKGDATA_INC</item> + <item>Iconv_IS_BUILT_IN</item> + <item>Iconv_LIBRARY</item> + <item>Intl_IS_BUILT_IN</item> + <item>Intl_LIBRARY</item> + <item>JASPER_LIBARRY_DEBUG</item> + <item>JASPER_LIBRARY_RELEASE</item> + <item>JAVA_AWT_INCLUDE_PATH</item> + <item>JAVA_AWT_LIBRARY</item> + <item>JAVA_INCLUDE_PATH</item> + <item>JAVA_INCLUDE_PATH2</item> + <item>JAVA_JVM_LIBRARY</item> + <item>JPEG_LIBRARY</item> + <item>JPEG_LIBRARY_DEBUG</item> + <item>JPEG_LIBRARY_RELEASE</item> + <item>Java_IDLJ_EXECUTABLE</item> + <item>Java_JARSIGNER_EXECUTABLE</item> + <item>Java_JAR_EXECUTABLE</item> + <item>Java_JAVAC_EXECUTABLE</item> + <item>Java_JAVADOC_EXECUTABLE</item> + <item>Java_JAVAH_EXECUTABLE</item> + <item>Java_JAVA_EXECUTABLE</item> + <item>LAPACK_LINKER_FLAGS</item> + <item>LATEX2HTML_CONVERTER</item> + <item>LATEX_COMPILER</item> + <item>LIBLZMA_HAS_AUTO_DECODER</item> + <item>LIBLZMA_HAS_EASY_ENCODER</item> + <item>LIBLZMA_HAS_LZMA_PRESET</item> <item>LIBRARY_OUTPUT_PATH</item> + <item>LIBXML2_DEFINITIONS</item> + <item>LIBXML2_LIBRARY</item> + <item>LIBXML2_XMLLINT_EXECUTABLE</item> + <item>LIBXSLT_DEFINITIONS</item> + <item>LIBXSLT_XSLTPROC_EXECUTABLE</item> + <item>LTTNGUST_HAS_TRACEF</item> + <item>LTTNGUST_HAS_TRACELOG</item> + <item>LUALATEX_COMPILER</item> + <item>Libinput_COMPILE_OPTIONS</item> + <item>MAKEINDEX_COMPILER</item> + <item>MATLAB_ADDITIONAL_VERSIONS</item> + <item>MATLAB_FIND_DEBUG</item> <item>MINGW</item> + <item>MPEG2_mpeg2_LIBRARY</item> + <item>MPEG2_vo_LIBRARY</item> + <item>MPEG_mpeg2_LIBRARY</item> + <item>MPEG_vo_LIBRARY</item> + <item>MPIEXEC_EXECUTABLE</item> + <item>MPIEXEC_MAX_NUMPROCS</item> + <item>MPIEXEC_NUMPROC_FLAG</item> + <item>MPIEXEC_POSTFLAGS</item> + <item>MPIEXEC_PREFLAGS</item> + <item>MPI_ASSUME_NO_BUILTIN_MPI</item> + <item>MPI_ASYNC_PROTECTS_NONBLOCKING</item> + <item>MPI_COMPILER_FLAGS</item> + <item>MPI_CXX_SKIP_MPICXX</item> + <item>MPI_DETERMINE_Fortran_CAPABILITIES</item> + <item>MPI_EXECUTABLE_SUFFIX</item> + <item>MPI_Fortran_F08_MODULE_ASYNCPROT</item> + <item>MPI_Fortran_F08_MODULE_SUBARRAYS</item> + <item>MPI_Fortran_F77_HEADER_ASYNCPROT</item> + <item>MPI_Fortran_F77_HEADER_SUBARRAYS</item> + <item>MPI_Fortran_F90_MODULE_ASYNCPROT</item> + <item>MPI_Fortran_F90_MODULE_SUBARRAYS</item> + <item>MPI_Fortran_HAVE_F08_MODULE</item> + <item>MPI_Fortran_HAVE_F77_HEADER</item> + <item>MPI_Fortran_HAVE_F90_MODULE</item> + <item>MPI_GUESS_LIBRARY_NAME</item> + <item>MPI_HOME</item> + <item>MPI_SKIP_COMPILER_WRAPPER</item> + <item>MPI_SKIP_GUESSING</item> + <item>MPI_SUBARRAYS_SUPPORTED</item> <item>MSVC</item> <item>MSVC10</item> <item>MSVC11</item> @@ -2285,6 +3248,34 @@ <item>MSVC_IDE</item> <item>MSVC_TOOLSET_VERSION</item> <item>MSVC_VERSION</item> + <item>Matlab_DATAARRAY_LIBRARY</item> + <item>Matlab_ENGINE_LIBRARY</item> + <item>Matlab_ENG_LIBRARY</item> + <item>Matlab_MAIN_PROGRAM</item> + <item>Matlab_MAT_LIBRARY</item> + <item>Matlab_MCC_COMPILER</item> + <item>Matlab_MEX_COMPILER</item> + <item>Matlab_MEX_EXTENSION</item> + <item>Matlab_MEX_LIBRARY</item> + <item>Matlab_MX_LIBRARY</item> + <item>ODBC_CONFIG</item> + <item>ODBC_LIBRARY</item> + <item>OPENAL_LIBRARY</item> + <item>OPENGL_egl_LIBRARY</item> + <item>OPENGL_gl_LIBRARY</item> + <item>OPENGL_glu_LIBRARY</item> + <item>OPENGL_glx_LIBRARY</item> + <item>OPENGL_opengl_LIBRARY</item> + <item>OPENSSL_APPLINK_SOURCE</item> + <item>OPENSSL_CRYPTO_LIBRARY</item> + <item>OPENSSL_MSVC_STATIC_RT</item> + <item>OPENSSL_SSL_LIBRARY</item> + <item>OPENSSL_USE_STATIC_LIBS</item> + <item>OpenACC_ACCEL_TARGET</item> + <item>OpenCL_LIBRARY</item> + <item>OpenGL_GL_PREFERENCE</item> + <item>OpenMP_Fortran_HAVE_OMPLIB_HEADER</item> + <item>OpenMP_Fortran_HAVE_OMPLIB_MODULE</item> <item>PACKAGE_FIND_NAME</item> <item>PACKAGE_FIND_VERSION_COMPLETE</item> <item>PACKAGE_FIND_VERSION_COUNT</item> @@ -2307,9 +3298,29 @@ <item>PACKAGE_VERSION_COMPATIBLE</item> <item>PACKAGE_VERSION_EXACT</item> <item>PACKAGE_VERSION_UNSUITABLE</item> + <item>PDFLATEX_COMPILER</item> + <item>PDFTOPS_CONVERTER</item> + <item>PERL_ARCHLIB</item> + <item>PERL_EXECUTABLE</item> + <item>PERL_EXTRA_C_FLAGS</item> + <item>PERL_PRIVLIB</item> + <item>PERL_SITEARCH</item> + <item>PERL_SITELIB</item> + <item>PERL_SITESEARCH</item> + <item>PERL_UPDATE_ARCHLIB</item> + <item>PERL_UPDATE_PRIVLIB</item> + <item>PERL_VENDORARCH</item> + <item>PERL_VENDORLIB</item> + <item>PHP4_EXECUTABLE</item> + <item>PHP4_INCLUDE_PATH</item> + <item>PHYSFS_LIBRARY</item> + <item>PIKE_EXECUTABLE</item> + <item>PIKE_INCLUDE_PATH</item> <item>PKG_CONFIG_EXECUTABLE</item> <item>PKG_CONFIG_USE_CMAKE_PREFIX_PATH</item> <item>PKG_CONFIG_VERSION_STRING</item> + <item>PNG_DEFINITIONS</item> + <item>PNG_LIBRARY</item> <item>PROJECT_BINARY_DIR</item> <item>PROJECT_DESCRIPTION</item> <item>PROJECT_HOMEPAGE_URL</item> @@ -2321,19 +3332,138 @@ <item>PROJECT_VERSION_MINOR</item> <item>PROJECT_VERSION_PATCH</item> <item>PROJECT_VERSION_TWEAK</item> + <item>PS2PDF_CONVERTER</item> + <item>Patch_EXECUTABLE</item> + <item>Protobuf_DEBUG</item> + <item>Protobuf_IMPORT_DIRS</item> + <item>Protobuf_LIBRARY</item> + <item>Protobuf_LIBRARY_DEBUG</item> + <item>Protobuf_LITE_LIBRARY</item> + <item>Protobuf_LITE_LIBRARY_DEBUG</item> + <item>Protobuf_PROTOC_EXECUTABLE</item> + <item>Protobuf_PROTOC_LIBRARY</item> + <item>Protobuf_PROTOC_LIBRARY_DEBUG</item> + <item>Protobuf_SRC_ROOT_FOLDER</item> + <item>Protobuf_USE_STATIC_LIBS</item> + <item>Python2_ARTIFACTS_INTERACTIVE</item> + <item>Python2_COMPILER</item> + <item>Python2_COMPILER_ID</item> + <item>Python2_DOTNET_LAUNCHER</item> + <item>Python2_EXECUTABLE</item> + <item>Python2_FIND_ABI</item> + <item>Python2_FIND_FRAMEWORK</item> + <item>Python2_FIND_IMPLEMENTATIONS</item> + <item>Python2_FIND_REGISTRY</item> + <item>Python2_FIND_STRATEGY</item> + <item>Python2_FIND_UNVERSIONED_NAMES</item> + <item>Python2_FIND_VIRTUALENV</item> + <item>Python2_INTERPRETER_ID</item> + <item>Python2_LINK_OPTIONS</item> + <item>Python2_SITEARCH</item> + <item>Python2_SITELIB</item> + <item>Python2_SOABI</item> + <item>Python2_STDARCH</item> + <item>Python2_STDLIB</item> + <item>Python2_USE_STATIC_LIBS</item> + <item>Python3_ARTIFACTS_INTERACTIVE</item> + <item>Python3_COMPILER</item> + <item>Python3_COMPILER_ID</item> + <item>Python3_DOTNET_LAUNCHER</item> + <item>Python3_EXECUTABLE</item> + <item>Python3_FIND_ABI</item> + <item>Python3_FIND_FRAMEWORK</item> + <item>Python3_FIND_IMPLEMENTATIONS</item> + <item>Python3_FIND_REGISTRY</item> + <item>Python3_FIND_STRATEGY</item> + <item>Python3_FIND_UNVERSIONED_NAMES</item> + <item>Python3_FIND_VIRTUALENV</item> + <item>Python3_INTERPRETER_ID</item> + <item>Python3_LINK_OPTIONS</item> + <item>Python3_SITEARCH</item> + <item>Python3_SITELIB</item> + <item>Python3_SOABI</item> + <item>Python3_STDARCH</item> + <item>Python3_STDLIB</item> + <item>Python3_USE_STATIC_LIBS</item> + <item>Python_ARTIFACTS_INTERACTIVE</item> + <item>Python_COMPILER</item> + <item>Python_COMPILER_ID</item> + <item>Python_DOTNET_LAUNCHER</item> + <item>Python_EXECUTABLE</item> + <item>Python_FIND_ABI</item> + <item>Python_FIND_FRAMEWORK</item> + <item>Python_FIND_IMPLEMENTATIONS</item> + <item>Python_FIND_REGISTRY</item> + <item>Python_FIND_STRATEGY</item> + <item>Python_FIND_UNVERSIONED_NAMES</item> + <item>Python_FIND_VIRTUALENV</item> + <item>Python_INTERPRETER_ID</item> + <item>Python_LINK_OPTIONS</item> + <item>Python_SITEARCH</item> + <item>Python_SITELIB</item> + <item>Python_SOABI</item> + <item>Python_STDARCH</item> + <item>Python_STDLIB</item> + <item>Python_USE_STATIC_LIBS</item> <item>QTIFWDIR</item> + <item>RTI_DEFINITIONS</item> + <item>Ruby_EXECUTABLE</item> + <item>Ruby_FIND_VIRTUALENV</item> + <item>SDLIMAGE_LIBRARY</item> + <item>SDLMIXER_LIBRARY</item> + <item>SDLNET_LIBRARY</item> + <item>SDLTTF_LIBRARY</item> + <item>SDL_BUILDING_LIBRARY</item> + <item>SDL_LIBRARY</item> + <item>SDL_SOUND_LIBRARY</item> + <item>SQUISH_CLIENT_EXECUTABLE</item> + <item>SQUISH_SERVER_EXECUTABLE</item> + <item>SWIG_EXECUTABLE</item> <item>SWIG_OUTFILE_DIR</item> <item>SWIG_SOURCE_FILE_EXTENSIONS</item> <item>SWIG_USE_SWIG_DEPENDENCIES</item> + <item>Subversion_SVN_EXECUTABLE</item> + <item>Subversion_VERSION_SVN</item> + <item>TCL_INCLUDE_PATH</item> + <item>TCL_STUB_LIBRARY</item> + <item>TCL_TCLSH</item> <item>THREADS_PREFER_PTHREAD_FLAG</item> + <item>TIFFXX_LIBRARY_DEBUG</item> + <item>TIFFXX_LIBRARY_RELEASE</item> + <item>TIFF_LIBRARY_DEBUG</item> + <item>TIFF_LIBRARY_RELEASE</item> + <item>TK_INCLUDE_PATH</item> + <item>TK_LIBRARY</item> + <item>TK_STUB_LIBRARY</item> + <item>TK_WISH</item> + <item>TTK_STUB_LIBRARY</item> <item>UNIX</item> <item>UseSWIG_MODULE_VERSION</item> + <item>Vulkan_GLSLANG_VALIDATOR_EXECUTABLE</item> + <item>Vulkan_GLSLC_EXECUTABLE</item> + <item>Vulkan_LIBRARY</item> + <item>WGET_EXECUTABLE</item> <item>WIN32</item> <item>WINCE</item> <item>WINDOWS_PHONE</item> <item>WINDOWS_STORE</item> <item>XCODE</item> <item>XCODE_VERSION</item> + <item>XCTest_EXECUTABLE</item> + <item>XELATEX_COMPILER</item> + <item>XINDY_COMPILER</item> + <item>XalanC_LIBRARY</item> + <item>XercesC_LIBRARY</item> + <item>wxWidgets_CONFIGURATION</item> + <item>wxWidgets_CXX_FLAGS</item> + <item>wxWidgets_DEFINITIONS</item> + <item>wxWidgets_DEFINITIONS_DEBUG</item> + <item>wxWidgets_EXCLUDE_COMMON_LIBRARIES</item> + <item>wxWidgets_USE_DEBUG</item> + <item>wxWidgets_USE_FILE</item> + <item>wxWidgets_USE_STATIC</item> + <item>wxWidgets_USE_UNICODE</item> + <item>wxWidgets_USE_UNIVERSAL</item> </list> <list name="deprecated-or-internal-variables"> @@ -2359,6 +3489,8 @@ <item>CMAKE_APPBUNDLE_PATH</item> <item>CMAKE_APPLE_SILICON_PROCESSOR</item> <item>CMAKE_BUILD_PARALLEL_LEVEL</item> + <item>CMAKE_BUILD_TYPE</item> + <item>CMAKE_CONFIGURATION_TYPES</item> <item>CMAKE_CONFIG_TYPE</item> <item>CMAKE_EXPORT_COMPILE_COMMANDS</item> <item>CMAKE_FRAMEWORK_PATH</item> @@ -2366,6 +3498,7 @@ <item>CMAKE_GENERATOR_INSTANCE</item> <item>CMAKE_GENERATOR_PLATFORM</item> <item>CMAKE_GENERATOR_TOOLSET</item> + <item>CMAKE_INSTALL_MODE</item> <item>CMAKE_MSVCIDE_RUN_PATH</item> <item>CMAKE_NO_VERBOSE</item> <item>CMAKE_OSX_ARCHITECTURES</item> @@ -2804,6 +3937,7 @@ <item>DEPENDS</item> <item>DISABLED</item> <item>ENVIRONMENT</item> + <item>ENVIRONMENT_MODIFICATION</item> <item>FAIL_REGULAR_EXPRESSION</item> <item>FIXTURES_CLEANUP</item> <item>FIXTURES_REQUIRED</item> @@ -2922,6 +4056,279 @@ <item>COMMAND_CONFIG</item> </list> + <list name="standard-modules"> + <item>AndroidTestUtilities</item> + <item>BundleUtilities</item> + <item>CheckCCompilerFlag</item> + <item>CheckCompilerFlag</item> + <item>CheckCSourceCompiles</item> + <item>CheckCSourceRuns</item> + <item>CheckCXXCompilerFlag</item> + <item>CheckCXXSourceCompiles</item> + <item>CheckCXXSourceRuns</item> + <item>CheckCXXSymbolExists</item> + <item>CheckFortranCompilerFlag</item> + <item>CheckFortranFunctionExists</item> + <item>CheckFortranSourceCompiles</item> + <item>CheckFortranSourceRuns</item> + <item>CheckFunctionExists</item> + <item>CheckIncludeFileCXX</item> + <item>CheckIncludeFile</item> + <item>CheckIncludeFiles</item> + <item>CheckIPOSupported</item> + <item>CheckLanguage</item> + <item>CheckLibraryExists</item> + <item>CheckLinkerFlag</item> + <item>CheckOBJCCompilerFlag</item> + <item>CheckOBJCSourceCompiles</item> + <item>CheckOBJCSourceRuns</item> + <item>CheckOBJCXXCompilerFlag</item> + <item>CheckOBJCXXSourceCompiles</item> + <item>CheckOBJCXXSourceRuns</item> + <item>CheckPIESupported</item> + <item>CheckPrototypeDefinition</item> + <item>CheckSourceCompiles</item> + <item>CheckSourceRuns</item> + <item>CheckStructHasMember</item> + <item>CheckSymbolExists</item> + <item>CheckTypeSize</item> + <item>CheckVariableExists</item> + <item>CMakeAddFortranSubdirectory</item> + <item>CMakeBackwardCompatibilityCXX</item> + <item>CMakeDependentOption</item> + <item>CMakeFindDependencyMacro</item> + <item>CMakeFindFrameworks</item> + <item>CMakePackageConfigHelpers</item> + <item>CMakePrintHelpers</item> + <item>CMakePrintSystemInformation</item> + <item>CMakePushCheckState</item> + <item>CPack</item> + <item>CPackComponent</item> + <item>CPackIFW</item> + <item>CPackIFWConfigureFile</item> + <item>CSharpUtilities</item> + <item>CTest</item> + <item>CTestCoverageCollectGCOV</item> + <item>CTestScriptMode</item> + <item>CTestUseLaunchers</item> + <item>Dart</item> + <item>DeployQt4</item> + <item>ExternalData</item> + <item>ExternalProject</item> + <item>FeatureSummary</item> + <item>FetchContent</item> + <item>FindPackageHandleStandardArgs</item> + <item>FindPackageMessage</item> + <item>FortranCInterface</item> + <item>GenerateExportHeader</item> + <item>GNUInstallDirs</item> + <item>GoogleTest</item> + <item>InstallRequiredSystemLibraries</item> + <item>ProcessorCount</item> + <item>SelectLibraryConfigurations</item> + <item>TestForANSIForScope</item> + <item>TestForANSIStreamHeaders</item> + <item>TestForSSTREAM</item> + <item>TestForSTDNamespace</item> + <item>UseEcos</item> + <item>UseJava</item> + <item>UseSWIG</item> + <item>UsewxWidgets</item> + </list> + + <list name="standard-finder-modules"> + <item>ALSA</item> + <item>Armadillo</item> + <item>ASPELL</item> + <item>AVIFile</item> + <item>Backtrace</item> + <item>BISON</item> + <item>BLAS</item> + <item>Boost</item> + <item>Bullet</item> + <item>BZip2</item> + <item>CABLE</item> + <item>Coin3D</item> + <item>CUDAToolkit</item> + <item>Cups</item> + <item>CURL</item> + <item>Curses</item> + <item>CVS</item> + <item>CxxTest</item> + <item>Cygwin</item> + <item>Dart</item> + <item>DCMTK</item> + <item>DevIL</item> + <item>Doxygen</item> + <item>EnvModules</item> + <item>EXPAT</item> + <item>FLEX</item> + <item>FLTK</item> + <item>FLTK2</item> + <item>Fontconfig</item> + <item>Freetype</item> + <item>GCCXML</item> + <item>GDAL</item> + <item>Gettext</item> + <item>GIF</item> + <item>Git</item> + <item>GLEW</item> + <item>GLUT</item> + <item>Gnuplot</item> + <item>GnuTLS</item> + <item>GSL</item> + <item>GTest</item> + <item>GTK</item> + <item>GTK2</item> + <item>HDF5</item> + <item>Hg</item> + <item>HSPELL</item> + <item>HTMLHelp</item> + <item>Ice</item> + <item>Iconv</item> + <item>Icotool</item> + <item>ICU</item> + <item>ImageMagick</item> + <item>Intl</item> + <item>ITK</item> + <item>Jasper</item> + <item>Java</item> + <item>JNI</item> + <item>JPEG</item> + <item>KDE3</item> + <item>KDE4</item> + <item>LAPACK</item> + <item>LATEX</item> + <item>LibArchive</item> + <item>Libinput</item> + <item>LibLZMA</item> + <item>LibXml2</item> + <item>LibXslt</item> + <item>LTTngUST</item> + <item>Lua</item> + <item>Lua50</item> + <item>Lua51</item> + <item>Matlab</item> + <item>MFC</item> + <item>Motif</item> + <item>MPEG</item> + <item>MPEG2</item> + <item>MPI</item> + <item>Msys</item> + <item>ODBC</item> + <item>OpenACC</item> + <item>OpenAL</item> + <item>OpenCL</item> + <item>OpenGL</item> + <item>OpenMP</item> + <item>OpenSceneGraph</item> + <item>OpenSSL</item> + <item>OpenThreads</item> + <item>osg</item> + <item>osg_functions</item> + <item>osgAnimation</item> + <item>osgDB</item> + <item>osgFX</item> + <item>osgGA</item> + <item>osgIntrospection</item> + <item>osgManipulator</item> + <item>osgParticle</item> + <item>osgPresentation</item> + <item>osgProducer</item> + <item>osgQt</item> + <item>osgShadow</item> + <item>osgSim</item> + <item>osgTerrain</item> + <item>osgText</item> + <item>osgUtil</item> + <item>osgViewer</item> + <item>osgVolume</item> + <item>osgWidget</item> + <item>Patch</item> + <item>Perl</item> + <item>PerlLibs</item> + <item>PHP4</item> + <item>PhysFS</item> + <item>Pike</item> + <item>PkgConfig</item> + <item>PNG</item> + <item>PostgreSQL</item> + <item>Producer</item> + <item>Protobuf</item> + <item>Python</item> + <item>Python2</item> + <item>Python3</item> + <item>Qt3</item> + <item>Qt4</item> + <item>QuickTime</item> + <item>RTI</item> + <item>Ruby</item> + <item>SDL</item> + <item>SDL_image</item> + <item>SDL_mixer</item> + <item>SDL_net</item> + <item>SDL_sound</item> + <item>SDL_ttf</item> + <item>SelfPackers</item> + <item>Squish</item> + <item>SQLite3</item> + <item>Subversion</item> + <item>SWIG</item> + <item>TCL</item> + <item>Tclsh</item> + <item>TclStub</item> + <item>Threads</item> + <item>TIFF</item> + <item>UnixCommands</item> + <item>VTK</item> + <item>Vulkan</item> + <item>Wget</item> + <item>Wish</item> + <item>wxWidgets</item> + <item>X11</item> + <item>XalanC</item> + <item>XCTest</item> + <item>XercesC</item> + <item>XMLRPC</item> + <item>ZLIB</item> + </list> + + <list name="deprecated-modules"> + <item>AddFileDependencies</item> + <item>CMakeDetermineVSServicePack</item> + <item>CMakeExpandImportedTargets</item> + <item>CMakeForceCompiler</item> + <item>CMakeParseArguments</item> + <item>Documentation</item> + <item>MacroAddFileDependencies</item> + <item>TestCXXAcceptsFlag</item> + <item>UseJavaClassFilelist</item> + <item>UseJavaSymlinks</item> + <item>UsePkgConfig</item> + <item>Use_wxWindows</item> + <item>WriteBasicConfigVersionFile</item> + <item>WriteCompilerDetectionHeader</item> + <item>FindCUDA</item> + <item>FindPythonInterp</item> + <item>FindPythonLibs</item> + <item>FindQt</item> + <item>FindwxWindows</item> + <item>CPackArchive</item> + <item>CPackBundle</item> + <item>CPackCygwin</item> + <item>CPackDeb</item> + <item>CPackDMG</item> + <item>CPackFreeBSD</item> + <item>CPackNSIS</item> + <item>CPackNuGet</item> + <item>CPackPackageMaker</item> + <item>CPackProductBuild</item> + <item>CPackRPM</item> + <item>CPackWIX</item> + <item>GetPrerequisites</item> + <item>TestBigEndian</item> + </list> + <contexts> <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text"> @@ -3035,65 +4442,234 @@ <WordDetect String="ctest_test" insensitive="true" attribute="Command" context="ctest_test_ctx" /> <WordDetect String="ctest_update" insensitive="true" attribute="Command" context="ctest_update_ctx" /> <WordDetect String="ctest_upload" insensitive="true" attribute="Command" context="ctest_upload_ctx" /> + <WordDetect String="android_add_test_data" insensitive="true" attribute="CMake Provided Function/Macro" context="android_add_test_data_ctx" /> + <WordDetect String="fixup_bundle" insensitive="true" attribute="CMake Provided Function/Macro" context="fixup_bundle_ctx" /> + <WordDetect String="copy_and_fixup_bundle" insensitive="true" attribute="CMake Provided Function/Macro" context="copy_and_fixup_bundle_ctx" /> + <WordDetect String="verify_app" insensitive="true" attribute="CMake Provided Function/Macro" context="verify_app_ctx" /> + <WordDetect String="get_bundle_main_executable" insensitive="true" attribute="CMake Provided Function/Macro" context="get_bundle_main_executable_ctx" /> + <WordDetect String="get_dotapp_dir" insensitive="true" attribute="CMake Provided Function/Macro" context="get_dotapp_dir_ctx" /> + <WordDetect String="get_bundle_and_executable" insensitive="true" attribute="CMake Provided Function/Macro" context="get_bundle_and_executable_ctx" /> + <WordDetect String="get_bundle_all_executables" insensitive="true" attribute="CMake Provided Function/Macro" context="get_bundle_all_executables_ctx" /> + <WordDetect String="get_item_key" insensitive="true" attribute="CMake Provided Function/Macro" context="get_item_key_ctx" /> + <WordDetect String="get_item_rpaths" insensitive="true" attribute="CMake Provided Function/Macro" context="get_item_rpaths_ctx" /> + <WordDetect String="clear_bundle_keys" insensitive="true" attribute="CMake Provided Function/Macro" context="clear_bundle_keys_ctx" /> + <WordDetect String="set_bundle_key_values" insensitive="true" attribute="CMake Provided Function/Macro" context="set_bundle_key_values_ctx" /> + <WordDetect String="get_bundle_keys" insensitive="true" attribute="CMake Provided Function/Macro" context="get_bundle_keys_ctx" /> + <WordDetect String="copy_resolved_item_into_bundle" insensitive="true" attribute="CMake Provided Function/Macro" context="copy_resolved_item_into_bundle_ctx" /> + <WordDetect String="copy_resolved_framework_into_bundle" insensitive="true" attribute="CMake Provided Function/Macro" context="copy_resolved_framework_into_bundle_ctx" /> + <WordDetect String="fixup_bundle_item" insensitive="true" attribute="CMake Provided Function/Macro" context="fixup_bundle_item_ctx" /> + <WordDetect String="verify_bundle_prerequisites" insensitive="true" attribute="CMake Provided Function/Macro" context="verify_bundle_prerequisites_ctx" /> + <WordDetect String="verify_bundle_symlinks" insensitive="true" attribute="CMake Provided Function/Macro" context="verify_bundle_symlinks_ctx" /> + <WordDetect String="check_c_compiler_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_c_compiler_flag_ctx" /> + <WordDetect String="check_compiler_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_compiler_flag_ctx" /> + <WordDetect String="check_c_source_compiles" insensitive="true" attribute="CMake Provided Function/Macro" context="check_c_source_compiles_ctx" /> + <WordDetect String="check_c_source_runs" insensitive="true" attribute="CMake Provided Function/Macro" context="check_c_source_runs_ctx" /> + <WordDetect String="check_cxx_compiler_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_cxx_compiler_flag_ctx" /> + <WordDetect String="check_cxx_source_compiles" insensitive="true" attribute="CMake Provided Function/Macro" context="check_cxx_source_compiles_ctx" /> + <WordDetect String="check_cxx_source_runs" insensitive="true" attribute="CMake Provided Function/Macro" context="check_cxx_source_runs_ctx" /> + <WordDetect String="check_cxx_symbol_exists" insensitive="true" attribute="CMake Provided Function/Macro" context="check_cxx_symbol_exists_ctx" /> + <WordDetect String="check_fortran_compiler_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_fortran_compiler_flag_ctx" /> + <WordDetect String="check_fortran_function_exists" insensitive="true" attribute="CMake Provided Function/Macro" context="check_fortran_function_exists_ctx" /> + <WordDetect String="check_fortran_source_compiles" insensitive="true" attribute="CMake Provided Function/Macro" context="check_fortran_source_compiles_ctx" /> + <WordDetect String="check_fortran_source_runs" insensitive="true" attribute="CMake Provided Function/Macro" context="check_fortran_source_runs_ctx" /> + <WordDetect String="check_function_exists" insensitive="true" attribute="CMake Provided Function/Macro" context="check_function_exists_ctx" /> + <WordDetect String="check_include_file_cxx" insensitive="true" attribute="CMake Provided Function/Macro" context="check_include_file_cxx_ctx" /> + <WordDetect String="check_include_file" insensitive="true" attribute="CMake Provided Function/Macro" context="check_include_file_ctx" /> + <WordDetect String="check_include_files" insensitive="true" attribute="CMake Provided Function/Macro" context="check_include_files_ctx" /> + <WordDetect String="check_ipo_supported" insensitive="true" attribute="CMake Provided Function/Macro" context="check_ipo_supported_ctx" /> + <WordDetect String="check_language" insensitive="true" attribute="CMake Provided Function/Macro" context="check_language_ctx" /> + <WordDetect String="check_library_exists" insensitive="true" attribute="CMake Provided Function/Macro" context="check_library_exists_ctx" /> + <WordDetect String="check_linker_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_linker_flag_ctx" /> + <WordDetect String="check_objc_compiler_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_objc_compiler_flag_ctx" /> + <WordDetect String="check_objc_source_compiles" insensitive="true" attribute="CMake Provided Function/Macro" context="check_objc_source_compiles_ctx" /> + <WordDetect String="check_objc_source_runs" insensitive="true" attribute="CMake Provided Function/Macro" context="check_objc_source_runs_ctx" /> + <WordDetect String="check_objcxx_compiler_flag" insensitive="true" attribute="CMake Provided Function/Macro" context="check_objcxx_compiler_flag_ctx" /> + <WordDetect String="check_objcxx_source_compiles" insensitive="true" attribute="CMake Provided Function/Macro" context="check_objcxx_source_compiles_ctx" /> + <WordDetect String="check_objcxx_source_runs" insensitive="true" attribute="CMake Provided Function/Macro" context="check_objcxx_source_runs_ctx" /> + <WordDetect String="check_pie_supported" insensitive="true" attribute="CMake Provided Function/Macro" context="check_pie_supported_ctx" /> + <WordDetect String="check_prototype_definition" insensitive="true" attribute="CMake Provided Function/Macro" context="check_prototype_definition_ctx" /> + <WordDetect String="check_source_compiles" insensitive="true" attribute="CMake Provided Function/Macro" context="check_source_compiles_ctx" /> + <WordDetect String="check_source_runs" insensitive="true" attribute="CMake Provided Function/Macro" context="check_source_runs_ctx" /> + <WordDetect String="check_struct_has_member" insensitive="true" attribute="CMake Provided Function/Macro" context="check_struct_has_member_ctx" /> + <WordDetect String="check_symbol_exists" insensitive="true" attribute="CMake Provided Function/Macro" context="check_symbol_exists_ctx" /> + <WordDetect String="check_type_size" insensitive="true" attribute="CMake Provided Function/Macro" context="check_type_size_ctx" /> + <WordDetect String="check_variable_exists" insensitive="true" attribute="CMake Provided Function/Macro" context="check_variable_exists_ctx" /> + <WordDetect String="cmake_add_fortran_subdirectory" insensitive="true" attribute="CMake Provided Function/Macro" context="cmake_add_fortran_subdirectory_ctx" /> + <WordDetect String="cmake_dependent_option" insensitive="true" attribute="CMake Provided Function/Macro" context="cmake_dependent_option_ctx" /> + <WordDetect String="find_dependency" insensitive="true" attribute="CMake Provided Function/Macro" context="find_dependency_ctx" /> + <WordDetect String="configure_package_config_file" insensitive="true" attribute="CMake Provided Function/Macro" context="configure_package_config_file_ctx" /> + <WordDetect String="write_basic_package_version_file" insensitive="true" attribute="CMake Provided Function/Macro" context="write_basic_package_version_file_ctx" /> + <WordDetect String="cmake_print_properties" insensitive="true" attribute="CMake Provided Function/Macro" context="cmake_print_properties_ctx" /> + <WordDetect String="cmake_push_check_state" insensitive="true" attribute="CMake Provided Function/Macro" context="cmake_push_check_state_ctx" /> + <WordDetect String="cmake_pop_check_state" insensitive="true" attribute="CMake Provided Function/Macro" context="cmake_pop_check_state_ctx" /> + <WordDetect String="cmake_reset_check_state" insensitive="true" attribute="CMake Provided Function/Macro" context="cmake_reset_check_state_ctx" /> + <WordDetect String="cpack_add_component" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_add_component_ctx" /> + <WordDetect String="cpack_add_component_group" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_add_component_group_ctx" /> + <WordDetect String="cpack_add_install_type" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_add_install_type_ctx" /> + <WordDetect String="cpack_configure_downloads" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_configure_downloads_ctx" /> + <WordDetect String="cpack_ifw_configure_component" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_ifw_configure_component_ctx" /> + <WordDetect String="cpack_ifw_configure_component_group" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_ifw_configure_component_group_ctx" /> + <WordDetect String="cpack_ifw_add_repository" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_ifw_add_repository_ctx" /> + <WordDetect String="cpack_ifw_update_repository" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_ifw_update_repository_ctx" /> + <WordDetect String="cpack_ifw_add_package_resources" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_ifw_add_package_resources_ctx" /> + <WordDetect String="cpack_ifw_configure_file" insensitive="true" attribute="CMake Provided Function/Macro" context="cpack_ifw_configure_file_ctx" /> + <WordDetect String="csharp_set_windows_forms_properties" insensitive="true" attribute="CMake Provided Function/Macro" context="csharp_set_windows_forms_properties_ctx" /> + <WordDetect String="csharp_set_designer_cs_properties" insensitive="true" attribute="CMake Provided Function/Macro" context="csharp_set_designer_cs_properties_ctx" /> + <WordDetect String="csharp_set_xaml_cs_properties" insensitive="true" attribute="CMake Provided Function/Macro" context="csharp_set_xaml_cs_properties_ctx" /> + <WordDetect String="csharp_get_filename_keys" insensitive="true" attribute="CMake Provided Function/Macro" context="csharp_get_filename_keys_ctx" /> + <WordDetect String="csharp_get_filename_key_base" insensitive="true" attribute="CMake Provided Function/Macro" context="csharp_get_filename_key_base_ctx" /> + <WordDetect String="csharp_get_dependentupon_name" insensitive="true" attribute="CMake Provided Function/Macro" context="csharp_get_dependentupon_name_ctx" /> + <WordDetect String="ctest_coverage_collect_gcov" insensitive="true" attribute="CMake Provided Function/Macro" context="ctest_coverage_collect_gcov_ctx" /> + <WordDetect String="write_qt4_conf" insensitive="true" attribute="CMake Provided Function/Macro" context="write_qt4_conf_ctx" /> + <WordDetect String="resolve_qt4_paths" insensitive="true" attribute="CMake Provided Function/Macro" context="resolve_qt4_paths_ctx" /> + <WordDetect String="fixup_qt4_executable" insensitive="true" attribute="CMake Provided Function/Macro" context="fixup_qt4_executable_ctx" /> + <WordDetect String="install_qt4_plugin_path" insensitive="true" attribute="CMake Provided Function/Macro" context="install_qt4_plugin_path_ctx" /> + <WordDetect String="install_qt4_plugin" insensitive="true" attribute="CMake Provided Function/Macro" context="install_qt4_plugin_ctx" /> + <WordDetect String="install_qt4_executable" insensitive="true" attribute="CMake Provided Function/Macro" context="install_qt4_executable_ctx" /> + <WordDetect String="ExternalData_Expand_Arguments" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalData_Expand_Arguments_ctx" /> + <WordDetect String="ExternalData_Add_Test" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalData_Add_Test_ctx" /> + <WordDetect String="ExternalData_Add_Target" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalData_Add_Target_ctx" /> + <WordDetect String="ExternalProject_Add" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalProject_Add_ctx" /> + <WordDetect String="ExternalProject_Get_Property" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalProject_Get_Property_ctx" /> + <WordDetect String="ExternalProject_Add_Step" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalProject_Add_Step_ctx" /> + <WordDetect String="ExternalProject_Add_StepTargets" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalProject_Add_StepTargets_ctx" /> + <WordDetect String="ExternalProject_Add_StepDependencies" insensitive="true" attribute="CMake Provided Function/Macro" context="ExternalProject_Add_StepDependencies_ctx" /> + <WordDetect String="feature_summary" insensitive="true" attribute="CMake Provided Function/Macro" context="feature_summary_ctx" /> + <WordDetect String="set_package_properties" insensitive="true" attribute="CMake Provided Function/Macro" context="set_package_properties_ctx" /> + <WordDetect String="add_feature_info" insensitive="true" attribute="CMake Provided Function/Macro" context="add_feature_info_ctx" /> + <WordDetect String="set_package_info" insensitive="true" attribute="CMake Provided Function/Macro" context="set_package_info_ctx" /> + <WordDetect String="set_feature_info" insensitive="true" attribute="CMake Provided Function/Macro" context="set_feature_info_ctx" /> + <WordDetect String="print_enabled_features" insensitive="true" attribute="CMake Provided Function/Macro" context="print_enabled_features_ctx" /> + <WordDetect String="print_disabled_features" insensitive="true" attribute="CMake Provided Function/Macro" context="print_disabled_features_ctx" /> + <WordDetect String="FetchContent_Declare" insensitive="true" attribute="CMake Provided Function/Macro" context="FetchContent_Declare_ctx" /> + <WordDetect String="FetchContent_Populate" insensitive="true" attribute="CMake Provided Function/Macro" context="FetchContent_Populate_ctx" /> + <WordDetect String="FetchContent_GetProperties" insensitive="true" attribute="CMake Provided Function/Macro" context="FetchContent_GetProperties_ctx" /> + <WordDetect String="FetchContent_MakeAvailable" insensitive="true" attribute="CMake Provided Function/Macro" context="FetchContent_MakeAvailable_ctx" /> + <WordDetect String="find_package_handle_standard_args" insensitive="true" attribute="CMake Provided Function/Macro" context="find_package_handle_standard_args_ctx" /> + <WordDetect String="find_package_check_version" insensitive="true" attribute="CMake Provided Function/Macro" context="find_package_check_version_ctx" /> + <WordDetect String="find_package_message" insensitive="true" attribute="CMake Provided Function/Macro" context="find_package_message_ctx" /> + <WordDetect String="FortranCInterface_HEADER" insensitive="true" attribute="CMake Provided Function/Macro" context="FortranCInterface_HEADER_ctx" /> + <WordDetect String="FortranCInterface_VERIFY" insensitive="true" attribute="CMake Provided Function/Macro" context="FortranCInterface_VERIFY_ctx" /> + <WordDetect String="generate_export_header" insensitive="true" attribute="CMake Provided Function/Macro" context="generate_export_header_ctx" /> + <WordDetect String="GNUInstallDirs_get_absolute_install_dir" insensitive="true" attribute="CMake Provided Function/Macro" context="GNUInstallDirs_get_absolute_install_dir_ctx" /> + <WordDetect String="gtest_add_tests" insensitive="true" attribute="CMake Provided Function/Macro" context="gtest_add_tests_ctx" /> + <WordDetect String="gtest_discover_tests" insensitive="true" attribute="CMake Provided Function/Macro" context="gtest_discover_tests_ctx" /> + <WordDetect String="processorcount" insensitive="true" attribute="CMake Provided Function/Macro" context="processorcount_ctx" /> + <WordDetect String="select_library_configurations" insensitive="true" attribute="CMake Provided Function/Macro" context="select_library_configurations_ctx" /> + <WordDetect String="test_big_endian" insensitive="true" attribute="CMake Provided Function/Macro" context="test_big_endian_ctx" /> + <WordDetect String="ecos_add_include_directories" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_add_include_directories_ctx" /> + <WordDetect String="ecos_add_executable" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_add_executable_ctx" /> + <WordDetect String="ecos_add_target_lib" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_add_target_lib_ctx" /> + <WordDetect String="ecos_adjust_directory" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_adjust_directory_ctx" /> + <WordDetect String="ecos_use_arm_elf_tools" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_use_arm_elf_tools_ctx" /> + <WordDetect String="ecos_use_i386_elf_tools" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_use_i386_elf_tools_ctx" /> + <WordDetect String="ecos_use_ppc_eabi_tools" insensitive="true" attribute="CMake Provided Function/Macro" context="ecos_use_ppc_eabi_tools_ctx" /> + <WordDetect String="add_jar" insensitive="true" attribute="CMake Provided Function/Macro" context="add_jar_ctx" /> + <WordDetect String="install_jar" insensitive="true" attribute="CMake Provided Function/Macro" context="install_jar_ctx" /> + <WordDetect String="install_jni_symlink" insensitive="true" attribute="CMake Provided Function/Macro" context="install_jni_symlink_ctx" /> + <WordDetect String="create_javah" insensitive="true" attribute="CMake Provided Function/Macro" context="create_javah_ctx" /> + <WordDetect String="install_jar_exports" insensitive="true" attribute="CMake Provided Function/Macro" context="install_jar_exports_ctx" /> + <WordDetect String="export_jars" insensitive="true" attribute="CMake Provided Function/Macro" context="export_jars_ctx" /> + <WordDetect String="find_jar" insensitive="true" attribute="CMake Provided Function/Macro" context="find_jar_ctx" /> + <WordDetect String="create_javadoc" insensitive="true" attribute="CMake Provided Function/Macro" context="create_javadoc_ctx" /> + <WordDetect String="swig_add_library" insensitive="true" attribute="CMake Provided Function/Macro" context="swig_add_library_ctx" /> + <WordDetect String="swig_link_libraries" insensitive="true" attribute="CMake Provided Function/Macro" context="swig_link_libraries_ctx" /> + <WordDetect String="squish_add_test" insensitive="true" attribute="CMake Provided Function/Macro" context="squish_add_test_ctx" /> + <WordDetect String="bison_target" insensitive="true" attribute="CMake Provided Function/Macro" context="bison_target_ctx" /> + <WordDetect String="cxxtest_add_test" insensitive="true" attribute="CMake Provided Function/Macro" context="cxxtest_add_test_ctx" /> + <WordDetect String="doxygen_add_docs" insensitive="true" attribute="CMake Provided Function/Macro" context="doxygen_add_docs_ctx" /> + <WordDetect String="env_module" insensitive="true" attribute="CMake Provided Function/Macro" context="env_module_ctx" /> + <WordDetect String="env_module_swap" insensitive="true" attribute="CMake Provided Function/Macro" context="env_module_swap_ctx" /> + <WordDetect String="env_module_list" insensitive="true" attribute="CMake Provided Function/Macro" context="env_module_list_ctx" /> + <WordDetect String="env_module_avail" insensitive="true" attribute="CMake Provided Function/Macro" context="env_module_avail_ctx" /> + <WordDetect String="flex_target" insensitive="true" attribute="CMake Provided Function/Macro" context="flex_target_ctx" /> + <WordDetect String="add_flex_bison_dependency" insensitive="true" attribute="CMake Provided Function/Macro" context="add_flex_bison_dependency_ctx" /> + <WordDetect String="gettext_create_translations" insensitive="true" attribute="CMake Provided Function/Macro" context="gettext_create_translations_ctx" /> + <WordDetect String="gettext_process_pot_file" insensitive="true" attribute="CMake Provided Function/Macro" context="gettext_process_pot_file_ctx" /> + <WordDetect String="gettext_process_po_files" insensitive="true" attribute="CMake Provided Function/Macro" context="gettext_process_po_files_ctx" /> + <WordDetect String="hg_wc_info" insensitive="true" attribute="CMake Provided Function/Macro" context="hg_wc_info_ctx" /> + <WordDetect String="matlab_get_version_from_release_name" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_get_version_from_release_name_ctx" /> + <WordDetect String="matlab_get_release_name_from_version" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_get_release_name_from_version_ctx" /> + <WordDetect String="matlab_extract_all_installed_versions_from_registry" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_extract_all_installed_versions_from_registry_ctx" /> + <WordDetect String="matlab_get_all_valid_matlab_roots_from_registry" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_get_all_valid_matlab_roots_from_registry_ctx" /> + <WordDetect String="matlab_get_mex_suffix" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_get_mex_suffix_ctx" /> + <WordDetect String="matlab_get_version_from_matlab_run" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_get_version_from_matlab_run_ctx" /> + <WordDetect String="matlab_add_unit_test" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_add_unit_test_ctx" /> + <WordDetect String="matlab_add_mex" insensitive="true" attribute="CMake Provided Function/Macro" context="matlab_add_mex_ctx" /> + <WordDetect String="pkg_check_modules" insensitive="true" attribute="CMake Provided Function/Macro" context="pkg_check_modules_ctx" /> + <WordDetect String="pkg_search_module" insensitive="true" attribute="CMake Provided Function/Macro" context="pkg_search_module_ctx" /> + <WordDetect String="pkg_get_variable" insensitive="true" attribute="CMake Provided Function/Macro" context="pkg_get_variable_ctx" /> + <WordDetect String="protobuf_generate_cpp" insensitive="true" attribute="CMake Provided Function/Macro" context="protobuf_generate_cpp_ctx" /> + <WordDetect String="protobuf_generate_python" insensitive="true" attribute="CMake Provided Function/Macro" context="protobuf_generate_python_ctx" /> + <WordDetect String="Python_add_library" insensitive="true" attribute="CMake Provided Function/Macro" context="Python_add_library_ctx" /> + <WordDetect String="Subversion_WC_INFO" insensitive="true" attribute="CMake Provided Function/Macro" context="Subversion_WC_INFO_ctx" /> + <WordDetect String="Subversion_WC_LOG" insensitive="true" attribute="CMake Provided Function/Macro" context="Subversion_WC_LOG_ctx" /> + <WordDetect String="xctest_add_bundle" insensitive="true" attribute="CMake Provided Function/Macro" context="xctest_add_bundle_ctx" /> + <WordDetect String="xctest_add_test" insensitive="true" attribute="CMake Provided Function/Macro" context="xctest_add_test_ctx" /> <DetectChar attribute="Comment" context="Match Comments and Docs" char="#" lookAhead="true" /> <DetectIdentifier attribute="User Function/Macro" context="User Function" /> - <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&id_re;@" lookAhead="true" /> - <!-- Include keywords matching for language autocompleter work --> - <keyword attribute="Command" context="#stay" String="commands" /> + <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> - <context attribute="Normal Text" lineEndContext="#stay" name="break_ctx"> <DetectChar attribute="Normal Text" context="break_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="break_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_host_system_information_ctx"> <DetectChar attribute="Normal Text" context="cmake_host_system_information_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_host_system_information_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="cmake_host_system_information_nargs" /> <keyword attribute="Special Args" context="#stay" String="cmake_host_system_information_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_language_ctx"> <DetectChar attribute="Normal Text" context="cmake_language_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_language_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="cmake_language_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_minimum_required_ctx"> <DetectChar attribute="Normal Text" context="cmake_minimum_required_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_minimum_required_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="cmake_minimum_required_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_parse_arguments_ctx"> <DetectChar attribute="Normal Text" context="cmake_parse_arguments_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_parse_arguments_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="cmake_parse_arguments_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_path_ctx"> <DetectChar attribute="Normal Text" context="cmake_path_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_path_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="cmake_path_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_policy_ctx"> <DetectChar attribute="Normal Text" context="cmake_policy_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="cmake_policy_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="cmake_policy_nargs" /> <keyword attribute="Special Args" context="#stay" String="cmake_policy_sargs" /> <IncludeRules context="User Function Args" /> @@ -3102,154 +4678,175 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="configure_file_ctx"> <DetectChar attribute="Normal Text" context="configure_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="configure_file_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="configure_file_nargs" /> <keyword attribute="Special Args" context="#stay" String="configure_file_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="continue_ctx"> <DetectChar attribute="Normal Text" context="continue_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="continue_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="elseif_ctx"> <DetectChar attribute="Normal Text" context="elseif_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="elseif_ctx_op"> <DetectChar attribute="Normal Text" context="elseif_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> <keyword attribute="Named Args" context="#stay" String="elseif_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="elseif_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="elseif_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="else_ctx"> <DetectChar attribute="Normal Text" context="else_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="else_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endforeach_ctx"> <DetectChar attribute="Normal Text" context="endforeach_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endforeach_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endfunction_ctx"> <DetectChar attribute="Normal Text" context="endfunction_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endfunction_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endif_ctx"> <DetectChar attribute="Normal Text" context="endif_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endif_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endmacro_ctx"> <DetectChar attribute="Normal Text" context="endmacro_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endmacro_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endwhile_ctx"> <DetectChar attribute="Normal Text" context="endwhile_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="endwhile_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="execute_process_ctx"> <DetectChar attribute="Normal Text" context="execute_process_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="execute_process_ctx_op"> <DetectChar attribute="Normal Text" context="execute_process_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="execute_process_nargs" /> <keyword attribute="Special Args" context="#stay" String="execute_process_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="execute_process_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="execute_process_nargs" /> <keyword attribute="Special Args" context="#stay" String="execute_process_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="file_ctx"> <DetectChar attribute="Normal Text" context="file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="file_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="file_nargs" /> <keyword attribute="Special Args" context="#stay" String="file_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_file_ctx"> <DetectChar attribute="Normal Text" context="find_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_file_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="find_file_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_library_ctx"> <DetectChar attribute="Normal Text" context="find_library_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_library_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="find_library_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_package_ctx"> <DetectChar attribute="Normal Text" context="find_package_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_package_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="find_package_nargs" /> + <keyword attribute="Standard Module" context="#stay" String="standard-finder-modules" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_path_ctx"> <DetectChar attribute="Normal Text" context="find_path_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_path_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="find_path_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_program_ctx"> <DetectChar attribute="Normal Text" context="find_program_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="find_program_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="find_program_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="foreach_ctx"> <DetectChar attribute="Normal Text" context="foreach_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="foreach_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="foreach_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="function_ctx"> <DetectChar attribute="Normal Text" context="function_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="function_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_cmake_property_ctx"> <DetectChar attribute="Normal Text" context="get_cmake_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_cmake_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Special Args" context="#stay" String="get_cmake_property_sargs" /> <keyword attribute="Property" context="#stay" String="global-properties" /> <IncludeRules context="Detect More global-properties" /> @@ -3257,9 +4854,10 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_directory_property_ctx"> <DetectChar attribute="Normal Text" context="get_directory_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_directory_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="get_directory_property_nargs" /> <keyword attribute="Property" context="#stay" String="directory-properties" /> <IncludeRules context="Detect More directory-properties" /> @@ -3267,17 +4865,19 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_filename_component_ctx"> <DetectChar attribute="Normal Text" context="get_filename_component_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_filename_component_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="get_filename_component_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_property_ctx"> <DetectChar attribute="Normal Text" context="get_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="get_property_nargs" /> <keyword attribute="Property" context="#stay" String="cache-properties" /> <keyword attribute="Property" context="#stay" String="directory-properties" /> @@ -3294,101 +4894,116 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="if_ctx"> <DetectChar attribute="Normal Text" context="if_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="if_ctx_op"> <DetectChar attribute="Normal Text" context="if_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> <keyword attribute="Named Args" context="#stay" String="if_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="if_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="if_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_ctx"> <DetectChar attribute="Normal Text" context="include_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="include_nargs" /> + <keyword attribute="Standard Module" context="#stay" String="standard-modules" /> + <keyword attribute="Deprecated Module" context="#stay" String="deprecated-modules" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_guard_ctx"> <DetectChar attribute="Normal Text" context="include_guard_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_guard_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="include_guard_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="list_ctx"> <DetectChar attribute="Normal Text" context="list_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="list_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="list_nargs" /> <keyword attribute="Special Args" context="#stay" String="list_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="macro_ctx"> <DetectChar attribute="Normal Text" context="macro_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="macro_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="mark_as_advanced_ctx"> <DetectChar attribute="Normal Text" context="mark_as_advanced_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="mark_as_advanced_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="mark_as_advanced_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="math_ctx"> <DetectChar attribute="Normal Text" context="math_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="math_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="math_nargs" /> <keyword attribute="Special Args" context="#stay" String="math_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="message_ctx"> <DetectChar attribute="Normal Text" context="message_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="message_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="message_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="option_ctx"> <DetectChar attribute="Normal Text" context="option_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="option_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="return_ctx"> <DetectChar attribute="Normal Text" context="return_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="return_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="separate_arguments_ctx"> <DetectChar attribute="Normal Text" context="separate_arguments_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="separate_arguments_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="separate_arguments_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_directory_properties_ctx"> <DetectChar attribute="Normal Text" context="set_directory_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_directory_properties_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="set_directory_properties_nargs" /> <keyword attribute="Property" context="#stay" String="cache-properties" /> <keyword attribute="Property" context="#stay" String="directory-properties" /> @@ -3405,9 +5020,10 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_property_ctx"> <DetectChar attribute="Normal Text" context="set_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="set_property_nargs" /> <keyword attribute="Property" context="#stay" String="cache-properties" /> <keyword attribute="Property" context="#stay" String="directory-properties" /> @@ -3424,186 +5040,239 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_ctx"> <DetectChar attribute="Normal Text" context="set_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="set_nargs" /> <keyword attribute="Special Args" context="#stay" String="set_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="site_name_ctx"> <DetectChar attribute="Normal Text" context="site_name_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="site_name_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="string_ctx"> <DetectChar attribute="Normal Text" context="string_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="string_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="string_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="unset_ctx"> <DetectChar attribute="Normal Text" context="unset_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="unset_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="unset_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="variable_watch_ctx"> <DetectChar attribute="Normal Text" context="variable_watch_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="variable_watch_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="while_ctx"> <DetectChar attribute="Normal Text" context="while_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="while_ctx_op"> <DetectChar attribute="Normal Text" context="while_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> <keyword attribute="Named Args" context="#stay" String="while_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="while_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="while_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_definitions_ctx"> <DetectChar attribute="Normal Text" context="add_compile_definitions_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_definitions_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_options_ctx"> <DetectChar attribute="Normal Text" context="add_compile_options_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_options_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_command_ctx"> <DetectChar attribute="Normal Text" context="add_custom_command_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_command_ctx_op"> <DetectChar attribute="Normal Text" context="add_custom_command_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> <keyword attribute="Named Args" context="#stay" String="add_custom_command_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_command_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="add_custom_command_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_target_ctx"> - <DetectChar attribute="Normal Text" context="add_custom_target_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="add_custom_target_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_target_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="add_custom_target_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="add_custom_target_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_target_ctx_op"> <DetectChar attribute="Normal Text" context="add_custom_target_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="add_custom_target_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_custom_target_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="add_custom_target_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_definitions_ctx"> <DetectChar attribute="Normal Text" context="add_definitions_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_definitions_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_dependencies_ctx"> - <DetectChar attribute="Normal Text" context="add_dependencies_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="add_dependencies_ctx_op_tgts_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> - <context attribute="Normal Text" lineEndContext="#stay" name="add_dependencies_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <context attribute="Normal Text" lineEndContext="#stay" name="add_dependencies_ctx_op_tgts_first"> + <IncludeRules context="Detect Aliased Targets" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_executable_ctx"> - <DetectChar attribute="Normal Text" context="add_executable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="add_executable_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_executable_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="add_executable_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="add_executable_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_executable_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="add_executable_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_library_ctx"> - <DetectChar attribute="Normal Text" context="add_library_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="add_library_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_library_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="add_library_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="add_library_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_library_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="ALIAS" attribute="Named Args" context="Target Name" /> <keyword attribute="Named Args" context="#stay" String="add_library_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_link_options_ctx"> <DetectChar attribute="Normal Text" context="add_link_options_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_link_options_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_subdirectory_ctx"> <DetectChar attribute="Normal Text" context="add_subdirectory_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_subdirectory_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="add_subdirectory_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_test_ctx"> <DetectChar attribute="Normal Text" context="add_test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_test_ctx_op"> <DetectChar attribute="Normal Text" context="add_test_ctx_op_nested" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="add_test_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_test_ctx_op_nested"> - <IncludeRules context="EndCmdPop" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> <keyword attribute="Named Args" context="#stay" String="add_test_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="aux_source_directory_ctx"> <DetectChar attribute="Normal Text" context="aux_source_directory_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="aux_source_directory_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="build_command_ctx"> <DetectChar attribute="Normal Text" context="build_command_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="build_command_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> <keyword attribute="Named Args" context="#stay" String="build_command_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="create_test_sourcelist_ctx"> <DetectChar attribute="Normal Text" context="create_test_sourcelist_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="create_test_sourcelist_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="create_test_sourcelist_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="define_property_ctx"> <DetectChar attribute="Normal Text" context="define_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="define_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="define_property_nargs" /> <keyword attribute="Property" context="#stay" String="cache-properties" /> <keyword attribute="Property" context="#stay" String="directory-properties" /> @@ -3620,40 +5289,55 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="enable_language_ctx"> <DetectChar attribute="Normal Text" context="enable_language_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="enable_language_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="enable_language_nargs" /> <keyword attribute="Special Args" context="#stay" String="enable_language_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="enable_testing_ctx"> <DetectChar attribute="Normal Text" context="enable_testing_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="enable_testing_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="export_ctx"> <DetectChar attribute="Normal Text" context="export_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="export_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGETS" attribute="Named Args" context="export_tgts" /> <keyword attribute="Named Args" context="#stay" String="export_nargs" /> <IncludeRules context="User Function Args" /> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="export_tgts"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#pop" String="export_nargs" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> <context attribute="Normal Text" lineEndContext="#stay" name="fltk_wrap_ui_ctx"> <DetectChar attribute="Normal Text" context="fltk_wrap_ui_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="fltk_wrap_ui_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_source_file_property_ctx"> <DetectChar attribute="Normal Text" context="get_source_file_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_source_file_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="get_source_file_property_nargs" /> <keyword attribute="Property" context="#stay" String="source-properties" /> <IncludeRules context="Detect More source-properties" /> @@ -3661,122 +5345,159 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_target_property_ctx"> <DetectChar attribute="Normal Text" context="get_target_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_target_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Property" context="#stay" String="target-properties" /> <IncludeRules context="Detect More target-properties" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_test_property_ctx"> <DetectChar attribute="Normal Text" context="get_test_property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="get_test_property_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Property" context="#stay" String="test-properties" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_directories_ctx"> <DetectChar attribute="Normal Text" context="include_directories_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_directories_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="include_directories_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_external_msproject_ctx"> <DetectChar attribute="Normal Text" context="include_external_msproject_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_external_msproject_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="include_external_msproject_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_regular_expression_ctx"> <DetectChar attribute="Normal Text" context="include_regular_expression_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="include_regular_expression_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="install_ctx"> <DetectChar attribute="Normal Text" context="install_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="install_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGETS" attribute="Named Args" context="install_tgts" /> <keyword attribute="Named Args" context="#stay" String="install_nargs" /> <keyword attribute="Special Args" context="#stay" String="install_sargs" /> <IncludeRules context="User Function Args" /> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_tgts"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#pop" String="install_nargs" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> <context attribute="Normal Text" lineEndContext="#stay" name="link_directories_ctx"> <DetectChar attribute="Normal Text" context="link_directories_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="link_directories_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="link_directories_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="link_libraries_ctx"> <DetectChar attribute="Normal Text" context="link_libraries_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="link_libraries_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="link_libraries_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="load_cache_ctx"> <DetectChar attribute="Normal Text" context="load_cache_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="load_cache_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="load_cache_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="project_ctx"> <DetectChar attribute="Normal Text" context="project_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="project_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="project_nargs" /> <keyword attribute="Special Args" context="#stay" String="project_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="qt_wrap_cpp_ctx"> <DetectChar attribute="Normal Text" context="qt_wrap_cpp_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="qt_wrap_cpp_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="qt_wrap_ui_ctx"> <DetectChar attribute="Normal Text" context="qt_wrap_ui_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="qt_wrap_ui_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="remove_definitions_ctx"> <DetectChar attribute="Normal Text" context="remove_definitions_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="remove_definitions_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_source_files_properties_ctx"> <DetectChar attribute="Normal Text" context="set_source_files_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_source_files_properties_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="set_source_files_properties_nargs" /> <keyword attribute="Property" context="#stay" String="source-properties" /> <IncludeRules context="Detect More source-properties" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_target_properties_ctx"> - <DetectChar attribute="Normal Text" context="set_target_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="set_target_properties_ctx_op_tgts_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_target_properties_ctx_op_tgts_first"> + <!-- NOTE Handle the only case in CMake nowadays: + 1. `set_target_properties` have a named keyword (`PROPERTIES`) after targets list + --> + <keyword context="set_target_properties_ctx_op" String="set_target_properties_nargs" lookAhead="true" /> + <IncludeRules context="Detect Aliased Targets" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_target_properties_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="set_target_properties_nargs" /> <keyword attribute="Property" context="#stay" String="target-properties" /> <IncludeRules context="Detect More target-properties" /> @@ -3784,268 +5505,1824 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_tests_properties_ctx"> <DetectChar attribute="Normal Text" context="set_tests_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="set_tests_properties_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="set_tests_properties_nargs" /> <keyword attribute="Property" context="#stay" String="test-properties" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="source_group_ctx"> <DetectChar attribute="Normal Text" context="source_group_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="source_group_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="source_group_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_definitions_ctx"> - <DetectChar attribute="Normal Text" context="target_compile_definitions_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_compile_definitions_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_definitions_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_compile_definitions_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_compile_definitions_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_definitions_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_compile_definitions_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_features_ctx"> - <DetectChar attribute="Normal Text" context="target_compile_features_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_compile_features_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_features_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_compile_features_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_compile_features_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_features_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_compile_features_nargs" /> <keyword attribute="Special Args" context="#stay" String="target_compile_features_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_options_ctx"> - <DetectChar attribute="Normal Text" context="target_compile_options_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_compile_options_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_options_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_compile_options_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_compile_options_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_compile_options_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_compile_options_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_include_directories_ctx"> - <DetectChar attribute="Normal Text" context="target_include_directories_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_include_directories_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_include_directories_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_include_directories_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_include_directories_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_include_directories_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_include_directories_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_link_directories_ctx"> - <DetectChar attribute="Normal Text" context="target_link_directories_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_link_directories_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_link_directories_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_link_directories_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_link_directories_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_link_directories_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_link_directories_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_link_libraries_ctx"> - <DetectChar attribute="Normal Text" context="target_link_libraries_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_link_libraries_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_link_libraries_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_link_libraries_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_link_libraries_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_link_libraries_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_link_libraries_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_link_options_ctx"> - <DetectChar attribute="Normal Text" context="target_link_options_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_link_options_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_link_options_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_link_options_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_link_options_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_link_options_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_link_options_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_precompile_headers_ctx"> - <DetectChar attribute="Normal Text" context="target_precompile_headers_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_precompile_headers_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_precompile_headers_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_precompile_headers_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_precompile_headers_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_precompile_headers_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_precompile_headers_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_sources_ctx"> - <DetectChar attribute="Normal Text" context="target_sources_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="target_sources_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="target_sources_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="target_sources_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="target_sources_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="target_sources_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="target_sources_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="try_compile_ctx"> <DetectChar attribute="Normal Text" context="try_compile_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="try_compile_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="try_compile_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="try_run_ctx"> <DetectChar attribute="Normal Text" context="try_run_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="try_run_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="try_run_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_build_ctx"> <DetectChar attribute="Normal Text" context="ctest_build_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_build_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_build_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_configure_ctx"> <DetectChar attribute="Normal Text" context="ctest_configure_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_configure_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_configure_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_coverage_ctx"> <DetectChar attribute="Normal Text" context="ctest_coverage_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_coverage_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_coverage_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_empty_binary_directory_ctx"> <DetectChar attribute="Normal Text" context="ctest_empty_binary_directory_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_empty_binary_directory_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_memcheck_ctx"> <DetectChar attribute="Normal Text" context="ctest_memcheck_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_memcheck_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_memcheck_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_read_custom_files_ctx"> <DetectChar attribute="Normal Text" context="ctest_read_custom_files_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_read_custom_files_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_run_script_ctx"> <DetectChar attribute="Normal Text" context="ctest_run_script_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_run_script_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_run_script_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_sleep_ctx"> <DetectChar attribute="Normal Text" context="ctest_sleep_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_sleep_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_start_ctx"> <DetectChar attribute="Normal Text" context="ctest_start_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_start_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_start_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_submit_ctx"> <DetectChar attribute="Normal Text" context="ctest_submit_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_submit_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_submit_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_test_ctx"> <DetectChar attribute="Normal Text" context="ctest_test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_test_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_test_nargs" /> <keyword attribute="Special Args" context="#stay" String="ctest_test_sargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_update_ctx"> <DetectChar attribute="Normal Text" context="ctest_update_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_update_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_update_nargs" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_upload_ctx"> <DetectChar attribute="Normal Text" context="ctest_upload_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ctest_upload_ctx_op"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <keyword attribute="Named Args" context="#stay" String="ctest_upload_nargs" /> <IncludeRules context="User Function Args" /> </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="android_add_test_data_ctx"> + <DetectChar attribute="Normal Text" context="android_add_test_data_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="android_add_test_data_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="android_add_test_data_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="fixup_bundle_ctx"> + <DetectChar attribute="Normal Text" context="fixup_bundle_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="fixup_bundle_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="copy_and_fixup_bundle_ctx"> + <DetectChar attribute="Normal Text" context="copy_and_fixup_bundle_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="copy_and_fixup_bundle_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="verify_app_ctx"> + <DetectChar attribute="Normal Text" context="verify_app_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="verify_app_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_main_executable_ctx"> + <DetectChar attribute="Normal Text" context="get_bundle_main_executable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_main_executable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_dotapp_dir_ctx"> + <DetectChar attribute="Normal Text" context="get_dotapp_dir_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_dotapp_dir_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_and_executable_ctx"> + <DetectChar attribute="Normal Text" context="get_bundle_and_executable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_and_executable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_all_executables_ctx"> + <DetectChar attribute="Normal Text" context="get_bundle_all_executables_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_all_executables_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_item_key_ctx"> + <DetectChar attribute="Normal Text" context="get_item_key_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_item_key_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_item_rpaths_ctx"> + <DetectChar attribute="Normal Text" context="get_item_rpaths_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_item_rpaths_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="clear_bundle_keys_ctx"> + <DetectChar attribute="Normal Text" context="clear_bundle_keys_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="clear_bundle_keys_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_bundle_key_values_ctx"> + <DetectChar attribute="Normal Text" context="set_bundle_key_values_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_bundle_key_values_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_keys_ctx"> + <DetectChar attribute="Normal Text" context="get_bundle_keys_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="get_bundle_keys_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="copy_resolved_item_into_bundle_ctx"> + <DetectChar attribute="Normal Text" context="copy_resolved_item_into_bundle_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="copy_resolved_item_into_bundle_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="copy_resolved_framework_into_bundle_ctx"> + <DetectChar attribute="Normal Text" context="copy_resolved_framework_into_bundle_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="copy_resolved_framework_into_bundle_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="fixup_bundle_item_ctx"> + <DetectChar attribute="Normal Text" context="fixup_bundle_item_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="fixup_bundle_item_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="verify_bundle_prerequisites_ctx"> + <DetectChar attribute="Normal Text" context="verify_bundle_prerequisites_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="verify_bundle_prerequisites_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="verify_bundle_symlinks_ctx"> + <DetectChar attribute="Normal Text" context="verify_bundle_symlinks_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="verify_bundle_symlinks_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_c_compiler_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_c_compiler_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_c_compiler_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_compiler_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_compiler_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_compiler_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_c_source_compiles_ctx"> + <DetectChar attribute="Normal Text" context="check_c_source_compiles_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_c_source_compiles_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_c_source_compiles_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_c_source_runs_ctx"> + <DetectChar attribute="Normal Text" context="check_c_source_runs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_c_source_runs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_compiler_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_cxx_compiler_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_compiler_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_source_compiles_ctx"> + <DetectChar attribute="Normal Text" context="check_cxx_source_compiles_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_source_compiles_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_cxx_source_compiles_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_source_runs_ctx"> + <DetectChar attribute="Normal Text" context="check_cxx_source_runs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_source_runs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_symbol_exists_ctx"> + <DetectChar attribute="Normal Text" context="check_cxx_symbol_exists_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_cxx_symbol_exists_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_compiler_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_fortran_compiler_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_compiler_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_function_exists_ctx"> + <DetectChar attribute="Normal Text" context="check_fortran_function_exists_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_function_exists_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_source_compiles_ctx"> + <DetectChar attribute="Normal Text" context="check_fortran_source_compiles_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_source_compiles_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_fortran_source_compiles_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_source_runs_ctx"> + <DetectChar attribute="Normal Text" context="check_fortran_source_runs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_fortran_source_runs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_fortran_source_runs_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_function_exists_ctx"> + <DetectChar attribute="Normal Text" context="check_function_exists_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_function_exists_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_include_file_cxx_ctx"> + <DetectChar attribute="Normal Text" context="check_include_file_cxx_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_include_file_cxx_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_include_file_ctx"> + <DetectChar attribute="Normal Text" context="check_include_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_include_file_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_include_files_ctx"> + <DetectChar attribute="Normal Text" context="check_include_files_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_include_files_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_include_files_nargs" /> + <keyword attribute="Special Args" context="#stay" String="check_include_files_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_ipo_supported_ctx"> + <DetectChar attribute="Normal Text" context="check_ipo_supported_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_ipo_supported_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_ipo_supported_nargs" /> + <keyword attribute="Special Args" context="#stay" String="check_ipo_supported_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_language_ctx"> + <DetectChar attribute="Normal Text" context="check_language_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_language_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Special Args" context="#stay" String="check_language_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_library_exists_ctx"> + <DetectChar attribute="Normal Text" context="check_library_exists_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_library_exists_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_linker_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_linker_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_linker_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objc_compiler_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_objc_compiler_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objc_compiler_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objc_source_compiles_ctx"> + <DetectChar attribute="Normal Text" context="check_objc_source_compiles_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objc_source_compiles_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_objc_source_compiles_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objc_source_runs_ctx"> + <DetectChar attribute="Normal Text" context="check_objc_source_runs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objc_source_runs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objcxx_compiler_flag_ctx"> + <DetectChar attribute="Normal Text" context="check_objcxx_compiler_flag_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objcxx_compiler_flag_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objcxx_source_compiles_ctx"> + <DetectChar attribute="Normal Text" context="check_objcxx_source_compiles_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objcxx_source_compiles_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_objcxx_source_compiles_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objcxx_source_runs_ctx"> + <DetectChar attribute="Normal Text" context="check_objcxx_source_runs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_objcxx_source_runs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_pie_supported_ctx"> + <DetectChar attribute="Normal Text" context="check_pie_supported_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_pie_supported_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_pie_supported_nargs" /> + <keyword attribute="Special Args" context="#stay" String="check_pie_supported_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_prototype_definition_ctx"> + <DetectChar attribute="Normal Text" context="check_prototype_definition_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_prototype_definition_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_source_compiles_ctx"> + <DetectChar attribute="Normal Text" context="check_source_compiles_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_source_compiles_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_source_compiles_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_source_runs_ctx"> + <DetectChar attribute="Normal Text" context="check_source_runs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_source_runs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_source_runs_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_struct_has_member_ctx"> + <DetectChar attribute="Normal Text" context="check_struct_has_member_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_struct_has_member_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_struct_has_member_nargs" /> + <keyword attribute="Special Args" context="#stay" String="check_struct_has_member_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_symbol_exists_ctx"> + <DetectChar attribute="Normal Text" context="check_symbol_exists_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_symbol_exists_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_type_size_ctx"> + <DetectChar attribute="Normal Text" context="check_type_size_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_type_size_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="check_type_size_nargs" /> + <keyword attribute="Special Args" context="#stay" String="check_type_size_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_variable_exists_ctx"> + <DetectChar attribute="Normal Text" context="check_variable_exists_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="check_variable_exists_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_add_fortran_subdirectory_ctx"> + <DetectChar attribute="Normal Text" context="cmake_add_fortran_subdirectory_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_add_fortran_subdirectory_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cmake_add_fortran_subdirectory_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_dependent_option_ctx"> + <DetectChar attribute="Normal Text" context="cmake_dependent_option_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_dependent_option_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_dependency_ctx"> + <DetectChar attribute="Normal Text" context="find_dependency_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_dependency_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="configure_package_config_file_ctx"> + <DetectChar attribute="Normal Text" context="configure_package_config_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="configure_package_config_file_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="configure_package_config_file_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="write_basic_package_version_file_ctx"> + <DetectChar attribute="Normal Text" context="write_basic_package_version_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="write_basic_package_version_file_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="write_basic_package_version_file_nargs" /> + <keyword attribute="Special Args" context="#stay" String="write_basic_package_version_file_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_print_properties_ctx"> + <DetectChar attribute="Normal Text" context="cmake_print_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_print_properties_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGETS" attribute="Named Args" context="cmake_print_properties_tgts" /> + <keyword attribute="Named Args" context="#stay" String="cmake_print_properties_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_print_properties_tgts"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#pop" String="cmake_print_properties_nargs" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_push_check_state_ctx"> + <DetectChar attribute="Normal Text" context="cmake_push_check_state_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_push_check_state_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cmake_push_check_state_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_pop_check_state_ctx"> + <DetectChar attribute="Normal Text" context="cmake_pop_check_state_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_pop_check_state_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_reset_check_state_ctx"> + <DetectChar attribute="Normal Text" context="cmake_reset_check_state_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cmake_reset_check_state_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_add_component_ctx"> + <DetectChar attribute="Normal Text" context="cpack_add_component_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_add_component_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_add_component_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_add_component_group_ctx"> + <DetectChar attribute="Normal Text" context="cpack_add_component_group_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_add_component_group_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_add_component_group_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_add_install_type_ctx"> + <DetectChar attribute="Normal Text" context="cpack_add_install_type_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_add_install_type_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_add_install_type_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_configure_downloads_ctx"> + <DetectChar attribute="Normal Text" context="cpack_configure_downloads_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_configure_downloads_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_configure_downloads_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_configure_component_ctx"> + <DetectChar attribute="Normal Text" context="cpack_ifw_configure_component_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_configure_component_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_ifw_configure_component_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_configure_component_group_ctx"> + <DetectChar attribute="Normal Text" context="cpack_ifw_configure_component_group_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_configure_component_group_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_ifw_configure_component_group_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_add_repository_ctx"> + <DetectChar attribute="Normal Text" context="cpack_ifw_add_repository_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_add_repository_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_ifw_add_repository_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_update_repository_ctx"> + <DetectChar attribute="Normal Text" context="cpack_ifw_update_repository_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_update_repository_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="cpack_ifw_update_repository_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_add_package_resources_ctx"> + <DetectChar attribute="Normal Text" context="cpack_ifw_add_package_resources_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_add_package_resources_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_configure_file_ctx"> + <DetectChar attribute="Normal Text" context="cpack_ifw_configure_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cpack_ifw_configure_file_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_set_windows_forms_properties_ctx"> + <DetectChar attribute="Normal Text" context="csharp_set_windows_forms_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_set_windows_forms_properties_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_set_designer_cs_properties_ctx"> + <DetectChar attribute="Normal Text" context="csharp_set_designer_cs_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_set_designer_cs_properties_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_set_xaml_cs_properties_ctx"> + <DetectChar attribute="Normal Text" context="csharp_set_xaml_cs_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_set_xaml_cs_properties_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_get_filename_keys_ctx"> + <DetectChar attribute="Normal Text" context="csharp_get_filename_keys_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_get_filename_keys_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_get_filename_key_base_ctx"> + <DetectChar attribute="Normal Text" context="csharp_get_filename_key_base_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_get_filename_key_base_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_get_dependentupon_name_ctx"> + <DetectChar attribute="Normal Text" context="csharp_get_dependentupon_name_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="csharp_get_dependentupon_name_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ctest_coverage_collect_gcov_ctx"> + <DetectChar attribute="Normal Text" context="ctest_coverage_collect_gcov_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ctest_coverage_collect_gcov_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="ctest_coverage_collect_gcov_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="write_qt4_conf_ctx"> + <DetectChar attribute="Normal Text" context="write_qt4_conf_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="write_qt4_conf_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="resolve_qt4_paths_ctx"> + <DetectChar attribute="Normal Text" context="resolve_qt4_paths_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="resolve_qt4_paths_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="fixup_qt4_executable_ctx"> + <DetectChar attribute="Normal Text" context="fixup_qt4_executable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="fixup_qt4_executable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_qt4_plugin_path_ctx"> + <DetectChar attribute="Normal Text" context="install_qt4_plugin_path_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_qt4_plugin_path_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_qt4_plugin_ctx"> + <DetectChar attribute="Normal Text" context="install_qt4_plugin_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_qt4_plugin_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_qt4_executable_ctx"> + <DetectChar attribute="Normal Text" context="install_qt4_executable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_qt4_executable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalData_Expand_Arguments_ctx"> + <DetectChar attribute="Normal Text" context="ExternalData_Expand_Arguments_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalData_Expand_Arguments_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalData_Add_Test_ctx"> + <DetectChar attribute="Normal Text" context="ExternalData_Add_Test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalData_Add_Test_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalData_Add_Target_ctx"> + <DetectChar attribute="Normal Text" context="ExternalData_Add_Target_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalData_Add_Target_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="ExternalData_Add_Target_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_ctx"> + <DetectChar attribute="Normal Text" context="ExternalProject_Add_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="ExternalProject_Add_nargs" /> + <keyword attribute="Special Args" context="#stay" String="ExternalProject_Add_sargs" /> + <keyword attribute="Property" context="#stay" String="target-properties" /> + <IncludeRules context="Detect More target-properties" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Get_Property_ctx"> + <DetectChar attribute="Normal Text" context="ExternalProject_Get_Property_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Get_Property_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_Step_ctx"> + <DetectChar attribute="Normal Text" context="ExternalProject_Add_Step_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_Step_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="ExternalProject_Add_Step_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_StepTargets_ctx"> + <DetectChar attribute="Normal Text" context="ExternalProject_Add_StepTargets_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_StepTargets_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="ExternalProject_Add_StepTargets_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_StepDependencies_ctx"> + <DetectChar attribute="Normal Text" context="ExternalProject_Add_StepDependencies_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ExternalProject_Add_StepDependencies_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="feature_summary_ctx"> + <DetectChar attribute="Normal Text" context="feature_summary_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="feature_summary_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="feature_summary_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_package_properties_ctx"> + <DetectChar attribute="Normal Text" context="set_package_properties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_package_properties_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="set_package_properties_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_feature_info_ctx"> + <DetectChar attribute="Normal Text" context="add_feature_info_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_feature_info_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_package_info_ctx"> + <DetectChar attribute="Normal Text" context="set_package_info_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_package_info_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_feature_info_ctx"> + <DetectChar attribute="Normal Text" context="set_feature_info_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="set_feature_info_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="print_enabled_features_ctx"> + <DetectChar attribute="Normal Text" context="print_enabled_features_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="print_enabled_features_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="print_disabled_features_ctx"> + <DetectChar attribute="Normal Text" context="print_disabled_features_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="print_disabled_features_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_Declare_ctx"> + <DetectChar attribute="Normal Text" context="FetchContent_Declare_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_Declare_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="FetchContent_Declare_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_Populate_ctx"> + <DetectChar attribute="Normal Text" context="FetchContent_Populate_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_Populate_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="FetchContent_Populate_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_GetProperties_ctx"> + <DetectChar attribute="Normal Text" context="FetchContent_GetProperties_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_GetProperties_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="FetchContent_GetProperties_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_MakeAvailable_ctx"> + <DetectChar attribute="Normal Text" context="FetchContent_MakeAvailable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FetchContent_MakeAvailable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_package_handle_standard_args_ctx"> + <DetectChar attribute="Normal Text" context="find_package_handle_standard_args_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_package_handle_standard_args_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="find_package_handle_standard_args_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_package_check_version_ctx"> + <DetectChar attribute="Normal Text" context="find_package_check_version_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_package_check_version_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="find_package_check_version_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_package_message_ctx"> + <DetectChar attribute="Normal Text" context="find_package_message_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_package_message_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FortranCInterface_HEADER_ctx"> + <DetectChar attribute="Normal Text" context="FortranCInterface_HEADER_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FortranCInterface_HEADER_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="FortranCInterface_HEADER_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FortranCInterface_VERIFY_ctx"> + <DetectChar attribute="Normal Text" context="FortranCInterface_VERIFY_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="FortranCInterface_VERIFY_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="FortranCInterface_VERIFY_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="generate_export_header_ctx"> + <DetectChar attribute="Normal Text" context="generate_export_header_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="generate_export_header_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="generate_export_header_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="generate_export_header_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="generate_export_header_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="generate_export_header_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="GNUInstallDirs_get_absolute_install_dir_ctx"> + <DetectChar attribute="Normal Text" context="GNUInstallDirs_get_absolute_install_dir_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="GNUInstallDirs_get_absolute_install_dir_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gtest_add_tests_ctx"> + <DetectChar attribute="Normal Text" context="gtest_add_tests_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gtest_add_tests_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> + <keyword attribute="Named Args" context="#stay" String="gtest_add_tests_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gtest_discover_tests_ctx"> + <DetectChar attribute="Normal Text" context="gtest_discover_tests_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gtest_discover_tests_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="gtest_discover_tests_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="gtest_discover_tests_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gtest_discover_tests_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="gtest_discover_tests_nargs" /> + <keyword attribute="Special Args" context="#stay" String="gtest_discover_tests_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="processorcount_ctx"> + <DetectChar attribute="Normal Text" context="processorcount_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="processorcount_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="select_library_configurations_ctx"> + <DetectChar attribute="Normal Text" context="select_library_configurations_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="select_library_configurations_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="test_big_endian_ctx"> + <DetectChar attribute="Normal Text" context="test_big_endian_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="test_big_endian_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_add_include_directories_ctx"> + <DetectChar attribute="Normal Text" context="ecos_add_include_directories_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_add_include_directories_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_add_executable_ctx"> + <DetectChar attribute="Normal Text" context="ecos_add_executable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_add_executable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_add_target_lib_ctx"> + <DetectChar attribute="Normal Text" context="ecos_add_target_lib_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_add_target_lib_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_adjust_directory_ctx"> + <DetectChar attribute="Normal Text" context="ecos_adjust_directory_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_adjust_directory_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_use_arm_elf_tools_ctx"> + <DetectChar attribute="Normal Text" context="ecos_use_arm_elf_tools_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_use_arm_elf_tools_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_use_i386_elf_tools_ctx"> + <DetectChar attribute="Normal Text" context="ecos_use_i386_elf_tools_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_use_i386_elf_tools_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_use_ppc_eabi_tools_ctx"> + <DetectChar attribute="Normal Text" context="ecos_use_ppc_eabi_tools_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="ecos_use_ppc_eabi_tools_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_jar_ctx"> + <DetectChar attribute="Normal Text" context="add_jar_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_jar_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="add_jar_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="add_jar_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_jar_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="add_jar_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jar_ctx"> + <DetectChar attribute="Normal Text" context="install_jar_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jar_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="install_jar_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="install_jar_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jar_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="install_jar_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jni_symlink_ctx"> + <DetectChar attribute="Normal Text" context="install_jni_symlink_ctx_op_tgt_first" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jni_symlink_ctx_op_tgt_first"> + <RegExpr attribute="Aliased Targets" context="install_jni_symlink_ctx_op" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="install_jni_symlink_ctx_op" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jni_symlink_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="install_jni_symlink_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="create_javah_ctx"> + <DetectChar attribute="Normal Text" context="create_javah_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="create_javah_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGET" attribute="Named Args" context="Target Name" /> + <keyword attribute="Named Args" context="#stay" String="create_javah_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jar_exports_ctx"> + <DetectChar attribute="Normal Text" context="install_jar_exports_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jar_exports_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGETS" attribute="Named Args" context="install_jar_exports_tgts" /> + <keyword attribute="Named Args" context="#stay" String="install_jar_exports_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="install_jar_exports_tgts"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#pop" String="install_jar_exports_nargs" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="export_jars_ctx"> + <DetectChar attribute="Normal Text" context="export_jars_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="export_jars_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <WordDetect String="TARGETS" attribute="Named Args" context="export_jars_tgts" /> + <keyword attribute="Named Args" context="#stay" String="export_jars_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="export_jars_tgts"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#pop" String="export_jars_nargs" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#stay" String="&tgt_name_re;" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_jar_ctx"> + <DetectChar attribute="Normal Text" context="find_jar_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="find_jar_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="find_jar_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="create_javadoc_ctx"> + <DetectChar attribute="Normal Text" context="create_javadoc_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="create_javadoc_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="create_javadoc_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="swig_add_library_ctx"> + <DetectChar attribute="Normal Text" context="swig_add_library_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="swig_add_library_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="swig_add_library_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="swig_link_libraries_ctx"> + <DetectChar attribute="Normal Text" context="swig_link_libraries_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="swig_link_libraries_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="squish_add_test_ctx"> + <DetectChar attribute="Normal Text" context="squish_add_test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="squish_add_test_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="squish_add_test_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="bison_target_ctx"> + <DetectChar attribute="Normal Text" context="bison_target_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="bison_target_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="bison_target_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cxxtest_add_test_ctx"> + <DetectChar attribute="Normal Text" context="cxxtest_add_test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="cxxtest_add_test_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="doxygen_add_docs_ctx"> + <DetectChar attribute="Normal Text" context="doxygen_add_docs_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="doxygen_add_docs_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="doxygen_add_docs_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_ctx"> + <DetectChar attribute="Normal Text" context="env_module_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="env_module_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_swap_ctx"> + <DetectChar attribute="Normal Text" context="env_module_swap_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_swap_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="env_module_swap_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_list_ctx"> + <DetectChar attribute="Normal Text" context="env_module_list_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_list_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_avail_ctx"> + <DetectChar attribute="Normal Text" context="env_module_avail_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="env_module_avail_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="flex_target_ctx"> + <DetectChar attribute="Normal Text" context="flex_target_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="flex_target_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="flex_target_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_flex_bison_dependency_ctx"> + <DetectChar attribute="Normal Text" context="add_flex_bison_dependency_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="add_flex_bison_dependency_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gettext_create_translations_ctx"> + <DetectChar attribute="Normal Text" context="gettext_create_translations_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gettext_create_translations_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="gettext_create_translations_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gettext_process_pot_file_ctx"> + <DetectChar attribute="Normal Text" context="gettext_process_pot_file_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gettext_process_pot_file_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="gettext_process_pot_file_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gettext_process_po_files_ctx"> + <DetectChar attribute="Normal Text" context="gettext_process_po_files_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="gettext_process_po_files_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="gettext_process_po_files_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="hg_wc_info_ctx"> + <DetectChar attribute="Normal Text" context="hg_wc_info_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="hg_wc_info_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_version_from_release_name_ctx"> + <DetectChar attribute="Normal Text" context="matlab_get_version_from_release_name_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_version_from_release_name_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_release_name_from_version_ctx"> + <DetectChar attribute="Normal Text" context="matlab_get_release_name_from_version_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_release_name_from_version_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_extract_all_installed_versions_from_registry_ctx"> + <DetectChar attribute="Normal Text" context="matlab_extract_all_installed_versions_from_registry_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_extract_all_installed_versions_from_registry_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_all_valid_matlab_roots_from_registry_ctx"> + <DetectChar attribute="Normal Text" context="matlab_get_all_valid_matlab_roots_from_registry_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_all_valid_matlab_roots_from_registry_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_mex_suffix_ctx"> + <DetectChar attribute="Normal Text" context="matlab_get_mex_suffix_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_mex_suffix_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_version_from_matlab_run_ctx"> + <DetectChar attribute="Normal Text" context="matlab_get_version_from_matlab_run_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_get_version_from_matlab_run_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_add_unit_test_ctx"> + <DetectChar attribute="Normal Text" context="matlab_add_unit_test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_add_unit_test_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="matlab_add_unit_test_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_add_mex_ctx"> + <DetectChar attribute="Normal Text" context="matlab_add_mex_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="matlab_add_mex_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="matlab_add_mex_nargs" /> + <keyword attribute="Special Args" context="#stay" String="matlab_add_mex_sargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="pkg_check_modules_ctx"> + <DetectChar attribute="Normal Text" context="pkg_check_modules_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="pkg_check_modules_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="pkg_check_modules_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="pkg_search_module_ctx"> + <DetectChar attribute="Normal Text" context="pkg_search_module_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="pkg_search_module_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="pkg_search_module_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="pkg_get_variable_ctx"> + <DetectChar attribute="Normal Text" context="pkg_get_variable_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="pkg_get_variable_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="protobuf_generate_cpp_ctx"> + <DetectChar attribute="Normal Text" context="protobuf_generate_cpp_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="protobuf_generate_cpp_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="protobuf_generate_cpp_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="protobuf_generate_python_ctx"> + <DetectChar attribute="Normal Text" context="protobuf_generate_python_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="protobuf_generate_python_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Python_add_library_ctx"> + <DetectChar attribute="Normal Text" context="Python_add_library_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Python_add_library_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="Python_add_library_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Subversion_WC_INFO_ctx"> + <DetectChar attribute="Normal Text" context="Subversion_WC_INFO_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Subversion_WC_INFO_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <keyword attribute="Named Args" context="#stay" String="Subversion_WC_INFO_nargs" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Subversion_WC_LOG_ctx"> + <DetectChar attribute="Normal Text" context="Subversion_WC_LOG_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Subversion_WC_LOG_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="xctest_add_bundle_ctx"> + <DetectChar attribute="Normal Text" context="xctest_add_bundle_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="xctest_add_bundle_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="xctest_add_test_ctx"> + <DetectChar attribute="Normal Text" context="xctest_add_test_ctx_op" char="(" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="xctest_add_test_ctx_op"> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect More global-properties"> - <RegExpr attribute="Property" context="#stay" String="\b(?:FeatureSummary_&id_re;_DESCRIPTION)\b" /> + <RegExpr attribute="Property" context="#stay" String="\b(?:FeatureSummary_&var_ref_re;_DESCRIPTION)\b" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect More directory-properties"> - <RegExpr attribute="Property" context="#stay" String="\b(?:VS_GLOBAL_SECTION_PRE_&id_re;|VS_GLOBAL_SECTION_POST_&id_re;|INTERPROCEDURAL_OPTIMIZATION_&id_re;)\b" /> + <RegExpr attribute="Property" context="#stay" String="\b(?:VS_GLOBAL_SECTION_PRE_&var_ref_re;|VS_GLOBAL_SECTION_POST_&var_ref_re;|INTERPROCEDURAL_OPTIMIZATION_&var_ref_re;)\b" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect More target-properties"> - <RegExpr attribute="Property" context="#stay" String="\b(?:XCODE_EMBED_&id_re;_REMOVE_HEADERS_ON_COPY|XCODE_EMBED_&id_re;_PATH|XCODE_EMBED_&id_re;_CODE_SIGN_ON_COPY|XCODE_EMBED_&id_re;|XCODE_ATTRIBUTE_&id_re;|VS_SOURCE_SETTINGS_&id_re;|VS_GLOBAL_&id_re;|VS_DOTNET_REFERENCE_&id_re;|VS_DOTNET_REFERENCEPROP_&id_re;_TAG_&id_re;|STATIC_LIBRARY_FLAGS_&id_re;|RUNTIME_OUTPUT_NAME_&id_re;|RUNTIME_OUTPUT_DIRECTORY_&id_re;|PDB_OUTPUT_DIRECTORY_&id_re;|PDB_NAME_&id_re;|OUTPUT_NAME_&id_re;|OSX_ARCHITECTURES_&id_re;|MAP_IMPORTED_CONFIG_&id_re;|LOCATION_&id_re;|LINK_INTERFACE_MULTIPLICITY_&id_re;|LINK_INTERFACE_LIBRARIES_&id_re;|LINK_FLAGS_&id_re;|LIBRARY_OUTPUT_NAME_&id_re;|LIBRARY_OUTPUT_DIRECTORY_&id_re;|INTERPROCEDURAL_OPTIMIZATION_&id_re;|IMPORTED_SONAME_&id_re;|IMPORTED_OBJECTS_&id_re;|IMPORTED_NO_SONAME_&id_re;|IMPORTED_LOCATION_&id_re;|IMPORTED_LINK_INTERFACE_MULTIPLICITY_&id_re;|IMPORTED_LINK_INTERFACE_LIBRARIES_&id_re;|IMPORTED_LINK_INTERFACE_LANGUAGES_&id_re;|IMPORTED_LINK_DEPENDENT_LIBRARIES_&id_re;|IMPORTED_LIBNAME_&id_re;|IMPORTED_IMPLIB_&id_re;|FRAMEWORK_MULTI_CONFIG_POSTFIX_&id_re;|EXCLUDE_FROM_DEFAULT_BUILD_&id_re;|COMPILE_PDB_OUTPUT_DIRECTORY_&id_re;|COMPILE_PDB_NAME_&id_re;|ARCHIVE_OUTPUT_NAME_&id_re;|ARCHIVE_OUTPUT_DIRECTORY_&id_re;|&id_re;_VISIBILITY_PRESET|&id_re;_POSTFIX|&id_re;_OUTPUT_NAME|&id_re;_LINKER_LAUNCHER|&id_re;_INCLUDE_WHAT_YOU_USE|&id_re;_CPPLINT|&id_re;_CPPCHECK|&id_re;_COMPILER_LAUNCHER|&id_re;_CLANG_TIDY)\b" /> + <RegExpr attribute="Property" context="#stay" String="\b(?:XCODE_EMBED_&var_ref_re;_REMOVE_HEADERS_ON_COPY|XCODE_EMBED_&var_ref_re;_PATH|XCODE_EMBED_&var_ref_re;_CODE_SIGN_ON_COPY|XCODE_EMBED_&var_ref_re;|XCODE_ATTRIBUTE_&var_ref_re;|VS_SOURCE_SETTINGS_&var_ref_re;|VS_GLOBAL_&var_ref_re;|VS_DOTNET_REFERENCE_&var_ref_re;|VS_DOTNET_REFERENCEPROP_&var_ref_re;_TAG_&var_ref_re;|STATIC_LIBRARY_FLAGS_&var_ref_re;|RUNTIME_OUTPUT_NAME_&var_ref_re;|RUNTIME_OUTPUT_DIRECTORY_&var_ref_re;|PDB_OUTPUT_DIRECTORY_&var_ref_re;|PDB_NAME_&var_ref_re;|OUTPUT_NAME_&var_ref_re;|OSX_ARCHITECTURES_&var_ref_re;|MAP_IMPORTED_CONFIG_&var_ref_re;|LOCATION_&var_ref_re;|LINK_INTERFACE_MULTIPLICITY_&var_ref_re;|LINK_INTERFACE_LIBRARIES_&var_ref_re;|LINK_FLAGS_&var_ref_re;|LIBRARY_OUTPUT_NAME_&var_ref_re;|LIBRARY_OUTPUT_DIRECTORY_&var_ref_re;|INTERPROCEDURAL_OPTIMIZATION_&var_ref_re;|IMPORTED_SONAME_&var_ref_re;|IMPORTED_OBJECTS_&var_ref_re;|IMPORTED_NO_SONAME_&var_ref_re;|IMPORTED_LOCATION_&var_ref_re;|IMPORTED_LINK_INTERFACE_MULTIPLICITY_&var_ref_re;|IMPORTED_LINK_INTERFACE_LIBRARIES_&var_ref_re;|IMPORTED_LINK_INTERFACE_LANGUAGES_&var_ref_re;|IMPORTED_LINK_DEPENDENT_LIBRARIES_&var_ref_re;|IMPORTED_LIBNAME_&var_ref_re;|IMPORTED_IMPLIB_&var_ref_re;|FRAMEWORK_MULTI_CONFIG_POSTFIX_&var_ref_re;|EXCLUDE_FROM_DEFAULT_BUILD_&var_ref_re;|COMPILE_PDB_OUTPUT_DIRECTORY_&var_ref_re;|COMPILE_PDB_NAME_&var_ref_re;|ARCHIVE_OUTPUT_NAME_&var_ref_re;|ARCHIVE_OUTPUT_DIRECTORY_&var_ref_re;|&var_ref_re;_VISIBILITY_PRESET|&var_ref_re;_POSTFIX|&var_ref_re;_OUTPUT_NAME|&var_ref_re;_LINKER_LAUNCHER|&var_ref_re;_INCLUDE_WHAT_YOU_USE|&var_ref_re;_CPPLINT|&var_ref_re;_CPPCHECK|&var_ref_re;_COMPILER_LAUNCHER|&var_ref_re;_CLANG_TIDY)\b" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect More source-properties"> - <RegExpr attribute="Property" context="#stay" String="\b(?:VS_CSHARP_&id_re;)\b" /> - </context> - - <context attribute="Normal Text" lineEndContext="#stay" name="EndCmdPop"> - <DetectChar attribute="Normal Text" context="#pop" char=")" /> - </context> - - <context attribute="Normal Text" lineEndContext="#stay" name="EndCmdPop2"> - <DetectChar attribute="Normal Text" context="#pop#pop" char=")" /> + <RegExpr attribute="Property" context="#stay" String="\b(?:VS_CSHARP_&var_ref_re;)\b" /> </context> <context attribute="User Function/Macro" lineEndContext="#stay" name="User Function"> <DetectChar attribute="Normal Text" context="User Function Opened" char="(" /> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="User Function Opened"> - <IncludeRules context="EndCmdPop2" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> <IncludeRules context="User Function Args" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables"> - <RegExpr attribute="Internal Name" context="#stay" String="\b_&id_re;\b" /> + <RegExpr attribute="Internal Name" context="#stay" String="\b_&var_ref_re;\b" /> <keyword attribute="CMake Internal Variable" context="#stay" String="deprecated-or-internal-variables" insensitive="false" /> <keyword attribute="Builtin Variable" context="#stay" String="variables" insensitive="false" /> <IncludeRules context="Detect More Builtin Variables" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect More Builtin Variables"> - <RegExpr attribute="CMake Internal Variable" context="#stay" String="\b(?:CMAKE_&id_re;_PLATFORM_ID|CMAKE_&id_re;_COMPILER_VERSION_INTERNAL|CMAKE_&id_re;_COMPILER_ARCHITECTURE_ID|CMAKE_&id_re;_COMPILER_ABI)\b" /> - <RegExpr attribute="Builtin Variable" context="#stay" String="\b(?:SWIG_MODULE_&id_re;_EXTRA_DEPS|ExternalData_URL_ALGO_&id_re;_&id_re;|ExternalData_CUSTOM_SCRIPT_&id_re;|DOXYGEN_&id_re;|CPACK_WIX_PROPERTY_&id_re;|CPACK_WIX_&id_re;_EXTRA_FLAGS|CPACK_WIX_&id_re;_EXTENSIONS|CPACK_RPM_NO_&id_re;_INSTALL_PREFIX_RELOCATION|CPACK_RPM_&id_re;_USER_FILELIST|CPACK_RPM_&id_re;_USER_BINARY_SPECFILE|CPACK_RPM_&id_re;_PACKAGE_URL|CPACK_RPM_&id_re;_PACKAGE_SUMMARY|CPACK_RPM_&id_re;_PACKAGE_SUGGESTS|CPACK_RPM_&id_re;_PACKAGE_REQUIRES_PREUN|CPACK_RPM_&id_re;_PACKAGE_REQUIRES_PRE|CPACK_RPM_&id_re;_PACKAGE_REQUIRES_POSTUN|CPACK_RPM_&id_re;_PACKAGE_REQUIRES_POST|CPACK_RPM_&id_re;_PACKAGE_REQUIRES|CPACK_RPM_&id_re;_PACKAGE_PROVIDES|CPACK_RPM_&id_re;_PACKAGE_PREFIX|CPACK_RPM_&id_re;_PACKAGE_OBSOLETES|CPACK_RPM_&id_re;_PACKAGE_NAME|CPACK_RPM_&id_re;_PACKAGE_GROUP|CPACK_RPM_&id_re;_PACKAGE_DESCRIPTION|CPACK_RPM_&id_re;_PACKAGE_CONFLICTS|CPACK_RPM_&id_re;_PACKAGE_AUTOREQPROV|CPACK_RPM_&id_re;_PACKAGE_AUTOREQ|CPACK_RPM_&id_re;_PACKAGE_AUTOPROV|CPACK_RPM_&id_re;_PACKAGE_ARCHITECTURE|CPACK_RPM_&id_re;_FILE_NAME|CPACK_RPM_&id_re;_DEFAULT_USER|CPACK_RPM_&id_re;_DEFAULT_GROUP|CPACK_RPM_&id_re;_DEFAULT_FILE_PERMISSIONS|CPACK_RPM_&id_re;_DEFAULT_DIR_PERMISSIONS|CPACK_RPM_&id_re;_DEBUGINFO_PACKAGE|CPACK_RPM_&id_re;_DEBUGINFO_FILE_NAME|CPACK_RPM_&id_re;_BUILD_SOURCE_DIRS_PREFIX|CPACK_PREFLIGHT_&id_re;_SCRIPT|CPACK_POSTFLIGHT_&id_re;_SCRIPT|CPACK_NUGET_PACKAGE_DEPENDENCIES_&id_re;_VERSION|CPACK_NUGET_&id_re;_PACKAGE_VERSION|CPACK_NUGET_&id_re;_PACKAGE_TITLE|CPACK_NUGET_&id_re;_PACKAGE_TAGS|CPACK_NUGET_&id_re;_PACKAGE_RELEASE_NOTES|CPACK_NUGET_&id_re;_PACKAGE_OWNERS|CPACK_NUGET_&id_re;_PACKAGE_NAME|CPACK_NUGET_&id_re;_PACKAGE_LICENSE_FILE_NAME|CPACK_NUGET_&id_re;_PACKAGE_LICENSE_EXPRESSION|CPACK_NUGET_&id_re;_PACKAGE_LICENSEURL|CPACK_NUGET_&id_re;_PACKAGE_LANGUAGE|CPACK_NUGET_&id_re;_PACKAGE_ICONURL|CPACK_NUGET_&id_re;_PACKAGE_ICON|CPACK_NUGET_&id_re;_PACKAGE_HOMEPAGE_URL|CPACK_NUGET_&id_re;_PACKAGE_DESCRIPTION_SUMMARY|CPACK_NUGET_&id_re;_PACKAGE_DESCRIPTION|CPACK_NUGET_&id_re;_PACKAGE_DEPENDENCIES_&id_re;_VERSION|CPACK_NUGET_&id_re;_PACKAGE_DEPENDENCIES|CPACK_NUGET_&id_re;_PACKAGE_COPYRIGHT|CPACK_NUGET_&id_re;_PACKAGE_AUTHORS|CPACK_NSIS_&id_re;_INSTALL_DIRECTORY|CPACK_DMG_&id_re;_FILE_NAME|CPACK_DEBIAN_&id_re;_PACKAGE_SUGGESTS|CPACK_DEBIAN_&id_re;_PACKAGE_SOURCE|CPACK_DEBIAN_&id_re;_PACKAGE_SHLIBDEPS|CPACK_DEBIAN_&id_re;_PACKAGE_SECTION|CPACK_DEBIAN_&id_re;_PACKAGE_REPLACES|CPACK_DEBIAN_&id_re;_PACKAGE_RECOMMENDS|CPACK_DEBIAN_&id_re;_PACKAGE_PROVIDES|CPACK_DEBIAN_&id_re;_PACKAGE_PRIORITY|CPACK_DEBIAN_&id_re;_PACKAGE_PREDEPENDS|CPACK_DEBIAN_&id_re;_PACKAGE_NAME|CPACK_DEBIAN_&id_re;_PACKAGE_ENHANCES|CPACK_DEBIAN_&id_re;_PACKAGE_DEPENDS|CPACK_DEBIAN_&id_re;_PACKAGE_CONTROL_STRICT_PERMISSION|CPACK_DEBIAN_&id_re;_PACKAGE_CONTROL_EXTRA|CPACK_DEBIAN_&id_re;_PACKAGE_CONFLICTS|CPACK_DEBIAN_&id_re;_PACKAGE_BREAKS|CPACK_DEBIAN_&id_re;_PACKAGE_ARCHITECTURE|CPACK_DEBIAN_&id_re;_FILE_NAME|CPACK_DEBIAN_&id_re;_DESCRIPTION|CPACK_DEBIAN_&id_re;_DEBUGINFO_PACKAGE|CPACK_COMPONENT_&id_re;_REQUIRED|CPACK_COMPONENT_&id_re;_HIDDEN|CPACK_COMPONENT_&id_re;_GROUP|CPACK_COMPONENT_&id_re;_DISPLAY_NAME|CPACK_COMPONENT_&id_re;_DISABLED|CPACK_COMPONENT_&id_re;_DESCRIPTION|CPACK_COMPONENT_&id_re;_DEPENDS|CPACK_BINARY_&id_re;|CPACK_ARCHIVE_&id_re;_FILE_NAME|CPACK_&id_re;_COMPONENT_INSTALL|CMAKE_XCODE_ATTRIBUTE_&id_re;|CMAKE_USER_MAKE_RULES_OVERRIDE_&id_re;|CMAKE_STATIC_LINKER_FLAGS_&id_re;_INIT|CMAKE_STATIC_LINKER_FLAGS_&id_re;|CMAKE_SHARED_LINKER_FLAGS_&id_re;_INIT|CMAKE_SHARED_LINKER_FLAGS_&id_re;|CMAKE_RUNTIME_OUTPUT_DIRECTORY_&id_re;|CMAKE_PROJECT_&id_re;_INCLUDE|CMAKE_POLICY_WARNING_CMP[0-9]{4}|CMAKE_POLICY_DEFAULT_CMP[0-9]{4}|CMAKE_PDB_OUTPUT_DIRECTORY_&id_re;|CMAKE_MODULE_LINKER_FLAGS_&id_re;_INIT|CMAKE_MODULE_LINKER_FLAGS_&id_re;|CMAKE_MATCH_[0-9]+|CMAKE_MAP_IMPORTED_CONFIG_&id_re;|CMAKE_LIBRARY_OUTPUT_DIRECTORY_&id_re;|CMAKE_INTERPROCEDURAL_OPTIMIZATION_&id_re;|CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_&id_re;|CMAKE_EXE_LINKER_FLAGS_&id_re;_INIT|CMAKE_EXE_LINKER_FLAGS_&id_re;|CMAKE_DISABLE_FIND_PACKAGE_&id_re;|CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_&id_re;|CMAKE_ARGV[0-9]+|CMAKE_ARCHIVE_OUTPUT_DIRECTORY_&id_re;|CMAKE_&id_re;_VISIBILITY_PRESET|CMAKE_&id_re;_STANDARD_LIBRARIES|CMAKE_&id_re;_STANDARD_INCLUDE_DIRECTORIES|CMAKE_&id_re;_SOURCE_FILE_EXTENSIONS|CMAKE_&id_re;_SIZEOF_DATA_PTR|CMAKE_&id_re;_SIMULATE_VERSION|CMAKE_&id_re;_SIMULATE_ID|CMAKE_&id_re;_POSTFIX|CMAKE_&id_re;_OUTPUT_EXTENSION|CMAKE_&id_re;_LINK_LIBRARY_FLAG|CMAKE_&id_re;_LINK_LIBRARY_FILE_FLAG|CMAKE_&id_re;_LINK_EXECUTABLE|CMAKE_&id_re;_LINKER_WRAPPER_FLAG_SEP|CMAKE_&id_re;_LINKER_WRAPPER_FLAG|CMAKE_&id_re;_LINKER_PREFERENCE_PROPAGATES|CMAKE_&id_re;_LINKER_PREFERENCE|CMAKE_&id_re;_LINKER_LAUNCHER|CMAKE_&id_re;_LIBRARY_ARCHITECTURE|CMAKE_&id_re;_INCLUDE_WHAT_YOU_USE|CMAKE_&id_re;_IMPLICIT_LINK_LIBRARIES|CMAKE_&id_re;_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES|CMAKE_&id_re;_IMPLICIT_LINK_DIRECTORIES|CMAKE_&id_re;_IMPLICIT_INCLUDE_DIRECTORIES|CMAKE_&id_re;_IGNORE_EXTENSIONS|CMAKE_&id_re;_GHS_KERNEL_FLAGS_RELWITHDEBINFO|CMAKE_&id_re;_GHS_KERNEL_FLAGS_RELEASE|CMAKE_&id_re;_GHS_KERNEL_FLAGS_MINSIZEREL|CMAKE_&id_re;_GHS_KERNEL_FLAGS_DEBUG|CMAKE_&id_re;_FLAGS_RELWITHDEBINFO_INIT|CMAKE_&id_re;_FLAGS_RELWITHDEBINFO|CMAKE_&id_re;_FLAGS_RELEASE_INIT|CMAKE_&id_re;_FLAGS_RELEASE|CMAKE_&id_re;_FLAGS_MINSIZEREL_INIT|CMAKE_&id_re;_FLAGS_MINSIZEREL|CMAKE_&id_re;_FLAGS_INIT|CMAKE_&id_re;_FLAGS_DEBUG_INIT|CMAKE_&id_re;_FLAGS_DEBUG|CMAKE_&id_re;_FLAGS|CMAKE_&id_re;_CREATE_STATIC_LIBRARY|CMAKE_&id_re;_CREATE_SHARED_MODULE|CMAKE_&id_re;_CREATE_SHARED_LIBRARY|CMAKE_&id_re;_CPPLINT|CMAKE_&id_re;_CPPCHECK|CMAKE_&id_re;_COMPILE_OBJECT|CMAKE_&id_re;_COMPILER_VERSION|CMAKE_&id_re;_COMPILER_TARGET|CMAKE_&id_re;_COMPILER_RANLIB|CMAKE_&id_re;_COMPILER_LOADED|CMAKE_&id_re;_COMPILER_LAUNCHER|CMAKE_&id_re;_COMPILER_ID|CMAKE_&id_re;_COMPILER_EXTERNAL_TOOLCHAIN|CMAKE_&id_re;_COMPILER_AR|CMAKE_&id_re;_COMPILER|CMAKE_&id_re;_CLANG_TIDY|CMAKE_&id_re;_BYTE_ORDER|CMAKE_&id_re;_ARCHIVE_FINISH|CMAKE_&id_re;_ARCHIVE_CREATE|CMAKE_&id_re;_ARCHIVE_APPEND|CMAKE_&id_re;_ANDROID_TOOLCHAIN_SUFFIX|CMAKE_&id_re;_ANDROID_TOOLCHAIN_PREFIX|CMAKE_&id_re;_ANDROID_TOOLCHAIN_MACHINE|ARGV[0-9]+|&id_re;__TRYRUN_OUTPUT|&id_re;_VERSION_TWEAK|&id_re;_VERSION_STRING|&id_re;_VERSION_PATCH|&id_re;_VERSION_MINOR|&id_re;_VERSION_MAJOR|&id_re;_VERSION_COUNT|&id_re;_VERSION|&id_re;_UNPARSED_ARGUMENTS|&id_re;_SOURCE_DIR|&id_re;_ROOT|&id_re;_MODULE_NAME|&id_re;_LIBRARY_DIRS|&id_re;_LIBRARIES|&id_re;_KEYWORDS_MISSING_VALUES|&id_re;_IS_TOP_LEVEL|&id_re;_INCLUDE_DIRS|&id_re;_HOMEPAGE_URL|&id_re;_FOUND|&id_re;_FIND_VERSION_RANGE_MIN|&id_re;_FIND_VERSION_RANGE_MAX|&id_re;_FIND_VERSION_RANGE|&id_re;_FIND_VERSION_MIN_TWEAK|&id_re;_FIND_VERSION_MIN_PATCH|&id_re;_FIND_VERSION_MIN_MINOR|&id_re;_FIND_VERSION_MIN_MAJOR|&id_re;_FIND_VERSION_MIN_COUNT|&id_re;_FIND_VERSION_MIN|&id_re;_FIND_VERSION_MAX_TWEAK|&id_re;_FIND_VERSION_MAX_PATCH|&id_re;_FIND_VERSION_MAX_MINOR|&id_re;_FIND_VERSION_MAX_MAJOR|&id_re;_FIND_VERSION_MAX_COUNT|&id_re;_FIND_VERSION_MAX|&id_re;_FIND_VERSION_EXACT|&id_re;_FIND_VERSION_COUNT|&id_re;_FIND_VERSION_COMPLETE|&id_re;_FIND_REQUIRED_&id_re;|&id_re;_FIND_REQUIRED|&id_re;_FIND_QUIETLY|&id_re;_FIND_COMPONENTS|&id_re;_DESCRIPTION|&id_re;_CONSIDERED_VERSIONS|&id_re;_CONSIDERED_CONFIGS|&id_re;_CONFIG|&id_re;_BINARY_DIR)\b" /> + <RegExpr attribute="CMake Internal Variable" context="#stay" String="\b(?:CMAKE_&var_ref_re;_PLATFORM_ID|CMAKE_&var_ref_re;_COMPILER_VERSION_INTERNAL|CMAKE_&var_ref_re;_COMPILER_ARCHITECTURE_ID|CMAKE_&var_ref_re;_COMPILER_ABI)\b" /> + <RegExpr attribute="Builtin Variable" context="#stay" String="\b(?:SWIG_MODULE_&var_ref_re;_EXTRA_DEPS|OpenMP_&var_ref_re;_SPEC_DATE|OpenMP_&var_ref_re;_LIB_NAMES|OpenMP_&var_ref_re;_LIBRARY|OpenMP_&var_ref_re;_FLAGS|OpenACC_&var_ref_re;_SPEC_DATE|OpenACC_&var_ref_re;_OPTIONS|OpenACC_&var_ref_re;_FLAGS|MPI_&var_ref_re;_LIB_NAMES|MPI_&var_ref_re;_LIBRARY|MPI_&var_ref_re;_COMPILE_OPTIONS|MPI_&var_ref_re;_COMPILE_DEFINITIONS|MPI_&var_ref_re;_COMPILER|MPI_&var_ref_re;_ADDITIONAL_INCLUDE_VARS|ICU_&var_ref_re;_LIBRARY|ICU_&var_ref_re;_EXECUTABLE|FETCHCONTENT_UPDATES_DISCONNECTED_&var_ref_re;|FETCHCONTENT_SOURCE_DIR_&var_ref_re;|ExternalData_URL_ALGO_&var_ref_re;_&var_ref_re;|ExternalData_CUSTOM_SCRIPT_&var_ref_re;|DOXYGEN_&var_ref_re;|CPACK_WIX_PROPERTY_&var_ref_re;|CPACK_WIX_&var_ref_re;_EXTRA_FLAGS|CPACK_WIX_&var_ref_re;_EXTENSIONS|CPACK_RPM_NO_&var_ref_re;_INSTALL_PREFIX_RELOCATION|CPACK_RPM_&var_ref_re;_USER_FILELIST|CPACK_RPM_&var_ref_re;_USER_BINARY_SPECFILE|CPACK_RPM_&var_ref_re;_PACKAGE_URL|CPACK_RPM_&var_ref_re;_PACKAGE_SUMMARY|CPACK_RPM_&var_ref_re;_PACKAGE_SUGGESTS|CPACK_RPM_&var_ref_re;_PACKAGE_REQUIRES_PREUN|CPACK_RPM_&var_ref_re;_PACKAGE_REQUIRES_PRE|CPACK_RPM_&var_ref_re;_PACKAGE_REQUIRES_POSTUN|CPACK_RPM_&var_ref_re;_PACKAGE_REQUIRES_POST|CPACK_RPM_&var_ref_re;_PACKAGE_REQUIRES|CPACK_RPM_&var_ref_re;_PACKAGE_PROVIDES|CPACK_RPM_&var_ref_re;_PACKAGE_PREFIX|CPACK_RPM_&var_ref_re;_PACKAGE_OBSOLETES|CPACK_RPM_&var_ref_re;_PACKAGE_NAME|CPACK_RPM_&var_ref_re;_PACKAGE_GROUP|CPACK_RPM_&var_ref_re;_PACKAGE_DESCRIPTION|CPACK_RPM_&var_ref_re;_PACKAGE_CONFLICTS|CPACK_RPM_&var_ref_re;_PACKAGE_AUTOREQPROV|CPACK_RPM_&var_ref_re;_PACKAGE_AUTOREQ|CPACK_RPM_&var_ref_re;_PACKAGE_AUTOPROV|CPACK_RPM_&var_ref_re;_PACKAGE_ARCHITECTURE|CPACK_RPM_&var_ref_re;_FILE_NAME|CPACK_RPM_&var_ref_re;_DEFAULT_USER|CPACK_RPM_&var_ref_re;_DEFAULT_GROUP|CPACK_RPM_&var_ref_re;_DEFAULT_FILE_PERMISSIONS|CPACK_RPM_&var_ref_re;_DEFAULT_DIR_PERMISSIONS|CPACK_RPM_&var_ref_re;_DEBUGINFO_PACKAGE|CPACK_RPM_&var_ref_re;_DEBUGINFO_FILE_NAME|CPACK_RPM_&var_ref_re;_BUILD_SOURCE_DIRS_PREFIX|CPACK_PREFLIGHT_&var_ref_re;_SCRIPT|CPACK_POSTFLIGHT_&var_ref_re;_SCRIPT|CPACK_NUGET_PACKAGE_DEPENDENCIES_&var_ref_re;_VERSION|CPACK_NUGET_&var_ref_re;_PACKAGE_VERSION|CPACK_NUGET_&var_ref_re;_PACKAGE_TITLE|CPACK_NUGET_&var_ref_re;_PACKAGE_TAGS|CPACK_NUGET_&var_ref_re;_PACKAGE_RELEASE_NOTES|CPACK_NUGET_&var_ref_re;_PACKAGE_OWNERS|CPACK_NUGET_&var_ref_re;_PACKAGE_NAME|CPACK_NUGET_&var_ref_re;_PACKAGE_LICENSE_FILE_NAME|CPACK_NUGET_&var_ref_re;_PACKAGE_LICENSE_EXPRESSION|CPACK_NUGET_&var_ref_re;_PACKAGE_LICENSEURL|CPACK_NUGET_&var_ref_re;_PACKAGE_LANGUAGE|CPACK_NUGET_&var_ref_re;_PACKAGE_ICONURL|CPACK_NUGET_&var_ref_re;_PACKAGE_ICON|CPACK_NUGET_&var_ref_re;_PACKAGE_HOMEPAGE_URL|CPACK_NUGET_&var_ref_re;_PACKAGE_DESCRIPTION_SUMMARY|CPACK_NUGET_&var_ref_re;_PACKAGE_DESCRIPTION|CPACK_NUGET_&var_ref_re;_PACKAGE_DEPENDENCIES_&var_ref_re;_VERSION|CPACK_NUGET_&var_ref_re;_PACKAGE_DEPENDENCIES|CPACK_NUGET_&var_ref_re;_PACKAGE_COPYRIGHT|CPACK_NUGET_&var_ref_re;_PACKAGE_AUTHORS|CPACK_NSIS_&var_ref_re;_INSTALL_DIRECTORY|CPACK_DMG_&var_ref_re;_FILE_NAME|CPACK_DEBIAN_&var_ref_re;_PACKAGE_SUGGESTS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_SOURCE|CPACK_DEBIAN_&var_ref_re;_PACKAGE_SHLIBDEPS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_SECTION|CPACK_DEBIAN_&var_ref_re;_PACKAGE_REPLACES|CPACK_DEBIAN_&var_ref_re;_PACKAGE_RECOMMENDS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_PROVIDES|CPACK_DEBIAN_&var_ref_re;_PACKAGE_PRIORITY|CPACK_DEBIAN_&var_ref_re;_PACKAGE_PREDEPENDS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_NAME|CPACK_DEBIAN_&var_ref_re;_PACKAGE_ENHANCES|CPACK_DEBIAN_&var_ref_re;_PACKAGE_DEPENDS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_CONTROL_STRICT_PERMISSION|CPACK_DEBIAN_&var_ref_re;_PACKAGE_CONTROL_EXTRA|CPACK_DEBIAN_&var_ref_re;_PACKAGE_CONFLICTS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_BREAKS|CPACK_DEBIAN_&var_ref_re;_PACKAGE_ARCHITECTURE|CPACK_DEBIAN_&var_ref_re;_FILE_NAME|CPACK_DEBIAN_&var_ref_re;_DESCRIPTION|CPACK_DEBIAN_&var_ref_re;_DEBUGINFO_PACKAGE|CPACK_COMPONENT_&var_ref_re;_REQUIRED|CPACK_COMPONENT_&var_ref_re;_HIDDEN|CPACK_COMPONENT_&var_ref_re;_GROUP|CPACK_COMPONENT_&var_ref_re;_DISPLAY_NAME|CPACK_COMPONENT_&var_ref_re;_DISABLED|CPACK_COMPONENT_&var_ref_re;_DESCRIPTION|CPACK_COMPONENT_&var_ref_re;_DEPENDS|CPACK_BINARY_&var_ref_re;|CPACK_ARCHIVE_&var_ref_re;_FILE_NAME|CPACK_&var_ref_re;_COMPONENT_INSTALL|CMAKE_XCODE_ATTRIBUTE_&var_ref_re;|CMAKE_USER_MAKE_RULES_OVERRIDE_&var_ref_re;|CMAKE_STATIC_LINKER_FLAGS_&var_ref_re;_INIT|CMAKE_STATIC_LINKER_FLAGS_&var_ref_re;|CMAKE_SHARED_LINKER_FLAGS_&var_ref_re;_INIT|CMAKE_SHARED_LINKER_FLAGS_&var_ref_re;|CMAKE_RUNTIME_OUTPUT_DIRECTORY_&var_ref_re;|CMAKE_REQUIRE_FIND_PACKAGE_&var_ref_re;|CMAKE_PROJECT_&var_ref_re;_INCLUDE|CMAKE_POLICY_WARNING_CMP[0-9]{4}|CMAKE_POLICY_DEFAULT_CMP[0-9]{4}|CMAKE_PDB_OUTPUT_DIRECTORY_&var_ref_re;|CMAKE_MODULE_LINKER_FLAGS_&var_ref_re;_INIT|CMAKE_MODULE_LINKER_FLAGS_&var_ref_re;|CMAKE_MATCH_[0-9]+|CMAKE_MAP_IMPORTED_CONFIG_&var_ref_re;|CMAKE_LIBRARY_OUTPUT_DIRECTORY_&var_ref_re;|CMAKE_INTERPROCEDURAL_OPTIMIZATION_&var_ref_re;|CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_&var_ref_re;|CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_&var_ref_re;|CMAKE_EXE_LINKER_FLAGS_&var_ref_re;_INIT|CMAKE_EXE_LINKER_FLAGS_&var_ref_re;|CMAKE_DISABLE_FIND_PACKAGE_&var_ref_re;|CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_&var_ref_re;|CMAKE_ARGV[0-9]+|CMAKE_ARCHIVE_OUTPUT_DIRECTORY_&var_ref_re;|CMAKE_&var_ref_re;_VISIBILITY_PRESET|CMAKE_&var_ref_re;_STANDARD_LIBRARIES|CMAKE_&var_ref_re;_STANDARD_INCLUDE_DIRECTORIES|CMAKE_&var_ref_re;_SOURCE_FILE_EXTENSIONS|CMAKE_&var_ref_re;_SIZEOF_DATA_PTR|CMAKE_&var_ref_re;_SIMULATE_VERSION|CMAKE_&var_ref_re;_SIMULATE_ID|CMAKE_&var_ref_re;_POSTFIX|CMAKE_&var_ref_re;_OUTPUT_EXTENSION|CMAKE_&var_ref_re;_LINK_WHAT_YOU_USE_FLAG|CMAKE_&var_ref_re;_LINK_LIBRARY_FLAG|CMAKE_&var_ref_re;_LINK_LIBRARY_FILE_FLAG|CMAKE_&var_ref_re;_LINK_EXECUTABLE|CMAKE_&var_ref_re;_LINKER_WRAPPER_FLAG_SEP|CMAKE_&var_ref_re;_LINKER_WRAPPER_FLAG|CMAKE_&var_ref_re;_LINKER_PREFERENCE_PROPAGATES|CMAKE_&var_ref_re;_LINKER_PREFERENCE|CMAKE_&var_ref_re;_LINKER_LAUNCHER|CMAKE_&var_ref_re;_LIBRARY_ARCHITECTURE|CMAKE_&var_ref_re;_INCLUDE_WHAT_YOU_USE|CMAKE_&var_ref_re;_IMPLICIT_LINK_LIBRARIES|CMAKE_&var_ref_re;_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES|CMAKE_&var_ref_re;_IMPLICIT_LINK_DIRECTORIES|CMAKE_&var_ref_re;_IMPLICIT_INCLUDE_DIRECTORIES|CMAKE_&var_ref_re;_IGNORE_EXTENSIONS|CMAKE_&var_ref_re;_GHS_KERNEL_FLAGS_RELWITHDEBINFO|CMAKE_&var_ref_re;_GHS_KERNEL_FLAGS_RELEASE|CMAKE_&var_ref_re;_GHS_KERNEL_FLAGS_MINSIZEREL|CMAKE_&var_ref_re;_GHS_KERNEL_FLAGS_DEBUG|CMAKE_&var_ref_re;_FLAGS_RELWITHDEBINFO_INIT|CMAKE_&var_ref_re;_FLAGS_RELWITHDEBINFO|CMAKE_&var_ref_re;_FLAGS_RELEASE_INIT|CMAKE_&var_ref_re;_FLAGS_RELEASE|CMAKE_&var_ref_re;_FLAGS_MINSIZEREL_INIT|CMAKE_&var_ref_re;_FLAGS_MINSIZEREL|CMAKE_&var_ref_re;_FLAGS_INIT|CMAKE_&var_ref_re;_FLAGS_DEBUG_INIT|CMAKE_&var_ref_re;_FLAGS_DEBUG|CMAKE_&var_ref_re;_FLAGS|CMAKE_&var_ref_re;_EXTENSIONS_DEFAULT|CMAKE_&var_ref_re;_EXTENSIONS|CMAKE_&var_ref_re;_CREATE_STATIC_LIBRARY|CMAKE_&var_ref_re;_CREATE_SHARED_MODULE|CMAKE_&var_ref_re;_CREATE_SHARED_LIBRARY|CMAKE_&var_ref_re;_CPPLINT|CMAKE_&var_ref_re;_CPPCHECK|CMAKE_&var_ref_re;_COMPILE_OBJECT|CMAKE_&var_ref_re;_COMPILER_VERSION|CMAKE_&var_ref_re;_COMPILER_TARGET|CMAKE_&var_ref_re;_COMPILER_RANLIB|CMAKE_&var_ref_re;_COMPILER_LOADED|CMAKE_&var_ref_re;_COMPILER_LAUNCHER|CMAKE_&var_ref_re;_COMPILER_ID|CMAKE_&var_ref_re;_COMPILER_EXTERNAL_TOOLCHAIN|CMAKE_&var_ref_re;_COMPILER_AR|CMAKE_&var_ref_re;_COMPILER|CMAKE_&var_ref_re;_CLANG_TIDY|CMAKE_&var_ref_re;_BYTE_ORDER|CMAKE_&var_ref_re;_ARCHIVE_FINISH|CMAKE_&var_ref_re;_ARCHIVE_CREATE|CMAKE_&var_ref_re;_ARCHIVE_APPEND|CMAKE_&var_ref_re;_ANDROID_TOOLCHAIN_SUFFIX|CMAKE_&var_ref_re;_ANDROID_TOOLCHAIN_PREFIX|CMAKE_&var_ref_re;_ANDROID_TOOLCHAIN_MACHINE|Boost_&var_ref_re;_LIBRARY_RELEASE|Boost_&var_ref_re;_LIBRARY_DEBUG|Boost_&var_ref_re;_LIBRARY|BISON_&var_ref_re;_OUTPUT_SOURCE|BISON_&var_ref_re;_OUTPUT_HEADER|BISON_&var_ref_re;_OUTPUTS|BISON_&var_ref_re;_INPUT|BISON_&var_ref_re;_DEFINED|BISON_&var_ref_re;_COMPILE_FLAGS|ARGV[0-9]+|&var_ref_re;__TRYRUN_OUTPUT|&var_ref_re;_VERSION_TWEAK|&var_ref_re;_VERSION_STRING|&var_ref_re;_VERSION_PATCH|&var_ref_re;_VERSION_MINOR|&var_ref_re;_VERSION_MAJOR|&var_ref_re;_VERSION_COUNT|&var_ref_re;_VERSION|&var_ref_re;_UNPARSED_ARGUMENTS|&var_ref_re;_SOURCE_DIR|&var_ref_re;_ROOT|&var_ref_re;_MODULE_NAME|&var_ref_re;_LIBRARY_DIRS|&var_ref_re;_LIBRARIES|&var_ref_re;_KEYWORDS_MISSING_VALUES|&var_ref_re;_IS_TOP_LEVEL|&var_ref_re;_INCLUDE_DIRS|&var_ref_re;_HOMEPAGE_URL|&var_ref_re;_FOUND|&var_ref_re;_FIND_VERSION_RANGE_MIN|&var_ref_re;_FIND_VERSION_RANGE_MAX|&var_ref_re;_FIND_VERSION_RANGE|&var_ref_re;_FIND_VERSION_MIN_TWEAK|&var_ref_re;_FIND_VERSION_MIN_PATCH|&var_ref_re;_FIND_VERSION_MIN_MINOR|&var_ref_re;_FIND_VERSION_MIN_MAJOR|&var_ref_re;_FIND_VERSION_MIN_COUNT|&var_ref_re;_FIND_VERSION_MIN|&var_ref_re;_FIND_VERSION_MAX_TWEAK|&var_ref_re;_FIND_VERSION_MAX_PATCH|&var_ref_re;_FIND_VERSION_MAX_MINOR|&var_ref_re;_FIND_VERSION_MAX_MAJOR|&var_ref_re;_FIND_VERSION_MAX_COUNT|&var_ref_re;_FIND_VERSION_MAX|&var_ref_re;_FIND_VERSION_EXACT|&var_ref_re;_FIND_VERSION_COUNT|&var_ref_re;_FIND_VERSION_COMPLETE|&var_ref_re;_FIND_REQUIRED_&var_ref_re;|&var_ref_re;_FIND_REQUIRED|&var_ref_re;_FIND_QUIETLY|&var_ref_re;_FIND_COMPONENTS|&var_ref_re;_DESCRIPTION|&var_ref_re;_CONSIDERED_VERSIONS|&var_ref_re;_CONSIDERED_CONFIGS|&var_ref_re;_CONFIG|&var_ref_re;_BINARY_DIR)\b" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect Variable Substitutions"> <RegExpr attribute="Cache Variable Substitution" context="#stay" String="\$CACHE\{\s*[\w-]+\s*\}" /> <RegExpr attribute="Environment Variable Substitution" context="EnvVarSubst" String="\$?ENV\{" /> <Detect2Chars attribute="Variable Substitution" context="VarSubst" char="$" char1="{" /> - <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&id_re;@" lookAhead="true" /> + <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" /> </context> <context attribute="Environment Variable Substitution" lineEndContext="#pop" name="EnvVarSubst"> <keyword attribute="Standard Environment Variable" context="#stay" String="environment-variables" insensitive="false" /> - <RegExpr attribute="Standard Environment Variable" context="#stay" String="\b(?:CMAKE_&id_re;_COMPILER_LAUNCHER|ASM&id_re;FLAGS|ASM&id_re;|&id_re;_ROOT|&id_re;_DIR)\b" /> + <RegExpr attribute="Standard Environment Variable" context="#stay" String="\b(?:CMAKE_&var_ref_re;_COMPILER_LAUNCHER|ASM&var_ref_re;FLAGS|ASM&var_ref_re;|&var_ref_re;_ROOT|&var_ref_re;_DIR)\b" /> <DetectIdentifier /> <IncludeRules context="Detect Variable Substitutions" /> <DetectChar attribute="Environment Variable Substitution" context="#pop" char="}" /> @@ -4069,6 +7346,15 @@ <DetectChar attribute="@Variable Substitution" context="#pop#pop" char="@" /> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Target Name"> + <RegExpr attribute="Aliased Targets" context="#pop" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> + <RegExpr attribute="Targets" context="#pop" String="&tgt_name_re;" /> + <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" /> + <IncludeRules context="User Function Args" /> + <DetectSpaces /> + <RegExpr attribute="Error" context="#stay" String=".*" /> + </context> + <context attribute="Normal Text" lineEndContext="#stay" name="User Function Args"> <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="(" /> <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1=")" /> @@ -4101,12 +7387,12 @@ <WordDetect attribute="False Special Arg" context="#stay" String="N" insensitive="true" /> <WordDetect attribute="False Special Arg" context="#stay" String="IGNORE" insensitive="true" /> <WordDetect attribute="False Special Arg" context="#stay" String="0" /> - <RegExpr attribute="False Special Arg" context="#stay" String="\b(?:&id_re;-)?NOTFOUND\b" /> - <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9][0-9][0-9]\b" /> + <RegExpr attribute="False Special Arg" context="#stay" String="\b(?:&var_ref_re;-)?NOTFOUND\b" /> + <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9][0-9][0-9][0-9]\b" /> </context> <context attribute="Normal Text" lineEndContext="#stay" name="Detect Aliased Targets"> - <RegExpr attribute="Aliased Targets" context="#stay" String="\b&id_re;::&id_re;(?:\:\:&id_re;)*\b" /> + <RegExpr attribute="Aliased Targets" context="#stay" String="&tgt_name_re;::&tgt_name_re;(?:\:\:&tgt_name_re;)*" /> </context> <context attribute="Comment" lineEndContext="#pop" name="Match Comments"> @@ -4170,9 +7456,12 @@ <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" /> + <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" /> <itemData name="Command" defStyleNum="dsKeyword" spellChecking="false" /> + <itemData name="CMake Provided Function/Macro" defStyleNum="dsFunction" bold="true" spellChecking="false" /> <itemData name="User Function/Macro" defStyleNum="dsFunction" spellChecking="false" /> <itemData name="Property" defStyleNum="dsOthers" spellChecking="false" /> + <itemData name="Targets" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Aliased Targets" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Named Args" defStyleNum="dsOthers" spellChecking="false" /> <itemData name="Special Args" defStyleNum="dsOthers" spellChecking="false" /> @@ -4191,8 +7480,10 @@ <itemData name="Standard Environment Variable" defStyleNum="dsFloat" spellChecking="false" /> <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false" /> <itemData name="Generator Expression" defStyleNum="dsOthers" color="#b86050" selColor="#b86050" spellChecking="false" /> - <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" /> + <itemData name="Standard Module" defStyleNum="dsImport" spellChecking="false" /> + <itemData name="Deprecated Module" defStyleNum="dsImport" spellChecking="false" /> <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" /> + <itemData name="Error" defStyleNum="dsError" spellChecking="false" /> </itemDatas> </highlighting> @@ -4200,7 +7491,7 @@ <general> <comments> <comment name="singleLine" start="#" position="afterwhitespace" /> - <comment name="multiLine" start="#[[" end="]]" region="BracketedComment"/> + <comment name="multiLine" start="#[[" end="]]" region="BracketedComment" /> </comments> <keywords casesensitive="1" weakDeliminator="." /> </general> diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml index f03587977a4..b850cca6733 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml @@ -90,7 +90,7 @@ <!ENTITY checkbox "\[[ x]\](?=\s)"> ]> -<language name="Markdown" version="19" kateversion="5.79" section="Markup" extensions="*.md;*.mmd;*.markdown" priority="15" author="Darrin Yeager, Claes Holmerson" license="GPL,BSD"> +<language name="Markdown" version="21" kateversion="5.79" section="Markup" extensions="*.md;*.mmd;*.markdown" priority="15" author="Darrin Yeager, Claes Holmerson" license="GPL,BSD"> <highlighting> <contexts> <!-- Start of the Markdown document: find metadata or code block --> @@ -149,33 +149,43 @@ </context> <context name="find-header" attribute="Normal Text" lineEndContext="#pop"> - <!-- TODO: Replace "(?=.$)" in the regexes with just "$" when close-H#-region are removed --> - <RegExpr attribute="Header H1" context="#pop!close-H2-region" String="^#\s.*[#]?(?=.$)" column="0" endRegion="H1" beginRegion="H1"/> - <RegExpr attribute="Header H2" context="#pop!close-H3-region" String="^##\s.*[#]?(?=.$)" column="0" endRegion="H2" beginRegion="H2"/> - <RegExpr attribute="Header H3" context="#pop!close-H4-region" String="^###\s.*[#]?(?=.$)" column="0" endRegion="H3" beginRegion="H3"/> - <RegExpr attribute="Header H4" context="#pop!close-H5-region" String="^####\s.*[#]?(?=.$)" column="0" endRegion="H4" beginRegion="H4"/> - <RegExpr attribute="Header H5" context="#pop!close-H6-region" String="^#####\s.*[#]?(?=.$)" column="0" endRegion="H5" beginRegion="H5"/> - <RegExpr attribute="Header H6" context="#pop" String="^######\s.*[#]?$" column="0" endRegion="H6" beginRegion="H6"/> + <RegExpr attribute="Header H1" context="#pop!close-H2-region" String="^(#\s.*[#]?)$" column="0" endRegion="H1" beginRegion="H1" lookAhead="true"/> + <RegExpr attribute="Header H2" context="#pop!close-H3-region" String="^(##\s.*[#]?)$" column="0" endRegion="H2" beginRegion="H2" lookAhead="true"/> + <RegExpr attribute="Header H3" context="#pop!close-H4-region" String="^(###\s.*[#]?)$" column="0" endRegion="H3" beginRegion="H3" lookAhead="true"/> + <RegExpr attribute="Header H4" context="#pop!close-H5-region" String="^(####\s.*[#]?)$" column="0" endRegion="H4" beginRegion="H4" lookAhead="true"/> + <RegExpr attribute="Header H5" context="#pop!close-H6-region" String="^(#####\s.*[#]?)$" column="0" endRegion="H5" beginRegion="H5" lookAhead="true"/> + <RegExpr attribute="Header H6" context="#pop!close-sentinel-region" String="^(######\s.*[#]?)$" column="0" endRegion="H6" beginRegion="H6" lookAhead="true"/> <DetectChar attribute="Normal Text" context="#pop" char="#"/> </context> <!-- BUG: 441278 sub-headers should be closed when their parent header is closed (e.g. in h1 h2 h3 h1, h1-h3 should all be closed at the 2nd h1) --> <!-- TODO: Port to a less hacky version (maybe a new attribute for declaring multiple endRegions) --> <context name="close-H2-region" attribute="Header H2" lineEndContext="#pop!close-H3-region" fallthroughContext="#pop!close-H3-region"> - <RegExpr attribute="Header H2" context="#pop!close-H3-region" String="." lookAhead="true" endRegion="H2"/> + <RegExpr attribute="Header H2" context="#pop!close-H3-region" String="(%1)" dynamic="true" lookAhead="true" endRegion="H2"/> </context> <context name="close-H3-region" attribute="Header H3" lineEndContext="#pop!close-H4-region" fallthroughContext="#pop!close-H4-region"> - <RegExpr attribute="Header H3" context="#pop!close-H4-region" String="." lookAhead="true" endRegion="H3"/> + <RegExpr attribute="Header H3" context="#pop!close-H4-region" String="(%1)" dynamic="true" lookAhead="true" endRegion="H3"/> </context> <context name="close-H4-region" attribute="Header H4" lineEndContext="#pop!close-H5-region" fallthroughContext="#pop!close-H5-region"> - <RegExpr attribute="Header H4" context="#pop!close-H5-region" String="." lookAhead="true" endRegion="H4"/> + <RegExpr attribute="Header H4" context="#pop!close-H5-region" String="(%1)" dynamic="true" lookAhead="true" endRegion="H4"/> </context> <context name="close-H5-region" attribute="Header H5" lineEndContext="#pop!close-H6-region" fallthroughContext="#pop!close-H6-region"> - <RegExpr attribute="Header H5" context="#pop!close-H6-region" String="." lookAhead="true" endRegion="H5"/> + <RegExpr attribute="Header H5" context="#pop!close-H6-region" String="(%1)" dynamic="true" lookAhead="true" endRegion="H5"/> </context> <context name="close-H6-region" attribute="Header H6" lineEndContext="#pop" fallthroughContext="#pop"> - <RegExpr attribute="Header H6" context="#pop" String="." endRegion="H6"/> + <RegExpr attribute="Header H6" context="#pop!close-sentinel-region" String="(%1)" dynamic="true" lookAhead="true" endRegion="H6"/> + </context> + <!-- This sentinel does not close any actual region, it's just here so that the proper attribute/highlighting is applied and --> + <!--to ensure that H6 headers won't be set as the "primary" region that was closed just because it was closed last --> + <context name="close-sentinel-region" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop"> + <RegExpr attribute="Header H1" context="#pop" String="^(?=#\s)%1$" column="0" dynamic="true"/> + <RegExpr attribute="Header H2" context="#pop" String="^(?=##\s)%1$" column="0" dynamic="true"/> + <RegExpr attribute="Header H3" context="#pop" String="^(?=###\s)%1$" column="0" dynamic="true"/> + <RegExpr attribute="Header H4" context="#pop" String="^(?=####\s)%1$" column="0" dynamic="true"/> + <RegExpr attribute="Header H5" context="#pop" String="^(?=#####\s)%1$" column="0" dynamic="true"/> + <RegExpr attribute="Header H6" context="#pop" String="^(?=######\s)%1$" column="0" dynamic="true"/> </context> + <context name="find-strong-normal" attribute="Normal Text" lineEndContext="#pop"> <RegExpr attribute="Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast_und;|&strongemphasisregex_ast_und2;"/> <RegExpr attribute="Strong Text" context="#pop" minimal="true" String="&strongregex_ast;"/> @@ -320,6 +330,7 @@ <RegExpr attribute="Fenced Code" context="#pop!javascript-code" String="&fcode;\s*(?:javascript|m?js|es6|kwinscript|julius)&end;" insensitive="true"/> <RegExpr attribute="Fenced Code" context="#pop!jsx-code" String="&fcode;\s*(?:jsx|tsx|(?:java|type)script\-react)&end;" insensitive="true"/> <!-- Included in the HTML definition. Also apply for TSX. --> <RegExpr attribute="Fenced Code" context="#pop!json-code" String="&fcode;\s*(?:json5?|gltf)&end;" insensitive="true"/> + <RegExpr attribute="Fenced Code" context="#pop!yaml-code" String="&fcode;\s*(?:ya?ml)&end;" insensitive="true"/> <RegExpr attribute="Fenced Code" context="#pop!matlab-code" String="&fcode;\s*matlab&end;" insensitive="true"/> <RegExpr attribute="Fenced Code" context="#pop!markdown-code" String="&fcode;\s*(?:markdown|m?md)&end;" insensitive="true"/> <RegExpr attribute="Fenced Code" context="#pop!mustache-code" String="&fcode;\s*(?:handlebars|hbs|mustache|mst|ractive|hogan|hulk)&end;" insensitive="true"/> <!-- Included in the HTML definition --> @@ -404,6 +415,10 @@ <IncludeRules context="code"/> <IncludeRules context="##JSON" includeAttrib="true"/> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="yaml-code"> + <IncludeRules context="code"/> + <IncludeRules context="##YAML" includeAttrib="true"/> + </context> <context attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="find-code-block" name="markdown-code"> <IncludeRules context="code"/> <IncludeRules context="Normal Text"/> diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/spdx-comments.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/spdx-comments.xml index e64399098c3..7d893119279 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/spdx-comments.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/spdx-comments.xml @@ -1,7 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> +<!-- ***** THIS FILE WAS GENERATED BY A SCRIPT - DO NOT EDIT ***** + cd data/generators + # increase version of spdx-comments.xml.tpl then + ./generate-spdx-syntax.py > ../syntax/spdx-comments.xml +--> <language - version="5" + version="6" kateversion="3.1" name="SPDX-Comments" section="Other" @@ -26,494 +31,520 @@ </list> <list name="licenses"> - <item>0BSD</item> - <item>AAL</item> - <item>ADSL</item> - <item>AFL-1.1</item> - <item>AFL-1.2</item> - <item>AFL-2.0</item> - <item>AFL-2.1</item> - <item>AFL-3.0</item> - <item>AGPL-1.0-only</item> - <item>AGPL-1.0-or-later</item> - <item>AGPL-3.0-only</item> - <item>AGPL-3.0-or-later</item> - <item>AMDPLPA</item> - <item>AML</item> - <item>AMPAS</item> - <item>ANTLR-PD</item> - <item>ANTLR-PD-fallback</item> - <item>APAFML</item> - <item>APL-1.0</item> - <item>APSL-1.0</item> + <item>bzip2-1.0.6</item> + <item>Intel-ACPI</item> + <item>XSkat</item> + <item>CC-BY-NC-SA-2.0</item> + <item>Plexus</item> + <item>Giftware</item> + <item>BitTorrent-1.0</item> <item>APSL-1.1</item> - <item>APSL-1.2</item> - <item>APSL-2.0</item> - <item>Abstyles</item> + <item>UPL-1.0</item> + <item>Caldera</item> + <item>Zend-2.0</item> + <item>CUA-OPL-1.0</item> + <item>JPNIC</item> + <item>SAX-PD</item> + <item>CC-BY-ND-2.5</item> + <item>eGenix</item> + <item>LGPLLR</item> + <item>OLDAP-2.2.2</item> + <item>CC-BY-ND-3.0-DE</item> + <item>IPA</item> + <item>NCSA</item> + <item>W3C</item> <item>Adobe-2006</item> - <item>Adobe-Glyph</item> - <item>Afmparse</item> - <item>Aladdin</item> - <item>Apache-1.0</item> - <item>Apache-1.1</item> - <item>Apache-2.0</item> - <item>Artistic-1.0</item> - <item>Artistic-1.0-Perl</item> - <item>Artistic-1.0-cl8</item> - <item>Artistic-2.0</item> - <item>BSD-1-Clause</item> - <item>BSD-2-Clause</item> - <item>BSD-2-Clause-Patent</item> - <item>BSD-2-Clause-Views</item> - <item>BSD-3-Clause</item> - <item>BSD-3-Clause-Attribution</item> - <item>BSD-3-Clause-Clear</item> - <item>BSD-3-Clause-LBNL</item> + <item>Net-SNMP</item> + <item>CC-BY-SA-4.0</item> + <item>YPL-1.0</item> + <item>MITNFA</item> + <item>PHP-3.01</item> + <item>BSD-Source-Code</item> + <item>CC-BY-SA-2.5</item> + <item>Motosoto</item> + <item>OSL-1.1</item> + <item>NGPL</item> + <item>CC-BY-2.5-AU</item> + <item>Unicode-TOU</item> <item>BSD-3-Clause-No-Nuclear-License</item> - <item>BSD-3-Clause-No-Nuclear-License-2014</item> + <item>OPUBL-1.0</item> + <item>CC-BY-NC-SA-2.0-UK</item> + <item>NLOD-2.0</item> + <item>gnuplot</item> + <item>EPICS</item> + <item>Info-ZIP</item> + <item>OLDAP-2.0</item> + <item>CERN-OHL-P-2.0</item> <item>BSD-3-Clause-No-Nuclear-Warranty</item> - <item>BSD-3-Clause-Open-MPI</item> - <item>BSD-4-Clause</item> - <item>BSD-4-Clause-UC</item> + <item>AML</item> + <item>MulanPSL-1.0</item> + <item>Multics</item> + <item>VSL-1.0</item> + <item>RSA-MD</item> + <item>CC-PDDC</item> + <item>CC-BY-SA-2.1-JP</item> + <item>LPPL-1.2</item> + <item>Spencer-94</item> + <item>OLDAP-1.2</item> + <item>O-UDA-1.0</item> + <item>OLDAP-2.7</item> + <item>Glulxe</item> + <item>iMatix</item> + <item>TAPR-OHL-1.0</item> + <item>NBPL-1.0</item> + <item>LiLiQ-R-1.1</item> + <item>Noweb</item> + <item>CC0-1.0</item> <item>BSD-Protection</item> - <item>BSD-Source-Code</item> - <item>BSL-1.0</item> - <item>BUSL-1.1</item> - <item>Bahyph</item> - <item>Barr</item> - <item>Beerware</item> - <item>BitTorrent-1.0</item> - <item>BitTorrent-1.1</item> - <item>BlueOak-1.0.0</item> - <item>Borceux</item> - <item>CAL-1.0</item> - <item>CAL-1.0-Combined-Work-Exception</item> - <item>CATOSL-1.1</item> - <item>CC-BY-1.0</item> - <item>CC-BY-2.0</item> - <item>CC-BY-2.5</item> - <item>CC-BY-3.0</item> + <item>CC-BY-NC-2.5</item> + <item>Zlib</item> + <item>GFDL-1.3-invariants-or-later</item> <item>CC-BY-3.0-AT</item> + <item>LPPL-1.3c</item> + <item>EPL-1.0</item> + <item>GFDL-1.1-invariants-or-later</item> + <item>ANTLR-PD-fallback</item> + <item>OLDAP-2.4</item> + <item>OLDAP-2.3</item> + <item>ZPL-2.1</item> + <item>Apache-2.0</item> + <item>SGI-B-2.0</item> + <item>Hippocratic-2.1</item> + <item>CC-BY-SA-3.0-DE</item> + <item>CC-BY-NC-SA-1.0</item> + <item>LGPL-2.1-or-later</item> <item>CC-BY-3.0-US</item> - <item>CC-BY-4.0</item> + <item>TCP-wrappers</item> + <item>GFDL-1.2-invariants-or-later</item> + <item>Eurosym</item> + <item>LPPL-1.0</item> + <item>SGI-B-1.0</item> + <item>APL-1.0</item> + <item>libtiff</item> + <item>AFL-2.1</item> <item>CC-BY-NC-1.0</item> - <item>CC-BY-NC-2.0</item> - <item>CC-BY-NC-2.5</item> - <item>CC-BY-NC-3.0</item> + <item>GD</item> + <item>AFL-1.1</item> + <item>CC-BY-NC-ND-3.0-IGO</item> + <item>Unicode-DFS-2015</item> + <item>GFDL-1.2-only</item> + <item>MPL-1.1</item> + <item>GPL-2.0-only</item> <item>CC-BY-NC-4.0</item> - <item>CC-BY-NC-ND-1.0</item> - <item>CC-BY-NC-ND-2.0</item> + <item>FreeImage</item> + <item>SHL-0.51</item> + <item>CNRI-Jython</item> + <item>ZPL-1.1</item> + <item>Afmparse</item> + <item>OLDAP-2.1</item> + <item>Rdisc</item> + <item>Imlib2</item> + <item>BSD-4-Clause-Shortened</item> + <item>Sendmail</item> + <item>CC-BY-2.5</item> + <item>AAL</item> + <item>MPL-2.0-no-copyleft-exception</item> <item>CC-BY-NC-ND-2.5</item> - <item>CC-BY-NC-ND-3.0</item> - <item>CC-BY-NC-ND-3.0-IGO</item> - <item>CC-BY-NC-ND-4.0</item> - <item>CC-BY-NC-SA-1.0</item> - <item>CC-BY-NC-SA-2.0</item> - <item>CC-BY-NC-SA-2.5</item> - <item>CC-BY-NC-SA-3.0</item> - <item>CC-BY-NC-SA-4.0</item> - <item>CC-BY-ND-1.0</item> - <item>CC-BY-ND-2.0</item> - <item>CC-BY-ND-2.5</item> - <item>CC-BY-ND-3.0</item> - <item>CC-BY-ND-4.0</item> - <item>CC-BY-SA-1.0</item> - <item>CC-BY-SA-2.0</item> - <item>CC-BY-SA-2.0-UK</item> - <item>CC-BY-SA-2.5</item> + <item>CC-BY-3.0-NL</item> + <item>LPL-1.02</item> + <item>ECL-1.0</item> + <item>OFL-1.0-no-RFN</item> + <item>CC-BY-NC-SA-3.0-DE</item> <item>CC-BY-SA-3.0</item> - <item>CC-BY-SA-3.0-AT</item> - <item>CC-BY-SA-4.0</item> - <item>CC-PDDC</item> - <item>CC0-1.0</item> - <item>CDDL-1.0</item> - <item>CDDL-1.1</item> - <item>CDLA-Permissive-1.0</item> + <item>NTP</item> + <item>MPL-2.0</item> + <item>APSL-1.2</item> + <item>GFDL-1.2-no-invariants-only</item> + <item>Artistic-2.0</item> + <item>RSCPL</item> + <item>Sleepycat</item> + <item>xpp</item> <item>CDLA-Sharing-1.0</item> - <item>CECILL-1.0</item> - <item>CECILL-1.1</item> - <item>CECILL-2.0</item> - <item>CECILL-2.1</item> - <item>CECILL-B</item> - <item>CECILL-C</item> - <item>CERN-OHL-1.1</item> - <item>CERN-OHL-1.2</item> - <item>CERN-OHL-P-2.0</item> - <item>CERN-OHL-S-2.0</item> - <item>CERN-OHL-W-2.0</item> - <item>CNRI-Jython</item> - <item>CNRI-Python</item> - <item>CNRI-Python-GPL-Compatible</item> - <item>CPAL-1.0</item> - <item>CPL-1.0</item> - <item>CPOL-1.02</item> - <item>CUA-OPL-1.0</item> - <item>Caldera</item> <item>ClArtistic</item> - <item>Condor-1.1</item> - <item>Crossword</item> + <item>AGPL-1.0-only</item> + <item>CC-BY-3.0-DE</item> + <item>AFL-2.0</item> + <item>Intel</item> + <item>GFDL-1.1-no-invariants-or-later</item> + <item>APAFML</item> + <item>SISSL</item> + <item>Naumen</item> + <item>HTMLTIDY</item> + <item>OLDAP-2.8</item> + <item>blessing</item> + <item>CC-BY-ND-2.0</item> + <item>OGTSL</item> + <item>LGPL-2.0-or-later</item> + <item>Parity-7.0.0</item> + <item>CC-BY-ND-1.0</item> + <item>dvipdfm</item> + <item>CNRI-Python</item> + <item>BSD-4-Clause-UC</item> + <item>NLOD-1.0</item> + <item>MS-RL</item> + <item>CC-BY-NC-SA-4.0</item> + <item>HaskellReport</item> + <item>CC-BY-1.0</item> + <item>UCL-1.0</item> + <item>Mup</item> + <item>SMPPL</item> + <item>PHP-3.0</item> + <item>GL2PS</item> <item>CrystalStacker</item> - <item>Cube</item> - <item>D-FSL-1.0</item> - <item>DOC</item> - <item>DSDP</item> - <item>Dotseqn</item> - <item>ECL-1.0</item> - <item>ECL-2.0</item> - <item>EFL-1.0</item> - <item>EFL-2.0</item> - <item>EPICS</item> - <item>EPL-1.0</item> - <item>EPL-2.0</item> - <item>EUDatagrid</item> - <item>EUPL-1.0</item> - <item>EUPL-1.1</item> - <item>EUPL-1.2</item> - <item>Entessa</item> - <item>ErlPL-1.1</item> - <item>Eurosym</item> - <item>FSFAP</item> - <item>FSFUL</item> - <item>FSFULLR</item> - <item>FTL</item> - <item>Fair</item> + <item>W3C-20150513</item> + <item>NIST-PD-fallback</item> + <item>OGL-UK-1.0</item> + <item>CPL-1.0</item> + <item>LGPL-2.1-only</item> + <item>ZPL-2.0</item> <item>Frameworx-1.0</item> - <item>FreeImage</item> + <item>AGPL-3.0-only</item> + <item>DRL-1.0</item> + <item>EFL-2.0</item> + <item>Spencer-99</item> + <item>CAL-1.0-Combined-Work-Exception</item> <item>GFDL-1.1-invariants-only</item> - <item>GFDL-1.1-invariants-or-later</item> - <item>GFDL-1.1-no-invariants-only</item> - <item>GFDL-1.1-no-invariants-or-later</item> + <item>TCL</item> + <item>SHL-0.5</item> + <item>OFL-1.0-RFN</item> + <item>CERN-OHL-W-2.0</item> + <item>Glide</item> + <item>mpich2</item> + <item>psutils</item> + <item>SPL-1.0</item> + <item>Apache-1.1</item> + <item>CC-BY-ND-4.0</item> + <item>FreeBSD-DOC</item> + <item>SCEA</item> + <item>Latex2e</item> + <item>Artistic-1.0-cl8</item> + <item>SGI-B-1.1</item> + <item>NRL</item> + <item>SWL</item> + <item>Zed</item> + <item>CERN-OHL-1.1</item> + <item>RHeCos-1.1</item> + <item>JasPer-2.0</item> + <item>SSPL-1.0</item> + <item>OLDAP-1.4</item> + <item>libpng-2.0</item> + <item>CNRI-Python-GPL-Compatible</item> + <item>Aladdin</item> + <item>CECILL-1.0</item> + <item>Ruby</item> + <item>NPL-1.1</item> + <item>ImageMagick</item> + <item>Cube</item> <item>GFDL-1.1-only</item> - <item>GFDL-1.1-or-later</item> + <item>CC-BY-2.0</item> + <item>AFL-1.2</item> + <item>CC-BY-SA-2.0</item> + <item>CECILL-2.0</item> + <item>MIT-advertising</item> + <item>CC-BY-NC-SA-2.5</item> + <item>Artistic-1.0</item> + <item>OSL-3.0</item> + <item>X11</item> + <item>Bahyph</item> + <item>OLDAP-2.0.1</item> + <item>EUDatagrid</item> + <item>MTLL</item> <item>GFDL-1.2-invariants-only</item> - <item>GFDL-1.2-invariants-or-later</item> - <item>GFDL-1.2-no-invariants-only</item> - <item>GFDL-1.2-no-invariants-or-later</item> - <item>GFDL-1.2-only</item> + <item>GFDL-1.3-no-invariants-or-later</item> + <item>curl</item> + <item>LAL-1.3</item> + <item>DSDP</item> + <item>CERN-OHL-1.2</item> + <item>TOSL</item> + <item>CC-BY-3.0</item> + <item>Qhull</item> + <item>GFDL-1.3-no-invariants-only</item> + <item>TORQUE-1.1</item> + <item>MS-PL</item> + <item>Apache-1.0</item> + <item>copyleft-next-0.3.1</item> <item>GFDL-1.2-or-later</item> + <item>MulanPSL-2.0</item> + <item>FSFAP</item> + <item>Xerox</item> + <item>CDDL-1.0</item> <item>GFDL-1.3-invariants-only</item> - <item>GFDL-1.3-invariants-or-later</item> - <item>GFDL-1.3-no-invariants-only</item> - <item>GFDL-1.3-no-invariants-or-later</item> - <item>GFDL-1.3-only</item> + <item>etalab-2.0</item> + <item>XFree86-1.1</item> + <item>SNIA</item> + <item>LPPL-1.1</item> + <item>CATOSL-1.1</item> + <item>TU-Berlin-2.0</item> <item>GFDL-1.3-or-later</item> - <item>GL2PS</item> - <item>GLWTPL</item> - <item>GPL-1.0-only</item> + <item>LAL-1.2</item> + <item>ICU</item> + <item>FTL</item> + <item>MirOS</item> + <item>CC-BY-NC-ND-3.0</item> + <item>OSET-PL-2.1</item> + <item>CC-BY-NC-ND-2.0</item> + <item>SISSL-1.2</item> + <item>Wsuipa</item> + <item>Zimbra-1.4</item> + <item>Linux-OpenIB</item> + <item>OLDAP-2.5</item> + <item>AMPAS</item> <item>GPL-1.0-or-later</item> - <item>GPL-2.0-only</item> - <item>GPL-2.0-or-later</item> - <item>GPL-3.0-only</item> + <item>BUSL-1.1</item> + <item>Adobe-Glyph</item> + <item>0BSD</item> + <item>W3C-19980720</item> + <item>FSFUL</item> + <item>CC-BY-NC-SA-3.0</item> + <item>DOC</item> + <item>TMate</item> + <item>MIT-open-group</item> + <item>AMDPLPA</item> + <item>Condor-1.1</item> + <item>PolyForm-Noncommercial-1.0.0</item> + <item>BSD-3-Clause-No-Military-License</item> + <item>CC-BY-4.0</item> + <item>OGL-Canada-2.0</item> + <item>CC-BY-NC-SA-3.0-IGO</item> + <item>EFL-1.0</item> + <item>Newsletr</item> + <item>copyleft-next-0.3.0</item> <item>GPL-3.0-or-later</item> - <item>Giftware</item> - <item>Glide</item> - <item>Glulxe</item> - <item>HPND</item> - <item>HPND-sell-variant</item> - <item>HTMLTIDY</item> - <item>HaskellReport</item> - <item>Hippocratic-2.1</item> - <item>IBM-pibs</item> - <item>ICU</item> - <item>IJG</item> - <item>IPA</item> - <item>IPL-1.0</item> - <item>ISC</item> - <item>ImageMagick</item> - <item>Imlib2</item> - <item>Info-ZIP</item> - <item>Intel</item> - <item>Intel-ACPI</item> - <item>Interbase-1.0</item> - <item>JPNIC</item> - <item>JSON</item> - <item>JasPer-2.0</item> - <item>LAL-1.2</item> - <item>LAL-1.3</item> + <item>CDLA-Permissive-2.0</item> + <item>CC-BY-ND-3.0</item> + <item>C-UDA-1.0</item> + <item>Barr</item> + <item>Vim</item> + <item>BitTorrent-1.1</item> + <item>CDL-1.0</item> + <item>CC-BY-SA-1.0</item> + <item>ADSL</item> + <item>PostgreSQL</item> + <item>OFL-1.1</item> + <item>NPL-1.0</item> + <item>xinetd</item> <item>LGPL-2.0-only</item> - <item>LGPL-2.0-or-later</item> - <item>LGPL-2.1-only</item> - <item>LGPL-2.1-or-later</item> + <item>zlib-acknowledgement</item> + <item>OLDAP-2.2.1</item> + <item>APSL-1.0</item> + <item>BSD-3-Clause-LBNL</item> + <item>GLWTPL</item> <item>LGPL-3.0-only</item> - <item>LGPL-3.0-or-later</item> - <item>LGPLLR</item> - <item>LPL-1.0</item> - <item>LPL-1.02</item> - <item>LPPL-1.0</item> - <item>LPPL-1.1</item> - <item>LPPL-1.2</item> - <item>LPPL-1.3a</item> - <item>LPPL-1.3c</item> - <item>Latex2e</item> - <item>Leptonica</item> - <item>LiLiQ-P-1.1</item> - <item>LiLiQ-R-1.1</item> - <item>LiLiQ-Rplus-1.1</item> + <item>OGC-1.0</item> + <item>Dotseqn</item> + <item>MakeIndex</item> + <item>GPL-3.0-only</item> + <item>BSD-3-Clause-No-Nuclear-License-2014</item> + <item>GPL-1.0-only</item> + <item>IJG</item> + <item>AGPL-1.0-or-later</item> + <item>OFL-1.1-no-RFN</item> + <item>BSL-1.0</item> <item>Libpng</item> - <item>Linux-OpenIB</item> - <item>MIT</item> - <item>MIT-0</item> - <item>MIT-CMU</item> - <item>MIT-advertising</item> + <item>CC-BY-NC-3.0</item> + <item>CC-BY-NC-2.0</item> + <item>Unlicense</item> + <item>LPL-1.0</item> + <item>bzip2-1.0.5</item> + <item>Entessa</item> + <item>BSD-2-Clause-Patent</item> + <item>ECL-2.0</item> + <item>Crossword</item> + <item>CC-BY-NC-ND-1.0</item> + <item>OCLC-2.0</item> + <item>CECILL-1.1</item> + <item>CECILL-2.1</item> + <item>OGDL-Taiwan-1.0</item> + <item>Abstyles</item> + <item>libselinux-1.0</item> + <item>ANTLR-PD</item> + <item>GPL-2.0-or-later</item> + <item>IPL-1.0</item> <item>MIT-enna</item> - <item>MIT-feh</item> - <item>MIT-open-group</item> - <item>MITNFA</item> - <item>MPL-1.0</item> - <item>MPL-1.1</item> - <item>MPL-2.0</item> - <item>MPL-2.0-no-copyleft-exception</item> - <item>MS-PL</item> - <item>MS-RL</item> - <item>MTLL</item> - <item>MakeIndex</item> - <item>MirOS</item> - <item>Motosoto</item> - <item>MulanPSL-1.0</item> - <item>MulanPSL-2.0</item> - <item>Multics</item> - <item>Mup</item> - <item>NASA-1.3</item> - <item>NBPL-1.0</item> - <item>NCGL-UK-2.0</item> - <item>NCSA</item> - <item>NGPL</item> - <item>NIST-PD</item> - <item>NIST-PD-fallback</item> - <item>NLOD-1.0</item> - <item>NLPL</item> - <item>NOSL</item> - <item>NPL-1.0</item> - <item>NPL-1.1</item> - <item>NPOSL-3.0</item> - <item>NRL</item> - <item>NTP</item> + <item>CPOL-1.02</item> + <item>CC-BY-SA-3.0-AT</item> + <item>BSD-1-Clause</item> <item>NTP-0</item> - <item>Naumen</item> - <item>Net-SNMP</item> - <item>NetCDF</item> - <item>Newsletr</item> - <item>Nokia</item> - <item>Noweb</item> - <item>O-UDA-1.0</item> - <item>OCCT-PL</item> - <item>OCLC-2.0</item> - <item>ODC-By-1.0</item> - <item>ODbL-1.0</item> - <item>OFL-1.0</item> - <item>OFL-1.0-RFN</item> - <item>OFL-1.0-no-RFN</item> - <item>OFL-1.1</item> + <item>SugarCRM-1.1.3</item> + <item>MIT</item> <item>OFL-1.1-RFN</item> - <item>OFL-1.1-no-RFN</item> - <item>OGC-1.0</item> - <item>OGL-Canada-2.0</item> - <item>OGL-UK-1.0</item> - <item>OGL-UK-2.0</item> - <item>OGL-UK-3.0</item> - <item>OGTSL</item> - <item>OLDAP-1.1</item> - <item>OLDAP-1.2</item> + <item>Watcom-1.0</item> + <item>CC-BY-NC-SA-2.0-FR</item> + <item>ODbL-1.0</item> + <item>FSFULLR</item> <item>OLDAP-1.3</item> - <item>OLDAP-1.4</item> - <item>OLDAP-2.0</item> - <item>OLDAP-2.0.1</item> - <item>OLDAP-2.1</item> - <item>OLDAP-2.2</item> - <item>OLDAP-2.2.1</item> - <item>OLDAP-2.2.2</item> - <item>OLDAP-2.3</item> - <item>OLDAP-2.4</item> - <item>OLDAP-2.5</item> + <item>SSH-OpenSSH</item> + <item>BSD-2-Clause</item> + <item>HPND</item> + <item>Zimbra-1.3</item> + <item>Borceux</item> + <item>OLDAP-1.1</item> + <item>OFL-1.0</item> + <item>NASA-1.3</item> + <item>VOSTROM</item> + <item>MIT-0</item> + <item>ISC</item> + <item>Unicode-DFS-2016</item> + <item>BlueOak-1.0.0</item> + <item>LiLiQ-Rplus-1.1</item> + <item>NOSL</item> + <item>SMLNJ</item> + <item>CPAL-1.0</item> + <item>PSF-2.0</item> + <item>RPL-1.5</item> + <item>MIT-Modern-Variant</item> + <item>Nokia</item> + <item>GFDL-1.1-no-invariants-only</item> + <item>PDDL-1.0</item> + <item>EUPL-1.0</item> + <item>CDDL-1.1</item> + <item>GFDL-1.3-only</item> <item>OLDAP-2.6</item> - <item>OLDAP-2.7</item> - <item>OLDAP-2.8</item> - <item>OML</item> - <item>OPL-1.0</item> - <item>OSET-PL-2.1</item> - <item>OSL-1.0</item> - <item>OSL-1.1</item> - <item>OSL-2.0</item> + <item>JSON</item> + <item>LGPL-3.0-or-later</item> + <item>Fair</item> <item>OSL-2.1</item> - <item>OSL-3.0</item> - <item>OpenSSL</item> - <item>PDDL-1.0</item> - <item>PHP-3.0</item> - <item>PHP-3.01</item> - <item>PSF-2.0</item> - <item>Parity-6.0.0</item> - <item>Parity-7.0.0</item> - <item>Plexus</item> - <item>PolyForm-Noncommercial-1.0.0</item> - <item>PolyForm-Small-Business-1.0.0</item> - <item>PostgreSQL</item> - <item>Python-2.0</item> + <item>LPPL-1.3a</item> + <item>NAIST-2003</item> + <item>CC-BY-NC-ND-4.0</item> + <item>CC-BY-NC-3.0-DE</item> + <item>OPL-1.0</item> + <item>HPND-sell-variant</item> <item>QPL-1.0</item> - <item>Qhull</item> - <item>RHeCos-1.1</item> + <item>EUPL-1.2</item> + <item>GFDL-1.2-no-invariants-or-later</item> + <item>NCGL-UK-2.0</item> + <item>Beerware</item> + <item>BSD-3-Clause-Open-MPI</item> + <item>CECILL-B</item> + <item>EPL-2.0</item> + <item>MIT-feh</item> <item>RPL-1.1</item> - <item>RPL-1.5</item> - <item>RPSL-1.0</item> - <item>RSA-MD</item> - <item>RSCPL</item> - <item>Rdisc</item> - <item>Ruby</item> - <item>SAX-PD</item> - <item>SCEA</item> - <item>SGI-B-1.0</item> - <item>SGI-B-1.1</item> - <item>SGI-B-2.0</item> - <item>SHL-0.5</item> - <item>SHL-0.51</item> - <item>SISSL</item> - <item>SISSL-1.2</item> - <item>SMLNJ</item> - <item>SMPPL</item> - <item>SNIA</item> - <item>SPL-1.0</item> - <item>SSH-OpenSSH</item> + <item>CDLA-Permissive-1.0</item> + <item>Python-2.0</item> + <item>MPL-1.0</item> + <item>GFDL-1.1-or-later</item> + <item>diffmark</item> + <item>OpenSSL</item> + <item>OSL-1.0</item> + <item>Parity-6.0.0</item> + <item>YPL-1.1</item> <item>SSH-short</item> - <item>SSPL-1.0</item> - <item>SWL</item> + <item>IBM-pibs</item> + <item>Xnet</item> + <item>TU-Berlin-1.0</item> + <item>CAL-1.0</item> + <item>AFL-3.0</item> + <item>CECILL-C</item> + <item>OGL-UK-3.0</item> + <item>BSD-3-Clause-Clear</item> + <item>BSD-3-Clause-Modification</item> + <item>CC-BY-SA-2.0-UK</item> <item>Saxpath</item> - <item>Sendmail</item> - <item>Sendmail-8.23</item> + <item>NLPL</item> <item>SimPL-2.0</item> - <item>Sleepycat</item> + <item>psfrag</item> <item>Spencer-86</item> - <item>Spencer-94</item> - <item>Spencer-99</item> - <item>SugarCRM-1.1.3</item> - <item>TAPR-OHL-1.0</item> - <item>TCL</item> - <item>TCP-wrappers</item> - <item>TMate</item> - <item>TORQUE-1.1</item> - <item>TOSL</item> - <item>TU-Berlin-1.0</item> - <item>TU-Berlin-2.0</item> - <item>UCL-1.0</item> - <item>UPL-1.0</item> - <item>Unicode-DFS-2015</item> - <item>Unicode-DFS-2016</item> - <item>Unicode-TOU</item> - <item>Unlicense</item> - <item>VOSTROM</item> - <item>VSL-1.0</item> - <item>Vim</item> - <item>W3C</item> - <item>W3C-19980720</item> - <item>W3C-20150513</item> + <item>OCCT-PL</item> + <item>CERN-OHL-S-2.0</item> + <item>ErlPL-1.1</item> + <item>MIT-CMU</item> + <item>NIST-PD</item> + <item>OSL-2.0</item> + <item>APSL-2.0</item> + <item>Leptonica</item> + <item>PolyForm-Small-Business-1.0.0</item> + <item>LiLiQ-P-1.1</item> + <item>NetCDF</item> + <item>OML</item> + <item>AGPL-3.0-or-later</item> + <item>OLDAP-2.2</item> + <item>BSD-3-Clause</item> <item>WTFPL</item> - <item>Watcom-1.0</item> - <item>Wsuipa</item> - <item>X11</item> - <item>XFree86-1.1</item> - <item>XSkat</item> - <item>Xerox</item> - <item>Xnet</item> - <item>YPL-1.0</item> - <item>YPL-1.1</item> - <item>ZPL-1.1</item> - <item>ZPL-2.0</item> - <item>ZPL-2.1</item> - <item>Zed</item> - <item>Zend-2.0</item> - <item>Zimbra-1.3</item> - <item>Zimbra-1.4</item> - <item>Zlib</item> - <item>blessing</item> - <item>bzip2-1.0.5</item> - <item>bzip2-1.0.6</item> - <item>copyleft-next-0.3.0</item> - <item>copyleft-next-0.3.1</item> - <item>curl</item> - <item>diffmark</item> - <item>dvipdfm</item> - <item>eGenix</item> - <item>etalab-2.0</item> + <item>OGL-UK-2.0</item> + <item>BSD-3-Clause-Attribution</item> + <item>RPSL-1.0</item> + <item>CC-BY-NC-ND-3.0-DE</item> + <item>EUPL-1.1</item> + <item>Sendmail-8.23</item> + <item>ODC-By-1.0</item> + <item>D-FSL-1.0</item> + <item>BSD-4-Clause</item> + <item>BSD-2-Clause-Views</item> + <item>Artistic-1.0-Perl</item> + <item>NPOSL-3.0</item> <item>gSOAP-1.3b</item> - <item>gnuplot</item> - <item>iMatix</item> - <item>libpng-2.0</item> - <item>libselinux-1.0</item> - <item>libtiff</item> - <item>mpich2</item> - <item>psfrag</item> - <item>psutils</item> - <item>xinetd</item> - <item>xpp</item> - <item>zlib-acknowledgement</item> + <item>Interbase-1.0</item> </list> <list name="deprecated-licenses"> - <item>AGPL-1.0</item> - <item>AGPL-3.0</item> - <item>BSD-2-Clause-FreeBSD</item> - <item>BSD-2-Clause-NetBSD</item> + <item>GPL-1.0</item> + <item>GPL-2.0-with-GCC-exception</item> + <item>wxWindows</item> + <item>Nunit</item> <item>GFDL-1.1</item> + <item>GPL-2.0</item> <item>GFDL-1.2</item> + <item>LGPL-2.0</item> + <item>GPL-3.0-with-autoconf-exception</item> <item>GFDL-1.3</item> - <item>GPL-1.0</item> - <item>GPL-2.0</item> - <item>GPL-2.0-with-GCC-exception</item> - <item>GPL-2.0-with-autoconf-exception</item> - <item>GPL-2.0-with-bison-exception</item> + <item>BSD-2-Clause-NetBSD</item> + <item>LGPL-3.0</item> <item>GPL-2.0-with-classpath-exception</item> - <item>GPL-2.0-with-font-exception</item> - <item>GPL-3.0</item> <item>GPL-3.0-with-GCC-exception</item> - <item>GPL-3.0-with-autoconf-exception</item> - <item>LGPL-2.0</item> + <item>BSD-2-Clause-FreeBSD</item> + <item>GPL-3.0</item> + <item>GPL-2.0-with-font-exception</item> + <item>eCos-2.0</item> + <item>GPL-2.0-with-bison-exception</item> + <item>GPL-2.0-with-autoconf-exception</item> + <item>AGPL-1.0</item> + <item>AGPL-3.0</item> <item>LGPL-2.1</item> - <item>LGPL-3.0</item> - <item>Nunit</item> <item>StandardML-NJ</item> - <item>eCos-2.0</item> - <item>wxWindows</item> </list> <list name="exceptions"> - <item>GCC-exception-2.0</item> + <item>GPL-CC-1.0</item> <item>openvpn-openssl-exception</item> + <item>WxWindows-exception-3.1</item> <item>GPL-3.0-linking-exception</item> - <item>Fawkes-Runtime-exception</item> - <item>u-boot-exception-2.0</item> - <item>PS-or-PDF-font-exception-20170817</item> - <item>gnu-javamail-exception</item> - <item>LGPL-3.0-linking-exception</item> - <item>DigiRule-FOSS-exception</item> - <item>LLVM-exception</item> - <item>Linux-syscall-note</item> - <item>GPL-3.0-linking-source-exception</item> - <item>Qwt-exception-1.0</item> - <item>389-exception</item> + <item>i2p-gpl-java-exception</item> + <item>OpenJDK-assembly-exception-1.0</item> <item>mif-exception</item> - <item>eCos-exception-2.0</item> <item>CLISP-exception-2.0</item> + <item>freertos-exception-2.0</item> <item>Bison-exception-2.2</item> - <item>Libtool-exception</item> - <item>LZMA-exception</item> - <item>OpenJDK-assembly-exception-1.0</item> + <item>OCCT-exception-1.0</item> + <item>Autoconf-exception-2.0</item> + <item>LLVM-exception</item> + <item>GCC-exception-3.1</item> <item>Font-exception-2.0</item> + <item>Libtool-exception</item> + <item>u-boot-exception-2.0</item> + <item>Swift-exception</item> + <item>eCos-exception-2.0</item> <item>OCaml-LGPL-linking-exception</item> - <item>GCC-exception-3.1</item> + <item>Qt-GPL-exception-1.0</item> + <item>Linux-syscall-note</item> <item>Bootloader-exception</item> - <item>SHL-2.0</item> - <item>Classpath-exception-2.0</item> - <item>Swift-exception</item> - <item>Autoconf-exception-2.0</item> - <item>FLTK-exception</item> - <item>freertos-exception-2.0</item> + <item>PS-or-PDF-font-exception-20170817</item> <item>Universal-FOSS-exception-1.0</item> - <item>WxWindows-exception-3.1</item> - <item>OCCT-exception-1.0</item> + <item>Classpath-exception-2.0</item> + <item>Qwt-exception-1.0</item> + <item>LZMA-exception</item> <item>Autoconf-exception-3.0</item> - <item>i2p-gpl-java-exception</item> - <item>GPL-CC-1.0</item> + <item>DigiRule-FOSS-exception</item> + <item>389-exception</item> + <item>SHL-2.0</item> + <item>GCC-exception-2.0</item> + <item>GPL-3.0-linking-source-exception</item> <item>Qt-LGPL-exception-1.1</item> + <item>Fawkes-Runtime-exception</item> + <item>gnu-javamail-exception</item> + <item>FLTK-exception</item> + <item>LGPL-3.0-linking-exception</item> <item>SHL-2.1</item> - <item>Qt-GPL-exception-1.0</item> </list> <list name="deprecated-exceptions"> diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme index a433fb883a4..87dac8a5d35 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme @@ -162,9 +162,9 @@ "MarkError": "#cc0000", "MarkExecution": "#888a85", "MarkWarning": "#ad7fa8", - "ModifiedLines": "#451e1a", + "ModifiedLines": "#cc0000", "ReplaceHighlight": "#356703", - "SavedLines": "#23321a", + "SavedLines": "#4e9a06", "SearchHighlight": "#4e9a06", "Separator": "#787775", "SpellChecking": "#e85848", diff --git a/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt index beac3d50e89..419b8ed5b7c 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt @@ -1,8 +1,11 @@ add_subdirectory(indexer) -if(TARGET Qt5::Gui) +if(TARGET Qt${QT_MAJOR_VERSION}::Gui) add_subdirectory(lib) add_subdirectory(cli) endif() +if(TARGET Qt${QT_MAJOR_VERSION}::Quick) + add_subdirectory(quick) +endif() ecm_qt_install_logging_categories( EXPORT KSYNTAXHIGHLIGHTING diff --git a/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt index 4a84696ad91..9aede60ad78 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt @@ -20,6 +20,7 @@ elseif(CMAKE_CROSSCOMPILING) -DECM_DIR=${ECM_DIR} -DCMAKE_PREFIX_PATH=${NATIVE_PREFIX} -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR} INSTALL_COMMAND "" + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/native_katehighlightingindexer-prefix/src/native_katehighlightingindexer-build/bin/katehighlightingindexer ) add_executable(katehighlightingindexer IMPORTED GLOBAL) add_dependencies(katehighlightingindexer native_katehighlightingindexer) @@ -32,6 +33,6 @@ else() if(Qt5XmlPatterns_FOUND AND NOT ECM_ENABLE_SANITIZERS) target_link_libraries(katehighlightingindexer Qt5::XmlPatterns) else() - target_link_libraries(katehighlightingindexer Qt5::Core) + target_link_libraries(katehighlightingindexer Qt${QT_MAJOR_VERSION}::Core) endif() endif() diff --git a/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp b/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp index 4de51ba7c89..d491e13ab99 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp @@ -350,7 +350,7 @@ private: friend uint qHash(const Item &item, uint seed = 0) { - return uint(qHash(item.content, seed)); + return qHash(item.content, seed); } friend bool operator==(const Item &item0, const Item &item1) @@ -513,7 +513,7 @@ private: static const QRegularExpression isDot(QStringLiteral(R"(^\(?\.(?:[*+][*+?]?|[*+]|\{1\})?\$?$)")); // remove "(?:" and ")" static const QRegularExpression removeParentheses(QStringLiteral(R"(\((?:\?:)?|\))")); - // remove parentheses on a double from the string + // remove parentheses on a copy of string auto reg = QString(string).replace(removeParentheses, QString()); isDotRegex = reg.contains(isDot); } @@ -719,7 +719,7 @@ private: friend uint qHash(const Style &style, uint seed = 0) { - return uint(qHash(style.name, seed)); + return qHash(style.name, seed); } friend bool operator==(const Style &style0, const Style &style1) @@ -995,7 +995,6 @@ private: } success = checkLookAhead(rule) && success; success = checkStringDetect(rule) && success; - success = checkAnyChar(rule) && success; success = checkKeyword(definition, rule, referencedKeywords) && success; success = checkRegExpr(filename, rule, context) && success; success = checkDelimiters(definition, rule) && success; @@ -1053,12 +1052,9 @@ private: "\\.\\*[?*]?" REG_CHAR "|" "\\[\\^(" REG_ESCAPE_CHAR "|.)\\]\\*[?*]?\\1" ")$")); - if (( rule.lookAhead == XmlBool::True - || rule.minimal == XmlBool::True - || rule.string.contains(QStringLiteral(".*?")) - || rule.string.contains(QStringLiteral("[^")) - ) && reg.contains(isRange) - ) { + if ((rule.lookAhead == XmlBool::True || rule.minimal == XmlBool::True || rule.string.contains(QStringLiteral(".*?")) + || rule.string.contains(QStringLiteral("[^"))) + && reg.contains(isRange)) { qWarning() << filename << "line" << rule.line << "RegExpr should be replaced by RangeDetect:" << rule.string; return false; } @@ -1079,13 +1075,10 @@ private: #undef REG_ESCAPE_CHAR // use minimal or lazy operator - static const QRegularExpression isMinimal(QStringLiteral( - R"([.][*+][^][?+*()|$]*$)")); - if (rule.lookAhead == XmlBool::True - && rule.minimal != XmlBool::True - && reg.contains(isMinimal) - ) { - qWarning() << filename << "line" << rule.line << "RegExpr should be have minimal=\"1\" or use lazy operator (i.g, '.*' -> '.*?'):" << rule.string; + static const QRegularExpression isMinimal(QStringLiteral(R"([.][*+][^][?+*()|$]*$)")); + if (rule.lookAhead == XmlBool::True && rule.minimal != XmlBool::True && reg.contains(isMinimal)) { + qWarning() << filename << "line" << rule.line + << "RegExpr should be have minimal=\"1\" or use lazy operator (i.g, '.*' -> '.*?'):" << rule.string; return false; } @@ -1179,19 +1172,18 @@ private: if (*first == QLatin1Char('^')) { hasStartOfLine = true; break; - } - else if (*first == QLatin1Char('(')) { + } else if (*first == QLatin1Char('(')) { if (last - first >= 3 && first[1] == QLatin1Char('?') && first[2] == QLatin1Char(':')) { first += 2; } - } - else { + } else { break; } } if (!hasStartOfLine) { - qWarning() << rule.filename << "line" << rule.line << "start of line missing in the pattern with column=\"0\" (i.e. abc -> ^abc):" << rule.string; + qWarning() << rule.filename << "line" << rule.line + << "start of line missing in the pattern with column=\"0\" (i.e. abc -> ^abc):" << rule.string; return false; } } @@ -1314,14 +1306,12 @@ private: } // unnecessary quantifier - static const QRegularExpression unnecessaryQuantifier1(QStringLiteral( - R"([*+?]([.][*+?]{0,2})?$)")); - static const QRegularExpression unnecessaryQuantifier2(QStringLiteral( - R"([*+?]([.][*+?]{0,2})?[)]*$)")); + static const QRegularExpression unnecessaryQuantifier1(QStringLiteral(R"([*+?]([.][*+?]{0,2})?$)")); + static const QRegularExpression unnecessaryQuantifier2(QStringLiteral(R"([*+?]([.][*+?]{0,2})?[)]*$)")); auto &unnecessaryQuantifier = useCapture ? unnecessaryQuantifier1 : unnecessaryQuantifier2; if (rule.lookAhead == XmlBool::True && rule.minimal != XmlBool::True && reg.contains(unnecessaryQuantifier)) { - qWarning() << filename << "line" << rule.line << "Last quantifier is not necessary (i.g., 'xyz*' -> 'xy', 'xyz+.' -> 'xyz.'):" - << rule.string; + qWarning() << filename << "line" << rule.line + << "Last quantifier is not necessary (i.g., 'xyz*' -> 'xy', 'xyz+.' -> 'xyz.'):" << rule.string; return false; } } @@ -1484,32 +1474,11 @@ private: qWarning() << rule.filename << "line" << rule.line << "broken regex:" << rule.string << "problem: dynamic=true but no %\\d+ placeholder"; return false; } - } else { - if (rule.string.size() <= 1) { - const auto replacement = rule.insensitive == XmlBool::True ? QStringLiteral("AnyChar") : QStringLiteral("DetectChar"); - qWarning() << rule.filename << "line" << rule.line << "StringDetect should be replaced by" << replacement; - return false; - } - - if (rule.string.size() <= 2 && rule.insensitive != XmlBool::True) { - qWarning() << rule.filename << "line" << rule.line << "StringDetect should be replaced by Detect2Chars"; - return false; - } } } return true; } - //! Check that AnyChar contains more that 1 character - bool checkAnyChar(const Context::Rule &rule) const - { - if (rule.type == Context::Rule::Type::AnyChar && rule.string.size() <= 1) { - qWarning() << rule.filename << "line" << rule.line << "AnyChar should be replaced by DetectChar"; - return false; - } - return true; - } - //! Check \<include> and delimiter in a keyword list bool checkKeywordsList(const Definition &definition, QSet<const Keywords *> &referencedKeywords) const { @@ -1895,7 +1864,7 @@ private: Rule4 detectIdentifierRule{}; // Contains includedRules and included includedRules - QMap<Context const*, RuleAndInclude> includeContexts; + QMap<Context const *, RuleAndInclude> includeContexts; DotRegex dotRegex; @@ -2232,8 +2201,7 @@ private: if (auto &ruleAndInclude = includeContexts[rule.context.context]) { updateUnreachable1(ruleAndInclude); - } - else { + } else { ruleAndInclude.rule = &rule; } @@ -2378,55 +2346,52 @@ private: const auto end = context.rules.end() - 1; for (; it < end; ++it) { - auto& rule1 = *it; - auto& rule2 = it[1]; - - auto isCommonCompatible = [&]{ - return rule1.attribute == rule2.attribute - && rule1.beginRegion == rule2.beginRegion - && rule1.endRegion == rule2.endRegion - && rule1.lookAhead == rule2.lookAhead - && rule1.firstNonSpace == rule2.firstNonSpace - && rule1.context.context == rule2.context.context - && rule1.context.popCount == rule2.context.popCount - ; + auto &rule1 = *it; + auto &rule2 = it[1]; + + auto isCommonCompatible = [&] { + return rule1.attribute == rule2.attribute && rule1.beginRegion == rule2.beginRegion && rule1.endRegion == rule2.endRegion + && rule1.lookAhead == rule2.lookAhead && rule1.firstNonSpace == rule2.firstNonSpace && rule1.context.context == rule2.context.context + && rule1.context.popCount == rule2.context.popCount; }; switch (rule1.type) { - // request to merge AnyChar/DetectChar - case Context::Rule::Type::AnyChar: - case Context::Rule::Type::DetectChar: - if ((rule2.type == Context::Rule::Type::AnyChar || rule2.type == Context::Rule::Type::DetectChar) && isCommonCompatible() && rule1.column == rule2.column) { - qWarning() << filename << "line" << rule2.line << "can be merged as AnyChar with the previous rule"; - success = false; - } - break; + // request to merge AnyChar/DetectChar + case Context::Rule::Type::AnyChar: + case Context::Rule::Type::DetectChar: + if ((rule2.type == Context::Rule::Type::AnyChar || rule2.type == Context::Rule::Type::DetectChar) && isCommonCompatible() + && rule1.column == rule2.column) { + qWarning() << filename << "line" << rule2.line << "can be merged as AnyChar with the previous rule"; + success = false; + } + break; - // request to merge multiple RegExpr - case Context::Rule::Type::RegExpr: - if (rule2.type == Context::Rule::Type::RegExpr && isCommonCompatible() && rule1.dynamic == rule2.dynamic && (rule1.column == rule2.column || (rule1.column <= 0 && rule2.column <= 0))) { - qWarning() << filename << "line" << rule2.line << "can be merged with the previous rule"; - success = false; - } - break; + // request to merge multiple RegExpr + case Context::Rule::Type::RegExpr: + if (rule2.type == Context::Rule::Type::RegExpr && isCommonCompatible() && rule1.dynamic == rule2.dynamic + && (rule1.column == rule2.column || (rule1.column <= 0 && rule2.column <= 0))) { + qWarning() << filename << "line" << rule2.line << "can be merged with the previous rule"; + success = false; + } + break; - case Context::Rule::Type::DetectSpaces: - case Context::Rule::Type::HlCChar: - case Context::Rule::Type::HlCHex: - case Context::Rule::Type::HlCOct: - case Context::Rule::Type::HlCStringChar: - case Context::Rule::Type::Int: - case Context::Rule::Type::Float: - case Context::Rule::Type::LineContinue: - case Context::Rule::Type::WordDetect: - case Context::Rule::Type::StringDetect: - case Context::Rule::Type::Detect2Chars: - case Context::Rule::Type::IncludeRules: - case Context::Rule::Type::DetectIdentifier: - case Context::Rule::Type::keyword: - case Context::Rule::Type::Unknown: - case Context::Rule::Type::RangeDetect: - break; + case Context::Rule::Type::DetectSpaces: + case Context::Rule::Type::HlCChar: + case Context::Rule::Type::HlCHex: + case Context::Rule::Type::HlCOct: + case Context::Rule::Type::HlCStringChar: + case Context::Rule::Type::Int: + case Context::Rule::Type::Float: + case Context::Rule::Type::LineContinue: + case Context::Rule::Type::WordDetect: + case Context::Rule::Type::StringDetect: + case Context::Rule::Type::Detect2Chars: + case Context::Rule::Type::IncludeRules: + case Context::Rule::Type::DetectIdentifier: + case Context::Rule::Type::keyword: + case Context::Rule::Type::Unknown: + case Context::Rule::Type::RangeDetect: + break; } } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt index 43a60cc19b0..2ab0e603a29 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt @@ -7,6 +7,7 @@ target_sources(KF5SyntaxHighlighting PRIVATE context.cpp contextswitch.cpp definitiondownloader.cpp + highlightingdata.cpp foldingregion.cpp format.cpp htmlhighlighter.cpp @@ -46,13 +47,13 @@ set_target_properties(KF5SyntaxHighlighting PROPERTIES SOVERSION ${SyntaxHighlighting_SOVERSION} EXPORT_NAME SyntaxHighlighting ) -target_include_directories(KF5SyntaxHighlighting INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KSyntaxHighlighting;${KDE_INSTALL_INCLUDEDIR_KF5}>") +target_include_directories(KF5SyntaxHighlighting INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting;${KDE_INSTALL_INCLUDEDIR_KF}>") target_include_directories(KF5SyntaxHighlighting PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR};>") target_link_libraries(KF5SyntaxHighlighting PUBLIC - Qt5::Gui + Qt${QT_MAJOR_VERSION}::Gui PRIVATE - Qt5::Network + Qt${QT_MAJOR_VERSION}::Network ) ecm_generate_headers(SyntaxHighlighting_HEADERS @@ -74,7 +75,7 @@ install(TARGETS KF5SyntaxHighlighting EXPORT KF5SyntaxHighlightingTargets ${KDE_ install(FILES ${SyntaxHighlighting_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/ksyntaxhighlighting_export.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KSyntaxHighlighting) + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting) if(BUILD_QCH) ecm_add_qch( @@ -104,6 +105,6 @@ ecm_generate_pri_file( KF5SyntaxHighlighting DEPS "gui" FILENAME_VAR PRI_FILENAME - INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KSyntaxHighlighting + INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting ) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter.cpp index d6f8cad0c71..5794291ff00 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter.cpp @@ -137,8 +137,7 @@ State AbstractHighlighter::highlightLine(QStringView text, const State &state) * see https://phabricator.kde.org/D18509 */ int endlessLoopingCounter = 0; - while (!stateData->topContext()->lineEmptyContext().isStay() - || (stateData->topContext()->lineEmptyContext().isStay() && !stateData->topContext()->lineEndContext().isStay())) { + while (!stateData->topContext()->lineEmptyContext().isStay() || !stateData->topContext()->lineEndContext().isStay()) { /** * line empty context switches */ @@ -153,8 +152,7 @@ State AbstractHighlighter::highlightLine(QStringView text, const State &state) * line end context switches only when lineEmptyContext is #stay. This avoids * skipping empty lines after a line continuation character (see bug 405903) */ - } else if (!stateData->topContext()->lineEndContext().isStay() - && !d->switchContext(stateData, stateData->topContext()->lineEndContext(), QStringList())) { + } else if (!d->switchContext(stateData, stateData->topContext()->lineEndContext(), QStringList())) { break; } @@ -305,7 +303,7 @@ State AbstractHighlighter::highlightLine(QStringView text, const State &state) d->switchContext(stateData, rule->context(), newResult.captures()); newFormat = rule->attributeFormat().isValid() ? &rule->attributeFormat() : &stateData->topContext()->attributeFormat(); - if (newOffset == text.size() && std::dynamic_pointer_cast<LineContinue>(rule)) { + if (newOffset == text.size() && rule->isLineContinue()) { lineContinuation = true; } break; diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/ansihighlighter.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/ansihighlighter.cpp index 8ae47d80ebf..95517328045 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/ansihighlighter.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/ansihighlighter.cpp @@ -17,7 +17,7 @@ #include <QColor> #include <QFile> #include <QFileInfo> -#include <QMap> +#include <QHash> #include <QTextStream> #include <cmath> @@ -539,7 +539,7 @@ double calculate_CIEDE2000(const CieLab &color1, const CieLab &color2) } struct AnsiBuffer { - using ColorCache = QMap<QRgb, int>; + using ColorCache = QHash<QRgb, int>; void append(char c) { @@ -683,7 +683,8 @@ struct GraphLine { int labelLineLength = 0; int nextLabelOffset = 0; - template<class String> void pushLabel(int offset, String const &s, int charCounter) + template<class String> + void pushLabel(int offset, String const &s, int charCounter) { Q_ASSERT(offset >= labelLineLength); const int n = offset - labelLineLength; @@ -693,7 +694,8 @@ struct GraphLine { nextLabelOffset = labelLineLength; } - template<class String> void pushGraph(int offset, String const &s, int charCounter) + template<class String> + void pushGraph(int offset, String const &s, int charCounter) { Q_ASSERT(offset >= graphLineLength); const int n = offset - graphLineLength; @@ -754,8 +756,15 @@ public: void setDefinition(const KSyntaxHighlighting::Definition &def) override { AbstractHighlighter::setDefinition(def); - m_defData = DefinitionData::get(def); m_contextCapture.setDefinition(def); + + const auto &definitions = def.includedDefinitions(); + for (const auto &definition : definitions) { + const auto *defData = DefinitionData::get(definition); + for (const auto &context : defData->contexts) { + m_defDataBycontexts.insert(&context, defData); + } + } } void highlightData(QTextStream &in, @@ -928,8 +937,8 @@ private: } const auto context = stateData->topContext(); - const auto defData = DefinitionData::get(context->definition()); - const auto contextName = (defData != m_defData) ? QString(QLatin1Char('<') % defData->name % QLatin1Char('>')) : QString(); + const auto defDataIt = m_defDataBycontexts.find(context); + const auto contextName = (defDataIt != m_defDataBycontexts.end()) ? QString(QLatin1Char('<') % (*defDataIt)->name % QLatin1Char('>')) : QString(); return QString(label % contextName % QLatin1Char('[') % context->name() % QLatin1Char(']')); } @@ -1128,12 +1137,13 @@ private: std::vector<HighlightFragment> m_highlightedFragments; std::vector<GraphLine> m_formatGraph; ContextCaptureHighlighter m_contextCapture; - DefinitionData *m_defData; int m_regionDepth = 0; std::vector<Region> m_regions; std::vector<GraphLine> m_regionGraph; std::vector<QStringView> m_regionStyles; + + QHash<const Context *, const DefinitionData *> m_defDataBycontexts; }; } // anonymous namespace diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/context.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/context.cpp index 724f37a03f1..2bd940d8aa7 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/context.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/context.cpp @@ -18,177 +18,111 @@ using namespace KSyntaxHighlighting; -Definition Context::definition() const +Context::Context(const DefinitionData &def, const HighlightingContextData &data) + : m_name(data.name) + , m_attributeFormat(data.attribute.isEmpty() ? Format() : def.formatByName(data.attribute)) + , m_indentationBasedFolding(!data.noIndentationBasedFolding && def.indentationBasedFolding) { - return m_def.definition(); -} - -void Context::setDefinition(const DefinitionRef &def) -{ - m_def = def; + if (!data.attribute.isEmpty() && !m_attributeFormat.isValid()) { + qCWarning(Log) << "Context: Unknown format" << data.attribute << "in context" << m_name << "of definition" << def.name; + } } bool Context::indentationBasedFoldingEnabled() const { - if (m_noIndentationBasedFolding) { - return false; - } - - return m_def.definition().indentationBasedFoldingEnabled(); + return m_indentationBasedFolding; } -void Context::load(QXmlStreamReader &reader) +void Context::resolveContexts(DefinitionData &def, const HighlightingContextData &data) { - Q_ASSERT(reader.name() == QLatin1String("context")); - Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement); - - m_name = reader.attributes().value(QLatin1String("name")).toString(); - m_attribute = reader.attributes().value(QLatin1String("attribute")).toString(); - m_lineEndContext.parse(reader.attributes().value(QLatin1String("lineEndContext"))); - m_lineEmptyContext.parse(reader.attributes().value(QLatin1String("lineEmptyContext"))); - m_fallthroughContext.parse(reader.attributes().value(QLatin1String("fallthroughContext"))); + m_lineEndContext.resolve(def, data.lineEndContext); + m_lineEmptyContext.resolve(def, data.lineEmptyContext); + m_fallthroughContext.resolve(def, data.fallthroughContext); m_fallthrough = !m_fallthroughContext.isStay(); - m_noIndentationBasedFolding = Xml::attrToBool(reader.attributes().value(QLatin1String("noIndentationBasedFolding"))); - - reader.readNext(); - while (!reader.atEnd()) { - switch (reader.tokenType()) { - case QXmlStreamReader::StartElement: { - auto rule = Rule::create(reader.name()); - if (rule) { - rule->setDefinition(m_def.definition()); - if (rule->load(reader)) { - m_rules.push_back(std::move(rule)); - } - } else { - reader.skipCurrentElement(); - } - reader.readNext(); - break; - } - case QXmlStreamReader::EndElement: - return; - default: - reader.readNext(); - break; - } - } -} - -void Context::resolveContexts() -{ - const auto def = m_def.definition(); - m_lineEndContext.resolve(def); - m_lineEmptyContext.resolve(def); - m_fallthroughContext.resolve(def); - for (const auto &rule : m_rules) { - rule->resolveContext(); - } -} -Context::ResolveState Context::resolveState() -{ - if (m_resolveState == Unknown) { - for (const auto &rule : m_rules) { - auto inc = std::dynamic_pointer_cast<IncludeRules>(rule); - if (inc) { - m_resolveState = Unresolved; - return m_resolveState; - } + m_rules.reserve(data.rules.size()); + for (const auto &ruleData : data.rules) { + m_rules.push_back(Rule::create(def, ruleData, m_name)); + if (!m_rules.back()) { + m_rules.pop_back(); } - m_resolveState = Resolved; } - return m_resolveState; } -void Context::resolveIncludes() +void Context::resolveIncludes(DefinitionData &def) { - if (resolveState() == Resolved) { + if (m_resolveState == Resolved) { return; } - if (resolveState() == Resolving) { + if (m_resolveState == Resolving) { qCWarning(Log) << "Cyclic dependency!"; return; } - Q_ASSERT(resolveState() == Unresolved); + Q_ASSERT(m_resolveState == Unresolved); m_resolveState = Resolving; // cycle guard for (auto it = m_rules.begin(); it != m_rules.end();) { - auto inc = std::dynamic_pointer_cast<IncludeRules>(*it); - if (!inc) { + const IncludeRules *includeRules = it->get()->castToIncludeRules(); + if (!includeRules) { ++it; continue; } + Context *context = nullptr; - auto myDefData = DefinitionData::get(m_def.definition()); - if (inc->definitionName().isEmpty()) { // local include - context = myDefData->contextByName(inc->contextName()); + DefinitionData *defData = &def; + + const auto &contextName = includeRules->contextName(); + const int idx = contextName.indexOf(QLatin1String("##")); + + if (idx == -1) { // local include + context = def.contextByName(contextName); } else { - auto def = myDefData->repo->definitionForName(inc->definitionName()); - if (!def.isValid()) { - qCWarning(Log) << "Unable to resolve external include rule for definition" << inc->definitionName() << "in" << m_def.definition().name(); + auto definitionName = contextName.mid(idx + 2); + auto includedDef = def.repo->definitionForName(definitionName); + if (!includedDef.isValid()) { + qCWarning(Log) << "Unable to resolve external include rule for definition" << definitionName << "in" << def.name; ++it; continue; } - auto defData = DefinitionData::get(def); + defData = DefinitionData::get(includedDef); + def.addImmediateIncludedDefinition(includedDef); defData->load(); - if (inc->contextName().isEmpty()) { + if (idx == 0) { context = defData->initialContext(); } else { - context = defData->contextByName(inc->contextName()); + context = defData->contextByName(contextName.left(idx)); } } + if (!context) { - qCWarning(Log) << "Unable to resolve include rule for definition" << inc->contextName() << "##" << inc->definitionName() << "in" - << m_def.definition().name(); + qCWarning(Log) << "Unable to resolve include rule for definition" << contextName << "in" << def.name; + ++it; + continue; + } + + if (context == this) { + qCWarning(Log) << "Unable to resolve self include rule for definition" << contextName << "in" << def.name; ++it; continue; } - context->resolveIncludes(); + + if (context->m_resolveState != Resolved) { + context->resolveIncludes(*defData); + } /** * handle included attribute * transitive closure: we might include attributes included from somewhere else */ - if (inc->includeAttribute()) { - m_attribute = context->m_attribute; - m_attributeContext = context->m_attributeContext ? context->m_attributeContext : context; + if (includeRules->includeAttribute()) { + m_attributeFormat = context->m_attributeFormat; } it = m_rules.erase(it); - for (const auto &rule : context->rules()) { - it = m_rules.insert(it, rule); - ++it; - } + it = m_rules.insert(it, context->rules().begin(), context->rules().end()); + it += context->rules().size(); } m_resolveState = Resolved; } - -void Context::resolveAttributeFormat() -{ - /** - * try to get our format from the definition we stem from - * we need to handle included attributes via m_attributeContext - */ - if (!m_attribute.isEmpty()) { - const auto def = m_attributeContext ? m_attributeContext->m_def.definition() : m_def.definition(); - m_attributeFormat = DefinitionData::get(def)->formatByName(m_attribute); - if (!m_attributeFormat.isValid()) { - if (m_attributeContext) { - qCWarning(Log) << "Context: Unknown format" << m_attribute << "in context" << m_name << "of definition" << m_def.definition().name() - << "from included context" << m_attributeContext->m_name << "of definition" << def.name(); - } else { - qCWarning(Log) << "Context: Unknown format" << m_attribute << "in context" << m_name << "of definition" << m_def.definition().name(); - } - } - } - - /** - * lookup formats for our rules - */ - for (const auto &rule : m_rules) { - rule->resolveAttributeFormat(this); - } -} diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/context_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/context_p.h index 62630455370..7e077b5a244 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/context_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/context_p.h @@ -8,9 +8,8 @@ #define KSYNTAXHIGHLIGHTING_CONTEXT_P_H #include "contextswitch_p.h" -#include "definition.h" -#include "definitionref_p.h" #include "format.h" +#include "highlightingdata_p.hpp" #include "rule_p.h" #include <QString> @@ -23,14 +22,18 @@ QT_END_NAMESPACE namespace KSyntaxHighlighting { +class DefinitionData; + class Context { public: - Context() = default; - ~Context() = default; + Q_DISABLE_COPY(Context) - Definition definition() const; - void setDefinition(const DefinitionRef &def); + Context(Context &&) = default; + Context &operator=(Context &&) = default; + + Context(const DefinitionData &def, const HighlightingContextData &data); + ~Context() = default; const QString &name() const { @@ -73,44 +76,28 @@ public: */ bool indentationBasedFoldingEnabled() const; - void load(QXmlStreamReader &reader); - void resolveContexts(); - void resolveIncludes(); - void resolveAttributeFormat(); + void resolveContexts(DefinitionData &def, const HighlightingContextData &data); + void resolveIncludes(DefinitionData &def); private: - Q_DISABLE_COPY(Context) + enum ResolveState : quint8 { Unresolved, Resolving, Resolved }; - enum ResolveState { Unknown, Unresolved, Resolving, Resolved }; - ResolveState resolveState(); + std::vector<Rule::Ptr> m_rules; - DefinitionRef m_def; QString m_name; - /** - * attribute name, to lookup our format - */ - QString m_attribute; - - /** - * context to use for lookup, if != this context - */ - const Context *m_attributeContext = nullptr; - - /** - * resolved format for our attribute, done in resolveAttributeFormat - */ - Format m_attributeFormat; - ContextSwitch m_lineEndContext; ContextSwitch m_lineEmptyContext; ContextSwitch m_fallthroughContext; - std::vector<Rule::Ptr> m_rules; + /** + * resolved format for our attribute, done in constructor and resolveIncludes + */ + Format m_attributeFormat; - ResolveState m_resolveState = Unknown; + ResolveState m_resolveState = Unresolved; bool m_fallthrough = false; - bool m_noIndentationBasedFolding = false; + bool m_indentationBasedFolding; }; } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp index e829af463a3..9cab177dae1 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp @@ -7,69 +7,45 @@ #include "contextswitch_p.h" #include "definition.h" #include "definition_p.h" +#include "highlightingdata_p.hpp" #include "ksyntaxhighlighting_logging.h" #include "repository.h" using namespace KSyntaxHighlighting; -bool ContextSwitch::isStay() const +void ContextSwitch::resolve(DefinitionData &def, QStringView contextInstr) { - return m_popCount == 0 && !m_context && m_contextName.isEmpty() && m_defName.isEmpty(); -} + HighlightingContextData::ContextSwitch ctx(contextInstr); -int ContextSwitch::popCount() const -{ - return m_popCount; -} - -Context *ContextSwitch::context() const -{ - return m_context; -} - -void ContextSwitch::parse(QStringView contextInstr) -{ - if (contextInstr.isEmpty() || contextInstr == QLatin1String("#stay")) { - return; - } + m_popCount = ctx.popCount(); + m_isStay = !m_popCount; - if (contextInstr.startsWith(QLatin1String("#pop!"))) { - ++m_popCount; - m_contextName = contextInstr.mid(5).toString(); - return; - } + auto contextName = ctx.contextName(); + auto defName = ctx.defName(); - if (contextInstr.startsWith(QLatin1String("#pop"))) { - ++m_popCount; - parse(contextInstr.mid(4)); + if (contextName.isEmpty() && defName.isEmpty()) { return; } - const auto idx = contextInstr.indexOf(QLatin1String("##")); - if (idx >= 0) { - m_contextName = contextInstr.left(idx).toString(); - m_defName = contextInstr.mid(idx + 2).toString(); + if (defName.isEmpty()) { + m_context = def.contextByName(contextName.toString()); } else { - m_contextName = contextInstr.toString(); - } -} - -void ContextSwitch::resolve(const Definition &def) -{ - auto d = def; - if (!m_defName.isEmpty()) { - d = DefinitionData::get(def)->repo->definitionForName(m_defName); - auto data = DefinitionData::get(d); - data->load(); - if (m_contextName.isEmpty()) { - m_context = data->initialContext(); + auto d = def.repo->definitionForName(defName.toString()); + if (d.isValid()) { + auto data = DefinitionData::get(d); + def.addImmediateIncludedDefinition(d); + data->load(); + if (contextName.isEmpty()) { + m_context = data->initialContext(); + } else { + m_context = data->contextByName(contextName.toString()); + } } } - if (!m_contextName.isEmpty()) { - m_context = DefinitionData::get(d)->contextByName(m_contextName); - if (!m_context) { - qCWarning(Log) << "cannot find context" << m_contextName << "in" << def.name(); - } + if (!m_context) { + qCWarning(Log) << "cannot find context" << contextName << "in" << def.name; + } else { + m_isStay = false; } } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h index 8230c4a3884..29b0e685e24 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h @@ -12,7 +12,7 @@ namespace KSyntaxHighlighting { class Context; -class Definition; +class DefinitionData; class ContextSwitch { @@ -20,19 +20,27 @@ public: ContextSwitch() = default; ~ContextSwitch() = default; - bool isStay() const; + bool isStay() const + { + return m_isStay; + } - int popCount() const; - Context *context() const; + int popCount() const + { + return m_popCount; + } - void parse(QStringView contextInstr); - void resolve(const Definition &def); + Context *context() const + { + return m_context; + } + + void resolve(DefinitionData &def, QStringView contextInstr); private: - QString m_defName; - QString m_contextName; Context *m_context = nullptr; int m_popCount = 0; + bool m_isStay = true; }; } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp index 068907a4e28..0fbc9187c09 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp @@ -14,6 +14,7 @@ #include "context_p.h" #include "format.h" #include "format_p.h" +#include "highlightingdata_p.hpp" #include "ksyntaxhighlighting_logging.h" #include "ksyntaxhighlighting_version.h" #include "repository.h" @@ -39,10 +40,7 @@ DefinitionData::DefinitionData() { } -DefinitionData::~DefinitionData() -{ - qDeleteAll(contexts); -} +DefinitionData::~DefinitionData() = default; DefinitionData *DefinitionData::get(const Definition &def) { @@ -237,45 +235,23 @@ QVector<Definition> Definition::includedDefinitions() const d->load(); // init worklist and result used as guard with this definition - QVector<Definition> queue{*this}; + QVector<const DefinitionData *> queue{d.get()}; QVector<Definition> definitions{*this}; - while (!queue.isEmpty()) { - // Iterate all context rules to find associated Definitions. This will - // automatically catch other Definitions referenced with IncludeRuldes or ContextSwitch. - const auto definition = queue.takeLast(); - for (const auto &context : std::as_const(definition.d->contexts)) { - // handle context switch attributes of this context itself - for (const auto switchContext : - {context->lineEndContext().context(), context->lineEmptyContext().context(), context->fallthroughContext().context()}) { - if (switchContext) { - if (!definitions.contains(switchContext->definition())) { - queue.push_back(switchContext->definition()); - definitions.push_back(switchContext->definition()); - } - } - } - - // handle the embedded rules - for (const auto &rule : context->rules()) { - // handle include rules like inclusion - if (!definitions.contains(rule->definition())) { - queue.push_back(rule->definition()); - definitions.push_back(rule->definition()); - } - - // handle context switch context inclusion - if (auto switchContext = rule->context().context()) { - if (!definitions.contains(switchContext->definition())) { - queue.push_back(switchContext->definition()); - definitions.push_back(switchContext->definition()); - } - } + while (!queue.empty()) { + const auto *def = queue.back(); + queue.pop_back(); + for (const auto &defRef : def->immediateIncludedDefinitions) { + const auto definition = defRef.definition(); + if (!definitions.contains(definition)) { + definitions.push_back(definition); + queue.push_back(definition.d.get()); } } } // remove the 1st entry, since it is this Definition - definitions.pop_front(); + definitions.front() = std::move(definitions.back()); + definitions.pop_back(); return definitions; } @@ -304,17 +280,17 @@ QVector<QPair<QChar, QString>> Definition::characterEncodings() const return d->characterEncodings; } -Context *DefinitionData::initialContext() const +Context *DefinitionData::initialContext() { - Q_ASSERT(!contexts.isEmpty()); - return contexts.first(); + Q_ASSERT(!contexts.empty()); + return &contexts.front(); } -Context *DefinitionData::contextByName(const QString &wantedName) const +Context *DefinitionData::contextByName(const QString &wantedName) { - for (const auto context : contexts) { - if (context->name() == wantedName) { - return context; + for (auto &context : contexts) { + if (context.name() == wantedName) { + return &context; } } return nullptr; @@ -338,7 +314,7 @@ Format DefinitionData::formatByName(const QString &wantedName) const bool DefinitionData::isLoaded() const { - return !contexts.isEmpty(); + return !contexts.empty(); } bool DefinitionData::load(OnlyKeywords onlyKeywords) @@ -383,17 +359,7 @@ bool DefinitionData::load(OnlyKeywords onlyKeywords) it->setCaseSensitivity(caseSensitive); } - for (const auto context : std::as_const(contexts)) { - context->resolveContexts(); - context->resolveIncludes(); - context->resolveAttributeFormat(); - } - - for (const auto context : std::as_const(contexts)) { - for (const auto &rule : context->rules()) { - rule->resolvePostProcessing(); - } - } + resolveContexts(); return true; } @@ -402,9 +368,21 @@ void DefinitionData::clear() { // keep only name and repo, so we can re-lookup to make references persist over repo reloads keywordLists.clear(); - qDeleteAll(contexts); contexts.clear(); formats.clear(); + contextDatas.clear(); + immediateIncludedDefinitions.clear(); + wordDelimiters = WordDelimiters(); + wordWrapDelimiters = wordDelimiters; + keywordIsLoaded = false; + hasFoldingRegions = false; + indentationBasedFolding = false; + foldingIgnoreList.clear(); + singleLineCommentMarker.clear(); + singleLineCommentPosition = CommentPosition::StartOfLine; + multiLineCommentStartMarker.clear(); + multiLineCommentEndMarker.clear(); + characterEncodings.clear(); fileName.clear(); section.clear(); @@ -414,8 +392,6 @@ void DefinitionData::clear() license.clear(); mimetypes.clear(); extensions.clear(); - wordDelimiters = WordDelimiters(); - wordWrapDelimiters = wordDelimiters; caseSensitive = Qt::CaseSensitive; version = 0.0f; priority = 0; @@ -563,14 +539,14 @@ void DefinitionData::loadContexts(QXmlStreamReader &reader) Q_ASSERT(reader.name() == QLatin1String("contexts")); Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement); + contextDatas.reserve(32); + while (!reader.atEnd()) { switch (reader.tokenType()) { case QXmlStreamReader::StartElement: if (reader.name() == QLatin1String("context")) { - auto context = new Context; - context->setDefinition(q); - context->load(reader); - contexts.push_back(context); + contextDatas.push_back(HighlightingContextData()); + contextDatas.back().load(name, reader); } reader.readNext(); break; @@ -583,6 +559,50 @@ void DefinitionData::loadContexts(QXmlStreamReader &reader) } } +void DefinitionData::resolveContexts() +{ + contexts.reserve(contextDatas.size()); + + /** + * Transform all HighlightingContextData to Context. + * This is necessary so that Context::resolveContexts() can find the referenced contexts. + */ + for (const auto &contextData : std::as_const(contextDatas)) { + contexts.emplace_back(*this, contextData); + } + + /** + * Resolves contexts and rules. + */ + auto ctxIt = contexts.begin(); + for (const auto &contextData : std::as_const(contextDatas)) { + ctxIt->resolveContexts(*this, contextData); + ++ctxIt; + } + + /** + * To free the memory, constDatas is emptied because it is no longer used. + */ + contextDatas.clear(); + contextDatas.shrink_to_fit(); + + /** + * Resolved includeRules. + */ + for (auto &context : contexts) { + context.resolveIncludes(*this); + } + + /** + * Post-processing on rules. + */ + for (const auto &context : contexts) { + for (auto &rule : context.rules()) { + rule->resolvePostProcessing(); + } + } +} + void DefinitionData::loadItemData(QXmlStreamReader &reader) { Q_ASSERT(reader.name() == QLatin1String("itemDatas")); @@ -635,8 +655,7 @@ void DefinitionData::loadGeneral(QXmlStreamReader &reader) wordDelimiters.remove(reader.attributes().value(QLatin1String("weakDeliminator"))); // adapt WordWrapDelimiters - auto wordWrapDeliminatorAttr = reader.attributes().value( - QLatin1String("wordWrapDeliminator")); + auto wordWrapDeliminatorAttr = reader.attributes().value(QLatin1String("wordWrapDeliminator")); if (wordWrapDeliminatorAttr.isEmpty()) { wordWrapDelimiters = wordDelimiters; } else { @@ -803,21 +822,40 @@ quint16 DefinitionData::foldingRegionId(const QString &foldName) return RepositoryPrivate::get(repo)->foldingRegionId(name, foldName); } -DefinitionRef::DefinitionRef() +void DefinitionData::addImmediateIncludedDefinition(const Definition &def) { + if (get(def) != this) { + DefinitionRef defRef(def); + if (!immediateIncludedDefinitions.contains(defRef)) { + immediateIncludedDefinitions.push_back(std::move(defRef)); + } + } } +DefinitionRef::DefinitionRef() = default; + DefinitionRef::DefinitionRef(const Definition &def) : d(def.d) { } +DefinitionRef::DefinitionRef(Definition &&def) + : d(std::move(def.d)) +{ +} + DefinitionRef &DefinitionRef::operator=(const Definition &def) { d = def.d; return *this; } +DefinitionRef &DefinitionRef::operator=(Definition &&def) +{ + d = std::move(def.d); + return *this; +} + Definition DefinitionRef::definition() const { if (!d.expired()) { @@ -828,9 +866,5 @@ Definition DefinitionRef::definition() const bool DefinitionRef::operator==(const DefinitionRef &other) const { - if (d.expired() != other.d.expired()) { - return false; - } - - return d.expired() || d.lock().get() == other.d.lock().get(); + return !d.owner_before(other.d) && !other.d.owner_before(d); } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h index e5455e14e98..7d89a47a48d 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h @@ -8,14 +8,16 @@ #ifndef KSYNTAXHIGHLIGHTING_DEFINITION_P_H #define KSYNTAXHIGHLIGHTING_DEFINITION_P_H -#include "definition.h" #include "definitionref_p.h" +#include "highlightingdata_p.hpp" #include "worddelimiters_p.h" #include <QHash> #include <QString> #include <QVector> +#include <vector> + QT_BEGIN_NAMESPACE class QCborMap; class QXmlStreamReader; @@ -55,23 +57,31 @@ public: void loadSpellchecking(QXmlStreamReader &reader); bool checkKateVersion(QStringView verStr); + void resolveContexts(); + void resolveIncludeKeywords(); KeywordList *keywordList(const QString &name); - Context *initialContext() const; - Context *contextByName(const QString &name) const; + Context *initialContext(); + Context *contextByName(const QString &name); Format formatByName(const QString &name) const; quint16 foldingRegionId(const QString &foldName); + void addImmediateIncludedDefinition(const Definition &def); + DefinitionRef q; Repository *repo = nullptr; QHash<QString, KeywordList> keywordLists; - QVector<Context *> contexts; + std::vector<Context> contexts; QHash<QString, Format> formats; + // data loaded from xml file and emptied after loading contexts + QVector<HighlightingContextData> contextDatas; + // Definition referenced by IncludeRules and ContextSwitch + QVector<DefinitionRef> immediateIncludedDefinitions; WordDelimiters wordDelimiters; WordDelimiters wordWrapDelimiters; bool keywordIsLoaded = false; diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp index b16139b731f..f9dbc298666 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp @@ -172,8 +172,7 @@ void DefinitionDownloader::start() const QString url = QLatin1String("https://www.kate-editor.org/syntax/update-") + QString::number(SyntaxHighlighting_VERSION_MAJOR) + QLatin1Char('.') + QString::number(SyntaxHighlighting_VERSION_MINOR) + QLatin1String(".xml"); auto req = QNetworkRequest(QUrl(url)); - req.setAttribute(QNetworkRequest::RedirectPolicyAttribute, - QNetworkRequest::NoLessSafeRedirectPolicy); + req.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy); auto reply = d->nam->get(req); QObject::connect(reply, &QNetworkReply::finished, this, [=]() { d->definitionListDownloadFinished(reply); diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.h b/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.h index db0c6ee68ae..2eaf0561ef1 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.h @@ -59,7 +59,7 @@ public: /** * Destructor. */ - ~DefinitionDownloader(); + ~DefinitionDownloader() override; /** * Starts the update procedure. diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definitionref_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/definitionref_p.h index 285fec3e206..a92fc988d90 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definitionref_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definitionref_p.h @@ -7,6 +7,8 @@ #ifndef KSYNTAXHIGHLIGHTING_DEFINITIONREF_P_H #define KSYNTAXHIGHLIGHTING_DEFINITIONREF_P_H +#include "definition.h" + #include <memory> namespace KSyntaxHighlighting @@ -29,7 +31,9 @@ class DefinitionRef public: DefinitionRef(); explicit DefinitionRef(const Definition &def); + explicit DefinitionRef(Definition &&def); DefinitionRef &operator=(const Definition &def); + DefinitionRef &operator=(Definition &&def); Definition definition() const; diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/highlightingdata.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/highlightingdata.cpp new file mode 100644 index 00000000000..7f589e252b8 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/highlightingdata.cpp @@ -0,0 +1,402 @@ +/* + SPDX-FileCopyrightText: 2021 Jonathan Poelen <jonathan.poelen@gmail.com> + + SPDX-License-Identifier: MIT +*/ + +#include "highlightingdata_p.hpp" +#include "ksyntaxhighlighting_logging.h" +#include "xml_p.h" + +#include <QXmlStreamReader> +#include <QStringView> + +using namespace KSyntaxHighlighting; + +template<class Data, class... Args> +static void initRuleData(Data &data, Args &&...args) +{ + new (&data) Data{std::move(args)...}; +} + +static Qt::CaseSensitivity attrToCaseSensitivity(QStringView str) +{ + return Xml::attrToBool(str) ? Qt::CaseInsensitive : Qt::CaseSensitive; +} + +static HighlightingContextData::Rule::WordDelimiters loadAdditionalWordDelimiters(QXmlStreamReader &reader) +{ + return HighlightingContextData::Rule::WordDelimiters{ + reader.attributes().value(QLatin1String("additionalDeliminator")).toString(), + reader.attributes().value(QLatin1String("weakDeliminator")).toString(), + }; +} + +static bool checkIsNotEmpty(QStringView str, const char *attrName, const QString &defName, QXmlStreamReader &reader) +{ + if (!str.isEmpty()) { + return true; + } + + qCWarning(Log) << defName << "at line" << reader.lineNumber() << ": " << attrName << "attribute is empty"; + return false; +} + +static bool checkIsChar(QStringView str, const char *attrName, const QString &defName, QXmlStreamReader &reader) +{ + if (str.size() == 1) { + return true; + } + + qCWarning(Log) << defName << "at line" << reader.lineNumber() << ": " << attrName << "attribute must contain exactly 1 character"; + return false; +} + +static bool loadRule(const QString &defName, HighlightingContextData::Rule &rule, QXmlStreamReader &reader) +{ + using Rule = HighlightingContextData::Rule; + + QStringView name = reader.name(); + const auto attrs = reader.attributes(); + bool isIncludeRules = false; + + if (name == QLatin1String("DetectChar")) { + const auto s = attrs.value(QLatin1String("char")); + if (!checkIsChar(s, "char", defName, reader)) { + return false; + } + const QChar c = s.at(0); + const bool dynamic = Xml::attrToBool(attrs.value(QLatin1String("dynamic"))); + + initRuleData(rule.data.detectChar, c, dynamic); + rule.type = Rule::Type::DetectChar; + } else if (name == QLatin1String("RegExpr")) { + const auto pattern = attrs.value(QLatin1String("String")); + if (!checkIsNotEmpty(pattern, "String", defName, reader)) { + return false; + } + + const auto isCaseInsensitive = attrToCaseSensitivity(attrs.value(QLatin1String("insensitive"))); + const auto isMinimal = Xml::attrToBool(attrs.value(QLatin1String("minimal"))); + const auto dynamic = Xml::attrToBool(attrs.value(QLatin1String("dynamic"))); + + initRuleData(rule.data.regExpr, pattern.toString(), isCaseInsensitive, isMinimal, dynamic); + rule.type = Rule::Type::RegExpr; + } else if (name == QLatin1String("IncludeRules")) { + const auto context = attrs.value(QLatin1String("context")); + if (!checkIsNotEmpty(context, "context", defName, reader)) { + return false; + } + const bool includeAttribute = Xml::attrToBool(attrs.value(QLatin1String("includeAttrib"))); + + initRuleData(rule.data.includeRules, context.toString(), includeAttribute); + rule.type = Rule::Type::IncludeRules; + isIncludeRules = true; + } else if (name == QLatin1String("Detect2Chars")) { + const auto s1 = attrs.value(QLatin1String("char")); + const auto s2 = attrs.value(QLatin1String("char1")); + if (!checkIsChar(s1, "char", defName, reader)) { + return false; + } + if (!checkIsChar(s2, "char1", defName, reader)) { + return false; + } + + initRuleData(rule.data.detect2Chars, s1.at(0), s2.at(0)); + rule.type = Rule::Type::Detect2Chars; + } else if (name == QLatin1String("keyword")) { + const auto s = attrs.value(QLatin1String("String")); + if (!checkIsNotEmpty(s, "String", defName, reader)) { + return false; + } + Qt::CaseSensitivity caseSensitivityOverride = Qt::CaseInsensitive; + bool hasCaseSensitivityOverride = false; + + /** + * we might overwrite the case sensitivity + * then we need to init the list for lookup of that sensitivity setting + */ + if (attrs.hasAttribute(QLatin1String("insensitive"))) { + hasCaseSensitivityOverride = true; + caseSensitivityOverride = attrToCaseSensitivity(attrs.value(QLatin1String("insensitive"))); + } + + initRuleData(rule.data.keyword, s.toString(), loadAdditionalWordDelimiters(reader), caseSensitivityOverride, hasCaseSensitivityOverride); + rule.type = Rule::Type::Keyword; + } else if (name == QLatin1String("DetectSpaces")) { + rule.type = Rule::Type::DetectSpaces; + } else if (name == QLatin1String("StringDetect")) { + const auto string = attrs.value(QLatin1String("String")); + if (!checkIsNotEmpty(string, "String", defName, reader)) { + return false; + } + const auto caseSensitivity = attrToCaseSensitivity(attrs.value(QLatin1String("insensitive"))); + const auto dynamic = Xml::attrToBool(attrs.value(QLatin1String("dynamic"))); + const bool isSensitive = (caseSensitivity == Qt::CaseSensitive); + + // String can be replaced with DetectChar or AnyChar + if (!dynamic && string.size() == 1) { + QChar c = string.at(0); + if (isSensitive || c.toLower() == c.toUpper()) { + initRuleData(rule.data.detectChar, c, dynamic); + rule.type = Rule::Type::DetectChar; + } else { + initRuleData(rule.data.anyChar, c.toLower() + c.toUpper()); + rule.type = Rule::Type::AnyChar; + } + } + // String can be replaced with Detect2Chars + else if (isSensitive && !dynamic && string.size() == 2) { + initRuleData(rule.data.detect2Chars, string.at(0), string.at(1)); + rule.type = Rule::Type::Detect2Chars; + } else { + initRuleData(rule.data.stringDetect, string.toString(), caseSensitivity, dynamic); + rule.type = Rule::Type::StringDetect; + } + } else if (name == QLatin1String("WordDetect")) { + const auto word = attrs.value(QLatin1String("String")); + if (!checkIsNotEmpty(word, "String", defName, reader)) { + return false; + } + const auto caseSensitivity = attrToCaseSensitivity(attrs.value(QLatin1String("insensitive"))); + + initRuleData(rule.data.wordDetect, word.toString(), loadAdditionalWordDelimiters(reader), caseSensitivity); + rule.type = Rule::Type::WordDetect; + } else if (name == QLatin1String("AnyChar")) { + const auto chars = attrs.value(QLatin1String("String")); + if (!checkIsNotEmpty(chars, "String", defName, reader)) { + return false; + } + + // AnyChar can be replaced with DetectChar + if (chars.size() == 1) { + initRuleData(rule.data.detectChar, chars.at(0), false); + rule.type = Rule::Type::DetectChar; + } else { + initRuleData(rule.data.anyChar, chars.toString()); + rule.type = Rule::Type::AnyChar; + } + } else if (name == QLatin1String("DetectIdentifier")) { + rule.type = Rule::Type::DetectIdentifier; + } else if (name == QLatin1String("LineContinue")) { + const auto s = attrs.value(QLatin1String("char")); + const QChar c = s.isEmpty() ? QLatin1Char('\\') : s.at(0); + + initRuleData(rule.data.lineContinue, c); + rule.type = Rule::Type::LineContinue; + } else if (name == QLatin1String("Int")) { + initRuleData(rule.data.detectInt, loadAdditionalWordDelimiters(reader)); + rule.type = Rule::Type::Int; + } else if (name == QLatin1String("Float")) { + initRuleData(rule.data.detectFloat, loadAdditionalWordDelimiters(reader)); + rule.type = Rule::Type::Float; + } else if (name == QLatin1String("HlCStringChar")) { + rule.type = Rule::Type::HlCStringChar; + } else if (name == QLatin1String("RangeDetect")) { + const auto s1 = attrs.value(QLatin1String("char")); + const auto s2 = attrs.value(QLatin1String("char1")); + if (!checkIsChar(s1, "char", defName, reader)) { + return false; + } + if (!checkIsChar(s2, "char1", defName, reader)) { + return false; + } + + initRuleData(rule.data.rangeDetect, s1.at(0), s2.at(0)); + rule.type = Rule::Type::RangeDetect; + } else if (name == QLatin1String("HlCHex")) { + initRuleData(rule.data.hlCHex, loadAdditionalWordDelimiters(reader)); + rule.type = Rule::Type::HlCHex; + } else if (name == QLatin1String("HlCChar")) { + rule.type = Rule::Type::HlCChar; + } else if (name == QLatin1String("HlCOct")) { + initRuleData(rule.data.hlCOct, loadAdditionalWordDelimiters(reader)); + rule.type = Rule::Type::HlCOct; + } else { + qCWarning(Log) << "Unknown rule type:" << name; + return false; + } + + if (!isIncludeRules) { + rule.common.contextName = attrs.value(QLatin1String("context")).toString(); + rule.common.beginRegionName = attrs.value(QLatin1String("beginRegion")).toString(); + rule.common.endRegionName = attrs.value(QLatin1String("endRegion")).toString(); + rule.common.attributeName = attrs.value(QLatin1String("attribute")).toString(); + rule.common.firstNonSpace = Xml::attrToBool(attrs.value(QLatin1String("firstNonSpace"))); + rule.common.lookAhead = Xml::attrToBool(attrs.value(QLatin1String("lookAhead"))); + bool colOk = false; + rule.common.column = attrs.value(QLatin1String("column")).toInt(&colOk); + if (!colOk) { + rule.common.column = -1; + } + } + + return true; +} + +template<class Data1, class Data2, class Visitor> +static void dataRuleVisit(HighlightingContextData::Rule::Type type, Data1 &&data1, Data2 &&data2, Visitor &&visitor) +{ + using Rule = HighlightingContextData::Rule; + using Type = Rule::Type; + switch (type) { + case Type::AnyChar: + visitor(data1.anyChar, data2.anyChar); + break; + case Type::DetectChar: + visitor(data1.detectChar, data2.detectChar); + break; + case Type::Detect2Chars: + visitor(data1.detect2Chars, data2.detect2Chars); + break; + case Type::HlCOct: + visitor(data1.hlCOct, data2.hlCOct); + break; + case Type::IncludeRules: + visitor(data1.includeRules, data2.includeRules); + break; + case Type::Int: + visitor(data1.detectInt, data2.detectInt); + break; + case Type::Keyword: + visitor(data1.keyword, data2.keyword); + break; + case Type::LineContinue: + visitor(data1.lineContinue, data2.lineContinue); + break; + case Type::RangeDetect: + visitor(data1.rangeDetect, data2.rangeDetect); + break; + case Type::RegExpr: + visitor(data1.regExpr, data2.regExpr); + break; + case Type::StringDetect: + visitor(data1.stringDetect, data2.stringDetect); + break; + case Type::WordDetect: + visitor(data1.wordDetect, data2.wordDetect); + break; + case Type::Float: + visitor(data1.detectFloat, data2.detectFloat); + break; + case Type::HlCHex: + visitor(data1.hlCHex, data2.hlCHex); + break; + + case Type::HlCStringChar: + case Type::DetectIdentifier: + case Type::DetectSpaces: + case Type::HlCChar: + case Type::Unknown:; + } +} + +HighlightingContextData::Rule::Rule() noexcept = default; + +HighlightingContextData::Rule::Rule(Rule &&other) noexcept + : common(std::move(other.common)) +{ + dataRuleVisit(other.type, data, other.data, [](auto &data1, auto &data2) { + using Data = std::remove_reference_t<decltype(data1)>; + new (&data1) Data(std::move(data2)); + }); + type = other.type; +} + +HighlightingContextData::Rule::Rule(const Rule &other) + : common(other.common) +{ + dataRuleVisit(other.type, data, other.data, [](auto &data1, auto &data2) { + using Data = std::remove_reference_t<decltype(data1)>; + new (&data1) Data(data2); + }); + type = other.type; +} + +HighlightingContextData::Rule::~Rule() +{ + dataRuleVisit(type, data, data, [](auto &data, auto &) { + using Data = std::remove_reference_t<decltype(data)>; + data.~Data(); + }); +} + +HighlightingContextData::ContextSwitch::ContextSwitch(QStringView str) +{ + if (str.isEmpty() || str == QStringLiteral("#stay")) { + return; + } + + while (str.startsWith(QStringLiteral("#pop"))) { + ++m_popCount; + if (str.size() > 4 && str.at(4) == QLatin1Char('!')) { + str = str.mid(5); + break; + } + str = str.mid(4); + } + + if (str.isEmpty()) { + return; + } + + m_contextAndDefName = str.toString(); + m_defNameIndex = str.indexOf(QStringLiteral("##")); +} + +bool HighlightingContextData::ContextSwitch::isStay() const +{ + return m_popCount == -1 && m_contextAndDefName.isEmpty(); +} + +QStringView HighlightingContextData::ContextSwitch::contextName() const +{ + if (m_defNameIndex == -1) { + return m_contextAndDefName; + } + return QStringView(m_contextAndDefName).left(m_defNameIndex); +} + +QStringView HighlightingContextData::ContextSwitch::defName() const +{ + if (m_defNameIndex == -1) { + return QStringView(); + } + return QStringView(m_contextAndDefName).mid(m_defNameIndex + 2); +} + +void HighlightingContextData::load(const QString &defName, QXmlStreamReader &reader) +{ + Q_ASSERT(reader.name() == QLatin1String("context")); + Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement); + + name = reader.attributes().value(QLatin1String("name")).toString(); + attribute = reader.attributes().value(QLatin1String("attribute")).toString(); + lineEndContext = reader.attributes().value(QLatin1String("lineEndContext")).toString(); + lineEmptyContext = reader.attributes().value(QLatin1String("lineEmptyContext")).toString(); + fallthroughContext = reader.attributes().value(QLatin1String("fallthroughContext")).toString(); + noIndentationBasedFolding = Xml::attrToBool(reader.attributes().value(QLatin1String("noIndentationBasedFolding"))); + + rules.reserve(8); + + reader.readNext(); + while (!reader.atEnd()) { + switch (reader.tokenType()) { + case QXmlStreamReader::StartElement: { + auto &rule = rules.emplace_back(); + if (!loadRule(defName, rule, reader)) { + rules.pop_back(); + } + // be done with this rule, skip all subelements, e.g. no longer supported sub-rules + reader.skipCurrentElement(); + reader.readNext(); + break; + } + case QXmlStreamReader::EndElement: + return; + default: + reader.readNext(); + break; + } + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/highlightingdata_p.hpp b/src/libs/3rdparty/syntax-highlighting/src/lib/highlightingdata_p.hpp new file mode 100644 index 00000000000..80aeaf49340 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/highlightingdata_p.hpp @@ -0,0 +1,215 @@ +/* + SPDX-FileCopyrightText: 2021 Jonathan Poelen <jonathan.poelen@gmail.com> + + SPDX-License-Identifier: MIT +*/ + +#ifndef KSYNTAXHIGHLIGHTING_HIGHLIGHTING_DATA_P_H +#define KSYNTAXHIGHLIGHTING_HIGHLIGHTING_DATA_P_H + +#include <QString> +#include <QStringList> + +#include <vector> + +QT_BEGIN_NAMESPACE +class QXmlStreamReader; +QT_END_NAMESPACE + +namespace KSyntaxHighlighting +{ +/** + * Represents the raw xml data of a context and its rules. + * After resolving contexts, members of this class are no longer + * use and the instance can be freed to recover used memory. + */ +class HighlightingContextData +{ +public: + void load(const QString &defName, QXmlStreamReader &reader); + + struct ContextSwitch { + ContextSwitch() = default; + ContextSwitch(QStringView str); + + QStringView contextName() const; + QStringView defName() const; + + bool isStay() const; + + int popCount() const + { + return m_popCount; + } + + private: + int m_popCount = 0; + int m_defNameIndex = -1; + QString m_contextAndDefName; + }; + + struct Rule { + enum class Type : quint8 { + Unknown, + AnyChar, + Detect2Chars, + DetectChar, + HlCOct, + IncludeRules, + Int, + Keyword, + LineContinue, + RangeDetect, + RegExpr, + StringDetect, + WordDetect, + Float, + HlCStringChar, + DetectIdentifier, + DetectSpaces, + HlCChar, + HlCHex, + }; + + struct AnyChar { + QString chars; + }; + + struct Detect2Chars { + QChar char1; + QChar char2; + }; + + struct DetectChar { + QChar char1; + bool dynamic; + }; + + struct WordDelimiters { + QString additionalDeliminator; + QString weakDeliminator; + }; + + struct Float { + WordDelimiters wordDelimiters; + }; + + struct HlCHex { + WordDelimiters wordDelimiters; + }; + + struct HlCOct { + WordDelimiters wordDelimiters; + }; + + struct IncludeRules { + QString contextName; + bool includeAttribute; + }; + + struct Int { + WordDelimiters wordDelimiters; + }; + + struct Keyword { + QString name; + WordDelimiters wordDelimiters; + Qt::CaseSensitivity caseSensitivityOverride; + bool hasCaseSensitivityOverride; + }; + + struct LineContinue { + QChar char1; + }; + + struct RangeDetect { + QChar begin; + QChar end; + }; + + struct RegExpr { + QString pattern; + Qt::CaseSensitivity caseSensitivity; + bool isMinimal; + bool dynamic; + }; + + struct StringDetect { + QString string; + Qt::CaseSensitivity caseSensitivity; + bool dynamic; + }; + + struct WordDetect { + QString word; + WordDelimiters wordDelimiters; + Qt::CaseSensitivity caseSensitivity; + }; + + union Data { + AnyChar anyChar; + Detect2Chars detect2Chars; + DetectChar detectChar; + HlCOct hlCOct; + IncludeRules includeRules; + Int detectInt; + Keyword keyword; + LineContinue lineContinue; + RangeDetect rangeDetect; + RegExpr regExpr; + StringDetect stringDetect; + WordDetect wordDetect; + Float detectFloat; + HlCHex hlCHex; + + Data() noexcept + { + } + + ~Data() + { + } + }; + + struct Common { + QString contextName; + QString attributeName; + QString beginRegionName; + QString endRegionName; + int column = -1; + bool firstNonSpace = false; + bool lookAhead = false; + }; + + Type type = Type::Unknown; + Common common; + Data data; + + Rule() noexcept; + Rule(Rule &&other) noexcept; + Rule(const Rule &other); + ~Rule(); + + // since nothing is deleted in the rules vector, these functions do not need to be implemented + Rule &operator=(Rule &&other) = delete; + Rule &operator=(const Rule &other) = delete; + }; + + QString name; + + /** + * attribute name, to lookup our format + */ + QString attribute; + + QString lineEndContext; + QString lineEmptyContext; + QString fallthroughContext; + + std::vector<Rule> rules; + + bool noIndentationBasedFolding = false; +}; +} + +#endif diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h index 3ff06952830..a8578522cba 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h @@ -44,6 +44,11 @@ public: return m_keywords; } + Qt::CaseSensitivity caseSensitivity() const + { + return m_caseSensitive; + } + void setKeywordList(const QStringList &keywords) { m_keywords = keywords; @@ -53,7 +58,10 @@ public: } /** Checks if @p str is a keyword in this list. */ - bool contains(QStringView str) const { return contains(str, m_caseSensitive); } + bool contains(QStringView str) const + { + return contains(str, m_caseSensitive); + } /** Checks if @p str is a keyword in this list, overriding the global case-sensitivity setting. */ bool contains(QStringView str, Qt::CaseSensitivity caseSensitive) const; diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp index f4e88b719a7..0357dbf2a3c 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp @@ -14,7 +14,6 @@ #include "xml_p.h" #include <QString> -#include <QXmlStreamReader> using namespace KSyntaxHighlighting; @@ -97,172 +96,137 @@ static QString replaceCaptures(const QString &pattern, const QStringList &captur return result; } -Rule::~Rule() +static MatchResult matchString(QStringView pattern, QStringView text, int offset, Qt::CaseSensitivity caseSensitivity) { - if (!m_additionalDeliminator.isEmpty() || !m_weakDeliminator.isEmpty()) { - delete m_wordDelimiters; + if (offset + pattern.size() <= text.size() && text.mid(offset, pattern.size()).compare(pattern, caseSensitivity) == 0) { + return offset + pattern.size(); } + return offset; } -Definition Rule::definition() const +static void resolveAdditionalWordDelimiters(WordDelimiters &wordDelimiters, const HighlightingContextData::Rule::WordDelimiters &delimiters) { - return m_def.definition(); + // cache for DefinitionData::wordDelimiters, is accessed VERY often + if (!delimiters.additionalDeliminator.isEmpty() || !delimiters.weakDeliminator.isEmpty()) { + wordDelimiters.append(QStringView(delimiters.additionalDeliminator)); + wordDelimiters.remove(QStringView(delimiters.weakDeliminator)); + } } -void Rule::setDefinition(const Definition &def) -{ - m_def = def; -} +Rule::~Rule() = default; -bool Rule::load(QXmlStreamReader &reader) +const IncludeRules *Rule::castToIncludeRules() const { - Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement); - - m_attribute = reader.attributes().value(QLatin1String("attribute")).toString(); - if (reader.name() != QLatin1String("IncludeRules")) { // IncludeRules uses this with a different semantic - m_context.parse(reader.attributes().value(QLatin1String("context"))); - } - m_firstNonSpace = Xml::attrToBool(reader.attributes().value(QLatin1String("firstNonSpace"))); - m_lookAhead = Xml::attrToBool(reader.attributes().value(QLatin1String("lookAhead"))); - bool colOk = false; - m_column = reader.attributes().value(QLatin1String("column")).toInt(&colOk); - if (!colOk) { - m_column = -1; - } - - auto regionName = reader.attributes().value(QLatin1String("beginRegion")); - if (!regionName.isEmpty()) { - m_beginRegion = FoldingRegion(FoldingRegion::Begin, DefinitionData::get(m_def.definition())->foldingRegionId(regionName.toString())); - } - regionName = reader.attributes().value(QLatin1String("endRegion")); - if (!regionName.isEmpty()) { - m_endRegion = FoldingRegion(FoldingRegion::End, DefinitionData::get(m_def.definition())->foldingRegionId(regionName.toString())); + if (m_type != Type::IncludeRules) { + return nullptr; } - - auto result = doLoad(reader); - - if (m_lookAhead && m_context.isStay()) { - result = false; - } - - // be done with this rule, skip all subelements, e.g. no longer supported sub-rules - reader.skipCurrentElement(); - return result; + return static_cast<const IncludeRules *>(this); } -void Rule::resolveContext() +bool Rule::resolveCommon(DefinitionData &def, const HighlightingContextData::Rule &ruleData, QStringView lookupContextName) { - auto const &def = m_def.definition(); - - m_context.resolve(def); - - // cache for DefinitionData::wordDelimiters, is accessed VERY often - m_wordDelimiters = &DefinitionData::get(def)->wordDelimiters; - if (!m_additionalDeliminator.isEmpty() || !m_weakDeliminator.isEmpty()) { - m_wordDelimiters = new WordDelimiters(*m_wordDelimiters); - m_wordDelimiters->append(m_additionalDeliminator); - m_wordDelimiters->remove(m_weakDeliminator); + switch (ruleData.type) { + // IncludeRules uses this with a different semantic + case HighlightingContextData::Rule::Type::IncludeRules: + m_type = Type::IncludeRules; + return true; + case HighlightingContextData::Rule::Type::LineContinue: + m_type = Type::LineContinue; + break; + default: + m_type = Type::OtherRule; + break; } -} -void Rule::resolveAttributeFormat(Context *lookupContext) -{ /** * try to get our format from the definition we stem from */ - if (!m_attribute.isEmpty()) { - m_attributeFormat = DefinitionData::get(definition())->formatByName(m_attribute); + if (!ruleData.common.attributeName.isEmpty()) { + m_attributeFormat = def.formatByName(ruleData.common.attributeName); if (!m_attributeFormat.isValid()) { - qCWarning(Log) << "Rule: Unknown format" << m_attribute << "in context" << lookupContext->name() << "of definition" << definition().name(); + qCWarning(Log) << "Rule: Unknown format" << ruleData.common.attributeName << "in context" << lookupContextName << "of definition" << def.name; } } -} -bool Rule::doLoad(QXmlStreamReader &reader) -{ - Q_UNUSED(reader); - return true; -} + m_firstNonSpace = ruleData.common.firstNonSpace; + m_lookAhead = ruleData.common.lookAhead; + m_column = ruleData.common.column; -void Rule::loadAdditionalWordDelimiters(QXmlStreamReader &reader) -{ - m_additionalDeliminator = reader.attributes().value(QLatin1String("additionalDeliminator")).toString(); - m_weakDeliminator = reader.attributes().value(QLatin1String("weakDeliminator")).toString(); + if (!ruleData.common.beginRegionName.isEmpty()) { + m_beginRegion = FoldingRegion(FoldingRegion::Begin, def.foldingRegionId(ruleData.common.beginRegionName)); + } + if (!ruleData.common.endRegionName.isEmpty()) { + m_endRegion = FoldingRegion(FoldingRegion::End, def.foldingRegionId(ruleData.common.endRegionName)); + } + + m_context.resolve(def, ruleData.common.contextName); + + return !(m_lookAhead && m_context.isStay()); } -Rule::Ptr Rule::create(QStringView name) +static Rule::Ptr createRule(DefinitionData &def, const HighlightingContextData::Rule &ruleData, QStringView lookupContextName) { - if (name == QLatin1String("AnyChar")) { - return std::make_shared<AnyChar>(); - } - if (name == QLatin1String("DetectChar")) { - return std::make_shared<DetectChar>(); - } - if (name == QLatin1String("Detect2Chars")) { - return std::make_shared<Detect2Char>(); - } - if (name == QLatin1String("DetectIdentifier")) { + using Type = HighlightingContextData::Rule::Type; + + switch (ruleData.type) { + case Type::AnyChar: + return std::make_shared<AnyChar>(ruleData.data.anyChar); + case Type::DetectChar: + return std::make_shared<DetectChar>(ruleData.data.detectChar); + case Type::Detect2Chars: + return std::make_shared<Detect2Chars>(ruleData.data.detect2Chars); + case Type::IncludeRules: + return std::make_shared<IncludeRules>(ruleData.data.includeRules); + case Type::Int: + return std::make_shared<Int>(def, ruleData.data.detectInt); + case Type::Keyword: + return KeywordListRule::create(def, ruleData.data.keyword, lookupContextName); + case Type::LineContinue: + return std::make_shared<LineContinue>(ruleData.data.lineContinue); + case Type::RangeDetect: + return std::make_shared<RangeDetect>(ruleData.data.rangeDetect); + case Type::RegExpr: + return std::make_shared<RegExpr>(ruleData.data.regExpr); + case Type::StringDetect: + if (ruleData.data.stringDetect.dynamic) { + return std::make_shared<DynamicStringDetect>(ruleData.data.stringDetect); + } + return std::make_shared<StringDetect>(ruleData.data.stringDetect); + case Type::WordDetect: + return std::make_shared<WordDetect>(def, ruleData.data.wordDetect); + case Type::Float: + return std::make_shared<Float>(def, ruleData.data.detectFloat); + case Type::HlCOct: + return std::make_shared<HlCOct>(def, ruleData.data.hlCOct); + case Type::HlCStringChar: + return std::make_shared<HlCStringChar>(); + case Type::DetectIdentifier: return std::make_shared<DetectIdentifier>(); - } - if (name == QLatin1String("DetectSpaces")) { + case Type::DetectSpaces: return std::make_shared<DetectSpaces>(); - } - if (name == QLatin1String("Float")) { - return std::make_shared<Float>(); - } - if (name == QLatin1String("Int")) { - return std::make_shared<Int>(); - } - if (name == QLatin1String("HlCChar")) { + case Type::HlCChar: return std::make_shared<HlCChar>(); - } - if (name == QLatin1String("HlCHex")) { - return std::make_shared<HlCHex>(); - } - if (name == QLatin1String("HlCOct")) { - return std::make_shared<HlCOct>(); - } - if (name == QLatin1String("HlCStringChar")) { - return std::make_shared<HlCStringChar>(); - } - if (name == QLatin1String("IncludeRules")) { - return std::make_shared<IncludeRules>(); - } - if (name == QLatin1String("keyword")) { - return std::make_shared<KeywordListRule>(); - } - if (name == QLatin1String("LineContinue")) { - return std::make_shared<LineContinue>(); - } - if (name == QLatin1String("RangeDetect")) { - return std::make_shared<RangeDetect>(); - } - if (name == QLatin1String("RegExpr")) { - return std::make_shared<RegExpr>(); - } - if (name == QLatin1String("StringDetect")) { - return std::make_shared<StringDetect>(); - } - if (name == QLatin1String("WordDetect")) { - return std::make_shared<WordDetect>(); + case Type::HlCHex: + return std::make_shared<HlCHex>(def, ruleData.data.hlCHex); + + case Type::Unknown:; } - qCWarning(Log) << "Unknown rule type:" << name; - return Ptr(nullptr); + return Rule::Ptr(nullptr); } -bool Rule::isWordDelimiter(QChar c) const +Rule::Ptr Rule::create(DefinitionData &def, const HighlightingContextData::Rule &ruleData, QStringView lookupContextName) { - return m_wordDelimiters->contains(c); + auto rule = createRule(def, ruleData, lookupContextName); + if (rule && !rule->resolveCommon(def, ruleData, lookupContextName)) { + rule.reset(); + } + return rule; } -bool AnyChar::doLoad(QXmlStreamReader &reader) +AnyChar::AnyChar(const HighlightingContextData::Rule::AnyChar &data) + : m_chars(data.chars) { - m_chars = reader.attributes().value(QLatin1String("String")).toString(); - if (m_chars.size() == 1) { - qCDebug(Log) << "AnyChar rule with just one char: use DetectChar instead."; - } - return !m_chars.isEmpty(); } MatchResult AnyChar::doMatch(QStringView text, int offset, const QStringList &) const @@ -273,18 +237,11 @@ MatchResult AnyChar::doMatch(QStringView text, int offset, const QStringList &) return offset; } -bool DetectChar::doLoad(QXmlStreamReader &reader) +DetectChar::DetectChar(const HighlightingContextData::Rule::DetectChar &data) + : m_char(data.char1) + , m_captureIndex(data.dynamic ? data.char1.digitValue() : 0) { - const auto s = reader.attributes().value(QLatin1String("char")); - if (s.isEmpty()) { - return false; - } - m_char = s.at(0); - m_dynamic = Xml::attrToBool(reader.attributes().value(QLatin1String("dynamic"))); - if (m_dynamic) { - m_captureIndex = m_char.digitValue(); - } - return true; + m_dynamic = data.dynamic; } MatchResult DetectChar::doMatch(QStringView text, int offset, const QStringList &captures) const @@ -305,19 +262,13 @@ MatchResult DetectChar::doMatch(QStringView text, int offset, const QStringList return offset; } -bool Detect2Char::doLoad(QXmlStreamReader &reader) +Detect2Chars::Detect2Chars(const HighlightingContextData::Rule::Detect2Chars &data) + : m_char1(data.char1) + , m_char2(data.char2) { - const auto s1 = reader.attributes().value(QLatin1String("char")); - const auto s2 = reader.attributes().value(QLatin1String("char1")); - if (s1.isEmpty() || s2.isEmpty()) { - return false; - } - m_char1 = s1.at(0); - m_char2 = s2.at(0); - return true; } -MatchResult Detect2Char::doMatch(QStringView text, int offset, const QStringList &) const +MatchResult Detect2Chars::doMatch(QStringView text, int offset, const QStringList &) const { if (text.size() - offset < 2) { return offset; @@ -352,15 +303,15 @@ MatchResult DetectSpaces::doMatch(QStringView text, int offset, const QStringLis return offset; } -bool Float::doLoad(QXmlStreamReader &reader) +Float::Float(DefinitionData &def, const HighlightingContextData::Rule::Float &data) + : m_wordDelimiters(def.wordDelimiters) { - loadAdditionalWordDelimiters(reader); - return true; + resolveAdditionalWordDelimiters(m_wordDelimiters, data.wordDelimiters); } MatchResult Float::doMatch(QStringView text, int offset, const QStringList &) const { - if (offset > 0 && !isWordDelimiter(text.at(offset - 1))) { + if (offset > 0 && !m_wordDelimiters.contains(text.at(offset - 1))) { return offset; } @@ -432,15 +383,15 @@ MatchResult HlCChar::doMatch(QStringView text, int offset, const QStringList &) return offset; } -bool HlCHex::doLoad(QXmlStreamReader &reader) +HlCHex::HlCHex(DefinitionData &def, const HighlightingContextData::Rule::HlCHex &data) + : m_wordDelimiters(def.wordDelimiters) { - loadAdditionalWordDelimiters(reader); - return true; + resolveAdditionalWordDelimiters(m_wordDelimiters, data.wordDelimiters); } MatchResult HlCHex::doMatch(QStringView text, int offset, const QStringList &) const { - if (offset > 0 && !isWordDelimiter(text.at(offset - 1))) { + if (offset > 0 && !m_wordDelimiters.contains(text.at(offset - 1))) { return offset; } @@ -466,15 +417,15 @@ MatchResult HlCHex::doMatch(QStringView text, int offset, const QStringList &) c return offset; } -bool HlCOct::doLoad(QXmlStreamReader &reader) +HlCOct::HlCOct(DefinitionData &def, const HighlightingContextData::Rule::HlCOct &data) + : m_wordDelimiters(def.wordDelimiters) { - loadAdditionalWordDelimiters(reader); - return true; + resolveAdditionalWordDelimiters(m_wordDelimiters, data.wordDelimiters); } MatchResult HlCOct::doMatch(QStringView text, int offset, const QStringList &) const { - if (offset > 0 && !isWordDelimiter(text.at(offset - 1))) { + if (offset > 0 && !m_wordDelimiters.contains(text.at(offset - 1))) { return offset; } @@ -503,53 +454,28 @@ MatchResult HlCStringChar::doMatch(QStringView text, int offset, const QStringLi return matchEscapedChar(text, offset); } -QString IncludeRules::contextName() const +IncludeRules::IncludeRules(const HighlightingContextData::Rule::IncludeRules &data) + : m_contextName(data.contextName) + , m_includeAttribute(data.includeAttribute) { - return m_contextName; -} - -QString IncludeRules::definitionName() const -{ - return m_defName; -} - -bool IncludeRules::includeAttribute() const -{ - return m_includeAttribute; -} - -bool IncludeRules::doLoad(QXmlStreamReader &reader) -{ - const auto s = reader.attributes().value(QLatin1String("context")); - const auto split = s.split(QString::fromLatin1("##"), Qt::KeepEmptyParts); - if (split.isEmpty()) { - return false; - } - m_contextName = split.at(0).toString(); - if (split.size() > 1) { - m_defName = split.at(1).toString(); - } - m_includeAttribute = Xml::attrToBool(reader.attributes().value(QLatin1String("includeAttrib"))); - - return !m_contextName.isEmpty() || !m_defName.isEmpty(); } MatchResult IncludeRules::doMatch(QStringView text, int offset, const QStringList &) const { Q_UNUSED(text); - qCWarning(Log) << "Unresolved include rule for" << m_contextName << "##" << m_defName; + qCWarning(Log) << "Unresolved include rule"; return offset; } -bool Int::doLoad(QXmlStreamReader &reader) +Int::Int(DefinitionData &def, const HighlightingContextData::Rule::Int &data) + : m_wordDelimiters(def.wordDelimiters) { - loadAdditionalWordDelimiters(reader); - return true; + resolveAdditionalWordDelimiters(m_wordDelimiters, data.wordDelimiters); } MatchResult Int::doMatch(QStringView text, int offset, const QStringList &) const { - if (offset > 0 && !isWordDelimiter(text.at(offset - 1))) { + if (offset > 0 && !m_wordDelimiters.contains(text.at(offset - 1))) { return offset; } @@ -559,67 +485,61 @@ MatchResult Int::doMatch(QStringView text, int offset, const QStringList &) cons return offset; } -bool KeywordListRule::doLoad(QXmlStreamReader &reader) +Rule::Ptr KeywordListRule::create(DefinitionData &def, const HighlightingContextData::Rule::Keyword &data, QStringView lookupContextName) { /** * get our keyword list, if not found => bail out */ - auto defData = DefinitionData::get(definition()); - m_keywordList = defData->keywordList(reader.attributes().value(QLatin1String("String")).toString()); - if (!m_keywordList) { - return false; + auto *keywordList = def.keywordList(data.name); + if (!keywordList) { + qCWarning(Log) << "Rule: Unknown keyword list" << data.name << "in context" << lookupContextName << "of definition" << def.name; + return Rule::Ptr(); + } + + if (keywordList->isEmpty()) { + return Rule::Ptr(); } /** * we might overwrite the case sensitivity * then we need to init the list for lookup of that sensitivity setting */ - if (reader.attributes().hasAttribute(QLatin1String("insensitive"))) { - m_hasCaseSensitivityOverride = true; - m_caseSensitivityOverride = Xml::attrToBool(reader.attributes().value(QLatin1String("insensitive"))) ? Qt::CaseInsensitive : Qt::CaseSensitive; - m_keywordList->initLookupForCaseSensitivity(m_caseSensitivityOverride); - } else { - m_hasCaseSensitivityOverride = false; + if (data.hasCaseSensitivityOverride) { + keywordList->initLookupForCaseSensitivity(data.caseSensitivityOverride); } - loadAdditionalWordDelimiters(reader); + return std::make_shared<KeywordListRule>(*keywordList, def, data); +} - return !m_keywordList->isEmpty(); +KeywordListRule::KeywordListRule(const KeywordList &keywordList, DefinitionData &def, const HighlightingContextData::Rule::Keyword &data) + : m_wordDelimiters(def.wordDelimiters) + , m_keywordList(keywordList) + , m_caseSensitivity(data.hasCaseSensitivityOverride ? data.caseSensitivityOverride : keywordList.caseSensitivity()) +{ + resolveAdditionalWordDelimiters(m_wordDelimiters, data.wordDelimiters); } MatchResult KeywordListRule::doMatch(QStringView text, int offset, const QStringList &) const { auto newOffset = offset; - while (text.size() > newOffset && !isWordDelimiter(text.at(newOffset))) { + while (text.size() > newOffset && !m_wordDelimiters.contains(text.at(newOffset))) { ++newOffset; } if (newOffset == offset) { return offset; } - if (m_hasCaseSensitivityOverride) { - if (m_keywordList->contains(text.mid(offset, newOffset - offset), m_caseSensitivityOverride)) { - return newOffset; - } - } else { - if (m_keywordList->contains(text.mid(offset, newOffset - offset))) { - return newOffset; - } + if (m_keywordList.contains(text.mid(offset, newOffset - offset), m_caseSensitivity)) { + return newOffset; } // we don't match, but we can skip until newOffset as we can't start a keyword in-between return MatchResult(offset, newOffset); } -bool LineContinue::doLoad(QXmlStreamReader &reader) +LineContinue::LineContinue(const HighlightingContextData::Rule::LineContinue &data) + : m_char(data.char1) { - const auto s = reader.attributes().value(QLatin1String("char")); - if (s.isEmpty()) { - m_char = QLatin1Char('\\'); - } else { - m_char = s.at(0); - } - return true; } MatchResult LineContinue::doMatch(QStringView text, int offset, const QStringList &) const @@ -630,16 +550,10 @@ MatchResult LineContinue::doMatch(QStringView text, int offset, const QStringLis return offset; } -bool RangeDetect::doLoad(QXmlStreamReader &reader) +RangeDetect::RangeDetect(const HighlightingContextData::Rule::RangeDetect &data) + : m_begin(data.begin) + , m_end(data.end) { - const auto s1 = reader.attributes().value(QLatin1String("char")); - const auto s2 = reader.attributes().value(QLatin1String("char1")); - if (s1.isEmpty() || s2.isEmpty()) { - return false; - } - m_begin = s1.at(0); - m_end = s2.at(0); - return true; } MatchResult RangeDetect::doMatch(QStringView text, int offset, const QStringList &) const @@ -661,25 +575,20 @@ MatchResult RangeDetect::doMatch(QStringView text, int offset, const QStringList return offset; } -bool RegExpr::doLoad(QXmlStreamReader &reader) +RegExpr::RegExpr(const HighlightingContextData::Rule::RegExpr &data) { - m_regexp.setPattern(reader.attributes().value(QLatin1String("String")).toString()); - - const auto isMinimal = Xml::attrToBool(reader.attributes().value(QLatin1String("minimal"))); - const auto isCaseInsensitive = Xml::attrToBool(reader.attributes().value(QLatin1String("insensitive"))); - m_regexp.setPatternOptions((isMinimal ? QRegularExpression::InvertedGreedinessOption : QRegularExpression::NoPatternOption) - | (isCaseInsensitive ? QRegularExpression::CaseInsensitiveOption : QRegularExpression::NoPatternOption) + m_regexp.setPattern(data.pattern); + m_regexp.setPatternOptions((data.isMinimal ? QRegularExpression::InvertedGreedinessOption : QRegularExpression::NoPatternOption) + | (data.caseSensitivity == Qt::CaseInsensitive ? QRegularExpression::CaseInsensitiveOption : QRegularExpression::NoPatternOption) // DontCaptureOption is removed by resolvePostProcessing() when necessary | QRegularExpression::DontCaptureOption // ensure Unicode support is enabled | QRegularExpression::UseUnicodePropertiesOption); - m_dynamic = Xml::attrToBool(reader.attributes().value(QLatin1String("dynamic"))); - - return !m_regexp.pattern().isEmpty(); + m_dynamic = data.dynamic; } -void KSyntaxHighlighting::RegExpr::resolvePostProcessing() +void RegExpr::resolvePostProcessing() { if (m_isResolved) { return; @@ -728,11 +637,7 @@ MatchResult RegExpr::doMatch(QStringView text, int offset, const QStringList &ca /** * match the pattern */ -#if QT_VERSION < QT_VERSION_CHECK(5, 15, 2) - const auto result = regexp.match(text.toString(), offset, QRegularExpression::NormalMatch, QRegularExpression::DontCheckSubjectStringMatchOption); -#else const auto result = regexp.match(text, offset, QRegularExpression::NormalMatch, QRegularExpression::DontCheckSubjectStringMatchOption); -#endif if (result.capturedStart() == offset) { /** * we only need to compute the captured texts if we have real capture groups @@ -756,33 +661,39 @@ MatchResult RegExpr::doMatch(QStringView text, int offset, const QStringList &ca return MatchResult(offset, result.capturedStart()); } -bool StringDetect::doLoad(QXmlStreamReader &reader) +StringDetect::StringDetect(const HighlightingContextData::Rule::StringDetect &data) + : m_string(data.string) + , m_caseSensitivity(data.caseSensitivity) +{ +} + +MatchResult StringDetect::doMatch(QStringView text, int offset, const QStringList &) const { - m_string = reader.attributes().value(QLatin1String("String")).toString(); - m_caseSensitivity = Xml::attrToBool(reader.attributes().value(QLatin1String("insensitive"))) ? Qt::CaseInsensitive : Qt::CaseSensitive; - m_dynamic = Xml::attrToBool(reader.attributes().value(QLatin1String("dynamic"))); - return !m_string.isEmpty(); + return matchString(m_string, text, offset, m_caseSensitivity); } -MatchResult StringDetect::doMatch(QStringView text, int offset, const QStringList &captures) const +DynamicStringDetect::DynamicStringDetect(const HighlightingContextData::Rule::StringDetect &data) + : m_string(data.string) + , m_caseSensitivity(data.caseSensitivity) +{ + m_dynamic = true; +} + +MatchResult DynamicStringDetect::doMatch(QStringView text, int offset, const QStringList &captures) const { /** * for dynamic case: create new pattern with right instantiation */ - const auto &pattern = m_dynamic ? replaceCaptures(m_string, captures, false) : m_string; - - if (offset + pattern.size() <= text.size() && text.mid(offset, pattern.size()).compare(pattern, m_caseSensitivity) == 0) { - return offset + pattern.size(); - } - return offset; + const auto pattern = replaceCaptures(m_string, captures, false); + return matchString(pattern, text, offset, m_caseSensitivity); } -bool WordDetect::doLoad(QXmlStreamReader &reader) +WordDetect::WordDetect(DefinitionData &def, const HighlightingContextData::Rule::WordDetect &data) + : m_wordDelimiters(def.wordDelimiters) + , m_word(data.word) + , m_caseSensitivity(data.caseSensitivity) { - m_word = reader.attributes().value(QLatin1String("String")).toString(); - m_caseSensitivity = Xml::attrToBool(reader.attributes().value(QLatin1String("insensitive"))) ? Qt::CaseInsensitive : Qt::CaseSensitive; - loadAdditionalWordDelimiters(reader); - return !m_word.isEmpty(); + resolveAdditionalWordDelimiters(m_wordDelimiters, data.wordDelimiters); } MatchResult WordDetect::doMatch(QStringView text, int offset, const QStringList &) const @@ -795,7 +706,7 @@ MatchResult WordDetect::doMatch(QStringView text, int offset, const QStringList * detect delimiter characters on the inner and outer boundaries of the string * NOTE: m_word isn't empty */ - if (offset > 0 && !isWordDelimiter(text.at(offset - 1)) && !isWordDelimiter(text.at(offset))) { + if (offset > 0 && !m_wordDelimiters.contains(text.at(offset - 1)) && !m_wordDelimiters.contains(text.at(offset))) { return offset; } @@ -803,7 +714,8 @@ MatchResult WordDetect::doMatch(QStringView text, int offset, const QStringList return offset; } - if (text.size() == offset + m_word.size() || isWordDelimiter(text.at(offset + m_word.size())) || isWordDelimiter(text.at(offset + m_word.size() - 1))) { + if (text.size() == offset + m_word.size() || m_wordDelimiters.contains(text.at(offset + m_word.size())) + || m_wordDelimiters.contains(text.at(offset + m_word.size() - 1))) { return offset + m_word.size(); } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h index 374eb87dfaf..faf2a97f484 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h @@ -9,25 +9,24 @@ #define KSYNTAXHIGHLIGHTING_RULE_P_H #include "contextswitch_p.h" -#include "definition.h" #include "definitionref_p.h" #include "foldingregion.h" #include "format.h" +#include "highlightingdata_p.hpp" #include "keywordlist_p.h" #include "matchresult_p.h" +#include "worddelimiters_p.h" #include <QRegularExpression> #include <QString> #include <memory> -QT_BEGIN_NAMESPACE -class QXmlStreamReader; -QT_END_NAMESPACE - namespace KSyntaxHighlighting { class WordDelimiters; +class DefinitionData; +class IncludeRules; class Rule { @@ -37,9 +36,6 @@ public: typedef std::shared_ptr<Rule> Ptr; - Definition definition() const; - void setDefinition(const Definition &def); - const Format &attributeFormat() const { return m_attributeFormat; @@ -80,51 +76,51 @@ public: return m_endRegion; } - bool load(QXmlStreamReader &reader); - void resolveContext(); - void resolveAttributeFormat(Context *lookupContext); + const IncludeRules *castToIncludeRules() const; + + bool isLineContinue() const + { + return m_type == Type::LineContinue; + } + virtual void resolvePostProcessing() { } virtual MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const = 0; - static Rule::Ptr create(QStringView name); - -protected: - virtual bool doLoad(QXmlStreamReader &reader); - - bool isWordDelimiter(QChar c) const; - - void loadAdditionalWordDelimiters(QXmlStreamReader &reader); + static Rule::Ptr create(DefinitionData &def, const HighlightingContextData::Rule &ruleData, QStringView lookupContextName); private: Q_DISABLE_COPY(Rule) - DefinitionRef m_def; - QString m_attribute; + bool resolveCommon(DefinitionData &def, const HighlightingContextData::Rule &ruleData, QStringView lookupContextName); + + enum class Type : quint8 { + OtherRule, + LineContinue, + IncludeRules, + }; + Format m_attributeFormat; ContextSwitch m_context; int m_column = -1; FoldingRegion m_beginRegion; FoldingRegion m_endRegion; + Type m_type; bool m_firstNonSpace = false; bool m_lookAhead = false; - // cache for DefinitionData::wordDelimiters, is accessed VERY often - WordDelimiters *m_wordDelimiters = nullptr; - - QString m_additionalDeliminator; - QString m_weakDeliminator; - protected: bool m_dynamic = false; }; class AnyChar final : public Rule { +public: + AnyChar(const HighlightingContextData::Rule::AnyChar &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: @@ -133,20 +129,24 @@ private: class DetectChar final : public Rule { +public: + DetectChar(const HighlightingContextData::Rule::DetectChar &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; - MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const override; + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: QChar m_char; int m_captureIndex = 0; }; -class Detect2Char final : public Rule +class Detect2Chars final : public Rule { +public: + Detect2Chars(const HighlightingContextData::Rule::Detect2Chars &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; - MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const override; + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: QChar m_char1; @@ -167,33 +167,49 @@ protected: class Float final : public Rule { +public: + Float(DefinitionData &def, const HighlightingContextData::Rule::Float &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; + +private: + WordDelimiters m_wordDelimiters; }; class IncludeRules final : public Rule { public: - QString contextName() const; - QString definitionName() const; - bool includeAttribute() const; + IncludeRules(const HighlightingContextData::Rule::IncludeRules &data); + + const QString &contextName() const + { + return m_contextName; + } + + bool includeAttribute() const + { + return m_includeAttribute; + } protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: QString m_contextName; - QString m_defName; bool m_includeAttribute; }; class Int final : public Rule { +public: + Int(DefinitionData &def, const HighlightingContextData::Rule::Int &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; - MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const override; + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; + +private: + WordDelimiters m_wordDelimiters; }; class HlCChar final : public Rule @@ -204,16 +220,26 @@ protected: class HlCHex final : public Rule { +public: + HlCHex(DefinitionData &def, const HighlightingContextData::Rule::HlCHex &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; + +private: + WordDelimiters m_wordDelimiters; }; class HlCOct final : public Rule { +public: + HlCOct(DefinitionData &def, const HighlightingContextData::Rule::HlCOct &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; + +private: + WordDelimiters m_wordDelimiters; }; class HlCStringChar final : public Rule @@ -224,20 +250,26 @@ protected: class KeywordListRule final : public Rule { +public: + KeywordListRule(const KeywordList &keywordList, DefinitionData &def, const HighlightingContextData::Rule::Keyword &data); + + static Rule::Ptr create(DefinitionData &def, const HighlightingContextData::Rule::Keyword &data, QStringView lookupContextName); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: - KeywordList *m_keywordList; - bool m_hasCaseSensitivityOverride; - Qt::CaseSensitivity m_caseSensitivityOverride; + WordDelimiters m_wordDelimiters; + const KeywordList &m_keywordList; + Qt::CaseSensitivity m_caseSensitivity; }; class LineContinue final : public Rule { +public: + LineContinue(const HighlightingContextData::Rule::LineContinue &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: @@ -246,8 +278,10 @@ private: class RangeDetect final : public Rule { +public: + RangeDetect(const HighlightingContextData::Rule::RangeDetect &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: @@ -257,10 +291,12 @@ private: class RegExpr final : public Rule { +public: + RegExpr(const HighlightingContextData::Rule::RegExpr &data); + protected: + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; void resolvePostProcessing() override; - bool doLoad(QXmlStreamReader &reader) override; - MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const override; private: QRegularExpression m_regexp; @@ -269,9 +305,24 @@ private: class StringDetect final : public Rule { +public: + StringDetect(const HighlightingContextData::Rule::StringDetect &data); + +protected: + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; + +private: + QString m_string; + Qt::CaseSensitivity m_caseSensitivity; +}; + +class DynamicStringDetect final : public Rule +{ +public: + DynamicStringDetect(const HighlightingContextData::Rule::StringDetect &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; - MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const override; + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: QString m_string; @@ -280,11 +331,14 @@ private: class WordDetect final : public Rule { +public: + WordDetect(DefinitionData &def, const HighlightingContextData::Rule::WordDetect &data); + protected: - bool doLoad(QXmlStreamReader &reader) override; - MatchResult doMatch(QStringView text, int offset, const QStringList &captures) const override; + MatchResult doMatch(QStringView text, int offset, const QStringList &) const override; private: + WordDelimiters m_wordDelimiters; QString m_word; Qt::CaseSensitivity m_caseSensitivity; }; diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/wildcardmatcher.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/wildcardmatcher.cpp index 98daff19d6e..ab62f88b7e3 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/wildcardmatcher.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/wildcardmatcher.cpp @@ -9,7 +9,6 @@ using namespace KSyntaxHighlighting; #include <QChar> -#include <QStringView> namespace { diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters.cpp index f9079ea1f3d..c5401a57cc9 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters.cpp @@ -12,15 +12,14 @@ WordDelimiters::WordDelimiters() : asciiDelimiters{} { for (const char *p = "\t !%&()*+,-./:;<=>?[\\]^{|}~"; *p; ++p) { - // int(*p) fix -Wchar-subscripts - asciiDelimiters[int(*p)] = true; + asciiDelimiters.set(*p); } } bool WordDelimiters::contains(QChar c) const { if (c.unicode() < 128) { - return asciiDelimiters[c.unicode()]; + return asciiDelimiters.test(c.unicode()); } // perf tells contains is MUCH faster than binary search here, very short array return notAsciiDelimiters.contains(c); @@ -30,7 +29,7 @@ void WordDelimiters::append(QStringView s) { for (QChar c : s) { if (c.unicode() < 128) { - asciiDelimiters[c.unicode()] = true; + asciiDelimiters.set(c.unicode()); } else { notAsciiDelimiters.append(c); } @@ -41,7 +40,7 @@ void WordDelimiters::remove(QStringView s) { for (QChar c : s) { if (c.unicode() < 128) { - asciiDelimiters[c.unicode()] = false; + asciiDelimiters.set(c.unicode(), false); } else { notAsciiDelimiters.remove(c); } diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters_p.h index c1afaaa6bb0..ccad679a4ef 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/worddelimiters_p.h @@ -9,6 +9,8 @@ #include <QString> +#include <bitset> + namespace KSyntaxHighlighting { /** @@ -44,7 +46,7 @@ private: * An array which represents ascii characters for very fast lookup. * The character is used as an index and the value @c true indicates a word delimiter. */ - bool asciiDelimiters[128]; + std::bitset<128> asciiDelimiters; /** * Contains characters that are not ascii and is empty for most syntax definition. |