bullet_editor 0.1.4
bullet_editor: ^0.1.4 copied to clipboard
A structured rich text editor for Flutter built on a single TextField. Supports headings, lists, tasks, code blocks, block quotes, and full markdown round-trip serialization.
0.1.4 #
Bug fixes #
- Fix keyboard shortcuts (Cmd+B, Cmd+I, Shift+Enter, etc.) not working in
host apps. Moved all key handling from
FocusNode.onKeyEvent(whichEditableTextoverwrites) toShortcuts+Actionswidgets. - Fix markdown decoder nesting indented list items under headings/paragraphs.
Blocks whose parent type has
canHaveChildren: falseare now collapsed to sibling level during decode.
0.1.3 #
Improvements #
- Moved rich copy/cut business logic from
BulletEditorwidget toEditorController(richCopy(),richCut(),deleteSelection()). deleteSelection()resets non-default block types to paragraph when the selection starts at offset 0.- Tab/Shift+Tab indent/outdent, Cmd+B/I/Shift+S inline style shortcuts, and
rich copy/cut are now handled internally by
BulletEditorviaActionsoverrides — no host-app wiring needed.
Tests #
- Added unit tests for
deleteSelection,richCopy, andrichCut.
0.1.1 #
Bug fixes #
MarkdownCodecis now generic (MarkdownCodec<B>) sodecode()returnsDocument<B>instead ofDocument<dynamic>. Eliminates runtime type cast errors when using typed schemas.
Features #
- Shift+Enter inserts a soft line break (
\n) within a block instead of splitting into a new block. Works on all non-void block types. - Markdown codec encodes/decodes CommonMark hard line breaks (
\nand\\\n). - Paragraphs now have
spacingBefore: 0.3for visual separation between blocks.
0.1.0 #
Initial public release.
Block types #
- Paragraph, Heading 1-6, Bullet list, Numbered list, Task item (checkbox), Block quote, Fenced code block, Divider
Inline styles #
- Bold, Italic, Strikethrough, Inline code, Links, Autolinks
Editor features #
- Markdown shortcuts (type
#,-,>,```,---, etc.) - Inline wrap shortcuts (
**,*,`,~~) - Keyboard shortcuts (Cmd+B, Cmd+I, Cmd+Shift+S)
- Nested blocks via Tab/Shift+Tab
- Undo/redo with selection restoration
- Schema-driven architecture with custom block/inline support
Markdown codec #
- CommonMark-aligned decode and encode
- Backslash escape handling
- Fence-aware block splitting for code blocks
- Round-trip fidelity for ATX headings, thematic breaks, and emphasis