# QsciLexerVHDL Class Reference

The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer. More...

`#include <qscilexervhdl.h>`

Inherits QsciLexer.

List of all members.

## Public Types

- enum {
  Default = 0, Comment = 1, CommentLine = 2,
  Number = 3, String = 4, Operator = 5,
  Identifier = 6, UnclosedString = 7, Keyword = 8,
  StandardOperator = 9, Attribute = 10, StandardFunction = 11,
  StandardPackage = 12, StandardType = 13, KeywordSet7 = 14
  }

## Public Slots

- virtual void setFoldComments (bool fold)
- virtual void setFoldCompact (bool fold)
- virtual void setFoldAtElse (bool fold)
- virtual void setFoldAtBegin (bool fold)
- virtual void setFoldAtParenthesis (bool fold)

## Public Member Functions

- QsciLexerVHDL (QObject *parent=0)
- virtual ~QsciLexerVHDL ()
- const char * language () const
- const char * lexer () const
- int braceStyle () 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 foldComments () const
- bool foldCompact () const
- bool foldAtElse () const
- bool foldAtBegin () const
- bool foldAtParenthesis () const

## Protected Member Functions

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

## Detailed Description

The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.

## Member Enumeration Documentation

anonymous enum

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

Enumerator:

  Default | The default.
  Comment | A comment.
  CommentLine | A comment line.
  Number | A number.
  String | A string.
  Operator | An operator.
  Identifier | An identifier.
  UnclosedString | The end of a line where a string is not closed.
  Keyword | A keyword.
  StandardOperator | A standard operator.
  Attribute | An attribute.
  StandardFunction | A standard function.
  StandardPackage | A standard package.
  StandardType | A standard type.
  KeywordSet7 | A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style.

## Constructor & Destructor Documentation

QsciLexerVHDL::QsciLexerVHDL | ( | QObject * | parent = `0` | ) |

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

## Member Function Documentation

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

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

Reimplemented from QsciLexer.

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

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

See also:
  defaultPaper()

Reimplemented from QsciLexer.

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

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

See also:
  defaultColor()

Reimplemented from QsciLexer.

const char* QsciLexerVHDL::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 QsciLexerVHDL::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 QsciLexerVHDL::refreshProperties | ( |  | ) | `[virtual]`

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

Reimplemented from QsciLexer.

bool QsciLexerVHDL::foldComments | ( |  | ) | const

Returns true if multi-line comment blocks can be folded.

See also:
  setFoldComments()

bool QsciLexerVHDL::foldCompact | ( |  | ) | const

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

See also:
  setFoldCompact()

bool QsciLexerVHDL::foldAtElse | ( |  | ) | const

Returns true if else blocks can be folded.

See also:
  setFoldAtElse()

bool QsciLexerVHDL::foldAtBegin | ( |  | ) | const

Returns true if begin blocks can be folded.

See also:
  setFoldAtBegin()

bool QsciLexerVHDL::foldAtParenthesis | ( |  | ) | const

Returns true if blocks can be folded at a parenthesis.

See also:
  setFoldAtParenthesis()

virtual void QsciLexerVHDL::setFoldComments | ( | bool | fold | ) | `[virtual, slot]`

If fold is true then multi-line comment blocks can be folded. The default is true.

See also:
  foldComments()

virtual void QsciLexerVHDL::setFoldCompact | ( | bool | fold | ) | `[virtual, slot]`

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

See also:
  foldCompact()

virtual void QsciLexerVHDL::setFoldAtElse | ( | bool | fold | ) | `[virtual, slot]`

If fold is true then else blocks can be folded. The default is true.

See also:
  foldAtElse()

virtual void QsciLexerVHDL::setFoldAtBegin | ( | bool | fold | ) | `[virtual, slot]`

If fold is true then begin blocks can be folded. The default is true.

See also:
  foldAtBegin()

virtual void QsciLexerVHDL::setFoldAtParenthesis | ( | bool | fold | ) | `[virtual, slot]`

If fold is true then blocks can be folded at a parenthesis. The default is true.

See also:
  foldAtParenthesis()

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