allow custom cmark options and extensions when converting Markdown #23
+229 −29
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Bug/issue #, if applicable: n/a
Summary
Currently, swift-markdown uses a static set of options and extensions when converting Markdown source. However, there are several options and unused extensions in cmark-gfm that could be used. This PR adds a new
ConvertOptionstype to wrap the existingParseOptionstype with additional information that is passed to cmark-gfm when converting.Dependencies
None
Testing
markdown-toolhas been extended to allow custom extensions (and to allow disabling the default extensions). With the following Markdown file, runswift run markdown-tool dump-tree test.md. Compare the results with no flags, when adding--no-default-extensions, when adding--extension autolink, and with both.Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.
./bin/testscript and it succeeded