KateVarIndent Class Reference
This indenter uses document variables to determine when to add/remove indents. More...
#include <kateautoindent.h>
Inheritance diagram for KateVarIndent:


Public Types | |
enum | pairs { Parens = 1, Braces = 2, Brackets = 4, AngleBrackets = 8 } |
Public Member Functions | |
KateVarIndent (KateDocument *doc) | |
virtual void | processNewline (KateDocCursor &begin, bool needContinue) |
virtual void | processChar (QChar c) |
virtual void | processLine (KateDocCursor &line) |
virtual void | processSection (KateDocCursor &begin, KateDocCursor &end) |
virtual bool | canProcessLine () const |
virtual uint | modeNumber () const |
Detailed Description
This indenter uses document variables to determine when to add/remove indents.It attempts to get the following variables from the document:
- var-indent-indent-after: A rerular expression which will cause a line to be indented by one unit, if the first non-whitespace-only line above matches.
- var-indent-indent: A regular expression, which will cause a matching line to be indented by one unit.
- var-indent-unindent: A regular expression which will cause the line to be unindented by one unit if matching.
- var-indent-triggerchars: a list of characters that should cause the indentiou to be recalculated immediately when typed.
- var-indent-handle-couples: a list of paren sets to handle. Any combination of 'parens' 'braces' and 'brackets'. Each set type is handled the following way: If there are unmatched opening instances on the above line, one indent unit is added, if there are unmatched closing instances on the current line, one indent unit is removed.
- var-indent-couple-attribute: When looking for unmatched couple openings/closings, only characters with this attribute is considered. The value must be the attribute name from the syntax xml file, for example "Symbol". If it's not specified, attribute 0 is used (usually 'Normal Text').
The idea is to provide a somewhat intelligent indentation for perl, php, bash, scheme and in general formats with humble indentation needs.
Definition at line 418 of file kateautoindent.h.
Member Enumeration Documentation
|
Purely for readability, couples we know and love.
Definition at line 425 of file kateautoindent.h. |
Member Function Documentation
|
Called every time a newline character is inserted in the document.
Reimplemented from KateNormalIndent. Definition at line 1970 of file kateautoindent.cpp. References processLine(). |
|
Called every time a character is inserted into the document.
Reimplemented from KateNormalIndent. Definition at line 1978 of file kateautoindent.cpp. References endl(), kdDebug(), and processLine(). |
|
Aligns/indents the given line to the proper indent position.
Reimplemented from KateNormalIndent. Definition at line 1994 of file kateautoindent.cpp. References endl(), kdDebug(), KateNormalIndent::tabString(), and KateNormalIndent::updateConfig(). Referenced by processChar(), processNewline(), and processSection(). |
|
Processes a section of text, indenting each line in between.
Reimplemented from KateNormalIndent. Definition at line 2133 of file kateautoindent.cpp. References KateDocCursor::gotoNextLine(), KateTextCursor::line(), and processLine(). |
|
Set to true if an actual implementation of 'processLine' is present. This is used to prevent a needless Undo action from being created. Reimplemented from KateNormalIndent. Definition at line 441 of file kateautoindent.h. |
|
Mode index of this mode.
Reimplemented from KateNormalIndent. Definition at line 443 of file kateautoindent.h. |
The documentation for this class was generated from the following files: