# QsciLexerPython Class Reference

The QsciLexerPython class encapsulates the Scintilla Python lexer. More...

`#include <qscilexerpython.h>`

Inherits QsciLexer.

List of all members.

## 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
  }
- 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 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
- bool foldQuotes () const
- QsciLexerPython::IndentationWarning indentationWarning () const
- void setV2UnicodeAllowed (bool allowed)
- bool v2UnicodeAllowed () const
- void setV3BinaryOctalAllowed (bool allowed)
- bool v3BinaryOctalAllowed () const
- void setV3BytesAllowed (bool allowed)
- bool v3BytesAllowed () const

## Protected Member Functions

- bool readProperties (QSettings &qs, const QString &prefix)
- bool writeProperties (QSettings &qs, const QString &prefix) const

## Detailed Description

The QsciLexerPython class encapsulates the Scintilla Python lexer.

## Member Enumeration Documentation

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 2. Reimplement keywords() to define keyword set 2.
  Decorator | A decorator.

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 | ( | QObject * | parent = `0` | ) |

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

## Member Function Documentation

const char* QsciLexerPython::lexer | ( |  | ) | const`[virtual]`

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

Reimplemented from QsciLexer.

QColor QsciLexerPython::defaultColor | ( | int | style | ) | const`[virtual]`

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

See also:
  defaultPaper()

Reimplemented from QsciLexer.

QColor QsciLexerPython::defaultPaper | ( | int | style | ) | const`[virtual]`

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

See also:
  defaultColor()

Reimplemented from QsciLexer.

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.

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.

void QsciLexerPython::refreshProperties | ( |  | ) | `[virtual]`

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

Reimplemented from QsciLexer.

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

Returns true if indented comment blocks can be folded.

See also:
  setFoldComments()

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

Returns true if triple quoted strings can be folded.

See also:
  setFoldQuotes()

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

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

See also:
  setIndentationWarning()

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()

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

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

See also:
  setV2UnicodeAllowed()

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()

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

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

See also:
  setV3BinaryOctalAllowed()

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()

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

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

See also:
  setV3BytesAllowed()

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()

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()

virtual void QsciLexerPython::setIndentationWarning | ( | QsciLexerPython::IndentationWarning | warn | ) | `[virtual, slot]`

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

See also:
  indentationWarning()

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.

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.