Skip to content

Commit

Permalink
fix(markdown): only indent the first non-list node in checkbox list i…
Browse files Browse the repository at this point in the history
…tem (#3297)

* fix(markdown): do not indent checkbox

* fix: keep alignment for first non-list node

* fix: force whitespaces
  • Loading branch information
ikatyang committed Nov 21, 2017
1 parent cbed0f4 commit d5a3abd
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/printer-markdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,12 @@ function genericPrint(path, options, print) {
node.checked === null ? "" : node.checked ? "[x] " : "[ ] ";
return concat([
prefix,
align(" ".repeat(prefix.length), printChildren(path, options, print))
printChildren(path, options, print, {
processor: (childPath, index) =>
index === 0 && childPath.getValue().type !== "list"
? align(" ".repeat(prefix.length), childPath.call(print))
: childPath.call(print)
})
]);
}
case "thematicBreak": {
Expand Down
33 changes: 33 additions & 0 deletions tests/markdown_list/__snapshots__/jsfmt.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,39 @@ exports[`nested.md 1`] = `
`;

exports[`nested-checkbox.md 1`] = `
* parent list item parent list item parent list item parent list item parent list item parent list item
* child list item child list item child list item child list item child list item child list item
paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph
* [x] parent task list item parent task list item parent task list item parent task list item
* [x] child task list item child task list item child task list item child task list item
paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* parent list item parent list item parent list item parent list item parent
list item parent list item
* child list item child list item child list item child list item child list
item child list item
paragraph paragraph paragraph paragraph paragraph paragraph paragraph
paragraph paragraph
* [x] parent task list item parent task list item parent task list item parent
task list item
* [x] child task list item child task list item child task list item child
task list item
paragraph paragraph paragraph paragraph paragraph paragraph paragraph
paragraph paragraph
`;

exports[`ordered.md 1`] = `
1. 123
1. 456
Expand Down
11 changes: 11 additions & 0 deletions tests/markdown_list/nested-checkbox.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
* parent list item parent list item parent list item parent list item parent list item parent list item

* child list item child list item child list item child list item child list item child list item

paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph

* [x] parent task list item parent task list item parent task list item parent task list item

* [x] child task list item child task list item child task list item child task list item

paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph

0 comments on commit d5a3abd

Please sign in to comment.