QScintilla  2.14.1
Public Types | Public Slots | Public Member Functions | Protected Member Functions | List of all members
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
 
QsciAbstractAPIsapis () 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
 
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
 
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

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.

Member Function Documentation

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

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

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

◆ 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)
virtualslot

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

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

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

See also
indentationWarning()

◆ readProperties()

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

Reimplemented from QsciLexer.

◆ writeProperties()

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

Reimplemented from QsciLexer.