class EE::UI::Doc::SyntaxTokenizer

#include <syntaxtokenizer.hpp>

class SyntaxTokenizer {
public:
    // methods

    static std::pair<std::vector<SyntaxToken>, SyntaxState> tokenize(const SyntaxDefinition& syntax, const std::string& text, const SyntaxState& state, const size_t& startIndex = 0, bool skipSubSyntaxSeparator = false);
    static std::pair<std::vector<SyntaxTokenPosition>, SyntaxState> tokenizePosition(const SyntaxDefinition& syntax, const std::string& text, const SyntaxState& state, const size_t& startIndex = 0, bool skipSubSyntaxSeparator = false);
    static std::pair<std::vector<SyntaxTokenComplete>, SyntaxState> tokenizeComplete(const SyntaxDefinition& syntax, const std::string& text, const SyntaxState& state, const size_t& startIndex = 0, bool skipSubSyntaxSeparator = false);

    static Text& tokenizeText(
        const SyntaxDefinition& syntax,
        const SyntaxColorScheme& colorScheme,
        Text& text,
        const size_t& startIndex = 0,
        const size_t& endIndex = 0xFFFFFFFF,
        bool skipSubSyntaxSeparator = false,
        const std::string& trimChars = ""
    );

    static SyntaxStateRestored retrieveSyntaxState(const SyntaxDefinition& syntax, const SyntaxState& state);
};