notus_format library

Rich text document model for Zefyr editor.

Classes

AlignmentAttributeBuilder
Builder for paragraph alignment attribute styles.
AutoExitBlockRule
Heuristic rule to exit current block when user inserts two consecutive newlines.
AutoFormatLinksRule
Applies link format to text segment (which looks like a link) when user inserts space character after it.
BackgroundColorAttributeBuilder
Builder for background color attribute values.
BlockAttributeBuilder
Builder for block attribute styles (number/bullet lists, code and quote).
BlockEmbed
An object which occupies an entire line in a document and cannot co-exist inline with regular text.
BlockNode
A block represents a group of adjacent LineNodes with the same block style.
CatchAllDeleteRule
Fallback rule for delete operations which simply deletes specified text range without any special handling.
CatchAllInsertRule
Fallback rule which simply inserts text as-is without any special handling.
ColorAttributeBuilder
Builder for color attribute values.
ContainerNode<T extends Node>
Container node can accommodate other nodes.
DeleteRule
A heuristic rule for delete operations.
EmbeddableObject
An object which can be embedded into a Notus document.
EmbedNode
An embed node inside of a line in a Notus document.
EnsureEmbedLineRule
Prevents user from merging a line containing an embed with other lines.
FontFamilyAttributeBuilder
Builder for font family attribute values.
FontSizeAttributeBuilder
Builder for font size attribute values.
ForceNewlineForInsertsAroundEmbedRule
Forces text inserted on the same line with an embed (before or after it) to be moved to a new line adjacent to the original line.
FormatLinkAtCaretPositionRule
Allows updating link format with collapsed selection.
FormatRule
A heuristic rule for format (retain) operations.
HeadingAttributeBuilder
Builder for heading attribute styles.
IndentAttributeBuilder
Builder for indent attribute values.
InsertEmbedsRule
Handles all format operations which manipulate embeds.
InsertRule
A heuristic rule for insert operations.
LeafNode
A leaf node in Notus document tree.
LineNode
A line of rich text in a Notus document.
LinkAttributeBuilder
Builder for link attribute values.
LookupResult
Result of a child lookup in a ContainerNode.
Node
An abstract node in a document tree.
NotusAttribute<T>
Style attribute applicable to a segment of a Notus document.
NotusAttributeBuilder<T>
Builder for style attributes.
NotusAttributeKey<T>
Interface for objects which provide access to an attribute key.
NotusChange
Represents a change in a NotusDocument.
NotusDocument
A rich text document.
NotusHeuristics
Registry for insert, format and delete heuristic rules used by NotusDocument documents.
NotusStyle
Collection of style attributes.
PreserveBlockStyleOnInsertRule
Preserves block style when user inserts text containing newlines.
PreserveInlineStylesRule
Preserves inline styles when user inserts text inside formatted segment.
PreserveLineStyleOnMergeRule
Preserves line format when user deletes the line's newline character effectively merging it with the next line.
PreserveLineStyleOnSplitRule
Preserves line format when user splits the line into two.
ResetLineFormatOnNewLineRule
Resets format for a newly inserted line when insert occurred at the end of a line (right before a newline).
ResolveInlineFormatRule
Produces Delta with inline-level attributes applied too all characters except newlines.
ResolveLineFormatRule
Produces Delta with line-level attributes applied strictly to newline characters.
RootNode
Root node of document tree.
SpanEmbed
An object which can be embedded on the same line (inline) with regular text.
StyledNode
An interface for document nodes with style.
StyledNodeMixin
Mixin used by nodes that wish to implement StyledNode interface.
TextNode
A span of formatted text within a line in a Notus document.

Enums

ChangeSource
Source of a NotusChange.
NotusAttributeScope
Scope of a style attribute, defines context in which an attribute can be applied.