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

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.