fleather icon indicating copy to clipboard operation
fleather copied to clipboard

Markdown encoding throws exception for multi level lists

Open simonbengtsson opened this issue 1 year ago • 0 comments

Steps to Reproduce

With editor

  • Create list item (using for example "- " markdown shortcut)
  • Create indented list item (using for example enter + tab)
  • Encode document to markdown (exception thrown)

With code

final doc = ParchmentDocument.fromDelta(
  Delta()
    ..insert('Hello')
    ..insert('\n', {'block': 'ul'})
    ..insert('World')
    ..insert('\n', {'block': 'ul', 'indent': 1})
    ..insert('\n'),
  );
final markdown = parchmentMarkdown.encode(doc); // Throws exception (see below)
print('Markdown: $markdown');

Environment

  • OS macos
  • Flutter version 3.22.1
  • Fleather version: master

Logs

Unhandled Exception: Invalid argument(s): Cannot handle indent: 1
#0      _ParchmentMarkdownEncoder._writeAttribute (package:parchment/src/codecs/markdown.dart:495:7)
#1      _ParchmentMarkdownEncoder.convert.handleLine (package:parchment/src/codecs/markdown.dart:412:11)
[...]

simonbengtsson avatar May 30 '24 09:05 simonbengtsson