QScintilla 2.14.1
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
QsciAbstractAPIsapis () 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
QsciScintillaeditor () 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.

Referenced by writeProperties().

Member Function Documentation

◆ language()

const char * QsciLexerCPP::language ( ) const
virtual

Returns the name of the language.

Implements QsciLexer.

Reimplemented in QsciLexerCSharp, QsciLexerIDL, QsciLexerJava, and QsciLexerJavaScript.

◆ 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.

◆ braceStyle()

int QsciLexerCPP::braceStyle ( ) const
virtual

Returns the style used for braces for brace matching.

Reimplemented from QsciLexer.

◆ wordCharacters()

const char * QsciLexerCPP::wordCharacters ( ) const
virtual

Returns the string of characters that comprise a word.

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 QsciLexerCSharp, QsciLexerIDL, and QsciLexerJavaScript.

◆ defaultEolFill()

bool QsciLexerCPP::defaultEolFill ( int style) const
virtual

Returns the end-of-line fill for style number style.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerCSharp, and QsciLexerJavaScript.

◆ defaultFont()

QFont QsciLexerCPP::defaultFont ( int style) const
virtual

Returns the font for style number style.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerCSharp, and QsciLexerJavaScript.

◆ 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 QsciLexerCSharp, and QsciLexerJavaScript.

◆ 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 QsciLexerCSharp, QsciLexerIDL, QsciLexerJava, and QsciLexerJavaScript.

◆ 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 QsciLexerCSharp, QsciLexerIDL, and QsciLexerJavaScript.

◆ 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.

References QsciLexerCPP().