Store start
on ordered lists rather than value
on ordered list items
#374
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.
The way that #371 was fixed in #372 somewhat surprised me because markdown-it returns the start as an attribute on the ordered list so it can be an attribute directly on the list rather than as a new attribute on list items and adding the attribute to the list in a transform. This PR implements that approach of
start
as an attribute on ordered lists rather thanvalue
on ordered list items.I've also changed the formatter to not use the number on list items so it only uses the start for the first item and
1
for all other items. For example, for this Markdoc:The formatter in this PR outputs this:
Not preserving the numbers of the non-first items aligns with what other formatters do. For example, for the input above, Prettier outputs this:
but for this:
Prettier outputs:
Prettier's rule is "incrementing unless the number in the second list item is 1 then use 1 for everything except for the first which uses the start." Personally, I liked how Markdoc's formatter before #372 always outputted the diff-friendly style of always
1
so I've kept it like that rather than sometimes doing incrementing.