QScintilla: QsciLexerCPP Class Reference

QScintilla 2.14.1

Public Types | Public Slots | Public Member Functions | Protected Member Functions | List of all members
QsciLexerCPP Class Reference

`#include <qscilexercpp.h>`

Inherits QsciLexer.

Inherited by QsciLexerCSharp, QsciLexerIDL, QsciLexerJava, and QsciLexerJavaScript.

## Public Types
enum | { Default = 0, InactiveDefault = Default + 64, Comment = 1, InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64, CommentDoc = 3, InactiveCommentDoc = CommentDoc + 64, Number = 4, InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64, DoubleQuotedString = 6, InactiveDoubleQuotedString = DoubleQuotedString + 64, SingleQuotedString = 7, InactiveSingleQuotedString = SingleQuotedString + 64, UUID = 8, InactiveUUID = UUID + 64, PreProcessor = 9, InactivePreProcessor = PreProcessor + 64, Operator = 10, InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64, UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, VerbatimString = 13, InactiveVerbatimString = VerbatimString + 64, Regex = 14, InactiveRegex = Regex + 64, CommentLineDoc = 15, InactiveCommentLineDoc = CommentLineDoc + 64, KeywordSet2 = 16, InactiveKeywordSet2 = KeywordSet2 + 64, CommentDocKeyword = 17, InactiveCommentDocKeyword = CommentDocKeyword + 64, CommentDocKeywordError = 18, InactiveCommentDocKeywordError = CommentDocKeywordError + 64, GlobalClass = 19, InactiveGlobalClass = GlobalClass + 64, RawString = 20, InactiveRawString = RawString + 64, TripleQuotedVerbatimString = 21, InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64, HashQuotedString = 22, InactiveHashQuotedString = HashQuotedString + 64, PreProcessorComment = 23, InactivePreProcessorComment = PreProcessorComment + 64, PreProcessorCommentLineDoc = 24, InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64, UserLiteral = 25, InactiveUserLiteral = UserLiteral + 64, TaskMarker = 26, InactiveTaskMarker = TaskMarker + 64, EscapeSequence = 27, InactiveEscapeSequence = EscapeSequence + 64 }

## Public Slots
virtual void | setFoldAtElse (bool fold)
virtual void | setFoldComments (bool fold)
virtual void | setFoldCompact (bool fold)
virtual void | setFoldPreprocessor (bool fold)
virtual void | setStylePreprocessor (bool style)
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)

## Public Member Functions
| QsciLexerCPP (QObject *parent=0, bool caseInsensitiveKeywords=false)
virtual | ~QsciLexerCPP ()
const char * | language () const
const char * | lexer () const
QStringList | autoCompletionWordSeparators () const
const char * | blockEnd (int *style=0) const
const char * | blockStart (int *style=0) const
const char * | blockStartKeyword (int *style=0) const
int | braceStyle () const
const char * | wordCharacters () const
QColor | defaultColor (int style) const
bool | defaultEolFill (int style) const
QFont | defaultFont (int style) const
QColor | defaultPaper (int style) const
const char * | keywords (int set) const
QString | description (int style) const
void | refreshProperties ()
bool | foldAtElse () const
bool | foldComments () const
bool | foldCompact () const
bool | foldPreprocessor () const
bool | stylePreprocessor () const
void | setDollarsAllowed (bool allowed)
bool | dollarsAllowed () const
void | setHighlightTripleQuotedStrings (bool enabled)
bool | highlightTripleQuotedStrings () const
void | setHighlightHashQuotedStrings (bool enabled)
bool | highlightHashQuotedStrings () const
void | setHighlightBackQuotedStrings (bool enabled)
bool | highlightBackQuotedStrings () const
void | setHighlightEscapeSequences (bool enabled)
bool | highlightEscapeSequences () const
void | setVerbatimStringEscapeSequencesAllowed (bool allowed)
bool | verbatimStringEscapeSequencesAllowed () const
Public Member Functions inherited from QsciLexer
| QsciLexer (QObject *parent=0)
virtual | ~QsciLexer ()
virtual int | lexerId () const
QsciAbstractAPIs * | apis () const
virtual const char * | autoCompletionFillups () const
int | autoIndentStyle ()
virtual int | blockLookback () 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 int | defaultStyle () const
virtual QColor | paper (int style) const
QColor | defaultColor () const
QFont | defaultFont () const
QColor | defaultPaper () const
QsciScintilla * | editor () const
void | setAPIs (QsciAbstractAPIs *apis)
void | setDefaultColor (const QColor &c)
void | setDefaultFont (const QFont &f)
void | setDefaultPaper (const QColor &c)
virtual void | setEditor (QsciScintilla *editor)
bool | readSettings (QSettings &qs, const char *prefix="/Scintilla")
virtual int | styleBitsNeeded () const
bool | writeSettings (QSettings &qs, const char *prefix="/Scintilla") const

