QScintilla: QsciLexerCustom Class Reference

QScintilla 2.14.1

Public Member Functions | List of all members
QsciLexerCustom Class Referenceabstract

`#include <qscilexercustom.h>`

Inherits QsciLexer.

## Public Member Functions
| QsciLexerCustom (QObject *parent=0)
virtual | ~QsciLexerCustom ()
void | setStyling (int length, int style)
void | setStyling (int length, const QsciStyle &style)
void | startStyling (int pos, int styleBits=0)
virtual void | styleText (int start, int end)=0
virtual void | setEditor (QsciScintilla *editor)
virtual int | styleBitsNeeded () const
Public Member Functions inherited from QsciLexer
| QsciLexer (QObject *parent=0)
virtual | ~QsciLexer ()
virtual const char * | language () const =0
virtual const char * | lexer () const
virtual int | lexerId () const
QsciAbstractAPIs * | apis () const
virtual const char * | autoCompletionFillups () const
virtual QStringList | autoCompletionWordSeparators () const
int | autoIndentStyle ()
virtual const char * | blockEnd (int *style=0) const
virtual int | blockLookback () const
virtual const char * | blockStart (int *style=0) const
virtual const char * | blockStartKeyword (int *style=0) const
virtual int | braceStyle () const
virtual bool | caseSensitive () const
virtual QColor | color (int style) const
virtual bool | eolFill (int style) const
virtual QFont | font (int style) const
virtual int | indentationGuideView () const
virtual const char * | keywords (int set) const
virtual int | defaultStyle () const
virtual QString | description (int style) const =0
virtual QColor | paper (int style) const
QColor | defaultColor () const
virtual QColor | defaultColor (int style) const
virtual bool | defaultEolFill (int style) const
QFont | defaultFont () const
virtual QFont | defaultFont (int style) const
QColor | defaultPaper () const
virtual QColor | defaultPaper (int style) const
QsciScintilla * | editor () const
void | setAPIs (QsciAbstractAPIs *apis)
void | setDefaultColor (const QColor &c)
void | setDefaultFont (const QFont &f)
void | setDefaultPaper (const QColor &c)
bool | readSettings (QSettings &qs, const char *prefix="/Scintilla")
virtual void | refreshProperties ()
virtual const char * | wordCharacters () const
bool | writeSettings (QSettings &qs, const char *prefix="/Scintilla") const

## Additional Inherited Members
Public Slots inherited from QsciLexer
virtual void | setAutoIndentStyle (int autoindentstyle)
virtual void | setColor (const QColor &c, int style=-1)
virtual void | setEolFill (bool eoffill, int style=-1)
virtual void | setFont (const QFont &f, int style=-1)
virtual void | setPaper (const QColor &c, int style=-1)
Signals inherited from QsciLexer
void | colorChanged (const QColor &c, int style)
void | eolFillChanged (bool eolfilled, int style)
void | fontChanged (const QFont &f, int style)
void | paperChanged (const QColor &c, int style)
void | propertyChanged (const char *prop, const char *val)
Protected Member Functions inherited from QsciLexer
virtual bool | readProperties (QSettings &qs, const QString &prefix)
virtual bool | writeProperties (QSettings &qs, const QString &prefix) const
QByteArray | textAsBytes (const QString &text) const
QString | bytesAsText (const char *bytes, int size) const

## Detailed Description

The QsciLexerCustom class is an abstract class used as a base for new language lexers.

The advantage of implementing a new lexer this way (as opposed to adding the lexer to the underlying Scintilla code) is that it does not require the QScintilla library to be re-compiled. It also makes it possible to integrate external lexers.

All that is necessary to implement a new lexer is to define appropriate styles and to re-implement the styleText() method.

## Constructor & Destructor Documentation

## ◆ QsciLexerCustom()

QsciLexerCustom::QsciLexerCustom | ( | QObject * | parent = `0` | ) |

Construct a QsciLexerCustom with parent parent. parent is typically the QsciScintilla instance.

## Member Function Documentation

## ◆ setStyling() [1/2]

void QsciLexerCustom::setStyling | ( | int | length,
|  | int | style
| ) |  |

The next length characters starting from the current styling position have their style set to style number style. The current styling position is moved. The styling position is initially set by calling startStyling().

See also
  startStyling(), styleText()

## ◆ setStyling() [2/2]

void QsciLexerCustom::setStyling | ( | int | length,
|  | const QsciStyle & | style
| ) |  |

The next length characters starting from the current styling position have their style set to style style. The current styling position is moved. The styling position is initially set by calling startStyling().

See also
  startStyling(), styleText()

## ◆ startStyling()

void QsciLexerCustom::startStyling | ( | int | pos,
|  | int | styleBits = `0`
| ) |  |

The styling position is set to start. styleBits is unused.

See also
  setStyling(), styleBitsNeeded(), styleText()

## ◆ styleText()

virtual void QsciLexerCustom::styleText | ( | int | start,
|  | int | end
| ) |  |
| pure virtual

This is called when the section of text beginning at position start and up to position end needs to be styled. start will always be at the start of a line. The text is styled by calling startStyling() followed by one or more calls to setStyling(). It must be re-implemented by a sub-class.

See also
  setStyling(), startStyling(), QsciScintilla::bytes(), QsciScintilla::text()

## ◆ styleBitsNeeded()

virtual int QsciLexerCustom::styleBitsNeeded | ( |  | ) | const
| virtual

\reimp This re-implementation returns 5 as the number of style bits needed.

Reimplemented from QsciLexer.