diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index df497f70e93..aefae6f7298 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -247,6 +247,8 @@ function(add_qtc_library name) set_target_properties(${name} PROPERTIES SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}" PREFIX "" + IMPORT_SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + IMPORT_PREFIX "" ) endif() @@ -500,6 +502,8 @@ function(add_qtc_plugin target_name) set_target_properties(${target_name} PROPERTIES SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}" PREFIX "" + IMPORT_SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + IMPORT_PREFIX "" ) endif() enable_pch(${target_name}) diff --git a/doc/qtcreator/images/qmldesigner-mcu-support.png b/doc/qtcreator/images/qmldesigner-mcu-support.png index e2dc8fd4d18..23d3c0ce3d4 100644 Binary files a/doc/qtcreator/images/qmldesigner-mcu-support.png and b/doc/qtcreator/images/qmldesigner-mcu-support.png differ diff --git a/doc/qtcreator/src/mcu/qtquick-mcu-support.qdocinc b/doc/qtcreator/src/mcu/qtquick-mcu-support.qdocinc index c5ce96b9d72..124f2cad227 100644 --- a/doc/qtcreator/src/mcu/qtquick-mcu-support.qdocinc +++ b/doc/qtcreator/src/mcu/qtquick-mcu-support.qdocinc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -28,22 +28,22 @@ \section1 Creating UIs for MCUs - \l{Qt for MCUs} enables you to use subsets of QML and Qt Quick Controls - types to create UIs for devices that are powered by microcontroller units - (MCU). The subset of supported types depends on the Qt for MCUs version - that you use for development. In this manual, we indicate which components - are supported at the time of writing. + \l{Qt for MCUs} enables you to use subsets of components to create UIs for + devices that are powered by microcontroller units (MCU). The subset of + supported components depends on the Qt for MCUs version that you use for + development. In this manual, we indicate which components are supported at + the time of writing. To develop for MCUs, \l{Using Project Wizards}{create an MCU project}. Only - the types available on MCUs are displayed in the \uicontrol {QML Types} tab - in \uicontrol Library. Only a subset of properties is supported for the - supported types. The properties that are not available on MCUs are marked - in the \uicontrol Properties view by enclosing them in square brackets. + the components available on MCUs are displayed in the \uicontrol Components + tab in \l Library. Only a subset of properties is supported for the + supported components. The properties that are not available on MCUs are + marked in the \l Properties view by enclosing them in square brackets. - \image qmldesigner-mcu-support.png "QML types and Image type properties supported for MCUs" + \image qmldesigner-mcu-support.png "Components and Image properties supported for MCUs" - For more information about the supported QML types and their properties, see - \l{Qt for MCUs - All QML Types}. + For more information about the supported components and their properties, + see \l{Qt for MCUs - All QML Types}. //! [mcu qtquick components] */ diff --git a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp index 467e85c3b15..7e5af01944c 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp @@ -58,6 +58,8 @@ bool isPropertyBlackListed(const QmlDesigner::PropertyName &propertyName) return QQuickDesignerSupportProperties::isPropertyBlackListed(propertyName); } +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + static void addToPropertyNameListIfNotBlackListed( PropertyNameList *propertyNameList, const QQuickDesignerSupport::PropertyName &propertyName) { @@ -132,12 +134,19 @@ PropertyNameList allPropertyNamesInline(QObject *object, return propertyNameList; } +#endif PropertyNameList allPropertyNames(QObject *object, const PropertyName &baseName, QObjectList *inspectedObjects) { +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + return QQuickDesignerSupportProperties::allPropertyNames(object, baseName, inspectedObjects); +#elif QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) return allPropertyNamesInline(object, baseName, inspectedObjects); +#else + return QQuickDesignerSupportProperties::allPropertyNames(object, baseName, inspectedObjects); +#endif } PropertyNameList propertyNameListForWritableProperties(QObject *object, diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt index 067ecb4f0a8..ab941e27a65 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt @@ -44,6 +44,7 @@ set(PROJECT_SOURCES if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(%{ProjectName} + MANUAL_FINALIZATION ${PROJECT_SOURCES} ) @if %{HasTranslation} @@ -79,4 +80,5 @@ set_target_properties(%{ProjectName} PROPERTIES if(QT_VERSION_MAJOR EQUAL 6) qt_import_qml_plugins(%{ProjectName}) + qt_finalize_executable(%{ProjectName}) endif() diff --git a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt index 8edfe2de599..c4e7f757dd1 100644 --- a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt @@ -48,6 +48,7 @@ set(PROJECT_SOURCES if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(%{ProjectName} + MANUAL_FINALIZATION ${PROJECT_SOURCES} ) @if %{HasTranslation} @@ -77,3 +78,7 @@ set_target_properties(%{ProjectName} PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) + +if(QT_VERSION_MAJOR EQUAL 6) + qt_finalize_executable(%{ProjectName}) +endif() diff --git a/share/qtcreator/themes/default.creatortheme b/share/qtcreator/themes/default.creatortheme index dcca311d9e7..6b856d7f34e 100644 --- a/share/qtcreator/themes/default.creatortheme +++ b/share/qtcreator/themes/default.creatortheme @@ -96,7 +96,7 @@ DSdockWidgetSplitter=ff595959 DSdockWidgetTitleBar=ffeaeaea DStitleBarText=ffdadada -DStitleBarIcon=f4f5052 +DStitleBarIcon=ff4f5052 DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff diff --git a/share/qtcreator/themes/design-light.creatortheme b/share/qtcreator/themes/design-light.creatortheme index 44b4109dd24..17783db3c0c 100644 --- a/share/qtcreator/themes/design-light.creatortheme +++ b/share/qtcreator/themes/design-light.creatortheme @@ -110,7 +110,7 @@ DSdockWidgetSplitter=ff595959 DSdockWidgetTitleBar=ffeaeaea DStitleBarText=ffdadada -DStitleBarIcon=f4f5052 +DStitleBarIcon=ff4f5052 DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff diff --git a/share/qtcreator/themes/flat-light.creatortheme b/share/qtcreator/themes/flat-light.creatortheme index 21be06f7eef..123c680fc6a 100644 --- a/share/qtcreator/themes/flat-light.creatortheme +++ b/share/qtcreator/themes/flat-light.creatortheme @@ -105,7 +105,7 @@ DSdockWidgetSplitter=ff595959 DSdockWidgetTitleBar=ffeaeaea DStitleBarText=ffdadada -DStitleBarIcon=f4f5052 +DStitleBarIcon=ff4f5052 DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff diff --git a/src/libs/3rdparty/syntax-highlighting/.gitignore b/src/libs/3rdparty/syntax-highlighting/.gitignore index 7df2675d19f..4d50e82c2dc 100644 --- a/src/libs/3rdparty/syntax-highlighting/.gitignore +++ b/src/libs/3rdparty/syntax-highlighting/.gitignore @@ -11,3 +11,4 @@ heaptrack.* *.unc-backup* .clang-format .cmake/ +*.code-workspace \ No newline at end of file diff --git a/src/libs/3rdparty/syntax-highlighting/README.md b/src/libs/3rdparty/syntax-highlighting/README.md index c090d061635..2acff73b185 100644 --- a/src/libs/3rdparty/syntax-highlighting/README.md +++ b/src/libs/3rdparty/syntax-highlighting/README.md @@ -6,12 +6,15 @@ Syntax highlighting engine for Kate syntax definitions 1. [Introduction](#introduction) 2. [Out of scope](#out-of-scope) -3. [Syntax Definition Files](#syntax-definition-files) -4. [Build it](#build-it) -5. [How to contribute](#how-to-contribute) -6. [Adding unit tests for a syntax definition](#adding-unit-tests-for-a-syntax-definition) +3. [Syntax definition files](#syntax-definition-files) +4. [Color theme files](#color-theme-files) +5. [Build it](#build-it) +6. [How to contribute](#how-to-contribute) + * [Licensing](#licensing) + * [Tips for contributing to syntax definition files](#tips-for-contributing-to-syntax-definition-files) + * [Adding unit tests for a syntax definition](#adding-unit-tests-for-a-syntax-definition) 7. [Report bug or help to fix them](#report-bug-or-help-to-fix-them) -8. [Updating the kate-editor.org/syntax website](#updating-the-kate-editororgsyntax-website) +8. [Updating the syntax & themes pages of the kate-editor.org website](#updating-the-kate-editororgsyntax-website) ## Introduction @@ -33,7 +36,7 @@ out of scope: If you need any of this, check out [KTextEditor](https://api.kde.org/frameworks/ktexteditor/html/). -## Syntax Definition Files +## Syntax definition files This library uses Kate syntax definition files for the actual highlighting, the file format is documented [here](https://docs.kde.org/?application=katepart&branch=trunk5&path=highlight.html). @@ -62,7 +65,7 @@ Usually it is: On Windows® - %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax\ + %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax\ @@ -71,6 +74,30 @@ For more details, see ["The Highlight Definition XML Format" (Working with Synta Also, in **data/schema/** there is a script to validate the syntax definiton XML files. Use the command `validatehl.sh mySyntax.xml`. +## Color theme files + +This library includes the color themes, the theme files use the **JSON** +format and are located in **data/themes/** with the **.theme** extension. + +Additional ones are also picked up from the file system if present, +in the **org.kde.syntax-highlighting/themes/** folder of your user directory, +allowing you to easily add custom color theme files. +The location of **org.kde.syntax-highlighting/themes/** is the same +as shown in the table of the [previous section](#syntax-definition-files), +replacing the **syntax** folder with **themes**. + +The [KTextEditor](https://api.kde.org/frameworks/ktexteditor/html/) library +(used by Kate, Kile and KDevelop, for example) provides +a user interface for editing and creating KSyntaxHighlighting color themes, including +a tool for exporting and importing the JSON theme files. +The tool **utils/schema-converter/** and the script **utils/kateschema_to_theme_converter.py** +convert the old Kate schemas to KSyntaxHighlighting themes. + +For more information, see: + +* [Kate - Color Themes with Frameworks 5.75 (Kate Editor Website)](https://kate-editor.org/post/2020/2020-09-13-kate-color-themes-5.75/) +* [Submit a KSyntaxHighlighting Color Theme (Kate Editor Website)](https://kate-editor.org/post/2020/2020-09-18-submit-a-ksyntaxhighlighting-color-theme/) + ## Build it 1. Create and change into a build directory. Usually, a folder called **build** @@ -88,6 +115,16 @@ files. Use the command `validatehl.sh mySyntax.xml`. make ``` + For example: + + ```bash + git clone git@invent.kde.org:frameworks/syntax-highlighting.git + mkdir ./syntax-highlighting/build + cd ./syntax-highlighting/build + cmake ../ + make + ``` + For more details see ["Building Kate from Sources on Linux" (Kate Editor Website)](https://kate-editor.org/build-it/). **NOTE:** If running *cmake* shows an error related to your version of KDE @@ -126,7 +163,7 @@ All files shall contain a proper "SPDX-License-Identifier: MIT" identifier insid */ ``` -### What you should know before working with syntax definition files and sending a patch +### Tips for contributing to syntax definition files * If you are modifying an existing syntax definition XML file, you must increase the version number of the language. @@ -139,15 +176,15 @@ All files shall contain a proper "SPDX-License-Identifier: MIT" identifier insid * [Available Default Styles (Working with Syntax Highlighting, KDE Documentation)](https://docs.kde.org/?application=katepart&branch=trunk5&path=highlight.html#kate-highlight-default-styles) * [Kate Part (KF5): New Default Styles for better Color Schemes (Kate Editor Website)](https://kate-editor.org/2014/03/07/kate-part-kf5-new-default-styles-for-better-color-schemes/) -* Important: add test files, these are found in **autotests/input/**. +* Add test files, these are found in **autotests/input/**. If you are going to add a new syntax XML file, create a new test file; if you are going to modify a XML file, adds examples to existing test files. Then, it is necessary to generate and update the files in **autotests/folding/**, **autotests/html/** and **autotests/reference/**, which must be included in the - patches. The instructions are in the [next section](#adding-unit-tests-for-a-syntax-definition). + patches. Instructions are [below](#adding-unit-tests-for-a-syntax-definition). -## Adding unit tests for a syntax definition +### Adding unit tests for a syntax definition 1. Add an input file into the **autotests/input/** folder, lets call it **test.<language-extension>**. @@ -184,9 +221,10 @@ However, some users often report bugs related to syntax highlighting in [kate/syntax](https://bugs.kde.org/buglist.cgi?component=syntax&product=kate&resolution=---) and [kile/editor](https://bugs.kde.org/buglist.cgi?component=editor&product=kile&resolution=---). -## Updating the kate-editor.org/syntax website +## Updating the syntax & themes pages of the kate-editor.org website -To update the [kate-editor.org/syntax](https://kate-editor.org/syntax/) website +To update the [kate-editor.org/syntax](https://kate-editor.org/syntax/) and +[kate-editor.org/themes](https://kate-editor.org/themes/) websites including the update site & all linked examples/files, please run after successful **build** & **test** the following make target: diff --git a/src/libs/3rdparty/syntax-highlighting/autogenerated/ksyntaxhighlighting_version.h b/src/libs/3rdparty/syntax-highlighting/autogenerated/ksyntaxhighlighting_version.h index df0317ed7cf..32e5aa62a75 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.75.0" +#define SyntaxHighlighting_VERSION_STRING "5.80.0" #define SyntaxHighlighting_VERSION_MAJOR 5 -#define SyntaxHighlighting_VERSION_MINOR 75 +#define SyntaxHighlighting_VERSION_MINOR 80 #define SyntaxHighlighting_VERSION_PATCH 0 -#define SyntaxHighlighting_VERSION ((5<<16)|(75<<8)|(0)) +#define SyntaxHighlighting_VERSION ((5<<16)|(80<<8)|(0)) #endif diff --git a/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt index cab8c885dcd..8b923c47952 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/data/CMakeLists.txt @@ -1,9 +1,27 @@ +# create a directory for generated definitions +execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax) + +macro(generate_syntax_definition generator targetFile srcFile) + add_custom_target( + ${targetFile} ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/${targetFile} + ) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/${targetFile} + COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generators/${generator} + ${CMAKE_CURRENT_SOURCE_DIR}/syntax/${srcFile} + ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/${targetFile} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/generators/${generator} + ${CMAKE_CURRENT_SOURCE_DIR}/syntax/${srcFile} + ${ARGN} + VERBATIM + ) + set(gen_defs ${gen_defs} ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/${targetFile}) +endmacro() + # generate PHP definitions macro(generate_php_syntax_definition targetFile srcFile) - execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax) - execute_process(COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generators/generate-php.pl - INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/syntax/${srcFile} - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/${targetFile}) + generate_syntax_definition(generate-php.pl ${targetFile} ${srcFile} ${CMAKE_CURRENT_SOURCE_DIR}/syntax/php.xml) endmacro() generate_php_syntax_definition(javascript-php.xml javascript.xml) @@ -13,17 +31,12 @@ generate_php_syntax_definition(javascript-react-php.xml javascript-react.xml) generate_php_syntax_definition(typescript-php.xml typescript.xml) generate_php_syntax_definition(mustache-php.xml mustache.xml) +# generate DoxygenLua definition +generate_syntax_definition(generate-doxygenlua.pl doxygenlua.xml doxygen.xml) + # find all definitions file(GLOB src_defs "${CMAKE_CURRENT_SOURCE_DIR}/syntax/*.xml") -set(defs - ${src_defs} - ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/html-php.xml - ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/css-php.xml - ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/javascript-php.xml - ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/javascript-react-php.xml - ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/typescript-php.xml - ${CMAKE_CURRENT_BINARY_DIR}/generated/syntax/mustache-php.xml -) +set(defs ${src_defs} ${gen_defs}) # theme data resource qt5_add_resources(themes_QRC ${CMAKE_CURRENT_SOURCE_DIR}/themes/theme-data.qrc) @@ -43,7 +56,7 @@ if (QRC_SYNTAX) # generate the index file add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" COMMAND katehighlightingindexer "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" "${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" - DEPENDS ${defs} ${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc + DEPENDS katehighlightingindexer ${defs} ${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc ) # generate the qrc file manually, to make dependencies on generated files work... @@ -57,7 +70,7 @@ if (QRC_SYNTAX) add_library(SyntaxHighlightingData OBJECT ${themes_QRC} ${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp) else() # install the syntax files as normal files into the prefix - install (FILES ${defs} DESTINATION share/org.kde.syntax-highlighting/syntax) + install (FILES ${defs} DESTINATION ${KDE_INSTALL_DATADIR}/org.kde.syntax-highlighting/syntax) # object library to make cross-folder dependencies work, only themes add_library(SyntaxHighlightingData OBJECT ${themes_QRC}) 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 be60d199595..8e8d37d266c 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.xml.tpl +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.xml.tpl @@ -14,9 +14,15 @@ SPDX-License-Identifier: LGPL-2.0-or-later --> + + - {%- for command in commands %} - {{command.name}} - {%- endfor %} + + + - {% for command in commands -%} - {%- if command.named_args and command.named_args.kw %} - - {%- for arg in command.named_args.kw %} - {{arg}} - {%- endfor %} + + + + + + - {%- endif %} - {%- if command.special_args and command.special_args.kw %} - - {%- for arg in command.special_args.kw %} - {{arg}} - {%- endfor %} + + + + + + - {%- endif %} - {%- endfor %} + + - {%- for var in variables.kw %} - {{var}} - {%- endfor %} + + + - {%- for var in deprecated_or_internal_variables.kw %} - {{var}} - {%- endfor %} + + + - {%- for var in environment_variables.kw %} - {{var}} - {%- endfor %} + + + - {%- for kind in properties.kinds %} - - {%- for prop in properties[kind].kw %} - {{prop}} - {%- endfor %} + + + + + - {%- endfor %} + - {%- for expr in generator_expressions %} - {{ expr }} - {%- endfor %} + + + - {% for command in commands -%} - - {% endfor -%} + + beginRegion="" endRegion="" /> + @@ -95,71 +101,64 @@ - {% for command in commands -%} - {# - - -#} - - + + + - - {%- if command.nested_parentheses %} - - {%- endif %} + + + + - {%- if command.named_args and command.named_args.kw %} - - {%- endif %} - {%- if command.special_args and command.special_args.kw %} - - {%- endif %} - {%- if command.property_args and command.property_args.kw %} - {%- for kind in command.property_args.kw %} - - {%- if properties[kind|replace('-', '_')].re %} - - {%- endif %} - {%- endfor %} - {%- endif %} - {%- if command is not nulary %} + + + + + + + + + + + + + + + - {%- if command.name == 'cmake_policy' %} + - {%- endif %} - {%- endif %} + + - {%- if command.nested_parentheses %} - + + - {%- if command.named_args and command.named_args.kw %} - - {%- endif %} - {%- if command.special_args and command.special_args.kw %} - - {%- endif %} - {%- if command.property_args and command.property_args.kw %} - {%- for kind in command.property_args.kw %} - - {%- if properties[kind|replace('-', '_')].re %} - - {%- endif %} - {%- endfor %} - {%- endif %} + + + + + + + + + + + + + + - {%- endif %} - {% endfor -%} + + - {% for kind in properties.kinds if properties[kind].re -%} - - {%- for prop in properties[kind].re %} - - {%- endfor %} - {{ '\n' }} - {% endfor -%} + + + + + @@ -187,12 +186,12 @@ - {%- for var in deprecated_or_internal_variables.re %} - - {%- endfor %} - {%- for var in variables.re %} - - {%- endfor %} + + + + + + @@ -204,9 +203,9 @@ - {%- for var in environment_variables.re %} - - {%- endfor %} + + + @@ -248,10 +247,20 @@ - - - - + + + + + + + + + + + + + + @@ -273,8 +282,7 @@ - - + @@ -286,8 +294,7 @@ - - + @@ -331,6 +338,7 @@ + @@ -354,7 +362,7 @@ - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml index e776c2508f6..7d4f113cba7 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/cmake.yaml @@ -232,6 +232,9 @@ target-properties: - INTERPROCEDURAL_OPTIMIZATION_ - INTERPROCEDURAL_OPTIMIZATION - IOS_INSTALL_COMBINED + - ISPC_HEADER_DIRECTORY # Since 3.19 + - ISPC_HEADER_SUFFIX # Since 3.19.2 + - ISPC_INSTRUCTION_SETS # Since 3.19 - JOB_POOL_COMPILE - JOB_POOL_LINK - LABELS @@ -274,6 +277,14 @@ target-properties: - NAME - NO_SONAME - NO_SYSTEM_FROM_IMPORTED + - OBJC_EXTENSIONS # Since 3.16 + - OBJC_STANDARD # Since 3.16 + - OBJC_STANDARD_REQUIRED # Since 3.16 + - OBJCXX_EXTENSIONS # Since 3.16 + - OBJCXX_STANDARD # Since 3.16 + - OBJCXX_STANDARD_REQUIRED # Since 3.16 + - OPTIMIZE_DEPENDENCIES # Since 3.19 + - OBJC_STANDARD - OSX_ARCHITECTURES_ - OSX_ARCHITECTURES - OSX_CURRENT_VERSION # Since 3.17 @@ -281,6 +292,7 @@ target-properties: - OUTPUT_NAME_ - OUTPUT_NAME - PCH_WARN_INVALID # Since 3.18 + - PCH_INSTANTIATE_TEMPLATES # Since 3.19 - PDB_NAME_ - PDB_NAME - PDB_OUTPUT_DIRECTORY_ @@ -362,6 +374,7 @@ target-properties: - XCODE_ATTRIBUTE_ - XCODE_EXPLICIT_FILE_TYPE - XCODE_GENERATE_SCHEME # Since 3.15 + - XCODE_LINK_BUILD_PHASE_MODE # Since 3.19 - XCODE_PRODUCT_TYPE - XCODE_SCHEME_ADDRESS_SANITIZER # Since 3.13 - XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN # Since 3.13 @@ -669,9 +682,12 @@ variables: - CMAKE_VS_PLATFORM_TOOLSET_CUDA - CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE - CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION - - CMAKE_XCODE_GENERATE_SCHEME + - CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM # Since 3.19 + - CMAKE_XCODE_BUILD_SYSTEM # Since 3.19 - CMAKE_XCODE_PLATFORM_TOOLSET - _BINARY_DIR + - _DESCRIPTION # Since 3.12 + - _HOMEPAGE_URL # Since 3.12 - _SOURCE_DIR - _VERSION - _VERSION_MAJOR @@ -679,7 +695,7 @@ variables: - _VERSION_PATCH - _VERSION_TWEAK - PROJECT_BINARY_DIR - - PROJECT_DESCRIPTION + - PROJECT_DESCRIPTION # Since 3.9 - PROJECT_HOMEPAGE_URL # Since 3.12 - PROJECT_NAME - PROJECT_SOURCE_DIR @@ -695,6 +711,7 @@ variables: - CMAKE_AUTOMOC_RELAXED_MODE - CMAKE_BACKWARDS_COMPATIBILITY - CMAKE_BUILD_TYPE + - CMAKE_CLANG_VFS_OVERLAY # Since 3.19 - CMAKE_CODEBLOCKS_COMPILER_ID # Since 3.11 - CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES # Since 3.10 - CMAKE_CODELITE_USE_TARGETS @@ -777,7 +794,9 @@ variables: - CMAKE_USER_MAKE_RULES_OVERRIDE - CMAKE_WARN_DEPRECATED - CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION + - CMAKE_XCODE_GENERATE_SCHEME - CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY # Since 3.13 + - CMAKE_XCODE_LINK_BUILD_PHASE_MODE # Since 3.19 - CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER # Since 3.13 - CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN # Since 3.13 - CMAKE_XCODE_SCHEME_WORKING_DIRECTORY # Since 3.17 @@ -869,6 +888,7 @@ variables: - CMAKE_ANDROID_SKIP_ANT_STEP - CMAKE_ANDROID_STANDALONE_TOOLCHAIN - CMAKE_ANDROID_STL_TYPE + - CMAKE_APPLE_SILICON_PROCESSOR # Since 3.19.2 - CMAKE_ARCHIVE_OUTPUT_DIRECTORY - CMAKE_ARCHIVE_OUTPUT_DIRECTORY_ - CMAKE_AUTOGEN_ORIGIN_DEPENDS # Since 3.14 @@ -951,10 +971,12 @@ variables: - CMAKE_NINJA_OUTPUT_PATH_PREFIX - CMAKE_NO_BUILTIN_CHRPATH - CMAKE_NO_SYSTEM_FROM_IMPORTED + - CMAKE_OPTIMIZE_DEPENDENCIES # Since 3.19 - CMAKE_OSX_ARCHITECTURES - CMAKE_OSX_DEPLOYMENT_TARGET - CMAKE_OSX_SYSROOT - CMAKE_PCH_WARN_INVALID # Since 3.18 + - CMAKE_PCH_INSTANTIATE_TEMPLATES # Since 3.19 - CMAKE_PDB_OUTPUT_DIRECTORY - CMAKE_PDB_OUTPUT_DIRECTORY_ - CMAKE_POSITION_INDEPENDENT_CODE @@ -1015,6 +1037,9 @@ variables: - CMAKE_Fortran_MODDIR_DEFAULT - CMAKE_Fortran_MODDIR_FLAG - CMAKE_Fortran_MODOUT_FLAG + - CMAKE_ISPC_HEADER_DIRECTORY # Since 3.19 + - CMAKE_ISPC_HEADER_SUFFIX # Since 3.19.2 + - CMAKE_ISPC_INSTRUCTION_SETS # Since 3.19 - CMAKE__ANDROID_TOOLCHAIN_MACHINE - CMAKE__ANDROID_TOOLCHAIN_PREFIX - CMAKE__ANDROID_TOOLCHAIN_SUFFIX @@ -1063,6 +1088,12 @@ variables: - CMAKE__SOURCE_FILE_EXTENSIONS - CMAKE__STANDARD_INCLUDE_DIRECTORIES - CMAKE__STANDARD_LIBRARIES + - CMAKE_OBJC_EXTENSIONS # Since 3.16 + - CMAKE_OBJC_STANDARD # Since 3.16 + - CMAKE_OBJC_STANDARD_REQUIRED # Since 3.16 + - CMAKE_OBJCXX_EXTENSIONS # Since 3.16 + - CMAKE_OBJCXX_STANDARD # Since 3.16 + - CMAKE_OBJCXX_STANDARD_REQUIRED # Since 3.16 - CMAKE_Swift_LANGUAGE_VERSION - CMAKE_USER_MAKE_RULES_OVERRIDE_ # Variables for CTest @@ -1190,8 +1221,11 @@ variables: - _UNPARSED_ARGUMENTS - _KEYWORDS_MISSING_VALUES # Well known CMake's official module's variables + # - CheckCompilerFlag # - CheckCCompilerFlag + # - CheckSourceCompiles # - CheckCSourceCompiles + # - CheckSourceRuns # - CheckCSourceRuns # - CheckCxxCompilerFlag # - CheckCxxSourceCompiles @@ -1337,6 +1371,7 @@ variables: - CPACK_EXTERNAL_REQUESTED_VERSIONS - CPACK_EXTERNAL_ENABLE_STAGING - CPACK_EXTERNAL_PACKAGE_SCRIPT + - CPACK_EXTERNAL_BUILT_PACKAGES # Since 3.19 # - CPackIFW - CPACK_IFW_ROOT - QTIFWDIR @@ -1597,6 +1632,9 @@ variables: - CPACK_PACKAGE_INSTALL_REGISTRY_KEY - CPACK_CREATE_DESKTOP_LINKS - CPACK_BINARY_ + - CPACK_PRE_BUILD_SCRIPTS # Since 3.19 + - CPACK_POST_BUILD_SCRIPTS # Since 3.19 + - CPACK_PACKAGE_FILES # Since 3.19 # - CPackWIX - CPACK_WIX_UPGRADE_GUID - CPACK_WIX_PRODUCT_GUID @@ -1621,6 +1659,7 @@ variables: - CPACK_WIX_SKIP_PROGRAM_FOLDER - CPACK_WIX_ROOT_FOLDER_ID - CPACK_WIX_ROOT + - CPACK_WIX_CUSTOM_XMLNS # Since 3.19 # - CTest # - Dart - BUILD_TESTING @@ -1750,6 +1789,7 @@ deprecated-or-internal-variables: # NOTE Added to syntax file version 14 at 3.15.0 version of CMake environment-variables: # Environment Variables that Control the Build + - CMAKE_APPLE_SILICON_PROCESSOR # Since 3.19.2 - CMAKE_BUILD_PARALLEL_LEVEL - CMAKE_CONFIG_TYPE - CMAKE_EXPORT_COMPILE_COMMANDS # Since 3.17 @@ -1837,7 +1877,19 @@ scripting-commands: ] - name: cmake_language - named-args: [CALL, EVAL, CODE] + named-args: [ + CALL + , EVAL + , CODE + # Since 3.19 + , DEFER + , DIRECTORY + , ID + , ID_VAR + , GET_CALL_IDS + , GET_CALL + , CANCEL_CALL + ] - name: cmake_minimum_required named-args: [VERSION, FATAL_ERROR] @@ -1850,7 +1902,13 @@ scripting-commands: special-args: [OLD, NEW] - name: configure_file - named-args: [COPYONLY, ESCAPE_QUOTES, "@ONLY", NEWLINE_STYLE] + named-args: [ + COPYONLY + , ESCAPE_QUOTES + , NO_SOURCE_PERMISSIONS # Since 3.19 + , "@ONLY" + , NEWLINE_STYLE + ] special-args: [UNIX, DOS, WIN32, LF, CRLF] - name: continue @@ -1934,6 +1992,7 @@ scripting-commands: , ENCODING , ECHO_OUTPUT_VARIABLE # Since 3.18 , ECHO_ERROR_VARIABLE # Since 3.18 + , COMMAND_ERROR_IS_FATAL # Since 3.19 ] special-args: [ NONE @@ -1943,6 +2002,8 @@ scripting-commands: , UTF8 , STDERR # Since 3.15: the value for `COMMAND_ECHO` , STDOUT # Since 3.15: the value for `COMMAND_ECHO` + , ANY # Since 3.19: the value for `COMMAND_ERROR_IS_FATAL` + , LAST # Since 3.19: the value for `COMMAND_ERROR_IS_FATAL` ] nested-parentheses?: true - @@ -2009,6 +2070,7 @@ scripting-commands: , INPUT , CONTENT , CONDITION + , TARGET # Since 3.19 , COPY , INSTALL , DESTINATION @@ -2040,7 +2102,8 @@ scripting-commands: , ARCHIVE_CREATE , FILES , FORMAT - , TYPE + , COMPRESSION + , COMPRESSION_LEVEL # Since 3.19 , MTIME , VERBOSE , ARCHIVE_EXTRACT @@ -2049,6 +2112,10 @@ scripting-commands: , ESCAPE_QUOTES , "@ONLY" , NEWLINE_STYLE + , CHMOD # Since 3.19 + , CHMOD_RECURSE # Since 3.19 + , REAL_PATH # Since 3.19 + , BASE_DIRECTORY # Since 3.19 ] special-args: [ UTF-8 @@ -2345,7 +2412,13 @@ scripting-commands: nulary?: true - name: separate_arguments - named-args: [NATIVE_COMMAND, UNIX_COMMAND, WINDOWS_COMMAND] + named-args: [ + NATIVE_COMMAND + , UNIX_COMMAND + , WINDOWS_COMMAND + , PROGRAM # Since 3.19 + , SEPARATE_ARGS # Since 3.19 + ] - name: set_directory_properties named-args: [PROPERTIES] @@ -2429,6 +2502,16 @@ scripting-commands: , NAME , TYPE , UPPER + # Since 3.19 + , JSON + , ERROR_VARIABLE + , GET + , TYPE + , MEMBER + , LENGTH + , REMOVE + , SET + , EQUAL ] - name: unset @@ -2532,6 +2615,7 @@ project-commands: , CSharp , CXX , CUDA + , ISPC # Since 3.19 , Java , OBJC # Since 3.16 , OBJCXX # Since 3.16 @@ -2656,6 +2740,7 @@ project-commands: , CSharp , CXX , CUDA + , ISPC # Since 3.19 , Java , OBJC # Since 3.16 , OBJCXX # Since 3.16 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 0dd04a44be2..24b1eb0d7cc 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 @@ -3,7 +3,7 @@ # # Generate Kate syntax file for CMake # -# SPDX-FileCopyrightText: 2017-2019 Alex Turbov +# SPDX-FileCopyrightText: 2017-2020 Alex Turbov # # To install prerequisites: # @@ -43,21 +43,29 @@ def try_transform_placeholder_string_to_regex(name): ''' m = _TEMPLATED_NAME.split(name) if 'CMAKE_MATCH_' in m: - return '\\bCMAKE_MATCH_[0-9]+\\b' + return 'CMAKE_MATCH_[0-9]+' if 'CMAKE_ARGV' in m: - return '\\bCMAKE_ARGV[0-9]+\\b' + return 'CMAKE_ARGV[0-9]+' if 'CMAKE_POLICY_DEFAULT_CMP' in m: - return '\\bCMAKE_POLICY_DEFAULT_CMP[0-9]{4}\\b' + return 'CMAKE_POLICY_DEFAULT_CMP[0-9]{4}' if 'CMAKE_POLICY_WARNING_CMP' in m: - return '\\bCMAKE_POLICY_WARNING_CMP[0-9]{4}\\b' + return 'CMAKE_POLICY_WARNING_CMP[0-9]{4}' if 'ARGV' in m: - return '\\bARGV[0-9]+\\b' + return 'ARGV[0-9]+' - return '\\b{}\\b'.format('&id_re;'.join(list(m))) if 1 < len(m) else name + return '&id_re;'.join(m) if 1 < len(m) else name + + +def try_placeholders_to_regex(names): + if not names: + return None + l = map(try_transform_placeholder_string_to_regex, names) + l = sorted(l, reverse=True) + return '\\b(?:' + '|'.join(l) + ')\\b' def partition_iterable(fn, iterable): @@ -73,7 +81,7 @@ def _transform_command_set(cmd, list_name): list_name = list_name.replace('-', '_') cmd[list_name] = {k: sorted(set(v)) for k, v in zip(_KW_RE_LIST, [args, args_re])} - cmd[list_name]['re'] = [*map(lambda x: try_transform_placeholder_string_to_regex(x), args_re)] + cmd[list_name]['re'] = try_placeholders_to_regex(args_re) return cmd @@ -136,12 +144,7 @@ def cli(input_yaml, template): , [*partition_iterable(lambda x: _TEMPLATED_NAME.search(x) is None, data[var_key])] ) } - data[var_key]['re'] = [ - *map( - lambda x: try_transform_placeholder_string_to_regex(x) - , data[var_key]['re'] - ) - ] + data[var_key]['re'] = try_placeholders_to_regex(data[var_key]['re']) # Transform properties and make all-properties list data['properties'] = {} @@ -153,18 +156,16 @@ def cli(input_yaml, template): data['properties'][python_prop_list_name] = { k: sorted(set(v)) for k, v in zip(_KW_RE_LIST, [props, props_re]) } - data['properties'][python_prop_list_name]['re'] = [ - *map(lambda x: try_transform_placeholder_string_to_regex(x), props_re) - ] + data['properties'][python_prop_list_name]['re'] = try_placeholders_to_regex(props_re) - data['properties']['kinds'] = [*map(lambda name: name.replace('-', '_'), _PROPERTY_KEYS)] + data['properties']['kinds'] = list(map(lambda name: name.replace('-', '_'), _PROPERTY_KEYS)) # Make all commands list - data['commands'] = [ - *map( - lambda cmd: transform_command(cmd) + data['commands'] = list( + map( + transform_command , data['scripting-commands'] + data['project-commands'] + data['ctest-commands']) - ] + ) # Fix node names to be accessible from Jinja template data['generator_expressions'] = data['generator-expressions'] @@ -177,6 +178,12 @@ def cli(input_yaml, template): env = jinja2.Environment( keep_trailing_newline=True ) + env.block_start_string = '' + env.variable_start_string = '' + env.comment_start_string = '' # Register convenience filters env.tests['nulary'] = cmd_is_nulary diff --git a/src/libs/3rdparty/syntax-highlighting/data/generators/generate-php.pl b/src/libs/3rdparty/syntax-highlighting/data/generators/generate-php.pl index 04c9fcdb360..a3b20fb5546 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/generators/generate-php.pl +++ b/src/libs/3rdparty/syntax-highlighting/data/generators/generate-php.pl @@ -19,7 +19,13 @@ my $file = ""; -while (<>) +open(my $input, '<:encoding(UTF-8)', $ARGV[0]) + or die "Could not open file '$ARGV[0]': $!"; + +open(my $output, '>:encoding(UTF-8)', $ARGV[1]) + or die "Could not open file '$ARGV[1]': $!"; + +while (<$input>) { $file .= $_; } @@ -55,12 +61,17 @@ else $file =~ s/]+)mimetype="[^"]*"/\n\n\n"; +if ($root == 1 || $ARGV[0] =~ /mustache.xml$/) +{ + $file =~ s/<(?:RegExpr (attribute="Processing Instruction" context="PI"|context="PI" attribute="Processing Instruction")|itemData name="Processing Instruction")[^\/]+\/>|//gs; +} -$file =~ s/]*)context="([^"#]*)##(?!Alerts|Doxygen|Modelines)([^"]+)"/\n\n\n"; + +$file =~ s/]*)context="([^"#]*)##(?!Alerts|Comments|Doxygen|Modelines)([^"]+)"/]*[^>\/]>)/$1\n/g; $file =~ s/(]*[^>\/])\s*\/>/$1>\n\n<\/context>/g; $file =~ s/(?=<\/contexts\s*>)/$findphp/; -print $file; -print $warning; +print $output $file; +print $output $warning; diff --git a/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd b/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd index 5fdbbb07dfd..fa510e0d147 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd +++ b/src/libs/3rdparty/syntax-highlighting/data/schema/language.xsd @@ -395,49 +395,61 @@ commonAttributes: Common attributes insensitive: Is this list case-insensitive? [boolean, optional, see note] String: Name of the list - weakDelimiter: Use weak deliminator + weakDeliminator: Add weak deliminators [optional, see note] + additionalDeliminator: Add deliminators [optional, see note] By default, case sensitivity is determined from in (default=true), but can be overridden per-list with 'insensitive'. - TODO: - - Should be weakDeliminator - - Explain deliminator - - Doesn't seem to be supported in highligh.cpp + weakDeliminator and additionalDeliminator are accumulated to those defined in + in . --> - + + + + + + + + + + - - - - + + |&;])"> + + + |&;()"> + + + + + + + + + + |&;{}\\`'"$"> + + + + + + + + + ]> - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + - - + - - - - - - - - + + + + + + - - - + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - - - - - + + + - - - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + - - - - + + + + + + + + + + - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - + + + + + + + - - - - - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml index 6f3b3dc862b..7f3920bfb64 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml @@ -14,9 +14,15 @@ SPDX-License-Identifier: LGPL-2.0-or-later --> + + CALL + CANCEL_CALL CODE + DEFER + DIRECTORY EVAL + GET_CALL + GET_CALL_IDS + ID + ID_VAR FATAL_ERROR @@ -199,6 +212,7 @@ COPYONLY ESCAPE_QUOTES NEWLINE_STYLE + NO_SOURCE_PERMISSIONS CRLF @@ -242,6 +256,7 @@ COMMAND COMMAND_ECHO + COMMAND_ERROR_IS_FATAL ECHO_ERROR_VARIABLE ECHO_OUTPUT_VARIABLE ENCODING @@ -261,7 +276,9 @@ ANSI + ANY AUTO + LAST NONE OEM STDERR @@ -273,6 +290,11 @@ APPEND ARCHIVE_CREATE ARCHIVE_EXTRACT + BASE_DIRECTORY + CHMOD + CHMOD_RECURSE + COMPRESSION + COMPRESSION_LEVEL CONDITION CONFIGURE CONFIGURE_DEPENDS @@ -328,6 +350,7 @@ PERMISSIONS READ READ_SYMLINK + REAL_PATH REGEX RELATIVE RELATIVE_PATH @@ -349,6 +372,7 @@ SIZE STATUS STRINGS + TARGET TIMEOUT TIMESTAMP TLS_CAINFO @@ -357,7 +381,6 @@ TOUCH_NOCREATE TO_CMAKE_PATH TO_NATIVE_PATH - TYPE UPLOAD USERPWD USE_SOURCE_PERMISSIONS @@ -662,6 +685,8 @@ NATIVE_COMMAND + PROGRAM + SEPARATE_ARGS UNIX_COMMAND WINDOWS_COMMAND @@ -704,13 +729,16 @@ CONCAT CONFIGURE EQUAL + ERROR_VARIABLE ESCAPE_QUOTES FIND GENEX_STRIP + GET GREATER GREATER_EQUAL HEX JOIN + JSON LENGTH LESS LESS_EQUAL @@ -718,6 +746,7 @@ MATCH MATCHALL MD5 + MEMBER NAME NAMESPACE NOTEQUAL @@ -725,9 +754,11 @@ RANDOM RANDOM_SEED REGEX + REMOVE REPEAT REPLACE REVERSE + SET SHA1 SHA224 SHA256 @@ -883,6 +914,7 @@ CUDA CXX Fortran + ISPC Java OBJC OBJCXX @@ -996,6 +1028,7 @@ CUDA CXX Fortran + ISPC Java NONE OBJC @@ -1318,6 +1351,7 @@ CMAKE_ANDROID_STL_TYPE CMAKE_ANSI_CXXFLAGS CMAKE_APPBUNDLE_PATH + CMAKE_APPLE_SILICON_PROCESSOR CMAKE_AR CMAKE_ARCHIVE_OUTPUT_DIRECTORY CMAKE_ARGC @@ -1347,6 +1381,7 @@ CMAKE_CACHE_MINOR_VERSION CMAKE_CACHE_PATCH_VERSION CMAKE_CFG_INTDIR + CMAKE_CLANG_VFS_OVERLAY CMAKE_CL_64 CMAKE_CODEBLOCKS_COMPILER_ID CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES @@ -1538,6 +1573,9 @@ CMAKE_INSTALL_UCRT_LIBRARIES CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_IOS_INSTALL_COMBINED + CMAKE_ISPC_HEADER_DIRECTORY + CMAKE_ISPC_HEADER_SUFFIX + CMAKE_ISPC_INSTRUCTION_SETS CMAKE_JOB_POOLS CMAKE_JOB_POOL_COMPILE CMAKE_JOB_POOL_LINK @@ -1583,12 +1621,20 @@ CMAKE_NO_BUILTIN_CHRPATH CMAKE_NO_STD_NAMESPACE CMAKE_NO_SYSTEM_FROM_IMPORTED + CMAKE_OBJCXX_EXTENSIONS + CMAKE_OBJCXX_STANDARD + CMAKE_OBJCXX_STANDARD_REQUIRED + CMAKE_OBJC_EXTENSIONS + CMAKE_OBJC_STANDARD + CMAKE_OBJC_STANDARD_REQUIRED CMAKE_OBJECT_PATH_MAX + CMAKE_OPTIMIZE_DEPENDENCIES CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION + CMAKE_PCH_INSTANTIATE_TEMPLATES CMAKE_PCH_WARN_INVALID CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE @@ -1689,12 +1735,15 @@ CMAKE_VS_SDK_REFERENCE_DIRECTORIES CMAKE_VS_SDK_SOURCE_DIRECTORIES CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION + CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM CMAKE_WARN_DEPRECATED CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_WIN32_EXECUTABLE CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS + CMAKE_XCODE_BUILD_SYSTEM CMAKE_XCODE_GENERATE_SCHEME CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY + CMAKE_XCODE_LINK_BUILD_PHASE_MODE CMAKE_XCODE_PLATFORM_TOOLSET CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN @@ -1782,6 +1831,7 @@ CPACK_DMG_SLA_LANGUAGES CPACK_DMG_VOLUME_NAME CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION + CPACK_EXTERNAL_BUILT_PACKAGES CPACK_EXTERNAL_ENABLE_STAGING CPACK_EXTERNAL_PACKAGE_SCRIPT CPACK_EXTERNAL_REQUESTED_VERSIONS @@ -1883,6 +1933,7 @@ CPACK_PACKAGE_DESCRIPTION_SUMMARY CPACK_PACKAGE_DIRECTORY CPACK_PACKAGE_EXECUTABLES + CPACK_PACKAGE_FILES CPACK_PACKAGE_FILE_NAME CPACK_PACKAGE_HOMEPAGE_URL CPACK_PACKAGE_ICON @@ -1897,6 +1948,8 @@ CPACK_PACKAGING_INSTALL_PREFIX CPACK_PKGBUILD_IDENTITY_NAME CPACK_PKGBUILD_KEYCHAIN_PATH + CPACK_POST_BUILD_SCRIPTS + CPACK_PRE_BUILD_SCRIPTS CPACK_PRODUCTBUILD_BACKGROUND CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA @@ -1989,6 +2042,7 @@ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CPACK_WIX_CMAKE_PACKAGE_REGISTRY CPACK_WIX_CULTURES + CPACK_WIX_CUSTOM_XMLNS CPACK_WIX_EXTENSIONS CPACK_WIX_EXTRA_OBJECTS CPACK_WIX_EXTRA_SOURCES @@ -2181,6 +2235,7 @@ CC CFLAGS CMAKE_APPBUNDLE_PATH + CMAKE_APPLE_SILICON_PROCESSOR CMAKE_BUILD_PARALLEL_LEVEL CMAKE_CONFIG_TYPE CMAKE_EXPORT_COMPILE_COMMANDS @@ -2423,6 +2478,9 @@ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES INTERPROCEDURAL_OPTIMIZATION IOS_INSTALL_COMBINED + ISPC_HEADER_DIRECTORY + ISPC_HEADER_SUFFIX + ISPC_INSTRUCTION_SETS JOB_POOL_COMPILE JOB_POOL_LINK LABELS @@ -2452,10 +2510,18 @@ NAME NO_SONAME NO_SYSTEM_FROM_IMPORTED + OBJCXX_EXTENSIONS + OBJCXX_STANDARD + OBJCXX_STANDARD_REQUIRED + OBJC_EXTENSIONS + OBJC_STANDARD + OBJC_STANDARD_REQUIRED + OPTIMIZE_DEPENDENCIES OSX_ARCHITECTURES OSX_COMPATIBILITY_VERSION OSX_CURRENT_VERSION OUTPUT_NAME + PCH_INSTANTIATE_TEMPLATES PCH_WARN_INVALID PDB_NAME PDB_OUTPUT_DIRECTORY @@ -2528,6 +2594,7 @@ WINDOWS_EXPORT_ALL_SYMBOLS XCODE_EXPLICIT_FILE_TYPE XCODE_GENERATE_SCHEME + XCODE_LINK_BUILD_PHASE_MODE XCODE_PRODUCT_TYPE XCODE_SCHEME_ADDRESS_SANITIZER XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN @@ -3785,64 +3852,19 @@ - + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -3871,210 +3893,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -4086,11 +3906,7 @@ - - - - - + @@ -4132,10 +3948,20 @@ - - - - + + + + + + + + + + + + + + @@ -4157,8 +3983,7 @@ - - + @@ -4170,8 +3995,7 @@ - - + @@ -4215,6 +4039,7 @@ + @@ -4238,7 +4063,7 @@ - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/css.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/css.xml index 3a2aa3dc91d..37da5ea3746 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/css.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/css.xml @@ -38,7 +38,7 @@ Changelog: --> - + @@ -822,6 +822,7 @@ Changelog: static static-position status-bar + sticky thick thin ultra-condensed @@ -1584,8 +1585,7 @@ Changelog: - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml index 6f3172570c7..d7a53a167c0 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml @@ -1,12 +1,12 @@ + ]> - + - - + - + - - + @@ -335,7 +333,7 @@ - + @@ -354,7 +352,7 @@ - + @@ -498,7 +496,7 @@ - + @@ -590,8 +588,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/dtd.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/dtd.xml index be6bed734e5..8093b1c4e81 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/dtd.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/dtd.xml @@ -3,7 +3,7 @@ ]> - + @@ -45,8 +45,7 @@ - - + @@ -78,7 +77,7 @@ - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/html.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/html.xml index 2a9a3bc4f44..312c91c5aa8 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/html.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/html.xml @@ -5,7 +5,7 @@ ]> - + @@ -79,8 +79,7 @@ - - + @@ -92,8 +91,7 @@ - - + @@ -195,7 +193,7 @@ - + @@ -206,8 +204,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/ini.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/ini.xml index 0a6730977f0..8b36a562907 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/ini.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/ini.xml @@ -1,6 +1,6 @@ - + @@ -36,8 +36,7 @@ - - + @@ -48,8 +47,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml index 273e899f739..6091cd4ee29 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml @@ -1,10 +1,13 @@ - + + + + + ]> - + ACTIVE @@ -3704,21 +3707,11 @@ abstract - break - case - catch class - continue default - do - else enum extends false - finally - for - goto - if implements instanceof @interface @@ -3729,18 +3722,30 @@ private protected public - return super strictfp - switch synchronized this throws - throw transient true - try volatile + + + break + case + catch + continue + do + else + finally + for + goto + if + return + switch + throw + try while @@ -3759,87 +3764,127 @@ - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + - - + + + + + + + + - + - - - - - - + + - - + + + + + - - + + + + + - - + + + + + + + + + + + + + + + + - - + - - + + + @@ -3855,8 +3900,9 @@ - + + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/javadoc.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/javadoc.xml index e72488b2214..336fedd53c1 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/javadoc.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/javadoc.xml @@ -1,6 +1,6 @@ - + @@ -12,74 +12,52 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml index a7ab85e0bb0..686a1758c67 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml @@ -12,7 +12,7 @@ ** http://tools.ietf.org/html/rfc4627 *************************************************************************** --> - + null @@ -46,8 +46,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/makefile.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/makefile.xml index 7df18db5df7..257aac57410 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/makefile.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/makefile.xml @@ -12,7 +12,7 @@ @@ -384,6 +384,8 @@ TODO :[range] --> + + - - @@ -417,12 +417,11 @@ :Dnewval If the variable is defined newval is the value. :Unewval If the variable is undefined newval is the value. --> - - + @@ -477,8 +476,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml index d836d1c3f4c..b35397af9c9 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml @@ -90,14 +90,14 @@ ]> - + - + - + @@ -109,12 +109,12 @@ - + - + @@ -130,9 +130,9 @@ NOTE: The indentation of the lists is captured. --> - - - + + + @@ -142,33 +142,30 @@ - + - - + - - - - - - + + + + + + - - + - - + @@ -195,7 +192,7 @@ - + @@ -206,16 +203,10 @@ - - - - - - - - - - + + + + @@ -223,40 +214,40 @@ - + - - - + + + - + - + - - - + + + - + - + - - - + + + - + @@ -268,7 +259,7 @@ - + @@ -277,24 +268,17 @@ - - - - - - - - - - + + + + - - + @@ -337,7 +321,7 @@ - + @@ -465,14 +449,9 @@ - - - - - + - - + @@ -508,13 +487,13 @@ - + - + @@ -552,25 +531,23 @@ - + - + - + - + - - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml index 1b5ca943bed..fdf2266558a 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml @@ -39,7 +39,7 @@ Enhance tr/// and y/// support. --> - + if @@ -339,7 +339,7 @@ - + @@ -347,7 +347,7 @@ - + @@ -384,8 +384,7 @@ - - + @@ -428,15 +427,7 @@ - - - - - - - - - + @@ -465,7 +456,7 @@ - + @@ -508,7 +499,7 @@ - + @@ -605,10 +596,7 @@ - - - - + @@ -629,7 +617,6 @@ - @@ -663,13 +650,7 @@ - - - - - - - + @@ -713,17 +694,10 @@ - - - - - - - + + - - - + @@ -732,17 +706,11 @@ - - - - - - - + + + - - - + @@ -767,7 +735,7 @@ - + @@ -791,26 +759,24 @@ - - - + - + - + - + @@ -841,14 +807,13 @@ - + - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml index 29ec21e286e..7754c6cf340 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml @@ -1,9 +1,9 @@ - - + - - + @@ -908,14 +906,12 @@ - - + - - + @@ -931,7 +927,7 @@ - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/python.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/python.xml index 2cdde881c9a..f1c89a54e41 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/python.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/python.xml @@ -4,6 +4,35 @@ + + + + + ]> @@ -19,7 +48,7 @@ - + import @@ -355,8 +384,7 @@ - - + @@ -393,20 +421,20 @@ - - - - + + + + - - - - + + + + @@ -417,10 +445,10 @@ - - - - + + + + @@ -448,66 +476,38 @@ - - + - + - + - + - + - - - - + @@ -517,12 +517,7 @@ - - - - - - + @@ -532,7 +527,7 @@ - + @@ -552,50 +547,50 @@ - + - + - + - + - + - + - + - + @@ -603,50 +598,50 @@ - + - + - + - + - + - + - + - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/qdocconf.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/qdocconf.xml index 4504016d0af..b735ca9f4a9 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/qdocconf.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/qdocconf.xml @@ -1,7 +1,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/ruby.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/ruby.xml index a6d44b4246f..dc6444e7476 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/ruby.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/ruby.xml @@ -31,7 +31,7 @@ - + - + - - - + + - @@ -236,8 +234,7 @@ - - + @@ -269,21 +266,16 @@ - - - - - + + - - + - - + @@ -291,14 +283,12 @@ - - + + - - @@ -320,20 +310,20 @@ - + - + - + @@ -345,7 +335,7 @@ - + @@ -355,8 +345,7 @@ - - + @@ -390,7 +379,7 @@ - + @@ -433,8 +422,7 @@ - - + - - - + - - - + @@ -463,11 +447,11 @@ - + - + @@ -481,8 +465,8 @@ - - + + @@ -602,7 +586,7 @@ --> - + @@ -667,7 +651,7 @@ --> - + @@ -731,7 +715,7 @@ --> - + @@ -795,7 +779,7 @@ --> - + @@ -861,7 +845,7 @@ --> - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/valgrind-suppression.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/valgrind-suppression.xml index d30fc775826..46d8c646f7d 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/valgrind-suppression.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/valgrind-suppression.xml @@ -1,6 +1,6 @@ - + @@ -9,7 +9,7 @@ - + @@ -25,8 +25,7 @@ - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/xml.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/xml.xml index bb88366c865..fbefcb6dad0 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/xml.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/xml.xml @@ -6,7 +6,7 @@ ]> - + @@ -17,10 +17,10 @@ - - - - + + + + @@ -41,37 +41,67 @@ - - + + + + + + - + + + + + + + + - + + + + + + + + + + + + + - - + + - - + + - + + + + + + + + - + @@ -86,25 +116,31 @@ + + + - - + + - + + + + - + - + @@ -115,29 +151,34 @@ - + - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/yacc.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/yacc.xml index 996d36df627..478dc396d8c 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/yacc.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/yacc.xml @@ -32,7 +32,7 @@ This code is released under the LGPL as part of kdelibs/kate. ======================================================================== --> - + @@ -139,9 +139,9 @@ This code is released under the LGPL as part of kdelibs/kate. - + - + @@ -201,13 +201,11 @@ This code is released under the LGPL as part of kdelibs/kate. - - + - - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/atom-one-dark.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/atom-one-dark.theme new file mode 100644 index 00000000000..dcd95114025 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/atom-one-dark.theme @@ -0,0 +1,352 @@ +{ + "custom-styles": { + "Go": { + "Predeclared Identifier": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + } + }, + "INI Files": { + "Assignment": { + "selected-text-color": "#abb2bf", + "text-color": "#abb2bf" + }, + "Section": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + } + }, + "JavaScript": { + "Built-in Objects": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Function Declaration": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "Function Name": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "Module": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Object Member": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Object Method (Built-in)": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + } + }, + "Markdown": { + "Code": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Emphasis Text": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Fenced Code": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Header H1": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Header H2": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Header H3": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Header H4": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Header H5": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Header H6": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Link": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Reference-Link Name": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "Reference-Link Target": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "Reference-Link Target: Link": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Reference-Link: Email": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Reference-Link: Link": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Strong Text": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + } + }, + "Python": { + "Builtin Function": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "String Substitution": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + } + }, + "Rust": { + "Lifetime": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Macro": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "Self": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Trait": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Type": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + } + }, + "TypeScript": { + "Built-in Objects": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Module": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Object Member": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Object Method (Built-in)": { + "italic": false, + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "Reserved": { + "italic": false + }, + "Types": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + } + }, + "XML": { + "Attribute": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Element": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + } + } + }, + "editor-colors": { + "BackgroundColor": "#282c34", + "BracketMatching": "#8e44ad", + "CodeFolding": "#363c4a", + "CurrentLine": "#0A99BBFF", + "CurrentLineNumber": "#abb2bf", + "IconBorder": "#282c34", + "IndentationLine": "#3a3f44", + "LineNumbers": "#636D83", + "MarkBookmark": "#0404bf", + "MarkBreakpointActive": "#8b0607", + "MarkBreakpointDisabled": "#820683", + "MarkBreakpointReached": "#6d6e07", + "MarkError": "#c24038", + "MarkExecution": "#4d4e50", + "MarkWarning": "#d19a66", + "ModifiedLines": "#e06c75", + "ReplaceHighlight": "#a34f56", + "SavedLines": "#98c379", + "SearchHighlight": "#3D528BFF", + "Separator": "#3f4347", + "SpellChecking": "#c24038", + "TabMarker": "#21252B", + "TemplateBackground": "#31363b", + "TemplateFocusedPlaceholder": "#123723", + "TemplatePlaceholder": "#123723", + "TemplateReadOnlyPlaceholder": "#4d1f24", + "TextSelection": "#363c4a", + "WordWrapMarker": "#3a3f44" + }, + "metadata": { + "copyright": [ + "SPDX-FileCopyrightText: 2016 GitHub Inc.", + "SPDX-FileCopyrightText: 2020 Waqar Ahmed " + ], + "license": "SPDX-License-Identifier: MIT", + "name": "Atom One Dark", + "revision": 2 + }, + "text-styles": { + "Alert": { + "background-color": "#4d1f24", + "bold": true, + "selected-text-color": "#95da4c", + "text-color": "#95da4c" + }, + "Annotation": { + "selected-text-color": "#98c379", + "text-color": "#98c379" + }, + "Attribute": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "BaseN": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "BuiltIn": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Char": { + "selected-text-color": "#98c379", + "text-color": "#98c379" + }, + "Comment": { + "italic": true, + "selected-text-color": "#5c6370", + "text-color": "#5c6370" + }, + "CommentVar": { + "italic": true, + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "Constant": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "ControlFlow": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "DataType": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "DecVal": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Documentation": { + "selected-text-color": "#da4453", + "text-color": "#a43340" + }, + "Error": { + "selected-text-color": "#f44747", + "text-color": "#f44747", + "underline": true + }, + "Extension": { + "bold": true, + "selected-text-color": "#61afef", + "text-color": "#61afef" + }, + "Float": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Function": { + "selected-text-color": "#61afef", + "text-color": "#61afef" + }, + "Import": { + "selected-text-color": "#98c379", + "text-color": "#98c379" + }, + "Information": { + "selected-text-color": "#e46700", + "text-color": "#c45b00" + }, + "Keyword": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Normal": { + "selected-text-color": "#abb2bf", + "text-color": "#abb2bf" + }, + "Operator": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "Others": { + "selected-text-color": "#27ae60", + "text-color": "#27ae60" + }, + "Preprocessor": { + "selected-text-color": "#c678dd", + "text-color": "#c678dd" + }, + "RegionMarker": { + "background-color": "#153042", + "selected-text-color": "#3daee9", + "text-color": "#2980b9" + }, + "SpecialChar": { + "selected-text-color": "#56b6c2", + "text-color": "#56b6c2" + }, + "SpecialString": { + "selected-text-color": "#da4453", + "text-color": "#da4453" + }, + "String": { + "selected-text-color": "#98c379", + "text-color": "#98c379" + }, + "Variable": { + "selected-text-color": "#e06c75", + "text-color": "#e06c75" + }, + "VerbatimString": { + "selected-text-color": "#da4453", + "text-color": "#da4453" + }, + "Warning": { + "selected-text-color": "#da4453", + "text-color": "#da4453" + } + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/atom-one-light.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/atom-one-light.theme new file mode 100644 index 00000000000..69ce7cb2b0f --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/atom-one-light.theme @@ -0,0 +1,359 @@ +{ + "custom-styles": { + "Go": { + "Predeclared Identifier": { + "selected-text-color": "#986801", + "text-color": "#986801" + } + }, + "INI Files": { + "Assignment": { + "selected-text-color": "#383a42", + "text-color": "#383a42" + }, + "Section": { + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + } + }, + "JavaScript": { + "Built-in Objects": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Function Declaration": { + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + }, + "Function Name": { + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + }, + "Module": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Object Member": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Object Method (Built-in)": { + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + } + }, + "Markdown": { + "Code": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Emphasis Text": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Fenced Code": { + "selected-text-color": "#d19a66", + "text-color": "#d19a66" + }, + "Header H1": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Header H2": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Header H3": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Header H4": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Header H5": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Header H6": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Line Break": { + "text-color": "#383a42" + }, + "Link": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Reference-Link Name": { + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + }, + "Reference-Link Target": { + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + }, + "Reference-Link Target: Link": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Reference-Link: Email": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Reference-Link: Link": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Strong Text": { + "selected-text-color": "#986801", + "text-color": "#986801" + } + }, + "Python": { + "Builtin Function": { + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + }, + "Import": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "String Substitution": { + "selected-text-color": "#986801", + "text-color": "#986801" + } + }, + "Rust": { + "Lifetime": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Macro": { + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + }, + "Self": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Trait": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Type": { + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + } + }, + "TypeScript": { + "Built-in Objects": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Module": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Object Member": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Object Method (Built-in)": { + "italic": false, + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + }, + "Reserved": { + "italic": false + }, + "Types": { + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + } + }, + "XML": { + "Attribute": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Element": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + } + } + }, + "editor-colors": { + "BackgroundColor": "#fafafa", + "BracketMatching": "#ff6e6e", + "CodeFolding": "#e5e5e6", + "CurrentLine": "#0C383A42", + "CurrentLineNumber": "#383a42", + "IconBorder": "#fafafa", + "IndentationLine": "#626772", + "LineNumbers": "#9D9D9F", + "MarkBookmark": "#0404bf", + "MarkBreakpointActive": "#8b0607", + "MarkBreakpointDisabled": "#820683", + "MarkBreakpointReached": "#6d6e07", + "MarkError": "#c24038", + "MarkExecution": "#4d4e50", + "MarkWarning": "#ce7c2b", + "ModifiedLines": "#e06c75", + "ReplaceHighlight": "#ef747e", + "SavedLines": "#98c379", + "SearchHighlight": "#33526FFF", + "Separator": "#a6b0ba", + "SpellChecking": "#c24038", + "TabMarker": "#8894a6", + "TemplateBackground": "#31363b", + "TemplateFocusedPlaceholder": "#123723", + "TemplatePlaceholder": "#123723", + "TemplateReadOnlyPlaceholder": "#4d1f24", + "TextSelection": "#e5e5e6", + "WordWrapMarker": "#cddff1" + }, + "metadata": { + "copyright": [ + "SPDX-FileCopyrightText: 2016 GitHub Inc.", + "SPDX-FileCopyrightText: 2020 Waqar Ahmed " + ], + "license": "SPDX-License-Identifier: MIT", + "name": "Atom One Light", + "revision": 3 + }, + "text-styles": { + "Alert": { + "background-color": "#4d1f24", + "bold": true, + "selected-text-color": "#95da4c", + "text-color": "#95da4c" + }, + "Annotation": { + "selected-text-color": "#50a14f", + "text-color": "#50a14f" + }, + "Attribute": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "BaseN": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "BuiltIn": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Char": { + "selected-text-color": "#50a14f", + "text-color": "#50a14f" + }, + "Comment": { + "italic": true, + "selected-text-color": "#a0a1a7", + "text-color": "#a0a1a7" + }, + "CommentVar": { + "italic": true, + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "Constant": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "ControlFlow": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "DataType": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "DecVal": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Documentation": { + "selected-text-color": "#da4453", + "text-color": "#e45649" + }, + "Error": { + "selected-text-color": "#f44747", + "text-color": "#f44747", + "underline": true + }, + "Extension": { + "bold": true, + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + }, + "Float": { + "selected-text-color": "#986801", + "text-color": "#986801" + }, + "Function": { + "selected-text-color": "#4078f2", + "text-color": "#4078f2" + }, + "Import": { + "selected-text-color": "#50a14f", + "text-color": "#50a14f" + }, + "Information": { + "selected-text-color": "#e46700", + "text-color": "#c45b00" + }, + "Keyword": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Normal": { + "selected-text-color": "#383a42", + "text-color": "#383a42" + }, + "Operator": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "Others": { + "selected-text-color": "#27ae60", + "text-color": "#27ae60" + }, + "Preprocessor": { + "selected-text-color": "#a626a4", + "text-color": "#a626a4" + }, + "RegionMarker": { + "background-color": "#153042", + "selected-text-color": "#3daee9", + "text-color": "#2980b9" + }, + "SpecialChar": { + "selected-text-color": "#0184bc", + "text-color": "#0184bc" + }, + "SpecialString": { + "selected-text-color": "#da4453", + "text-color": "#da4453" + }, + "String": { + "selected-text-color": "#50a14f", + "text-color": "#50a14f" + }, + "Variable": { + "selected-text-color": "#e45649", + "text-color": "#e45649" + }, + "VerbatimString": { + "selected-text-color": "#da4453", + "text-color": "#da4453" + }, + "Warning": { + "selected-text-color": "#da4453", + "text-color": "#da4453" + } + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-dark.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-dark.theme index 9c84e5af5d5..ebfde027973 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-dark.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-dark.theme @@ -1,6 +1,6 @@ { "_comments": [ - "Last update: Sep 21, 2020 (revision 2)", + "Last update: Feb 22, 2021 (revision 3)", "This file has been converted from: https://github.com/dempfi/ayu", "Also see: https://github.com/ayu-theme" ], @@ -11,7 +11,7 @@ ], "license": "SPDX-License-Identifier: MIT", "name": "ayu Dark", - "revision": 2 + "revision": 3 }, "editor-colors": { "BackgroundColor": "#0a0e14", @@ -176,5 +176,30 @@ "selected-text-color": "#f07178", "text-color": "#f07178" } + }, + "custom-styles": { + "XML": { + "Attribute": { + "selected-text-color": "#ffb454", + "text-color": "#ffb454" + }, + "Element": { + "selected-text-color": "#39bae6", + "text-color": "#39bae6", + "bold": false + }, + "Element Symbols": { + "selected-text-color": "#307896", + "text-color": "#22647d" + }, + "EntityRef": { + "selected-text-color": "#95e6cb", + "text-color": "#95e6cb" + }, + "PEntityRef": { + "selected-text-color": "#95e6cb", + "text-color": "#95e6cb" + } + } } } diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-mirage.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-mirage.theme index cd9ff7488e8..e389ecf2981 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-mirage.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/ayu-mirage.theme @@ -1,6 +1,6 @@ { "_comments": [ - "Last update: Sep 21, 2020 (revision 2)", + "Last update: Feb 22, 2021 (revision 3)", "This file has been converted from: https://github.com/dempfi/ayu", "Also see: https://github.com/ayu-theme" ], @@ -11,7 +11,7 @@ ], "license": "SPDX-License-Identifier: MIT", "name": "ayu Mirage", - "revision": 2 + "revision": 3 }, "editor-colors": { "BackgroundColor": "#1f2430", @@ -176,5 +176,30 @@ "selected-text-color": "#f28779", "text-color": "#f28779" } + }, + "custom-styles": { + "XML": { + "Attribute": { + "selected-text-color": "#ffd580", + "text-color": "#ffd580" + }, + "Element": { + "selected-text-color": "#5ccfe6", + "text-color": "#5ccfe6", + "bold": false + }, + "Element Symbols": { + "selected-text-color": "#4788a2", + "text-color": "#3d7a8b" + }, + "EntityRef": { + "selected-text-color": "#95e6cb", + "text-color": "#95e6cb" + }, + "PEntityRef": { + "selected-text-color": "#95e6cb", + "text-color": "#95e6cb" + } + } } } diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-dark.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-dark.theme index 93f8fa9cac7..712da4acc4a 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-dark.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-dark.theme @@ -5,7 +5,7 @@ "SPDX-FileCopyrightText: 2016 Dominik Haumann " ], "license": "SPDX-License-Identifier: MIT", - "revision" : 2, + "revision" : 6, "name" : "Breeze Dark" }, "text-styles": { @@ -36,8 +36,8 @@ "bold" : true }, "Operator" : { - "text-color" : "#cfcfc2", - "selected-text-color" : "#cfcfc2" + "text-color" : "#3f8058", + "selected-text-color" : "#54aa75" }, "BuiltIn" : { "text-color" : "#7f8c8d", @@ -149,7 +149,7 @@ "editor-colors": { "BackgroundColor" : "#232629", "CodeFolding" : "#224e65", - "BracketMatching" : "#8e44ad", + "BracketMatching" : "#323030", "CurrentLine" : "#2A2E32", "IconBorder" : "#31363b", "IndentationLine" : "#3a3f44", @@ -167,7 +167,7 @@ "SavedLines" : "#1c8042", "SearchHighlight" : "#218058", "TextSelection" : "#2d5c76", - "Separator" : "#7a7c7d", + "Separator" : "#3f4347", "SpellChecking" : "#c0392b", "TabMarker" : "#4d4d4d", "TemplateBackground" : "#31363b", diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-light.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-light.theme index 0a27e2d3548..7d0116bea95 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-light.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/breeze-light.theme @@ -5,7 +5,7 @@ "SPDX-FileCopyrightText: 2016 Dominik Haumann " ], "license": "SPDX-License-Identifier: MIT", - "revision" : 4, + "revision" : 8, "name" : "Breeze Light" }, "text-styles": { @@ -36,8 +36,8 @@ "bold" : true }, "Operator" : { - "text-color" : "#1f1c1b", - "selected-text-color" : "#ffffff" + "text-color" : "#ca60ca", + "selected-text-color" : "#a44ea4" }, "BuiltIn" : { "text-color" : "#644a9b", @@ -167,7 +167,7 @@ "SavedLines" : "#2ecc71", "SearchHighlight" : "#ffff00", "TextSelection" : "#94caef", - "Separator" : "#a0a0a0", + "Separator" : "#d5d5d5", "SpellChecking" : "#bf0303", "TabMarker" : "#d2d2d2", "TemplateBackground" : "#d6d2d0", diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/dracula.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/dracula.theme index 82786160b8f..93b1833334f 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/dracula.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/dracula.theme @@ -1,13 +1,547 @@ { + "custom-styles": { + "Alerts": { + "Region Marker": { + "selected-text-color": "#6db8c7", + "text-color": "#6db8c7" + } + }, + "Apache Configuration": { + "Directives": { + "bold": false + } + }, + "Bash": { + "Path": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "Redirection": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Variable": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + } + }, + "C": { + "Prep. Lib": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + } + }, + "C++": { + "Qt Macros": { + "bold": false, + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + } + }, + "CMake": { + "Builtin Variable": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + } + }, + "CSS": { + "Color": { + "bold": false + }, + "Property": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Selector Class": { + "italic": true + }, + "Selector Id": { + "bold": false, + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Selector Pseudo": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Selector Tag": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Unit": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + } + }, + "D": { + "Attribute": { + "bold": false + }, + "Declarator": { + "bold": false + }, + "Deprecated": { + "bold": false + }, + "Expression": { + "bold": false + }, + "Module": { + "bold": false + }, + "Property": { + "bold": false + }, + "Template": { + "bold": false + } + }, + "Diff": { + "Added line": { + "selected-text-color": "#5fde38", + "text-color": "#50fa7b" + }, + "Changed line (new)": { + "background-color": "#50fa7b", + "selected-text-color": "#5fde38", + "text-color": "#50fa7b" + }, + "Changed line (old)": { + "selected-text-color": "#e66eb4", + "text-color": "#ff79c6" + }, + "Removed line": { + "selected-text-color": "#e66eb4", + "text-color": "#ff79c6" + } + }, + "Doxygen": { + "Custom Tags": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "Description": { + "selected-text-color": "#c58e53", + "text-color": "#c58e53" + }, + "Entities": { + "bold": false + }, + "HTML Tag": { + "bold": false, + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "Region": { + "selected-text-color": "#6db8c7", + "text-color": "#6db8c7" + }, + "Tags": { + "bold": false, + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "Word": { + "bold": false, + "selected-text-color": "#c58e53", + "text-color": "#c58e53" + } + }, + "GNU Assembler": { + "Label": { + "underline": true + } + }, + "Go": { + "Builtin Function": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + } + }, + "HTML": { + "Doctype": { + "bold": false, + "italic": false, + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + } + }, + "ISO C++": { + "Prep. Lib": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "Standard Suffix": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "UDL Numeric Suffix": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "UDL String Suffix": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + } + }, + "Intel x86 (NASM)": { + "Label": { + "underline": true + }, + "Registers": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + } + }, + "JSON": { + "Style_Keyword": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Style_String_Key": { + "italic": false + } + }, + "JavaScript": { + "Built-in Objects": { + "italic": true + }, + "Function (Built-in)": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Object Member": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + } + }, + "JavaScript React (JSX)": { + "Attribute": { + "italic": true + }, + "Component Tag": { + "bold": false, + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + } + }, + "Makefile": { + "Operator": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Prereq": { + "italic": false, + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "Target": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Variable": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + } + }, + "Markdown": { + "Blockquote: Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Email": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Emphasis Text": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "Header H1": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Header H2": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Header H3": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Header H4": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Header H5": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Header H6": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Inline Image": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + }, + "Inline Image: Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "List: Emphasis Text": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "List: Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "List: Strong Text": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + }, + "Normal Text: Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Reference Image": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + }, + "Reference-Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Reference-Link Name": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6", + "underline": false + }, + "Reference-Link Target": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Reference-Link Target: Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Reference-Link: Link": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Strong Text": { + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + } + }, + "Modelines": { + "Variable": { + "selected-text-color": "#c58e53", + "text-color": "#c58e53" + } + }, + "PHP/PHP": { + "Backslash Code": { + "bold": false, + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Control Structures": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Library Constant": { + "bold": false, + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Special Variable": { + "bold": false, + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Variable": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + } + }, + "Python": { + "Builtin Function": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Special Variable": { + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + } + }, + "QMake": { + "Backslash Code": { + "bold": false + }, + "Predefined Variable": { + "bold": false, + "selected-text-color": "#ffb86c", + "text-color": "#ffb86c" + } + }, + "Ruby": { + "Access Control": { + "bold": false, + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Default globals": { + "bold": false + }, + "Definition": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Global Constant": { + "bold": false, + "italic": true, + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Kernel methods": { + "bold": false, + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Message": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Module mixin methods": { + "bold": false + }, + "Pseudo variable": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + } + }, + "Rust": { + "Attribute": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "CConstant": { + "bold": false + }, + "CType": { + "italic": true, + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Constant": { + "bold": false + }, + "Definition": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Lifetime": { + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" + }, + "Macro": { + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "Scope": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Self": { + "italic": true, + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" + }, + "Trait": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + } + }, + "SPDX-Comments": { + "SPDX Deprecated License": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "SPDX Deprecated License Exception": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "SPDX License": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "SPDX License Exception": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "SPDX Tag": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + }, + "SPDX Value": { + "selected-text-color": "#d465a7", + "text-color": "#d465a7" + } + }, + "TypeScript": { + "Built-in Objects": { + "italic": true + }, + "Function (Built-in)": { + "selected-text-color": "#50fa7b", + "text-color": "#50fa7b" + }, + "Object Member": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + } + }, + "TypeScript React (TSX)": { + "Attribute": { + "italic": true + }, + "Component Tag": { + "bold": false, + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + } + }, + "YAML": { + "Attribute": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "Key": { + "bold": false, + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" + }, + "List": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + } + } + }, "editor-colors": { "BackgroundColor": "#282a36", - "BracketMatching": "#55007f", - "CodeFolding": "#8be9fd", - "CurrentLine": "#282a36", + "BracketMatching": "#7c62a5", + "CodeFolding": "#44475a", + "CurrentLine": "#44475a", "CurrentLineNumber": "#f8f8f2", "IconBorder": "#282a36", "IndentationLine": "#6272a4", - "LineNumbers": "#909194", + "LineNumbers": "#6272a4", "MarkBookmark": "#8be9fd", "MarkBreakpointActive": "#ff5555", "MarkBreakpointDisabled": "#bd93f9", @@ -16,10 +550,10 @@ "MarkExecution": "#44475a", "MarkWarning": "#ffb86c", "ModifiedLines": "#ff79c6", - "ReplaceHighlight": "#50fa7b", + "ReplaceHighlight": "#2c8843", "SavedLines": "#50fa7b", - "SearchHighlight": "#b39800", - "Separator": "#909194", + "SearchHighlight": "#566591", + "Separator": "#45474e", "SpellChecking": "#ff5555", "TabMarker": "#6272a4", "TemplateBackground": "#282a36", @@ -36,7 +570,7 @@ ], "license": "SPDX-License-Identifier: MIT", "name": "Dracula", - "revision": 1 + "revision": 7 }, "text-styles": { "Alert": { @@ -49,20 +583,20 @@ "text-color": "#ff79c6" }, "Attribute": { - "selected-text-color": "#8be9fd", - "text-color": "#8be9fd" + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" }, "BaseN": { - "selected-text-color": "#ffb86c", - "text-color": "#ffb86c" + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" }, "BuiltIn": { "selected-text-color": "#8be9fd", "text-color": "#8be9fd" }, "Char": { - "selected-text-color": "#ff79c6", - "text-color": "#ff79c6" + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" }, "Comment": { "selected-text-color": "#6272a4", @@ -78,17 +612,17 @@ "text-color": "#bd93f9" }, "ControlFlow": { - "bold": true, - "selected-text-color": "#ffb86c", - "text-color": "#ffb86c" + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" }, "DataType": { + "italic": true, "selected-text-color": "#8be9fd", "text-color": "#8be9fd" }, "DecVal": { - "selected-text-color": "#ffb86c", - "text-color": "#ffb86c" + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" }, "Documentation": { "selected-text-color": "#ffb86c", @@ -100,13 +634,12 @@ "underline": true }, "Extension": { - "bold": true, - "selected-text-color": "#0095ff", - "text-color": "#0095ff" + "selected-text-color": "#8be9fd", + "text-color": "#8be9fd" }, "Float": { - "selected-text-color": "#ffb86c", - "text-color": "#ffb86c" + "selected-text-color": "#bd93f9", + "text-color": "#bd93f9" }, "Function": { "selected-text-color": "#50fa7b", @@ -117,11 +650,10 @@ "text-color": "#ff79c6" }, "Information": { - "selected-text-color": "#f67400", - "text-color": "#f67400" + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" }, "Keyword": { - "bold": true, "selected-text-color": "#ff79c6", "text-color": "#ff79c6" }, @@ -138,8 +670,8 @@ "text-color": "#50fa7b" }, "Preprocessor": { - "selected-text-color": "#50fa7b", - "text-color": "#50fa7b" + "selected-text-color": "#ff79c6", + "text-color": "#ff79c6" }, "RegionMarker": { "selected-text-color": "#8be9fd", diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/github-dark.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/github-dark.theme new file mode 100644 index 00000000000..313e99f0529 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/github-dark.theme @@ -0,0 +1,216 @@ +{ + "custom-styles": { + "INI Files": { + "Section": { + "selected-text-color": "#b392f0", + "text-color": "#b392f0" + } + }, + "Python": { + "Builtin Function": { + "selected-text-color": "#b392f0", + "text-color": "#b392f0" + }, + "Import": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "Special Variable": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + } + }, + "Rust": { + "Attribute": { + "selected-text-color": "#e1e4e8", + "text-color": "#e1e4e8" + }, + "Macro": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "Self": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "Trait": { + "selected-text-color": "#e1e4e8", + "text-color": "#e1e4e8" + } + }, + "XML": { + "Element": { + "selected-text-color": "#85e89d", + "text-color": "#85e89d" + } + } + }, + "editor-colors": { + "BackgroundColor": "#24292e", + "BracketMatching": "#65676a", + "CodeFolding": "#253749", + "CurrentLine": "#2b3036", + "CurrentLineNumber": "#e1e4e8", + "IconBorder": "#24292e", + "IndentationLine": "#d7dbe0", + "LineNumbers": "#444d56", + "MarkBookmark": "#8be9fd", + "MarkBreakpointActive": "#ff5555", + "MarkBreakpointDisabled": "#bd93f9", + "MarkBreakpointReached": "#f1fa8c", + "MarkError": "#b31d28", + "MarkExecution": "#44475a", + "MarkWarning": "#ffab70", + "ModifiedLines": "#f97583", + "ReplaceHighlight": "#40c661", + "SavedLines": "#28a745", + "SearchHighlight": "#404030", + "Separator": "#1b1f23", + "SpellChecking": "#ff5555", + "TabMarker": "#444d56", + "TemplateBackground": "#23241e", + "TemplateFocusedPlaceholder": "#22231d", + "TemplatePlaceholder": "#22231d", + "TemplateReadOnlyPlaceholder": "#262721", + "TextSelection": "#253749", + "WordWrapMarker": "#2f3031" + }, + "metadata": { + "copyright": [ + "SPDX-FileCopyrightText: 2020 GitHub Inc.", + "SPDX-FileCopyrightText: 2020 Waqar Ahmed " + ], + "license": "SPDX-License-Identifier: MIT", + "name": "GitHub Dark", + "revision": 2 + }, + "text-styles": { + "Alert": { + "bold": true, + "selected-text-color": "#ff5555", + "text-color": "#ff5555" + }, + "Annotation": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Attribute": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "BaseN": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "BuiltIn": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "Char": { + "selected-text-color": "#9ecbff", + "text-color": "#9ecbff" + }, + "Comment": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "CommentVar": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Constant": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "ControlFlow": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "DataType": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "DecVal": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "Documentation": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Error": { + "selected-text-color": "#ff5555", + "text-color": "#ff5555", + "underline": true + }, + "Extension": { + "bold": true, + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "Float": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "Function": { + "selected-text-color": "#b392f0", + "text-color": "#b392f0" + }, + "Import": { + "selected-text-color": "#9ecbff", + "text-color": "#9ecbff" + }, + "Information": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Keyword": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "Normal": { + "selected-text-color": "#e1e4e8", + "text-color": "#e1e4e8" + }, + "Operator": { + "selected-text-color": "#e1e4e8", + "text-color": "#e1e4e8" + }, + "Others": { + "selected-text-color": "#b392f0", + "text-color": "#b392f0" + }, + "Preprocessor": { + "selected-text-color": "#f97583", + "text-color": "#f97583" + }, + "RegionMarker": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "SpecialChar": { + "selected-text-color": "#79b8ff", + "text-color": "#79b8ff" + }, + "SpecialString": { + "selected-text-color": "#9ecbff", + "text-color": "#9ecbff" + }, + "String": { + "selected-text-color": "#9ecbff", + "text-color": "#9ecbff" + }, + "Variable": { + "selected-text-color": "#ffab70", + "text-color": "#ffab70" + }, + "VerbatimString": { + "selected-text-color": "#9ecbff", + "text-color": "#9ecbff" + }, + "Warning": { + "selected-text-color": "#ff5555", + "text-color": "#ff5555" + } + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/github-light.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/github-light.theme new file mode 100644 index 00000000000..5f465c653ce --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/github-light.theme @@ -0,0 +1,216 @@ +{ + "custom-styles": { + "INI Files": { + "Section": { + "selected-text-color": "#6f42c1", + "text-color": "#6f42c1" + } + }, + "Python": { + "Builtin Function": { + "selected-text-color": "#6f42c1", + "text-color": "#6f42c1" + }, + "Import": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "Special Variable": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + } + }, + "Rust": { + "Attribute": { + "selected-text-color": "#24292e", + "text-color": "#24292e" + }, + "Macro": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "Self": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "Trait": { + "selected-text-color": "#24292e", + "text-color": "#24292e" + } + }, + "XML": { + "Element": { + "selected-text-color": "#22863a", + "text-color": "#22863a" + } + } + }, + "editor-colors": { + "BackgroundColor": "#ffffff", + "BracketMatching": "#bef5cb", + "CodeFolding": "#f6f8fa", + "CurrentLine": "#f6f8fa", + "CurrentLineNumber": "#24292e", + "IconBorder": "#ffffff", + "IndentationLine": "#d7dbe0", + "LineNumbers": "#c7c2bc", + "MarkBookmark": "#8be9fd", + "MarkBreakpointActive": "#ff5555", + "MarkBreakpointDisabled": "#bd93f9", + "MarkBreakpointReached": "#f1fa8c", + "MarkError": "#b31d28", + "MarkExecution": "#44475a", + "MarkWarning": "#e36209", + "ModifiedLines": "#d73a49", + "ReplaceHighlight": "#50fa7b", + "SavedLines": "#28a745", + "SearchHighlight": "#ffea7f", + "Separator": "#e1e4e8", + "SpellChecking": "#ff5555", + "TabMarker": "#d1d5da", + "TemplateBackground": "#23241e", + "TemplateFocusedPlaceholder": "#22231d", + "TemplatePlaceholder": "#22231d", + "TemplateReadOnlyPlaceholder": "#262721", + "TextSelection": "#dee6fc", + "WordWrapMarker": "#e1e4e8" + }, + "metadata": { + "copyright": [ + "SPDX-FileCopyrightText: 2020 GitHub Inc.", + "SPDX-FileCopyrightText: 2020 Waqar Ahmed " + ], + "license": "SPDX-License-Identifier: MIT", + "name": "GitHub Light", + "revision": 2 + }, + "text-styles": { + "Alert": { + "bold": true, + "selected-text-color": "#ff5555", + "text-color": "#ff5555" + }, + "Annotation": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Attribute": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "BaseN": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "BuiltIn": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "Char": { + "selected-text-color": "#032f62", + "text-color": "#032f62" + }, + "Comment": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "CommentVar": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Constant": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "ControlFlow": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "DataType": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "DecVal": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "Documentation": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Error": { + "selected-text-color": "#ff5555", + "text-color": "#ff5555", + "underline": true + }, + "Extension": { + "bold": true, + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "Float": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "Function": { + "selected-text-color": "#6f42c1", + "text-color": "#6f42c1" + }, + "Import": { + "selected-text-color": "#032f62", + "text-color": "#032f62" + }, + "Information": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "Keyword": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "Normal": { + "selected-text-color": "#24292e", + "text-color": "#24292e" + }, + "Operator": { + "selected-text-color": "#24292e", + "text-color": "#24292e" + }, + "Others": { + "selected-text-color": "#6f42c1", + "text-color": "#6f42c1" + }, + "Preprocessor": { + "selected-text-color": "#d73a49", + "text-color": "#d73a49" + }, + "RegionMarker": { + "selected-text-color": "#6a737d", + "text-color": "#6a737d" + }, + "SpecialChar": { + "selected-text-color": "#005cc5", + "text-color": "#005cc5" + }, + "SpecialString": { + "selected-text-color": "#032f62", + "text-color": "#032f62" + }, + "String": { + "selected-text-color": "#032f62", + "text-color": "#032f62" + }, + "Variable": { + "selected-text-color": "#e36209", + "text-color": "#e36209" + }, + "VerbatimString": { + "selected-text-color": "#032f62", + "text-color": "#032f62" + }, + "Warning": { + "selected-text-color": "#ff5555", + "text-color": "#ff5555" + } + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/monokai.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/monokai.theme new file mode 100644 index 00000000000..3df8e66c005 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/monokai.theme @@ -0,0 +1,394 @@ +{ + "custom-styles": { + "C": { + "Prep. Lib": { + "selected-text-color": "#e6db74", + "text-color": "#e6db74" + } + }, + "C++": { + "Qt Classes": { + "bold": false, + "selected-text-color": "#66d9ef", + "text-color": "#66d9ef" + }, + "Qt Macros": { + "bold": false, + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "Qt Types": { + "bold": false, + "selected-text-color": "#66D9EF", + "text-color": "#66D9EF" + } + }, + "CMake": { + "Builtin Variable": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "False Special Arg": { + "selected-text-color": "#e03232", + "text-color": "#e03232" + }, + "True Special Arg": { + "selected-text-color": "#38bd38", + "text-color": "#38bd38" + } + }, + "Doxygen": { + "Tags": { + "bold": false, + "selected-text-color": "#52afbf", + "text-color": "#52afbf" + }, + "Word": { + "bold": false, + "selected-text-color": "#7ba822", + "text-color": "#7ba822", + "underline": true + } + }, + "Diff": { + "Added line": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Changed line (new)": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Changed line (old)": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "Removed line": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + }, + "Go": { + "Builtin Function": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Predeclared Identifier": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + } + }, + "ISO C++": { + "Attribute": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Boost Stuff": { + "bold": false + }, + "Prep. Lib": { + "selected-text-color": "#e6db74", + "text-color": "#e6db74" + }, + "Standard Attribute": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Standard Macros": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "Standard Suffix": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "UDL Numeric Suffix": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "UDL String Suffix": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + }, + "JSON": { + "Style_String_Key": { + "italic": false, + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + }, + "JavaScript": { + "Object Member": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Substitution": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + }, + "JavaScript React (JSX)": { + "Component Tag": { + "bold": false, + "selected-text-color": "#66d9ef", + "text-color": "#66d9ef" + } + }, + "Makefile": { + "FuncParam": { + "selected-text-color": "#fd971f", + "text-color": "#fd971f" + }, + "Target": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Variable": { + "italic": false, + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + } + }, + "Markdown": { + "Emphasis Text": { + "selected-text-color": "#66D9EF", + "text-color": "#66D9EF" + }, + "Reference-Link ID": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "Reference-Link Name": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "Reference-Link Target": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "Strong Text": { + "selected-text-color": "#66d9ef", + "text-color": "#66d9ef" + } + }, + "Python": { + "Import": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + }, + "Rust": { + "Definition": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Lifetime": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "Macro": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Self": { + "selected-text-color": "#fd971f", + "text-color": "#fd971f" + } + }, + "TypeScript": { + "Function (Built-in)": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Object Member": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Substitution": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + }, + "TypeScript React (TSX)": { + "Component Tag": { + "bold": false, + "selected-text-color": "#66d9ef", + "text-color": "#66d9ef" + }, + "Substitution": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + } + } + }, + "editor-colors": { + "BackgroundColor": "#272822", + "BracketMatching": "#5b5a4a", + "CodeFolding": "#3a3b32", + "CurrentLine": "#3e3d32", + "CurrentLineNumber": "#d1d931", + "IconBorder": "#272822", + "IndentationLine": "#6272a4", + "LineNumbers": "#909194", + "MarkBookmark": "#66D9EF", + "MarkBreakpointActive": "#ff5555", + "MarkBreakpointDisabled": "#bd93f9", + "MarkBreakpointReached": "#f1fa8c", + "MarkError": "#ff5555", + "MarkExecution": "#44475a", + "MarkWarning": "#ffb86c", + "ModifiedLines": "#ff473d", + "ReplaceHighlight": "#735d16", + "SavedLines": "#20e852", + "SearchHighlight": "#245676", + "Separator": "#45474e", + "SpellChecking": "#ff5555", + "TabMarker": "#6272a4", + "TemplateBackground": "#23241e", + "TemplateFocusedPlaceholder": "#22231d", + "TemplatePlaceholder": "#22231d", + "TemplateReadOnlyPlaceholder": "#262721", + "TextSelection": "#3f413e", + "WordWrapMarker": "#282a36" + }, + "metadata": { + "copyright": [ + "SPDX-FileCopyrightText: 2006 Wimer Hazenberg", + "SPDX-FileCopyrightText: 2020 Waqar Ahmed " + ], + "license": "SPDX-License-Identifier: MIT", + "name": "Monokai", + "revision": 5 + }, + "text-styles": { + "Alert": { + "bold": true, + "selected-text-color": "#ff5555", + "text-color": "#ff5555" + }, + "Annotation": { + "selected-text-color": "#75715e", + "text-color": "#75715e" + }, + "Attribute": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "BaseN": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "BuiltIn": { + "selected-text-color": "#66D9EF", + "text-color": "#66D9EF" + }, + "Char": { + "selected-text-color": "#e6db74", + "text-color": "#e6db74" + }, + "Comment": { + "selected-text-color": "#75715e", + "text-color": "#75715e" + }, + "CommentVar": { + "selected-text-color": "#75715e", + "text-color": "#75715e" + }, + "Constant": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "ControlFlow": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "DataType": { + "italic": true, + "selected-text-color": "#66d9ef", + "text-color": "#66d9ef" + }, + "DecVal": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "Documentation": { + "selected-text-color": "#75715e", + "text-color": "#75715e" + }, + "Error": { + "selected-text-color": "#ff5555", + "text-color": "#ff5555", + "underline": true + }, + "Extension": { + "bold": true, + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Float": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "Function": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Import": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "Information": { + "selected-text-color": "#f1fa8c", + "text-color": "#f1fa8c" + }, + "Keyword": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "Normal": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Operator": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "Others": { + "selected-text-color": "#a6e22e", + "text-color": "#a6e22e" + }, + "Preprocessor": { + "selected-text-color": "#f92672", + "text-color": "#f92672" + }, + "RegionMarker": { + "selected-text-color": "#75715e", + "text-color": "#75715e" + }, + "SpecialChar": { + "selected-text-color": "#ae81ff", + "text-color": "#ae81ff" + }, + "SpecialString": { + "selected-text-color": "#e6db74", + "text-color": "#e6db74" + }, + "String": { + "selected-text-color": "#e6db74", + "text-color": "#e6db74" + }, + "Variable": { + "selected-text-color": "#f8f8f2", + "text-color": "#f8f8f2" + }, + "VerbatimString": { + "selected-text-color": "#e6db74", + "text-color": "#e6db74" + }, + "Warning": { + "selected-text-color": "#ff5555", + "text-color": "#ff5555" + } + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme new file mode 100644 index 00000000000..a433fb883a4 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/oblivion.theme @@ -0,0 +1,179 @@ +{ + "_comments": [ + "This theme has been adapted from the GtkSourceView Oblivion theme" + ], + "metadata": { + "copyright": [ + "SPDX-FileCopyrightText: 2007 Paolo Borelli , GtkSourceView team", + "SPDX-FileCopyrightText: 2020 Alexander Schlarb " + ], + "name": "Oblivion", + "revision": 2, + "license": "SPDX-License-Identifier: MIT" + }, + "text-styles": { + "Alert": { + "background-color": "#451e1a", + "bold": true, + "selected-text-color": "#e85848", + "text-color": "#e85848" + }, + "Annotation": { + "selected-text-color": "#ad7fa8", + "text-color": "#ad7fa8" + }, + "Attribute": { + "selected-text-color": "#ad7fa8", + "text-color": "#ad7fa8" + }, + "BaseN": { + "selected-text-color": "#fce94f", + "text-color": "#edd400" + }, + "BuiltIn": { + "selected-text-color": "#729fcf", + "text-color": "#729fcf" + }, + "Char": { + "selected-text-color": "#fcaf3e", + "text-color": "#ce5c00" + }, + "Comment": { + "selected-text-color": "#8ae234", + "text-color": "#30a100" + }, + "CommentVar": { + "selected-text-color": "#ad7fa8", + "text-color": "#ad7fa8" + }, + "Constant": { + "bold": true, + "selected-text-color": "#ffffff", + "text-color": "#edd400" + }, + "ControlFlow": { + "bold": true, + "selected-text-color": "#ffffff", + "text-color": "#ffffff" + }, + "DataType": { + "selected-text-color": "#508ed8", + "text-color": "#508ed8" + }, + "DecVal": { + "selected-text-color": "#fce94f", + "text-color": "#edd400" + }, + "Documentation": { + "selected-text-color": "#8ae234", + "text-color": "#4e9a06" + }, + "Error": { + "selected-text-color": "#e85848", + "text-color": "#e85848", + "underline": true + }, + "Extension": { + "bold": true, + "selected-text-color": "#508ed8", + "text-color": "#508ed8" + }, + "Float": { + "selected-text-color": "#fcaf3e", + "text-color": "#ce5c00" + }, + "Function": { + "bold": true, + "selected-text-color": "#729fcf", + "text-color": "#729fcf" + }, + "Import": { + "selected-text-color": "#ad7fa8", + "text-color": "#ad7fa8" + }, + "Information": { + "selected-text-color": "#c0a25f", + "text-color": "#c0a25f" + }, + "Keyword": { + "bold": true, + "selected-text-color": "#ffffff", + "text-color": "#ffffff" + }, + "Normal": { + "selected-text-color": "#eeeeec", + "text-color": "#d3d7c1" + }, + "Operator": { + "selected-text-color": "#eeeeec", + "text-color": "#eeeeec" + }, + "Others": { + "selected-text-color": "#fce94f", + "text-color": "#edd400" + }, + "Preprocessor": { + "selected-text-color": "#ad7fa8", + "text-color": "#ad7fa8" + }, + "RegionMarker": { + "background-color": "#1c2c3f", + "selected-text-color": "#508ed8", + "text-color": "#508ed8" + }, + "SpecialChar": { + "selected-text-color": "#fcaf3e", + "text-color": "#ce5c00" + }, + "SpecialString": { + "selected-text-color": "#fce94f", + "text-color": "#fce94f" + }, + "String": { + "selected-text-color": "#fce94f", + "text-color": "#edd400" + }, + "Variable": { + "selected-text-color": "#ce5c00", + "text-color": "#ce5c00" + }, + "VerbatimString": { + "selected-text-color": "#fce94f", + "text-color": "#c4a000" + }, + "Warning": { + "selected-text-color": "#e85848", + "text-color": "#e85848" + } + }, + "editor-colors": { + "BackgroundColor": "#201f1f", + "BracketMatching": "#8f5902", + "CodeFolding": "#19395f", + "CurrentLine": "#2e3436", + "CurrentLineNumber": "#ffffff", + "IconBorder": "#302f2f", + "IndentationLine": "#989595", + "LineNumbers": "#e0dedb", + "MarkBookmark": "#0000cc", + "MarkBreakpointActive": "#cc0000", + "MarkBreakpointDisabled": "#cc00cc", + "MarkBreakpointReached": "#00cc00", + "MarkError": "#cc0000", + "MarkExecution": "#888a85", + "MarkWarning": "#ad7fa8", + "ModifiedLines": "#451e1a", + "ReplaceHighlight": "#356703", + "SavedLines": "#23321a", + "SearchHighlight": "#4e9a06", + "Separator": "#787775", + "SpellChecking": "#e85848", + "TabMarker": "#555753", + "TemplateBackground": "#302f2f", + "TemplateFocusedPlaceholder": "#23321a", + "TemplatePlaceholder": "#23321a", + "TemplateReadOnlyPlaceholder": "#451e1a", + "TextSelection": "#184880", + "WordWrapMarker": "#3c3a3a" + } +} diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-dark.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-dark.theme index 035e1db9c06..b8d13b31d3c 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-dark.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-dark.theme @@ -9,7 +9,7 @@ "SPDX-FileCopyrightText: 2018 Andrew Crouthamel " ], "license": "SPDX-License-Identifier: MIT", - "revision" : 2, + "revision" : 5, "name" : "Solarized Dark" }, "text-styles": { @@ -23,8 +23,7 @@ }, "Keyword" : { "text-color" : "#859900", - "selected-text-color" : "#859900", - "bold" : true + "selected-text-color" : "#859900" }, "Function" : { "text-color" : "#268bd2", @@ -36,8 +35,7 @@ }, "ControlFlow" : { "text-color" : "#859900", - "selected-text-color" : "#859900", - "bold" : true + "selected-text-color" : "#859900" }, "Operator" : { "text-color" : "#859900", @@ -49,8 +47,7 @@ }, "Extension" : { "text-color" : "#268bd2", - "selected-text-color" : "#268bd2", - "bold" : true + "selected-text-color" : "#268bd2" }, "Preprocessor" : { "text-color" : "#cb4b16", @@ -86,8 +83,7 @@ }, "DataType" : { "text-color" : "#b58900", - "selected-text-color" : "#b58900", - "bold" : true + "selected-text-color" : "#b58900" }, "DecVal" : { "text-color" : "#2aa198", @@ -153,13 +149,13 @@ }, "editor-colors": { "BackgroundColor" : "#002b36", - "CodeFolding" : "#6c71c4", - "BracketMatching" : "#073642", + "CodeFolding": "#083d4a", + "BracketMatching" : "#083d4a", "CurrentLine" : "#073642", "IconBorder" : "#073642", - "IndentationLine" : "#073642", + "IndentationLine" : "#083d4a", "LineNumbers" : "#586e75", - "CurrentLineNumber" : "#586e75", + "CurrentLineNumber": "#93a1a1", "MarkBookmark" : "#268bd2", "MarkBreakpointActive" : "#dc322f", "MarkBreakpointReached" : "#b58900", @@ -168,11 +164,11 @@ "MarkWarning" : "#cb4b16", "MarkError" : "#dc322f", "ModifiedLines" : "#cb4b16", - "ReplaceHighlight" : "#859900", + "ReplaceHighlight": "#3c4300", "SavedLines" : "#2aa198", - "SearchHighlight" : "#b58900", - "TextSelection" : "#eee8d5", - "Separator" : "#002b36", + "SearchHighlight": "#0a4d5e", + "TextSelection": "#083d4a", + "Separator" : "#1c3e49", "SpellChecking" : "#dc322f", "TabMarker" : "#586e75", "TemplateBackground" : "#073642", @@ -180,5 +176,17 @@ "TemplateFocusedPlaceholder" : "#073642", "TemplateReadOnlyPlaceholder" : "#073642", "WordWrapMarker" : "#586e75" + }, + "custom-styles": { + "XML": { + "Element": { + "selected-text-color": "#839496", + "text-color": "#268bd2" + }, + "Element Symbols": { + "selected-text-color": "#586e75", + "text-color": "#657b83" + } + } } } diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-light.theme b/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-light.theme index 8cab40db480..a532b128f8d 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-light.theme +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/solarized-light.theme @@ -9,7 +9,7 @@ "SPDX-FileCopyrightText: 2018 Andrew Crouthamel " ], "license": "SPDX-License-Identifier: MIT", - "revision" : 2, + "revision" : 4, "name" : "Solarized Light" }, "text-styles": { @@ -172,7 +172,7 @@ "SavedLines" : "#2aa198", "SearchHighlight" : "#b58900", "TextSelection" : "#073642", - "Separator" : "#fdf6e3", + "Separator" : "#e0dccc", "SpellChecking" : "#dc322f", "TabMarker" : "#93a1a1", "TemplateBackground" : "#eee8d5", @@ -180,5 +180,17 @@ "TemplateFocusedPlaceholder" : "#eee8d5", "TemplateReadOnlyPlaceholder" : "#eee8d5", "WordWrapMarker" : "#93a1a1" + }, + "custom-styles": { + "XML": { + "Element": { + "selected-text-color": "#268bd2", + "text-color": "#268bd2" + }, + "Element Symbols": { + "selected-text-color": "#93a1a1", + "text-color": "#839496" + } + } } } diff --git a/src/libs/3rdparty/syntax-highlighting/data/themes/theme-data.qrc b/src/libs/3rdparty/syntax-highlighting/data/themes/theme-data.qrc index 0a6f24385ac..fe0a1627be6 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/themes/theme-data.qrc +++ b/src/libs/3rdparty/syntax-highlighting/data/themes/theme-data.qrc @@ -1,15 +1,21 @@ + atom-one-dark.theme + atom-one-light.theme breeze-dark.theme breeze-light.theme ayu-dark.theme ayu-light.theme ayu-mirage.theme dracula.theme + github-dark.theme + github-light.theme gruvbox-dark.theme gruvbox-light.theme + monokai.theme nord.theme + oblivion.theme printing.theme radical.theme solarized-dark.theme diff --git a/src/libs/3rdparty/syntax-highlighting/src/cli/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/cli/CMakeLists.txt index 113115359e2..1a4d24d8284 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/cli/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/cli/CMakeLists.txt @@ -2,4 +2,4 @@ add_executable(kate-syntax-highlighter kate-syntax-highlighter.cpp) ecm_mark_nongui_executable(kate-syntax-highlighter) target_link_libraries(kate-syntax-highlighter KF5SyntaxHighlighting) -install(TARGETS kate-syntax-highlighter ${INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS kate-syntax-highlighter ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/src/libs/3rdparty/syntax-highlighting/src/cli/kate-syntax-highlighter.cpp b/src/libs/3rdparty/syntax-highlighting/src/cli/kate-syntax-highlighter.cpp index a178c1ba277..a009c4f2591 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/cli/kate-syntax-highlighter.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/cli/kate-syntax-highlighter.cpp @@ -6,10 +6,10 @@ #include "ksyntaxhighlighting_version.h" +#include #include #include #include -#include #include #include @@ -21,8 +21,14 @@ using namespace KSyntaxHighlighting; -template -static void applyHighlighter(Highlighter &highlighter, QCommandLineParser &parser, bool fromFileName, const QString &inFileName, const QCommandLineOption &stdinOption, const QCommandLineOption &outputName, const Ts &...highlightParams) +template +static void applyHighlighter(Highlighter &highlighter, + QCommandLineParser &parser, + bool fromFileName, + const QString &inFileName, + const QCommandLineOption &stdinOption, + const QCommandLineOption &outputName, + const Ts &...highlightParams) { if (parser.isSet(outputName)) highlighter.setOutputFile(parser.value(outputName)); @@ -56,16 +62,19 @@ int main(int argc, char **argv) parser.addVersionOption(); parser.addPositionalArgument(app.translate("SyntaxHighlightingCLI", "source"), app.translate("SyntaxHighlightingCLI", "The source file to highlight.")); - QCommandLineOption listDefs(QStringList() << QStringLiteral("l") << QStringLiteral("list"), app.translate("SyntaxHighlightingCLI", "List all available syntax definitions.")); + QCommandLineOption listDefs(QStringList() << QStringLiteral("l") << QStringLiteral("list"), + app.translate("SyntaxHighlightingCLI", "List all available syntax definitions.")); parser.addOption(listDefs); QCommandLineOption listThemes(QStringList() << QStringLiteral("list-themes"), app.translate("SyntaxHighlightingCLI", "List all available themes.")); parser.addOption(listThemes); - QCommandLineOption updateDefs(QStringList() << QStringLiteral("u") << QStringLiteral("update"), app.translate("SyntaxHighlightingCLI", "Download new/updated syntax definitions.")); + QCommandLineOption updateDefs(QStringList() << QStringLiteral("u") << QStringLiteral("update"), + app.translate("SyntaxHighlightingCLI", "Download new/updated syntax definitions.")); parser.addOption(updateDefs); - QCommandLineOption outputName( - QStringList() << QStringLiteral("o") << QStringLiteral("output"), app.translate("SyntaxHighlightingCLI", "File to write HTML output to (default: stdout)."), app.translate("SyntaxHighlightingCLI", "output")); + QCommandLineOption outputName(QStringList() << QStringLiteral("o") << QStringLiteral("output"), + app.translate("SyntaxHighlightingCLI", "File to write HTML output to (default: stdout)."), + app.translate("SyntaxHighlightingCLI", "output")); parser.addOption(outputName); QCommandLineOption syntaxName(QStringList() << QStringLiteral("s") << QStringLiteral("syntax"), @@ -73,18 +82,23 @@ int main(int argc, char **argv) app.translate("SyntaxHighlightingCLI", "syntax")); parser.addOption(syntaxName); - QCommandLineOption themeName( - QStringList() << QStringLiteral("t") << QStringLiteral("theme"), app.translate("SyntaxHighlightingCLI", "Color theme to use for highlighting."), app.translate("SyntaxHighlightingCLI", "theme"), repo.defaultTheme(Repository::LightTheme).name()); + QCommandLineOption themeName(QStringList() << QStringLiteral("t") << QStringLiteral("theme"), + app.translate("SyntaxHighlightingCLI", "Color theme to use for highlighting."), + app.translate("SyntaxHighlightingCLI", "theme"), + repo.defaultTheme(Repository::LightTheme).name()); parser.addOption(themeName); - QCommandLineOption outputFormatOption(QStringList() << QStringLiteral("f") << QStringLiteral("output-format"), - app.translate("SyntaxHighlightingCLI", "Use the specified format instead of html. Must be html, ansi or ansi256Colors."), - app.translate("SyntaxHighlightingCLI", "format"), - QStringLiteral("html")); + QCommandLineOption outputFormatOption( + QStringList() << QStringLiteral("f") << QStringLiteral("output-format"), + app.translate("SyntaxHighlightingCLI", "Use the specified format instead of html. Must be html, ansi or ansi256Colors."), + app.translate("SyntaxHighlightingCLI", "format"), + QStringLiteral("html")); parser.addOption(outputFormatOption); QCommandLineOption traceOption(QStringList() << QStringLiteral("syntax-trace"), - app.translate("SyntaxHighlightingCLI", "Add information to debug a syntax file. Only works with --output-format=ansi or ansi256Colors. Possible values are format, region and context."), + app.translate("SyntaxHighlightingCLI", + "Add information to debug a syntax file. Only works with --output-format=ansi or ansi256Colors. Possible " + "values are format, region, context and stackSize."), app.translate("SyntaxHighlightingCLI", "type")); parser.addOption(traceOption); @@ -92,12 +106,14 @@ int main(int argc, char **argv) app.translate("SyntaxHighlightingCLI", "Disable ANSI background for the default color.")); parser.addOption(noAnsiEditorBg); - QCommandLineOption titleOption(QStringList() << QStringLiteral("T") << QStringLiteral("title"), - app.translate("SyntaxHighlightingCLI", "Set HTML page's title\n(default: the filename or \"Kate Syntax Highlighter\" if reading from stdin)."), - app.translate("SyntaxHighlightingCLI", "title")); + QCommandLineOption titleOption( + QStringList() << QStringLiteral("T") << QStringLiteral("title"), + app.translate("SyntaxHighlightingCLI", "Set HTML page's title\n(default: the filename or \"Kate Syntax Highlighter\" if reading from stdin)."), + app.translate("SyntaxHighlightingCLI", "title")); parser.addOption(titleOption); - QCommandLineOption stdinOption(QStringList() << QStringLiteral("stdin"), app.translate("SyntaxHighlightingCLI", "Read file from stdin. The -s option must also be used.")); + QCommandLineOption stdinOption(QStringList() << QStringLiteral("stdin"), + app.translate("SyntaxHighlightingCLI", "Read file from stdin. The -s option must also be used.")); parser.addOption(stdinOption); parser.process(app); @@ -117,7 +133,9 @@ int main(int argc, char **argv) if (parser.isSet(updateDefs)) { DefinitionDownloader downloader(&repo); - QObject::connect(&downloader, &DefinitionDownloader::informationMessage, [](const QString &msg) { std::cout << qPrintable(msg) << std::endl; }); + QObject::connect(&downloader, &DefinitionDownloader::informationMessage, [](const QString &msg) { + std::cout << qPrintable(msg) << std::endl; + }); QObject::connect(&downloader, &DefinitionDownloader::done, &app, &QCoreApplication::quit); downloader.start(); return app.exec(); @@ -139,7 +157,7 @@ int main(int argc, char **argv) def = repo.definitionForMimeType(syntax); if (!def.isValid()) { /* see if it's a extension instead */ - def = repo.definitionForFileName(QLatin1String("f.")+syntax); + def = repo.definitionForFileName(QLatin1String("f.") + syntax); if (!def.isValid()) /* see if it's a filename instead */ def = repo.definitionForFileName(syntax); @@ -178,13 +196,15 @@ int main(int argc, char **argv) auto debugOptions = AnsiHighlighter::TraceOptions(); if (parser.isSet(traceOption)) { const auto options = parser.values(traceOption); - for (auto const& option : options) { + for (auto const &option : options) { if (option == QStringLiteral("format")) { debugOptions |= AnsiHighlighter::TraceOption::Format; } else if (option == QStringLiteral("region")) { debugOptions |= AnsiHighlighter::TraceOption::Region; } else if (option == QStringLiteral("context")) { debugOptions |= AnsiHighlighter::TraceOption::Context; + } else if (option == QStringLiteral("stackSize")) { + debugOptions |= AnsiHighlighter::TraceOption::StackSize; } else { std::cerr << "Unknown trace name." << std::endl; return 2; diff --git a/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt index 9fa26b27cef..508cd276cc3 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/indexer/CMakeLists.txt @@ -27,7 +27,7 @@ elseif(CMAKE_CROSSCOMPILING) ${CMAKE_CURRENT_BINARY_DIR}/native_katehighlightingindexer-prefix/src/native_katehighlightingindexer-build/bin/katehighlightingindexer) else() # host build - add_executable(katehighlightingindexer katehighlightingindexer.cpp) + add_executable(katehighlightingindexer katehighlightingindexer.cpp ../lib/worddelimiters.cpp) if(Qt5XmlPatterns_FOUND) target_link_libraries(katehighlightingindexer Qt5::XmlPatterns) else() diff --git a/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp b/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp index b5d04934e6b..86b3a38b12d 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp @@ -1,14 +1,16 @@ /* SPDX-FileCopyrightText: 2014 Christoph Cullmann + SPDX-FileCopyrightText: 2020 Jonathan Poelen SPDX-License-Identifier: MIT */ +#include #include #include #include #include -#include +#include #include #include #include @@ -18,10 +20,2300 @@ #include #endif +#include "../lib/worddelimiters_p.h" #include "../lib/xml_p.h" +#include + +using KSyntaxHighlighting::WordDelimiters; using KSyntaxHighlighting::Xml::attrToBool; +class HlFilesChecker +{ +public: + void setDefinition(const QStringRef &verStr, const QString &filename, const QString &name) + { + m_currentDefinition = &*m_definitions.insert(name, Definition{}); + m_currentDefinition->languageName = name; + m_currentDefinition->filename = filename; + m_currentDefinition->kateVersionStr = verStr.toString(); + m_currentKeywords = nullptr; + m_currentContext = nullptr; + + const auto idx = verStr.indexOf(QLatin1Char('.')); + if (idx <= 0) { + qWarning() << filename << "invalid kateversion" << verStr; + m_success = false; + } else { + m_currentDefinition->kateVersion = {verStr.left(idx).toInt(), verStr.mid(idx + 1).toInt()}; + } + } + + void processElement(QXmlStreamReader &xml) + { + if (xml.isStartElement()) { + if (m_currentContext) { + m_currentContext->rules.append(Context::Rule{}); + auto &rule = m_currentContext->rules.back(); + m_success = rule.parseElement(m_currentDefinition->filename, xml) && m_success; + } else if (m_currentKeywords) { + m_success = m_currentKeywords->items.parseElement(m_currentDefinition->filename, xml) && m_success; + } else if (xml.name() == QStringLiteral("context")) { + processContextElement(xml); + } else if (xml.name() == QStringLiteral("list")) { + processListElement(xml); + } else if (xml.name() == QStringLiteral("keywords")) { + m_success = m_currentDefinition->parseKeywords(xml) && m_success; + } else if (xml.name() == QStringLiteral("emptyLine")) { + m_success = parseEmptyLine(m_currentDefinition->filename, xml) && m_success; + } else if (xml.name() == QStringLiteral("itemData")) { + m_success = m_currentDefinition->itemDatas.parseElement(m_currentDefinition->filename, xml) && m_success; + } + } else if (xml.isEndElement()) { + if (m_currentContext && xml.name() == QStringLiteral("context")) { + m_currentContext = nullptr; + } else if (m_currentKeywords && xml.name() == QStringLiteral("list")) { + m_currentKeywords = nullptr; + } + } + } + + //! Resolve context attribute and include tag + void resolveContexts() + { + QMutableMapIterator def(m_definitions); + while (def.hasNext()) { + def.next(); + auto &definition = def.value(); + auto &contexts = definition.contexts; + + if (contexts.isEmpty()) { + qWarning() << definition.filename << "has no context"; + m_success = false; + continue; + } + + QMutableMapIterator contextIt(contexts); + while (contextIt.hasNext()) { + contextIt.next(); + auto &context = contextIt.value(); + resolveContextName(definition, context, context.lineEndContext, context.line); + resolveContextName(definition, context, context.lineEmptyContext, context.line); + resolveContextName(definition, context, context.fallthroughContext, context.line); + for (auto &rule : context.rules) { + resolveContextName(definition, context, rule.context, rule.line); + } + } + + definition.firstContext = &*definition.contexts.find(definition.firstContextName); + } + + resolveIncludeRules(); + } + + bool check() const + { + bool success = m_success; + + const auto usedContexts = extractUsedContexts(); + + QMap maxVersionByDefinitions; + + QMapIterator def(m_definitions); + while (def.hasNext()) { + def.next(); + const auto &definition = def.value(); + const auto &filename = definition.filename; + + auto *maxDef = maxKateVersionDefinition(definition, maxVersionByDefinitions); + if (maxDef != &definition) { + qWarning() << definition.filename << "depends on a language" << maxDef->languageName << "in version" << maxDef->kateVersionStr + << ". Please, increase kateversion."; + success = false; + } + + QSet referencedKeywords; + QSet usedAttributeNames; + success = checkKeywordsList(definition, referencedKeywords) && success; + success = checkContexts(definition, referencedKeywords, usedAttributeNames, usedContexts) && success; + + // search for non-existing or unreferenced keyword lists. + for (const auto &keywords : definition.keywordsList) { + if (!referencedKeywords.contains(&keywords)) { + qWarning() << filename << "line" << keywords.line << "unused keyword:" << keywords.name; + } + } + + // search for non-existing itemDatas. + const auto invalidNames = usedAttributeNames - definition.itemDatas.styleNames; + for (const auto &styleName : invalidNames) { + qWarning() << filename << "line" << styleName.line << "reference of non-existing itemData attributes:" << styleName.name; + success = false; + } + + // search for unused itemDatas. + const auto unusedNames = definition.itemDatas.styleNames - usedAttributeNames; + for (const auto &styleName : unusedNames) { + qWarning() << filename << "line" << styleName.line << "unused itemData:" << styleName.name; + success = false; + } + } + + return success; + } + +private: + enum class XmlBool { + Unspecified, + False, + True, + }; + + struct Context; + + struct ContextName { + QString name; + int popCount = 0; + bool stay = false; + + const Context *context = nullptr; + }; + + struct Parser { + const QString &filename; + QXmlStreamReader &xml; + QXmlStreamAttribute &attr; + bool success; + + //! Read a string type attribute, \c sucess = \c false when \p str is not empty + //! \return \c true when attr.name() == attrName, otherwise false + bool extractString(QString &str, const QString &attrName) + { + if (attr.name() != attrName) + return false; + + str = attr.value().toString(); + if (str.isEmpty()) { + qWarning() << filename << "line" << xml.lineNumber() << attrName << "attribute is empty"; + success = false; + } + + return true; + } + + //! Read a bool type attribute, \c sucess = \c false when \p xmlBool is not \c XmlBool::Unspecified. + //! \return \c true when attr.name() == attrName, otherwise false + bool extractXmlBool(XmlBool &xmlBool, const QString &attrName) + { + if (attr.name() != attrName) + return false; + + xmlBool = attr.value().isNull() ? XmlBool::Unspecified : attrToBool(attr.value()) ? XmlBool::True : XmlBool::False; + + return true; + } + + //! Read a positive integer type attribute, \c sucess = \c false when \p positive is already greater than or equal to 0 + //! \return \c true when attr.name() == attrName, otherwise false + bool extractPositive(int &positive, const QString &attrName) + { + if (attr.name() != attrName) + return false; + + bool ok = true; + positive = attr.value().toInt(&ok); + + if (!ok || positive < 0) { + qWarning() << filename << "line" << xml.lineNumber() << attrName << "should be a positive integer:" << attr.value(); + success = false; + } + + return true; + } + + //! Read a color, \c sucess = \c false when \p color is already greater than or equal to 0 + //! \return \c true when attr.name() == attrName, otherwise false + bool checkColor(const QString &attrName) + { + if (attr.name() != attrName) + return false; + + const auto value = attr.value().toString(); + if (value.isEmpty() /*|| QColor(value).isValid()*/) { + qWarning() << filename << "line" << xml.lineNumber() << attrName << "should be a color:" << attr.value(); + success = false; + } + + return true; + } + + //! Read a QChar, \c sucess = \c false when \p c is not \c '\0' or does not have one char + //! \return \c true when attr.name() == attrName, otherwise false + bool extractChar(QChar &c, const QString &attrName) + { + if (attr.name() != attrName) + return false; + + if (attr.value().size() == 1) + c = attr.value()[0]; + else { + c = QLatin1Char('_'); + qWarning() << filename << "line" << xml.lineNumber() << attrName << "must contain exactly one char:" << attr.value(); + success = false; + } + + return true; + } + + //! \return parsing status when \p isExtracted is \c true, otherwise \c false + bool checkIfExtracted(bool isExtracted) + { + if (isExtracted) + return success; + + qWarning() << filename << "line" << xml.lineNumber() << "unknown attribute:" << attr.name(); + return false; + } + }; + + struct Keywords { + struct Items { + struct Item { + QString content; + int line; + + friend uint qHash(const Item &item, uint seed = 0) + { + return qHash(item.content, seed); + } + + friend bool operator==(const Item &item0, const Item &item1) + { + return item0.content == item1.content; + } + }; + + QVector keywords; + QSet includes; + + bool parseElement(const QString &filename, QXmlStreamReader &xml) + { + bool success = true; + + const int line = xml.lineNumber(); + QString content = xml.readElementText(); + + if (content.isEmpty()) { + qWarning() << filename << "line" << line << "is empty:" << xml.name(); + success = false; + } + + if (xml.name() == QStringLiteral("include")) { + includes.insert({content, line}); + } else if (xml.name() == QStringLiteral("item")) { + keywords.append({content, line}); + } else { + qWarning() << filename << "line" << line << "invalid element:" << xml.name(); + success = false; + } + + return success; + } + }; + + QString name; + Items items; + int line; + + bool parseElement(const QString &filename, QXmlStreamReader &xml) + { + line = xml.lineNumber(); + + bool success = true; + for (auto &attr : xml.attributes()) { + Parser parser{filename, xml, attr, success}; + + const bool isExtracted = parser.extractString(name, QStringLiteral("name")); + + success = parser.checkIfExtracted(isExtracted); + } + return success; + } + }; + + struct Context { + struct Rule { + enum class Type { + Unknown, + AnyChar, + Detect2Chars, + DetectChar, + DetectIdentifier, + DetectSpaces, + Float, + HlCChar, + HlCHex, + HlCOct, + HlCStringChar, + IncludeRules, + Int, + LineContinue, + RangeDetect, + RegExpr, + StringDetect, + WordDetect, + keyword, + }; + + Type type{}; + + bool isDotRegex = false; + int line = -1; + + // commonAttributes + QString attribute; + ContextName context; + QString beginRegion; + QString endRegion; + int column = -1; + XmlBool lookAhead{}; + XmlBool firstNonSpace{}; + + // StringDetect, WordDetect, keyword + XmlBool insensitive{}; + + // DetectChar, StringDetect, RegExpr, keyword + XmlBool dynamic{}; + + // Regex + XmlBool minimal{}; + + // DetectChar, Detect2Chars, LineContinue, RangeDetect + QChar char0; + // Detect2Chars, RangeDetect + QChar char1; + + // AnyChar, DetectChar, StringDetect, RegExpr, WordDetect, keyword + QString string; + + // Float, HlCHex, HlCOct, Int, WordDetect, keyword + QString additionalDeliminator; + QString weakDeliminator; + + // rules included by IncludeRules + QVector includedRules; + + // IncludeRules included by IncludeRules + QSet includedIncludeRules; + + QString filename; + + bool parseElement(const QString &filename, QXmlStreamReader &xml) + { + this->filename = filename; + + line = xml.lineNumber(); + + using Pair = QPair; + static const auto pairs = { + Pair{QStringLiteral("AnyChar"), Type::AnyChar}, + Pair{QStringLiteral("Detect2Chars"), Type::Detect2Chars}, + Pair{QStringLiteral("DetectChar"), Type::DetectChar}, + Pair{QStringLiteral("DetectIdentifier"), Type::DetectIdentifier}, + Pair{QStringLiteral("DetectSpaces"), Type::DetectSpaces}, + Pair{QStringLiteral("Float"), Type::Float}, + Pair{QStringLiteral("HlCChar"), Type::HlCChar}, + Pair{QStringLiteral("HlCHex"), Type::HlCHex}, + Pair{QStringLiteral("HlCOct"), Type::HlCOct}, + Pair{QStringLiteral("HlCStringChar"), Type::HlCStringChar}, + Pair{QStringLiteral("IncludeRules"), Type::IncludeRules}, + Pair{QStringLiteral("Int"), Type::Int}, + Pair{QStringLiteral("LineContinue"), Type::LineContinue}, + Pair{QStringLiteral("RangeDetect"), Type::RangeDetect}, + Pair{QStringLiteral("RegExpr"), Type::RegExpr}, + Pair{QStringLiteral("StringDetect"), Type::StringDetect}, + Pair{QStringLiteral("WordDetect"), Type::WordDetect}, + Pair{QStringLiteral("keyword"), Type::keyword}, + }; + + for (auto pair : pairs) { + if (xml.name() == pair.first) { + type = pair.second; + bool success = parseAttributes(filename, xml); + success = checkMandoryAttributes(filename, xml) && success; + if (success && type == Type::RegExpr) { + // ., (.) followed by *, +, {1} or nothing + static const QRegularExpression isDot(QStringLiteral(R"(^\(?\.(?:[*+][*+?]?|[*+]|\{1\})?\$?$)")); + // remove "(?:" and ")" + static const QRegularExpression removeParentheses(QStringLiteral(R"(\((?:\?:)?|\))")); + // remove parentheses on a double from the string + auto reg = QString(string).replace(removeParentheses, QString()); + isDotRegex = reg.contains(isDot); + } + return success; + } + } + + qWarning() << filename << "line" << xml.lineNumber() << "unknown element:" << xml.name(); + return false; + } + + private: + bool parseAttributes(const QString &filename, QXmlStreamReader &xml) + { + bool success = true; + + for (auto &attr : xml.attributes()) { + Parser parser{filename, xml, attr, success}; + XmlBool includeAttrib{}; + + // clang-format off + const bool isExtracted + = parser.extractString(attribute, QStringLiteral("attribute")) + || parser.extractString(context.name, QStringLiteral("context")) + || parser.extractXmlBool(lookAhead, QStringLiteral("lookAhead")) + || parser.extractXmlBool(firstNonSpace, QStringLiteral("firstNonSpace")) + || parser.extractString(beginRegion, QStringLiteral("beginRegion")) + || parser.extractString(endRegion, QStringLiteral("endRegion")) + || parser.extractPositive(column, QStringLiteral("column")) + || ((type == Type::RegExpr + || type == Type::StringDetect + || type == Type::WordDetect + || type == Type::keyword + ) && parser.extractXmlBool(insensitive, QStringLiteral("insensitive"))) + || ((type == Type::DetectChar + || type == Type::RegExpr + || type == Type::StringDetect + || type == Type::keyword + ) && parser.extractXmlBool(dynamic, QStringLiteral("dynamic"))) + || ((type == Type::RegExpr) + && parser.extractXmlBool(minimal, QStringLiteral("minimal"))) + || ((type == Type::DetectChar + || type == Type::Detect2Chars + || type == Type::LineContinue + || type == Type::RangeDetect + ) && parser.extractChar(char0, QStringLiteral("char"))) + || ((type == Type::Detect2Chars + || type == Type::RangeDetect + ) && parser.extractChar(char1, QStringLiteral("char1"))) + || ((type == Type::AnyChar + || type == Type::RegExpr + || type == Type::StringDetect + || type == Type::WordDetect + || type == Type::keyword + ) && parser.extractString(string, QStringLiteral("String"))) + || ((type == Type::IncludeRules) + && parser.extractXmlBool(includeAttrib, QStringLiteral("includeAttrib"))) + || ((type == Type::Float + || type == Type::HlCHex + || type == Type::HlCOct + || type == Type::Int + || type == Type::keyword + || type == Type::WordDetect + ) && (parser.extractString(additionalDeliminator, QStringLiteral("additionalDeliminator")) + || parser.extractString(weakDeliminator, QStringLiteral("weakDeliminator")))) + ; + // clang-format on + + success = parser.checkIfExtracted(isExtracted); + + if (type == Type::LineContinue && char0 == QLatin1Char('\0')) { + char0 = QLatin1Char('\\'); + } + } + + return success; + } + + bool checkMandoryAttributes(const QString &filename, QXmlStreamReader &xml) + { + QString missingAttr; + + switch (type) { + case Type::Unknown: + return false; + + case Type::AnyChar: + case Type::RegExpr: + case Type::StringDetect: + case Type::WordDetect: + case Type::keyword: + missingAttr = string.isEmpty() ? QStringLiteral("String") : QString(); + break; + + case Type::DetectChar: + missingAttr = !char0.unicode() ? QStringLiteral("char") : QString(); + break; + + case Type::Detect2Chars: + case Type::RangeDetect: + missingAttr = !char0.unicode() && !char1.unicode() ? QStringLiteral("char and char1") + : !char0.unicode() ? QStringLiteral("char") + : !char1.unicode() ? QStringLiteral("char1") + : QString(); + break; + + case Type::IncludeRules: + missingAttr = context.name.isEmpty() ? QStringLiteral("context") : QString(); + break; + + case Type::DetectIdentifier: + case Type::DetectSpaces: + case Type::Float: + case Type::HlCChar: + case Type::HlCHex: + case Type::HlCOct: + case Type::HlCStringChar: + case Type::Int: + case Type::LineContinue: + break; + } + + if (!missingAttr.isEmpty()) { + qWarning() << filename << "line" << xml.lineNumber() << "missing attribute:" << missingAttr; + return false; + } + + return true; + } + }; + + int line; + QString name; + QString attribute; + ContextName lineEndContext; + ContextName lineEmptyContext; + ContextName fallthroughContext; + QVector rules; + XmlBool dynamic{}; + XmlBool fallthrough{}; + + bool parseElement(const QString &filename, QXmlStreamReader &xml) + { + line = xml.lineNumber(); + + bool success = true; + + for (auto &attr : xml.attributes()) { + Parser parser{filename, xml, attr, success}; + XmlBool noIndentationBasedFolding{}; + + const bool isExtracted = parser.extractString(name, QStringLiteral("name")) || parser.extractString(attribute, QStringLiteral("attribute")) + || parser.extractString(lineEndContext.name, QStringLiteral("lineEndContext")) + || parser.extractString(lineEmptyContext.name, QStringLiteral("lineEmptyContext")) + || parser.extractString(fallthroughContext.name, QStringLiteral("fallthroughContext")) + || parser.extractXmlBool(dynamic, QStringLiteral("dynamic")) || parser.extractXmlBool(fallthrough, QStringLiteral("fallthrough")) + || parser.extractXmlBool(noIndentationBasedFolding, QStringLiteral("noIndentationBasedFolding")); + + success = parser.checkIfExtracted(isExtracted); + } + + if (name.isEmpty()) { + qWarning() << filename << "line" << xml.lineNumber() << "missing attribute: name"; + success = false; + } + + if (attribute.isEmpty()) { + qWarning() << filename << "line" << xml.lineNumber() << "missing attribute: attribute"; + success = false; + } + + if (lineEndContext.name.isEmpty()) { + qWarning() << filename << "line" << xml.lineNumber() << "missing attribute: lineEndContext"; + success = false; + } + + return success; + } + }; + + struct Version { + int majorRevision; + int minorRevision; + + Version(int majorRevision = 0, int minorRevision = 0) + : majorRevision(majorRevision) + , minorRevision(minorRevision) + { + } + + bool operator<(const Version &version) const + { + return majorRevision < version.majorRevision || (majorRevision == version.majorRevision && minorRevision < version.minorRevision); + } + }; + + struct ItemDatas { + struct Style { + QString name; + int line; + + friend uint qHash(const Style &style, uint seed = 0) + { + return qHash(style.name, seed); + } + + friend bool operator==(const Style &style0, const Style &style1) + { + return style0.name == style1.name; + } + }; + + QSet