File indexing completed on 2024-12-22 04:48:18
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2024 Louis Schul <schul9louis@gmail.com> 0004 */ 0005 0006 #pragma once 0007 0008 #include <QObject> 0009 #include <QSet> 0010 0011 #include "logic/plugins/noteMapper/noteMapperParserUtils.h" 0012 #include "logic/plugins/puml/pumlParserUtils.h" 0013 #include "logic/plugins/syntaxHighlight/highlightParserUtils.h" 0014 0015 class PluginHelper 0016 { 0017 public: 0018 explicit PluginHelper(Parser *parser); 0019 void clearPluginsInfo(); 0020 void clearPluginsPreviousInfo(); 0021 void preTokChanges(); 0022 void postTokChanges(); 0023 0024 QString blockCodePlugins(const QString &lang, const QString &_text); 0025 0026 // NoteMapper 0027 NoteMapperParserUtils *getMapperParserUtils() const; 0028 0029 // Syntax highlight 0030 HighlightParserUtils *getHighlightParserUtils() const; 0031 0032 // PUML 0033 PUMLParserUtils *getPUMLParserUtils() const; 0034 0035 private: 0036 // Synthax highlight 0037 HighlightParserUtils *m_highlightParserUtils = nullptr; 0038 0039 // NoteMapper 0040 NoteMapperParserUtils *m_mapperParserUtils = nullptr; 0041 0042 // PUML 0043 PUMLParserUtils *m_pumlParserUtils = nullptr; 0044 };