struct EE::UI::Doc::SyntaxPattern

#include <syntaxdefinition.hpp>

struct SyntaxPattern {
    // typedefs

    typedef std::function<std::string(const SyntaxPattern&, const std::string_view&)> DynamicSyntax;

    // fields

    static UnorderedMap<SyntaxStyleType, std::string> SyntaxStyleTypeCache;
    std::vector<std::string> patterns;
    std::vector<SyntaxStyleType> types;
    std::vector<std::string> typesNames;
    std::string syntax { "" };
    DynamicSyntax dynSyntax;
    bool isRegEx { false };

    // construction

    SyntaxPattern(std::vector<std::string>&& _patterns, const std::string& _type, const std::string& _syntax = "", bool isRegEx = false);
    SyntaxPattern(std::vector<std::string>&& _patterns, std::vector<std::string>&& _types, const std::string& _syntax = "", bool isRegEx = false);
    SyntaxPattern(std::vector<std::string>&& _patterns, const std::string& _type, DynamicSyntax&& _syntax, bool isRegEx = false);
    SyntaxPattern(std::vector<std::string>&& _patterns, std::vector<std::string>&& _types, DynamicSyntax&& _syntax, bool isRegEx = false);

    // methods

    bool hasSyntax() const;
};