Module dcanvas.core.editable

Implementation of editable text content.

Synopsis

import dcanvas.core.editable;

Functions

NameDescription
concatDStrings(lines, delimiter) concat strings from array using delimiter
replaceEolsWithSpaces(source) replace end of lines with spaces
splitDString(source, delimiter) split dstring by delimiters
tokenCategory(t) extracts token category, clearing subcategory

Interfaces

NameDescription
EditableContentListener Editable Content change listener
EditableContentMarksChangeListener
SyntaxSupport interface for custom syntax highlight, comments toggling, smart indents, and other language dependent features for source code editors

Classes

NameDescription
EditableContent editable plain text (singleline/multiline)
EditOperation edit operation details for EditableContent
LineIcon text editor line icon
UndoBuffer Undo/Redo buffer

Structs

NameDescription
LineIcons text editor line icon list
LineSpan
TextLineMeasure measure line text (tabs, spaces, and nonspace positions)
TextPosition text content position
TextRange text content range
WrapPoint Holds info about a word wrapping point

Enums

NameDescription
EditAction action performed with editable contents
EditStateMark values for editable line state
LineIconType types of text editor line icon marks (bookmark / breakpoint / error / ...)
TokenCategory token category for syntax highlight

Global variables

NameTypeDescription
EOL immutable(dchar)
SYSTEM_DEFAULT_EOL immutable(dchar[])
TOKEN_CATEGORY_MASK const(ubyte)
TOKEN_CATEGORY_SHIFT const(ubyte)
TOKEN_SUBCATEGORY_MASK const(ubyte)
TOKEN_UNKNOWN const(ubyte)

Aliases

NameTypeDescription
TokenProp ubyte TokenCategory holder
TokenPropString ubyte[] TokenCategory string