QsciLexerPython Class Reference

`#include <qscilexerpython.h>`

Inherits QsciLexer.

## Public Types

enum

{
Default = 0 , Comment = 1 , Number = 2 ,
DoubleQuotedString = 3 , SingleQuotedString = 4 , Keyword = 5 ,
TripleSingleQuotedString = 6 , TripleDoubleQuotedString = 7 , ClassName = 8 ,
FunctionMethodName = 9 , Operator = 10 , Identifier = 11 ,
CommentBlock = 12 , UnclosedString = 13 , HighlightedIdentifier = 14 ,
Decorator = 15 , DoubleQuotedFString = 16 , SingleQuotedFString = 17 ,
TripleSingleQuotedFString = 18 , TripleDoubleQuotedFString = 19
}

enum | IndentationWarning { NoWarning = 0 , Inconsistent = 1 , TabsAfterSpaces = 2 , Spaces = 3 , Tabs = 4 }

## Public Slots

virtual void | setFoldComments (bool fold)
virtual void | setFoldQuotes (bool fold)
virtual void | setIndentationWarning (QsciLexerPython::IndentationWarning warn)
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

| QsciLexerPython (QObject *parent=0)
virtual | ~QsciLexerPython ()
const char * | language () const
const char * | lexer () const
QStringList | autoCompletionWordSeparators () const
int | blockLookback () const
const char * | blockStart (int *style=0) const
int | braceStyle () const
QColor | defaultColor (int style) const
bool | defaultEolFill (int style) const
QFont | defaultFont (int style) const
QColor | defaultPaper (int style) const
virtual int | indentationGuideView () const
const char * | keywords (int set) const
QString | description (int style) const
void | refreshProperties ()
bool | foldComments () const
void | setFoldCompact (bool fold)
bool | foldCompact () const
bool | foldQuotes () const
QsciLexerPython::IndentationWarning | indentationWarning () const
void | setHighlightSubidentifiers (bool enabled)
bool | highlightSubidentifiers () const
void | setStringsOverNewlineAllowed (bool allowed)
bool | stringsOverNewlineAllowed () const
void | setV2UnicodeAllowed (bool allowed)
bool | v2UnicodeAllowed () const
void | setV3BinaryOctalAllowed (bool allowed)
bool | v3BinaryOctalAllowed () const
void | setV3BytesAllowed (bool allowed)
bool | v3BytesAllowed () 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 const char * | blockEnd (int *style=0) const
virtual const char * | blockStartKeyword (int *style=0) 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 | 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
virtual const char * | wordCharacters () 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 QsciLexerPython class encapsulates the Scintilla Python lexer.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

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

Enumerator
Default | The default.
Comment | A comment.
Number | A number.
DoubleQuotedString | A double-quoted string.
SingleQuotedString | A single-quoted string.
Keyword | A keyword.
TripleSingleQuotedString | A triple single-quoted string.
TripleDoubleQuotedString | A triple double-quoted string.
ClassName | The name of a class.
FunctionMethodName | The name of a function or method.
Operator | An operator.
Identifier | An identifier.
CommentBlock | A comment block.
UnclosedString | The end of a line where a string is not closed.

HighlightedIdentifier

A highlighted identifier. These are defined by keyword set

1. Reimplement keywords() to define keyword set 2.

Decorator | A decorator.
DoubleQuotedFString | A double-quoted f-string.
SingleQuotedFString | A single-quoted f-string.
TripleSingleQuotedFString | A triple single-quoted f-string.
TripleDoubleQuotedFString | A triple double-quoted f-string.

## IndentationWarning

enum QsciLexerPython::IndentationWarning

This enum defines the different conditions that can cause indentations to be displayed as being bad.

Enumerator
NoWarning | Bad indentation is not displayed differently.
Inconsistent | The indentation is inconsistent when compared to the previous line, ie. it is made up of a different combination of tabs and/or spaces.
TabsAfterSpaces | The indentation is made up of spaces followed by tabs.
Spaces | The indentation contains spaces.
Tabs | The indentation contains tabs.

## Constructor & Destructor Documentation

## QsciLexerPython()

QsciLexerPython::QsciLexerPython | ( | QObject * | parent = 0 | ) |

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

Referenced by writeProperties().

## Member Function Documentation

## language()

const char * QsciLexerPython::language | ( |  | ) | const

virtual

Returns the name of the language.

Implements QsciLexer.

## lexer()

const char * QsciLexerPython::lexer | ( |  | ) | const

virtual

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

Reimplemented from QsciLexer.

## autoCompletionWordSeparators()

QStringList QsciLexerPython::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.

## blockLookback()

int QsciLexerPython::blockLookback | ( |  | ) | const

virtual

Returns the number of lines prior to the current one when determining the scope of a block when auto-indenting.

Reimplemented from QsciLexer.

## blockStart()

const char * QsciLexerPython::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.

## braceStyle()

int QsciLexerPython::braceStyle | ( |  | ) | const

virtual

Returns the style used for braces for brace matching.

Reimplemented from QsciLexer.

## defaultColor()

QColor QsciLexerPython::defaultColor | ( | int | style | ) | const

virtual

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

See also
  defaultPaper()

Reimplemented from QsciLexer.

## defaultEolFill()

bool QsciLexerPython::defaultEolFill | ( | int | style | ) | const

virtual

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

Reimplemented from QsciLexer.

## defaultFont()

QFont QsciLexerPython::defaultFont | ( | int | style | ) | const

virtual

Returns the font for style number style.

Reimplemented from QsciLexer.

## defaultPaper()

QColor QsciLexerPython::defaultPaper | ( | int | style | ) | const

virtual

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

See also
  defaultColor()

Reimplemented from QsciLexer.

## indentationGuideView()

virtual int QsciLexerPython::indentationGuideView | ( |  | ) | const

virtual

Returns the view used for indentation guides.

Reimplemented from QsciLexer.

## keywords()

const char * QsciLexerPython::keywords | ( | int | set | ) | const

virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

## description()

QString QsciLexerPython::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.

## refreshProperties()

void QsciLexerPython::refreshProperties | ( |  | ) |

virtual

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

Reimplemented from QsciLexer.

## foldComments()

bool QsciLexerPython::foldComments | ( |  | ) | const

inline

Returns true if indented comment blocks can be folded.

See also
  setFoldComments()

## setFoldCompact()

void QsciLexerPython::setFoldCompact | ( | bool | fold | ) |

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

See also
  foldCompact()

## foldCompact()

bool QsciLexerPython::foldCompact | ( |  | ) | const

inline

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

See also
  setFoldCompact()

## foldQuotes()

bool QsciLexerPython::foldQuotes | ( |  | ) | const

inline

Returns true if triple quoted strings can be folded.

See also
  setFoldQuotes()

## indentationWarning()

QsciLexerPython::IndentationWarning QsciLexerPython::indentationWarning | ( |  | ) | const

inline

Returns the condition that will cause bad indentations to be displayed.

See also
  setIndentationWarning()

## setHighlightSubidentifiers()

void QsciLexerPython::setHighlightSubidentifiers | ( | bool | enabled | ) |

If enabled is true then sub-identifiers defined in keyword set 2 will be highlighted. For example, if it is false and "open" is defined in keyword set 2 then "foo.open" will not be highlighted. The default is true.

See also
  highlightSubidentifiers()

## highlightSubidentifiers()

bool QsciLexerPython::highlightSubidentifiers | ( |  | ) | const

inline

Returns true if string literals are allowed to span newline characters.

See also
  setHighlightSubidentifiers()

## setStringsOverNewlineAllowed()

void QsciLexerPython::setStringsOverNewlineAllowed | ( | bool | allowed | ) |

If allowed is true then string literals are allowed to span newline characters. The default is false.

See also
  stringsOverNewlineAllowed()

## stringsOverNewlineAllowed()

bool QsciLexerPython::stringsOverNewlineAllowed | ( |  | ) | const

inline

Returns true if string literals are allowed to span newline characters.

See also
  setStringsOverNewlineAllowed()

## setV2UnicodeAllowed()

void QsciLexerPython::setV2UnicodeAllowed | ( | bool | allowed | ) |

If allowed is true then Python v2 unicode string literals (e.g. u"utf8") are allowed. The default is true.

See also
  v2UnicodeAllowed()

## v2UnicodeAllowed()

bool QsciLexerPython::v2UnicodeAllowed | ( |  | ) | const

inline

Returns true if Python v2 unicode string literals (e.g. u"utf8") are allowed.

See also
  setV2UnicodeAllowed()

## setV3BinaryOctalAllowed()

void QsciLexerPython::setV3BinaryOctalAllowed | ( | bool | allowed | ) |

If allowed is true then Python v3 binary and octal literals (e.g. 0b1011, 0o712) are allowed. The default is true.

See also
  v3BinaryOctalAllowed()

## v3BinaryOctalAllowed()

bool QsciLexerPython::v3BinaryOctalAllowed | ( |  | ) | const

inline

Returns true if Python v3 binary and octal literals (e.g. 0b1011, 0o712) are allowed.

See also
  setV3BinaryOctalAllowed()

## setV3BytesAllowed()

void QsciLexerPython::setV3BytesAllowed | ( | bool | allowed | ) |

If allowed is true then Python v3 bytes string literals (e.g. b"bytes") are allowed. The default is true.

See also
  v3BytesAllowed()

## v3BytesAllowed()

bool QsciLexerPython::v3BytesAllowed | ( |  | ) | const

inline

Returns true if Python v3 bytes string literals (e.g. b"bytes") are allowed.

See also
  setV3BytesAllowed()

## setFoldComments

virtual void QsciLexerPython::setFoldComments | ( | bool | fold | ) |

virtual slot

If fold is true then indented comment blocks can be folded. The default is false.

See also
  foldComments()

## setFoldQuotes

virtual void QsciLexerPython::setFoldQuotes | ( | bool | fold | ) |

virtual slot

If fold is true then triple quoted strings can be folded. The default is false.

See also
  foldQuotes()

## setIndentationWarning

virtual void QsciLexerPython::setIndentationWarning | ( | QsciLexerPython::IndentationWarning | warn | ) |

virtual slot

Sets the condition that will cause bad indentations to be displayed.

See also
  indentationWarning()

## readProperties()

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

protected virtual

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.

Reimplemented from QsciLexer.

## writeProperties()

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

protected virtual

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.

Reimplemented from QsciLexer.

References QsciLexerPython().