## Protected Member Functions
bool | readProperties (QSettings &qs, const QString &prefix)
bool | writeProperties (QSettings &qs, const QString &prefix) const
Protected Member Functions inherited from QsciLexer
QByteArray | textAsBytes (const QString &text) const
QString | bytesAsText (const char *bytes, int size) const

## Additional Inherited Members
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)

## Detailed Description

The QsciLexerCPP class encapsulates the Scintilla C++ lexer.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the C++ lexer.

Enumerator
Default | The default.
Comment | A C comment.
CommentLine | A C++ comment line.
CommentDoc | A JavaDoc/Doxygen style C comment.
Number | A number.
Keyword | A keyword.
DoubleQuotedString | A double-quoted string.
SingleQuotedString | A single-quoted string.
UUID | An IDL UUID.
PreProcessor | A pre-processor block.
Operator | An operator.
Identifier | An identifier.
UnclosedString | The end of a line where a string is not closed.
VerbatimString | A C# verbatim string.
Regex | A JavaScript regular expression.
CommentLineDoc | A JavaDoc/Doxygen style C++ comment line.
KeywordSet2 | A keyword defined in keyword set number 2. The class must be sub-classed and re-implement keywords() to make use of this style.
CommentDocKeyword | A JavaDoc/Doxygen keyword.
CommentDocKeywordError | A JavaDoc/Doxygen keyword error.
GlobalClass | A global class or typedef defined in keyword set number 5. The class must be sub-classed and re-implement keywords() to make use of this style.
RawString | A C++ raw string.
TripleQuotedVerbatimString | A Vala triple-quoted verbatim string.
HashQuotedString | A Pike hash-quoted string.
PreProcessorComment | A pre-processor stream comment.
PreProcessorCommentLineDoc | A JavaDoc/Doxygen style pre-processor comment.
UserLiteral | A user-defined literal.
TaskMarker | A task marker.
EscapeSequence | An escape sequence.

## Constructor & Destructor Documentation

## ◆ QsciLexerCPP()

QsciLexerCPP::QsciLexerCPP | ( | QObject * | parent = `0`,
|  | bool | caseInsensitiveKeywords = `false`
| ) |  |

Construct a QsciLexerCPP with parent parent. parent is typically the QsciScintilla instance. caseInsensitiveKeywords is true if the lexer ignores the case of keywords.

## Member Function Documentation

## ◆ lexer()

const char* QsciLexerCPP::lexer | ( |  | ) | const
| virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

## ◆ autoCompletionWordSeparators()

QStringList QsciLexerCPP::autoCompletionWordSeparators | ( |  | ) | const
| virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

## ◆ blockEnd()

const char* QsciLexerCPP::blockEnd | ( | int * | style = `0` | ) | const
| virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

## ◆ blockStart()

const char* QsciLexerCPP::blockStart | ( | int * | style = `0` | ) | const
| virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

## ◆ blockStartKeyword()

const char* QsciLexerCPP::blockStartKeyword | ( | int * | style = `0` | ) | const
| virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

## ◆ defaultColor()

QColor QsciLexerCPP::defaultColor | ( | int | style | ) | const
| virtual

Returns the foreground colour of the text for style number style.

See also
  defaultPaper()

Reimplemented from QsciLexer.

Reimplemented in QsciLexerJavaScript, QsciLexerIDL, and QsciLexerCSharp.

## ◆ defaultPaper()

QColor QsciLexerCPP::defaultPaper | ( | int | style | ) | const
| virtual

Returns the background colour of the text for style number style.

See also
  defaultColor()

Reimplemented from QsciLexer.

Reimplemented in QsciLexerJavaScript, and QsciLexerCSharp.

## ◆ keywords()

const char* QsciLexerCPP::keywords | ( | int | set | ) | const
| virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string. Set 1 is normally used for primary keywords and identifiers. Set 2 is normally used for secondary keywords and identifiers. Set 3 is normally used for documentation comment keywords. Set 4 is normally used for global classes and typedefs.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerJavaScript, QsciLexerJava, QsciLexerIDL, and QsciLexerCSharp.

## ◆ description()

QString QsciLexerCPP::description | ( | int | style | ) | const
| virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

Reimplemented in QsciLexerJavaScript, QsciLexerIDL, and QsciLexerCSharp.

## ◆ refreshProperties()

void QsciLexerCPP::refreshProperties | ( |  | ) |
| virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

## ◆ foldAtElse()

bool QsciLexerCPP::foldAtElse | ( |  | ) | const
| inline

Returns true if "} else {" lines can be folded.

See also
  setFoldAtElse()

## ◆ foldComments()

bool QsciLexerCPP::foldComments | ( |  | ) | const
| inline

Returns true if multi-line comment blocks can be folded.

See also
  setFoldComments()

## ◆ foldCompact()

bool QsciLexerCPP::foldCompact | ( |  | ) | const
| inline

Returns true if trailing blank lines are included in a fold block.

See also
  setFoldCompact()

## ◆ foldPreprocessor()

