| 1 | /* |
| 2 | SPDX-FileCopyrightText: 2025 Volker Krause <vkrause@kde.org> |
| 3 | SPDX-License-Identifier: MIT |
| 4 | */ |
| 5 | |
| 6 | #ifndef TYPES_H |
| 7 | #define TYPES_H |
| 8 | |
| 9 | #include <KSyntaxHighlighting/Definition> |
| 10 | #include <KSyntaxHighlighting/Repository> |
| 11 | #include <KSyntaxHighlighting/Theme> |
| 12 | |
| 13 | #include <QQmlEngine> |
| 14 | |
| 15 | struct DefinitionForeign { |
| 16 | Q_GADGET |
| 17 | QML_FOREIGN(KSyntaxHighlighting::Definition) |
| 18 | QML_VALUE_TYPE(definition) |
| 19 | }; |
| 20 | |
| 21 | struct ThemeForeign { |
| 22 | Q_GADGET |
| 23 | QML_FOREIGN(KSyntaxHighlighting::Theme) |
| 24 | QML_VALUE_TYPE(theme) |
| 25 | }; |
| 26 | |
| 27 | struct RepositoryForeign { |
| 28 | Q_GADGET |
| 29 | QML_FOREIGN(KSyntaxHighlighting::Repository) |
| 30 | QML_SINGLETON |
| 31 | QML_NAMED_ELEMENT(Repository) |
| 32 | public: |
| 33 | static KSyntaxHighlighting::Repository *create(QQmlEngine *engine, QJSEngine *scriptEngine); |
| 34 | }; |
| 35 | |
| 36 | #endif |
| 37 | |