#ifndef QSCILEXERREMARKUP_H
#define QSCILEXERREMARKUP_H

#include <qscilexercustom.h>
#include <qscistyle.h>

class QsciLexerRemarkup : public QsciLexerCustom
{
    Q_OBJECT

public:
    virtual QColor defaultColor(int style) const;
    virtual QFont defaultFont(int style) const;
    virtual QColor defaultPaper(int style) const;
    QsciStyle getStyle(int style);

    QsciLexerRemarkup(QObject * parent = 0);
    ~QsciLexerRemarkup();

    void styleText(int start, int end);
    QString description(int style) const;
    const char* language() const;

private:
    void runPhutilRemarkupBoldRule(const QString& source, int index);
    void runPhutilRemarkupItalicRule(const QString& source, int index);
    void runPhutilRemarkupHighlightedRule(const QString& source, int index);
    void runPhutilRemarkupUnderlinedRule(const QString& source, int index);
    void runPhutilRemarkupMonospaceRule(const QString& source, int index);
};

class QsciLexerRemarkupStyles {
public:enum  {
       Default = 0,
       Hidden,
       Bold,
       Italic,
       Highlight,
       Underline,
       Monospace,

       Del,
       DocumentLink,
       EscapeRemarkup,
       HyperLink,  
    };
};

#endif // QSCILEXERREMARKUP_H
