MarkdownEditor class

A higher-level Markdown editor with a live rendered preview.

MarkdownEditor composes TextEditor with MarkdownText so the editing surface and rendered preview stay in sync while sharing the same controller.

final controller = TextAreaController(
  text: '# Notes\n\n- Ship MarkdownEditor',
);

MarkdownEditor(
  title: 'README.md',
  controller: controller,
  height: 8,
  previewHeight: 10,
)
Inheritance

Constructors

MarkdownEditor({String title = 'Markdown', TextAreaController? controller, TextAreaModel? model, FocusController? focusController, String? focusId, bool autofocus = false, bool enabled = true, String? prompt, String? placeholder, int? width, int height = 8, bool showLineNumbers = true, bool softWrap = true, bool? useVirtualCursor, TextAreaKeyMap? keyMap, TextAreaStyles? styles, CursorModel? cursor, bool showHelpBar = true, bool helpExpanded = false, Widget? headerTrailing, Widget? footer, TextChangedCallback? onChanged, ValueCmdCallback<String>? onSave, bool showSaveStatus = true, String cleanLabel = 'saved', String dirtyLabel = 'modified', int indentWidth = 2, bool showPreview = true, String previewTitle = 'Preview', int previewHeight = 10, bool previewWrap = true, ScrollController? previewController, bool showPreviewScrollbar = true, int? previewMaxWidth, AnsiRendererOptions? markdownOptions, Key? key})

Properties

accessibilityLabel String?
Optional accessibility label.
no setterinherited
accessibilityRole String
Optional accessibility role.
no setterinherited
autofocus bool
final
children List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
cleanLabel String
final
controller TextAreaController?
final
cursor CursorModel?
final
debugRenderObjectPassthrough bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
degradationSignal WidgetDegradationSignal
Signal that controls this widget's render budget behavior.
no setterinherited
dirtyLabel String
final
enabled bool
final
focusable bool
Whether this widget can receive keyboard focus.
no setterinherited
focusController FocusController?
final
focusId String?
final
final
hashCode int
The hash code for this object.
no setterinherited
headerTrailing Widget?
final
height int
final
helpExpanded bool
final
id String
Unique identifier for this widget.
no setterinherited
indentWidth int
final
key Key?
Key for preserving widget identity.
finalinherited
keyMap TextAreaKeyMap?
final
markdownOptions AnsiRendererOptions?
final
model TextAreaModel?
final
onChanged TextChangedCallback?
final
onSave ValueCmdCallback<String>?
final
placeholder String?
final
previewController ScrollController?
final
previewHeight int
final
previewMaxWidth int?
final
previewTitle String
final
previewWrap bool
final
prompt String?
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showHelpBar bool
final
showLineNumbers bool
final
showPreview bool
final
showPreviewScrollbar bool
final
showSaveStatus bool
final
softWrap bool
final
styles TextAreaStyles?
final
theme Theme
Access the current theme.
no setterinherited
title String
final
useVirtualCursor bool?
final
width int?
final

Methods

buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
createState() State<StatefulWidget>
Creates the mutable State associated with this widget.
override
handleInit() Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldRenderAt(DegradationLevel degradationLevel, {required bool subtreeHasFocusedWidget}) bool
Whether this widget should participate in the current render when degradationLevel is active.
inherited
toString() String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
view() Object
Renders the widget to a string or View.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited