fix(markdown): do not break before special prefix (#3172)
* fix(markdown): do not break before special prefix * fix: add more cases
This commit is contained in:
1 parent
76ee59a191
commit
2bdb652667
3 files changed
+78
-1
No files matched your search
+11
-1
@@ -74,10 +74,20 @@ function genericPrint(path, options, print) {
|
||||
: node.value
|
||||
.replace(/(^|[^\\])\*/g, "$1\\*") // escape all unescaped `*` and `_`
|
||||
.replace(/\b(^|[^\\])_\b/g, "$1\\_"); // `1_2_3` is not considered emphasis
|
||||
case "whitespace":
|
||||
case "whitespace": {
|
||||
const parentNode = path.getParentNode();
|
||||
const index = parentNode.children.indexOf(node);
|
||||
const nextNode = parentNode.children[index + 1];
|
||||
|
||||
// special prefix that may cause different meaning
|
||||
if (nextNode && nextNode.value.match(/^(#{1,6}|>+)|^(-|\+|\*)$/)) {
|
||||
return node.value === "" ? "" : " ";
|
||||
}
|
||||
|
||||
return getAncestorNode(path, SINGLE_LINE_NODE_TYPES)
|
||||
? node.value === "" ? "" : " "
|
||||
: node.value === "" ? softline : line;
|
||||
}
|
||||
case "emphasis": {
|
||||
const parentNode = path.getParentNode();
|
||||
const index = parentNode.children.indexOf(node);
|
||||
|
||||
@@ -42,3 +42,51 @@ This is a long long long long long long long long long long long long long long
|
||||
long paragraph.
|
||||
|
||||
`;
|
||||
|
||||
exports[`special-prefix.md 1`] = `
|
||||
abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc - abc abc abc
|
||||
|
||||
## Supported Rules
|
||||
|
||||
- [no-disabled-tests](/packages/eslint-plugin-jest/docs/rules/no-disabled-tests.md) - disallow disabled tests.
|
||||
- [no-focused-tests](/packages/eslint-plugin-jest/docs/rules/no-focused-tests.md) - disallow focused tests.
|
||||
- [no-identical-title](/packages/eslint-plugin-jest/docs/rules/no-identical-title.md) - disallow identical titles.
|
||||
- [valid-expect](/packages/eslint-plugin-jest/docs/rules/valid-expect.md) - ensure expect is called correctly.
|
||||
|
||||
## Supported Rules
|
||||
|
||||
* [no-disabled-tests](/packages/eslint-plugin-jest/docs/rules/no-disabled-tests.md)
|
||||
- disallow disabled tests.
|
||||
* [no-focused-tests](/packages/eslint-plugin-jest/docs/rules/no-focused-tests.md)
|
||||
- disallow focused tests.
|
||||
* [no-identical-title](/packages/eslint-plugin-jest/docs/rules/no-identical-title.md)
|
||||
- disallow identical titles.
|
||||
* [valid-expect](/packages/eslint-plugin-jest/docs/rules/valid-expect.md) -
|
||||
ensure expect is called correctly.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc
|
||||
abc - abc abc abc
|
||||
|
||||
## Supported Rules
|
||||
|
||||
* [no-disabled-tests](/packages/eslint-plugin-jest/docs/rules/no-disabled-tests.md) -
|
||||
disallow disabled tests.
|
||||
* [no-focused-tests](/packages/eslint-plugin-jest/docs/rules/no-focused-tests.md) -
|
||||
disallow focused tests.
|
||||
* [no-identical-title](/packages/eslint-plugin-jest/docs/rules/no-identical-title.md) -
|
||||
disallow identical titles.
|
||||
* [valid-expect](/packages/eslint-plugin-jest/docs/rules/valid-expect.md) -
|
||||
ensure expect is called correctly.
|
||||
|
||||
## Supported Rules
|
||||
|
||||
* [no-disabled-tests](/packages/eslint-plugin-jest/docs/rules/no-disabled-tests.md)
|
||||
* disallow disabled tests.
|
||||
* [no-focused-tests](/packages/eslint-plugin-jest/docs/rules/no-focused-tests.md)
|
||||
* disallow focused tests.
|
||||
* [no-identical-title](/packages/eslint-plugin-jest/docs/rules/no-identical-title.md)
|
||||
* disallow identical titles.
|
||||
* [valid-expect](/packages/eslint-plugin-jest/docs/rules/valid-expect.md) -
|
||||
ensure expect is called correctly.
|
||||
|
||||
`;
|
||||
@@ -0,0 +1,19 @@
|
||||
abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc - abc abc abc
|
||||
|
||||
## Supported Rules
|
||||
|
||||
- [no-disabled-tests](/packages/eslint-plugin-jest/docs/rules/no-disabled-tests.md) - disallow disabled tests.
|
||||
- [no-focused-tests](/packages/eslint-plugin-jest/docs/rules/no-focused-tests.md) - disallow focused tests.
|
||||
- [no-identical-title](/packages/eslint-plugin-jest/docs/rules/no-identical-title.md) - disallow identical titles.
|
||||
- [valid-expect](/packages/eslint-plugin-jest/docs/rules/valid-expect.md) - ensure expect is called correctly.
|
||||
|
||||
## Supported Rules
|
||||
|
||||
* [no-disabled-tests](/packages/eslint-plugin-jest/docs/rules/no-disabled-tests.md)
|
||||
- disallow disabled tests.
|
||||
* [no-focused-tests](/packages/eslint-plugin-jest/docs/rules/no-focused-tests.md)
|
||||
- disallow focused tests.
|
||||
* [no-identical-title](/packages/eslint-plugin-jest/docs/rules/no-identical-title.md)
|
||||
- disallow identical titles.
|
||||
* [valid-expect](/packages/eslint-plugin-jest/docs/rules/valid-expect.md) -
|
||||
ensure expect is called correctly.
|
||||
Reference in new issue
Block a user