bool QsciLexerCPP::foldPreprocessor | ( |  | ) | const
| inline

Returns true if preprocessor blocks can be folded.

See also
  setFoldPreprocessor()

## ◆ stylePreprocessor()

bool QsciLexerCPP::stylePreprocessor | ( |  | ) | const
| inline

Returns true if preprocessor lines (after the preprocessor directive) are styled.

See also
  setStylePreprocessor()

## ◆ setDollarsAllowed()

void QsciLexerCPP::setDollarsAllowed | ( | bool | allowed | ) |

If allowed is true then '$' characters are allowed in identifier names. The default is true.

See also
  dollarsAllowed()

## ◆ dollarsAllowed()

bool QsciLexerCPP::dollarsAllowed | ( |  | ) | const
| inline

Returns true if '$' characters are allowed in identifier names.

See also
  setDollarsAllowed()

## ◆ setHighlightTripleQuotedStrings()

void QsciLexerCPP::setHighlightTripleQuotedStrings | ( | bool | enabled | ) |

If enabled is true then triple quoted strings are highlighted. The default is false.

See also
  highlightTripleQuotedStrings()

## ◆ highlightTripleQuotedStrings()

bool QsciLexerCPP::highlightTripleQuotedStrings | ( |  | ) | const
| inline

Returns true if triple quoted strings should be highlighted.

See also
  setHighlightTripleQuotedStrings()

## ◆ setHighlightHashQuotedStrings()

void QsciLexerCPP::setHighlightHashQuotedStrings | ( | bool | enabled | ) |

If enabled is true then hash quoted strings are highlighted. The default is false.

See also
  highlightHashQuotedStrings()

## ◆ highlightHashQuotedStrings()

bool QsciLexerCPP::highlightHashQuotedStrings | ( |  | ) | const
| inline

Returns true if hash quoted strings should be highlighted.

See also
  setHighlightHashQuotedStrings()

## ◆ setHighlightBackQuotedStrings()

void QsciLexerCPP::setHighlightBackQuotedStrings | ( | bool | enabled | ) |

If enabled is true then back-quoted raw strings are highlighted. The default is false.

See also
  highlightBackQuotedStrings()

## ◆ highlightBackQuotedStrings()

bool QsciLexerCPP::highlightBackQuotedStrings | ( |  | ) | const
| inline

Returns true if back-quoted raw strings should be highlighted.

See also
  setHighlightBackQuotedStrings()

## ◆ setHighlightEscapeSequences()

void QsciLexerCPP::setHighlightEscapeSequences | ( | bool | enabled | ) |

If enabled is true then escape sequences in strings are highlighted. The default is false.

See also
  highlightEscapeSequences()

## ◆ highlightEscapeSequences()

bool QsciLexerCPP::highlightEscapeSequences | ( |  | ) | const
| inline

Returns true if escape sequences in strings should be highlighted.

See also
  setHighlightEscapeSequences()

## ◆ setVerbatimStringEscapeSequencesAllowed()

void QsciLexerCPP::setVerbatimStringEscapeSequencesAllowed | ( | bool | allowed | ) |

If allowed is true then escape sequences are allowed in verbatim strings. The default is false.

See also
  verbatimStringEscapeSequencesAllowed()

## ◆ verbatimStringEscapeSequencesAllowed()

bool QsciLexerCPP::verbatimStringEscapeSequencesAllowed | ( |  | ) | const
| inline

Returns true if hash quoted strings should be highlighted.

See also
  setVerbatimStringEscapeSequencesAllowed()

## ◆ setFoldAtElse

virtual void QsciLexerCPP::setFoldAtElse | ( | bool | fold | ) |
| virtualslot

If fold is true then "} else {" lines can be folded. The default is false.

See also
  foldAtElse()

## ◆ setFoldComments

virtual void QsciLexerCPP::setFoldComments | ( | bool | fold | ) |
| virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
  foldComments()

## ◆ setFoldCompact

virtual void QsciLexerCPP::setFoldCompact | ( | bool | fold | ) |
| virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
  foldCompact()

## ◆ setFoldPreprocessor

virtual void QsciLexerCPP::setFoldPreprocessor | ( | bool | fold | ) |
| virtualslot

If fold is true then preprocessor blocks can be folded. The default is true.

See also
  foldPreprocessor()

## ◆ setStylePreprocessor

virtual void QsciLexerCPP::setStylePreprocessor | ( | bool | style | ) |
| virtualslot

If style is true then preprocessor lines (after the preprocessor directive) are styled. The default is false.

See also
  stylePreprocessor()

## ◆ readProperties()

bool QsciLexerCPP::readProperties | ( | QSettings & | qs,
|  | const QString & | prefix
| ) |  |
| protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
  writeProperties()

Reimplemented from QsciLexer.

## ◆ writeProperties()

bool QsciLexerCPP::writeProperties | ( | QSettings & | qs,
|  | const QString & | prefix
| ) |  | const
| protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
  readProperties()

Reimplemented from QsciLexer.