prettier 3.3.3 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +94 -93
- package/bin/prettier.cjs +4 -0
- package/doc.d.ts +11 -0
- package/doc.js +101 -184
- package/doc.mjs +101 -184
- package/index.cjs +29 -3
- package/index.d.ts +5 -0
- package/index.mjs +3506 -4240
- package/internal/cli.mjs +342 -331
- package/package.json +3 -2
- package/plugins/acorn.js +10 -10
- package/plugins/acorn.mjs +10 -10
- package/plugins/angular.js +2 -1
- package/plugins/angular.mjs +2 -1
- package/plugins/babel.js +11 -11
- package/plugins/babel.mjs +11 -11
- package/plugins/estree.js +28 -28
- package/plugins/estree.mjs +28 -28
- package/plugins/flow.js +15 -15
- package/plugins/flow.mjs +15 -15
- package/plugins/glimmer.js +23 -23
- package/plugins/glimmer.mjs +23 -23
- package/plugins/html.js +16 -16
- package/plugins/html.mjs +16 -16
- package/plugins/markdown.js +43 -42
- package/plugins/markdown.mjs +43 -42
- package/plugins/meriyah.js +4 -4
- package/plugins/meriyah.mjs +4 -4
- package/plugins/postcss.js +33 -31
- package/plugins/postcss.mjs +33 -31
- package/plugins/typescript.js +14 -14
- package/plugins/typescript.mjs +14 -14
- package/plugins/yaml.js +17 -17
- package/plugins/yaml.mjs +17 -17
- package/standalone.js +33 -29
- package/standalone.mjs +33 -29
package/doc.js
CHANGED
|
@@ -363,7 +363,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
363
363
|
|
|
364
364
|
// node_modules/emoji-regex/index.mjs
|
|
365
365
|
var emoji_regex_default = () => {
|
|
366
|
-
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
366
|
+
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
367
367
|
};
|
|
368
368
|
|
|
369
369
|
// node_modules/get-east-asian-width/lookup.js
|
|
@@ -371,7 +371,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
371
371
|
return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
|
|
372
372
|
}
|
|
373
373
|
function isWide(x) {
|
|
374
|
-
return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <=
|
|
374
|
+
return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101631 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129673 || x >= 129679 && x <= 129734 || x >= 129742 && x <= 129756 || x >= 129759 && x <= 129769 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
|
|
375
375
|
}
|
|
376
376
|
|
|
377
377
|
// node_modules/get-east-asian-width/index.js
|
|
@@ -422,10 +422,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
422
422
|
case DOC_TYPE_ARRAY:
|
|
423
423
|
return cb(doc2.map(rec));
|
|
424
424
|
case DOC_TYPE_FILL:
|
|
425
|
-
return cb({
|
|
426
|
-
...doc2,
|
|
427
|
-
parts: doc2.parts.map(rec)
|
|
428
|
-
});
|
|
425
|
+
return cb({ ...doc2, parts: doc2.parts.map(rec) });
|
|
429
426
|
case DOC_TYPE_IF_BREAK:
|
|
430
427
|
return cb({
|
|
431
428
|
...doc2,
|
|
@@ -433,31 +430,21 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
433
430
|
flatContents: rec(doc2.flatContents)
|
|
434
431
|
});
|
|
435
432
|
case DOC_TYPE_GROUP: {
|
|
436
|
-
let {
|
|
437
|
-
expandedStates,
|
|
438
|
-
contents
|
|
439
|
-
} = doc2;
|
|
433
|
+
let { expandedStates, contents } = doc2;
|
|
440
434
|
if (expandedStates) {
|
|
441
435
|
expandedStates = expandedStates.map(rec);
|
|
442
436
|
contents = expandedStates[0];
|
|
443
437
|
} else {
|
|
444
438
|
contents = rec(contents);
|
|
445
439
|
}
|
|
446
|
-
return cb({
|
|
447
|
-
...doc2,
|
|
448
|
-
contents,
|
|
449
|
-
expandedStates
|
|
450
|
-
});
|
|
440
|
+
return cb({ ...doc2, contents, expandedStates });
|
|
451
441
|
}
|
|
452
442
|
case DOC_TYPE_ALIGN:
|
|
453
443
|
case DOC_TYPE_INDENT:
|
|
454
444
|
case DOC_TYPE_INDENT_IF_BREAK:
|
|
455
445
|
case DOC_TYPE_LABEL:
|
|
456
446
|
case DOC_TYPE_LINE_SUFFIX:
|
|
457
|
-
return cb({
|
|
458
|
-
...doc2,
|
|
459
|
-
contents: rec(doc2.contents)
|
|
460
|
-
});
|
|
447
|
+
return cb({ ...doc2, contents: rec(doc2.contents) });
|
|
461
448
|
case DOC_TYPE_STRING:
|
|
462
449
|
case DOC_TYPE_CURSOR:
|
|
463
450
|
case DOC_TYPE_TRIM:
|
|
@@ -591,10 +578,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
591
578
|
case DOC_TYPE_LINE_SUFFIX:
|
|
592
579
|
case DOC_TYPE_LABEL: {
|
|
593
580
|
const contents = stripTrailingHardlineFromDoc(doc.contents);
|
|
594
|
-
return {
|
|
595
|
-
...doc,
|
|
596
|
-
contents
|
|
597
|
-
};
|
|
581
|
+
return { ...doc, contents };
|
|
598
582
|
}
|
|
599
583
|
case DOC_TYPE_IF_BREAK:
|
|
600
584
|
return {
|
|
@@ -603,10 +587,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
603
587
|
flatContents: stripTrailingHardlineFromDoc(doc.flatContents)
|
|
604
588
|
};
|
|
605
589
|
case DOC_TYPE_FILL:
|
|
606
|
-
return {
|
|
607
|
-
...doc,
|
|
608
|
-
parts: stripTrailingHardlineFromParts(doc.parts)
|
|
609
|
-
};
|
|
590
|
+
return { ...doc, parts: stripTrailingHardlineFromParts(doc.parts) };
|
|
610
591
|
case DOC_TYPE_ARRAY:
|
|
611
592
|
return stripTrailingHardlineFromParts(doc);
|
|
612
593
|
case DOC_TYPE_STRING:
|
|
@@ -698,7 +679,10 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
698
679
|
return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc));
|
|
699
680
|
}
|
|
700
681
|
function replaceEndOfLine(doc, replacement = literalline) {
|
|
701
|
-
return mapDoc(
|
|
682
|
+
return mapDoc(
|
|
683
|
+
doc,
|
|
684
|
+
(currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc
|
|
685
|
+
);
|
|
702
686
|
}
|
|
703
687
|
function canBreakFn(doc) {
|
|
704
688
|
if (doc.type === DOC_TYPE_LINE) {
|
|
@@ -713,41 +697,28 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
713
697
|
var MODE_BREAK = Symbol("MODE_BREAK");
|
|
714
698
|
var MODE_FLAT = Symbol("MODE_FLAT");
|
|
715
699
|
var CURSOR_PLACEHOLDER = Symbol("cursor");
|
|
700
|
+
var DOC_FILL_PRINTED_LENGTH = Symbol("DOC_FILL_PRINTED_LENGTH");
|
|
716
701
|
function rootIndent() {
|
|
717
|
-
return {
|
|
718
|
-
value: "",
|
|
719
|
-
length: 0,
|
|
720
|
-
queue: []
|
|
721
|
-
};
|
|
702
|
+
return { value: "", length: 0, queue: [] };
|
|
722
703
|
}
|
|
723
704
|
function makeIndent(ind, options) {
|
|
724
|
-
return generateInd(ind, {
|
|
725
|
-
type: "indent"
|
|
726
|
-
}, options);
|
|
705
|
+
return generateInd(ind, { type: "indent" }, options);
|
|
727
706
|
}
|
|
728
707
|
function makeAlign(indent2, widthOrDoc, options) {
|
|
729
708
|
if (widthOrDoc === Number.NEGATIVE_INFINITY) {
|
|
730
709
|
return indent2.root || rootIndent();
|
|
731
710
|
}
|
|
732
711
|
if (widthOrDoc < 0) {
|
|
733
|
-
return generateInd(indent2, {
|
|
734
|
-
type: "dedent"
|
|
735
|
-
}, options);
|
|
712
|
+
return generateInd(indent2, { type: "dedent" }, options);
|
|
736
713
|
}
|
|
737
714
|
if (!widthOrDoc) {
|
|
738
715
|
return indent2;
|
|
739
716
|
}
|
|
740
717
|
if (widthOrDoc.type === "root") {
|
|
741
|
-
return {
|
|
742
|
-
...indent2,
|
|
743
|
-
root: indent2
|
|
744
|
-
};
|
|
718
|
+
return { ...indent2, root: indent2 };
|
|
745
719
|
}
|
|
746
720
|
const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign";
|
|
747
|
-
return generateInd(indent2, {
|
|
748
|
-
type: alignType,
|
|
749
|
-
n: widthOrDoc
|
|
750
|
-
}, options);
|
|
721
|
+
return generateInd(indent2, { type: alignType, n: widthOrDoc }, options);
|
|
751
722
|
}
|
|
752
723
|
function generateInd(ind, newPart, options) {
|
|
753
724
|
const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart];
|
|
@@ -779,12 +750,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
779
750
|
}
|
|
780
751
|
}
|
|
781
752
|
flushSpaces();
|
|
782
|
-
return {
|
|
783
|
-
...ind,
|
|
784
|
-
value,
|
|
785
|
-
length,
|
|
786
|
-
queue
|
|
787
|
-
};
|
|
753
|
+
return { ...ind, value, length, queue };
|
|
788
754
|
function addTabs(count) {
|
|
789
755
|
value += " ".repeat(count);
|
|
790
756
|
length += options.tabWidth * count;
|
|
@@ -863,10 +829,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
863
829
|
cmds.push(restCommands[--restIdx]);
|
|
864
830
|
continue;
|
|
865
831
|
}
|
|
866
|
-
const {
|
|
867
|
-
mode,
|
|
868
|
-
doc
|
|
869
|
-
} = cmds.pop();
|
|
832
|
+
const { mode, doc } = cmds.pop();
|
|
870
833
|
const docType = get_doc_type_default(doc);
|
|
871
834
|
switch (docType) {
|
|
872
835
|
case DOC_TYPE_STRING:
|
|
@@ -877,10 +840,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
877
840
|
case DOC_TYPE_FILL: {
|
|
878
841
|
const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts;
|
|
879
842
|
for (let i = parts.length - 1; i >= 0; i--) {
|
|
880
|
-
cmds.push({
|
|
881
|
-
mode,
|
|
882
|
-
doc: parts[i]
|
|
883
|
-
});
|
|
843
|
+
cmds.push({ mode, doc: parts[i] });
|
|
884
844
|
}
|
|
885
845
|
break;
|
|
886
846
|
}
|
|
@@ -888,10 +848,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
888
848
|
case DOC_TYPE_ALIGN:
|
|
889
849
|
case DOC_TYPE_INDENT_IF_BREAK:
|
|
890
850
|
case DOC_TYPE_LABEL:
|
|
891
|
-
cmds.push({
|
|
892
|
-
mode,
|
|
893
|
-
doc: doc.contents
|
|
894
|
-
});
|
|
851
|
+
cmds.push({ mode, doc: doc.contents });
|
|
895
852
|
break;
|
|
896
853
|
case DOC_TYPE_TRIM:
|
|
897
854
|
width += trim2(out);
|
|
@@ -907,20 +864,14 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
907
864
|
doc.expandedStates,
|
|
908
865
|
-1
|
|
909
866
|
) : doc.contents;
|
|
910
|
-
cmds.push({
|
|
911
|
-
mode: groupMode,
|
|
912
|
-
doc: contents
|
|
913
|
-
});
|
|
867
|
+
cmds.push({ mode: groupMode, doc: contents });
|
|
914
868
|
break;
|
|
915
869
|
}
|
|
916
870
|
case DOC_TYPE_IF_BREAK: {
|
|
917
871
|
const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode;
|
|
918
872
|
const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents;
|
|
919
873
|
if (contents) {
|
|
920
|
-
cmds.push({
|
|
921
|
-
mode,
|
|
922
|
-
doc: contents
|
|
923
|
-
});
|
|
874
|
+
cmds.push({ mode, doc: contents });
|
|
924
875
|
}
|
|
925
876
|
break;
|
|
926
877
|
}
|
|
@@ -950,22 +901,14 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
950
901
|
const width = options.printWidth;
|
|
951
902
|
const newLine = convertEndOfLineToChars(options.endOfLine);
|
|
952
903
|
let pos = 0;
|
|
953
|
-
const cmds = [{
|
|
954
|
-
ind: rootIndent(),
|
|
955
|
-
mode: MODE_BREAK,
|
|
956
|
-
doc
|
|
957
|
-
}];
|
|
904
|
+
const cmds = [{ ind: rootIndent(), mode: MODE_BREAK, doc }];
|
|
958
905
|
const out = [];
|
|
959
906
|
let shouldRemeasure = false;
|
|
960
907
|
const lineSuffix2 = [];
|
|
961
908
|
let printedCursorCount = 0;
|
|
962
909
|
propagateBreaks(doc);
|
|
963
910
|
while (cmds.length > 0) {
|
|
964
|
-
const {
|
|
965
|
-
ind,
|
|
966
|
-
mode,
|
|
967
|
-
doc: doc2
|
|
968
|
-
} = cmds.pop();
|
|
911
|
+
const { ind, mode, doc: doc2 } = cmds.pop();
|
|
969
912
|
switch (get_doc_type_default(doc2)) {
|
|
970
913
|
case DOC_TYPE_STRING: {
|
|
971
914
|
const formatted = newLine !== "\n" ? string_replace_all_default(
|
|
@@ -983,11 +926,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
983
926
|
}
|
|
984
927
|
case DOC_TYPE_ARRAY:
|
|
985
928
|
for (let i = doc2.length - 1; i >= 0; i--) {
|
|
986
|
-
cmds.push({
|
|
987
|
-
ind,
|
|
988
|
-
mode,
|
|
989
|
-
doc: doc2[i]
|
|
990
|
-
});
|
|
929
|
+
cmds.push({ ind, mode, doc: doc2[i] });
|
|
991
930
|
}
|
|
992
931
|
break;
|
|
993
932
|
case DOC_TYPE_CURSOR:
|
|
@@ -998,11 +937,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
998
937
|
printedCursorCount++;
|
|
999
938
|
break;
|
|
1000
939
|
case DOC_TYPE_INDENT:
|
|
1001
|
-
cmds.push({
|
|
1002
|
-
ind: makeIndent(ind, options),
|
|
1003
|
-
mode,
|
|
1004
|
-
doc: doc2.contents
|
|
1005
|
-
});
|
|
940
|
+
cmds.push({ ind: makeIndent(ind, options), mode, doc: doc2.contents });
|
|
1006
941
|
break;
|
|
1007
942
|
case DOC_TYPE_ALIGN:
|
|
1008
943
|
cmds.push({
|
|
@@ -1025,13 +960,10 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1025
960
|
});
|
|
1026
961
|
break;
|
|
1027
962
|
}
|
|
963
|
+
// fallthrough
|
|
1028
964
|
case MODE_BREAK: {
|
|
1029
965
|
shouldRemeasure = false;
|
|
1030
|
-
const next = {
|
|
1031
|
-
ind,
|
|
1032
|
-
mode: MODE_FLAT,
|
|
1033
|
-
doc: doc2.contents
|
|
1034
|
-
};
|
|
966
|
+
const next = { ind, mode: MODE_FLAT, doc: doc2.contents };
|
|
1035
967
|
const rem = width - pos;
|
|
1036
968
|
const hasLineSuffix = lineSuffix2.length > 0;
|
|
1037
969
|
if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) {
|
|
@@ -1045,28 +977,16 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1045
977
|
-1
|
|
1046
978
|
);
|
|
1047
979
|
if (doc2.break) {
|
|
1048
|
-
cmds.push({
|
|
1049
|
-
ind,
|
|
1050
|
-
mode: MODE_BREAK,
|
|
1051
|
-
doc: mostExpanded
|
|
1052
|
-
});
|
|
980
|
+
cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded });
|
|
1053
981
|
break;
|
|
1054
982
|
} else {
|
|
1055
983
|
for (let i = 1; i < doc2.expandedStates.length + 1; i++) {
|
|
1056
984
|
if (i >= doc2.expandedStates.length) {
|
|
1057
|
-
cmds.push({
|
|
1058
|
-
ind,
|
|
1059
|
-
mode: MODE_BREAK,
|
|
1060
|
-
doc: mostExpanded
|
|
1061
|
-
});
|
|
985
|
+
cmds.push({ ind, mode: MODE_BREAK, doc: mostExpanded });
|
|
1062
986
|
break;
|
|
1063
987
|
} else {
|
|
1064
988
|
const state = doc2.expandedStates[i];
|
|
1065
|
-
const cmd = {
|
|
1066
|
-
ind,
|
|
1067
|
-
mode: MODE_FLAT,
|
|
1068
|
-
doc: state
|
|
1069
|
-
};
|
|
989
|
+
const cmd = { ind, mode: MODE_FLAT, doc: state };
|
|
1070
990
|
if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) {
|
|
1071
991
|
cmds.push(cmd);
|
|
1072
992
|
break;
|
|
@@ -1075,11 +995,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1075
995
|
}
|
|
1076
996
|
}
|
|
1077
997
|
} else {
|
|
1078
|
-
cmds.push({
|
|
1079
|
-
ind,
|
|
1080
|
-
mode: MODE_BREAK,
|
|
1081
|
-
doc: doc2.contents
|
|
1082
|
-
});
|
|
998
|
+
cmds.push({ ind, mode: MODE_BREAK, doc: doc2.contents });
|
|
1083
999
|
}
|
|
1084
1000
|
}
|
|
1085
1001
|
break;
|
|
@@ -1094,27 +1010,47 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1094
1010
|
).mode;
|
|
1095
1011
|
}
|
|
1096
1012
|
break;
|
|
1013
|
+
// Fills each line with as much code as possible before moving to a new
|
|
1014
|
+
// line with the same indentation.
|
|
1015
|
+
//
|
|
1016
|
+
// Expects doc.parts to be an array of alternating content and
|
|
1017
|
+
// whitespace. The whitespace contains the linebreaks.
|
|
1018
|
+
//
|
|
1019
|
+
// For example:
|
|
1020
|
+
// ["I", line, "love", line, "monkeys"]
|
|
1021
|
+
// or
|
|
1022
|
+
// [{ type: group, ... }, softline, { type: group, ... }]
|
|
1023
|
+
//
|
|
1024
|
+
// It uses this parts structure to handle three main layout cases:
|
|
1025
|
+
// * The first two content items fit on the same line without
|
|
1026
|
+
// breaking
|
|
1027
|
+
// -> output the first content item and the whitespace "flat".
|
|
1028
|
+
// * Only the first content item fits on the line without breaking
|
|
1029
|
+
// -> output the first content item "flat" and the whitespace with
|
|
1030
|
+
// "break".
|
|
1031
|
+
// * Neither content item fits on the line without breaking
|
|
1032
|
+
// -> output the first content item and the whitespace with "break".
|
|
1097
1033
|
case DOC_TYPE_FILL: {
|
|
1098
1034
|
const rem = width - pos;
|
|
1099
|
-
const
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
if (
|
|
1035
|
+
const offset = doc2[DOC_FILL_PRINTED_LENGTH] ?? 0;
|
|
1036
|
+
const { parts } = doc2;
|
|
1037
|
+
const length = parts.length - offset;
|
|
1038
|
+
if (length === 0) {
|
|
1103
1039
|
break;
|
|
1104
1040
|
}
|
|
1105
|
-
const
|
|
1106
|
-
const
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
if (
|
|
1041
|
+
const content = parts[offset + 0];
|
|
1042
|
+
const whitespace = parts[offset + 1];
|
|
1043
|
+
const contentFlatCmd = { ind, mode: MODE_FLAT, doc: content };
|
|
1044
|
+
const contentBreakCmd = { ind, mode: MODE_BREAK, doc: content };
|
|
1045
|
+
const contentFits = fits(
|
|
1046
|
+
contentFlatCmd,
|
|
1047
|
+
[],
|
|
1048
|
+
rem,
|
|
1049
|
+
lineSuffix2.length > 0,
|
|
1050
|
+
groupModeMap,
|
|
1051
|
+
true
|
|
1052
|
+
);
|
|
1053
|
+
if (length === 1) {
|
|
1118
1054
|
if (contentFits) {
|
|
1119
1055
|
cmds.push(contentFlatCmd);
|
|
1120
1056
|
} else {
|
|
@@ -1122,17 +1058,9 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1122
1058
|
}
|
|
1123
1059
|
break;
|
|
1124
1060
|
}
|
|
1125
|
-
const whitespaceFlatCmd = {
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
doc: whitespace
|
|
1129
|
-
};
|
|
1130
|
-
const whitespaceBreakCmd = {
|
|
1131
|
-
ind,
|
|
1132
|
-
mode: MODE_BREAK,
|
|
1133
|
-
doc: whitespace
|
|
1134
|
-
};
|
|
1135
|
-
if (parts.length === 2) {
|
|
1061
|
+
const whitespaceFlatCmd = { ind, mode: MODE_FLAT, doc: whitespace };
|
|
1062
|
+
const whitespaceBreakCmd = { ind, mode: MODE_BREAK, doc: whitespace };
|
|
1063
|
+
if (length === 2) {
|
|
1136
1064
|
if (contentFits) {
|
|
1137
1065
|
cmds.push(whitespaceFlatCmd, contentFlatCmd);
|
|
1138
1066
|
} else {
|
|
@@ -1140,19 +1068,25 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1140
1068
|
}
|
|
1141
1069
|
break;
|
|
1142
1070
|
}
|
|
1143
|
-
parts
|
|
1071
|
+
const secondContent = parts[offset + 2];
|
|
1144
1072
|
const remainingCmd = {
|
|
1145
1073
|
ind,
|
|
1146
1074
|
mode,
|
|
1147
|
-
doc:
|
|
1075
|
+
doc: { ...doc2, [DOC_FILL_PRINTED_LENGTH]: offset + 2 }
|
|
1148
1076
|
};
|
|
1149
|
-
const secondContent = parts[0];
|
|
1150
1077
|
const firstAndSecondContentFlatCmd = {
|
|
1151
1078
|
ind,
|
|
1152
1079
|
mode: MODE_FLAT,
|
|
1153
1080
|
doc: [content, whitespace, secondContent]
|
|
1154
1081
|
};
|
|
1155
|
-
const firstAndSecondContentFits = fits(
|
|
1082
|
+
const firstAndSecondContentFits = fits(
|
|
1083
|
+
firstAndSecondContentFlatCmd,
|
|
1084
|
+
[],
|
|
1085
|
+
rem,
|
|
1086
|
+
lineSuffix2.length > 0,
|
|
1087
|
+
groupModeMap,
|
|
1088
|
+
true
|
|
1089
|
+
);
|
|
1156
1090
|
if (firstAndSecondContentFits) {
|
|
1157
1091
|
cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd);
|
|
1158
1092
|
} else if (contentFits) {
|
|
@@ -1168,39 +1102,23 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1168
1102
|
if (groupMode === MODE_BREAK) {
|
|
1169
1103
|
const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents);
|
|
1170
1104
|
if (breakContents) {
|
|
1171
|
-
cmds.push({
|
|
1172
|
-
ind,
|
|
1173
|
-
mode,
|
|
1174
|
-
doc: breakContents
|
|
1175
|
-
});
|
|
1105
|
+
cmds.push({ ind, mode, doc: breakContents });
|
|
1176
1106
|
}
|
|
1177
1107
|
}
|
|
1178
1108
|
if (groupMode === MODE_FLAT) {
|
|
1179
1109
|
const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents;
|
|
1180
1110
|
if (flatContents) {
|
|
1181
|
-
cmds.push({
|
|
1182
|
-
ind,
|
|
1183
|
-
mode,
|
|
1184
|
-
doc: flatContents
|
|
1185
|
-
});
|
|
1111
|
+
cmds.push({ ind, mode, doc: flatContents });
|
|
1186
1112
|
}
|
|
1187
1113
|
}
|
|
1188
1114
|
break;
|
|
1189
1115
|
}
|
|
1190
1116
|
case DOC_TYPE_LINE_SUFFIX:
|
|
1191
|
-
lineSuffix2.push({
|
|
1192
|
-
ind,
|
|
1193
|
-
mode,
|
|
1194
|
-
doc: doc2.contents
|
|
1195
|
-
});
|
|
1117
|
+
lineSuffix2.push({ ind, mode, doc: doc2.contents });
|
|
1196
1118
|
break;
|
|
1197
1119
|
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
1198
1120
|
if (lineSuffix2.length > 0) {
|
|
1199
|
-
cmds.push({
|
|
1200
|
-
ind,
|
|
1201
|
-
mode,
|
|
1202
|
-
doc: hardlineWithoutBreakParent
|
|
1203
|
-
});
|
|
1121
|
+
cmds.push({ ind, mode, doc: hardlineWithoutBreakParent });
|
|
1204
1122
|
}
|
|
1205
1123
|
break;
|
|
1206
1124
|
case DOC_TYPE_LINE:
|
|
@@ -1215,13 +1133,10 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1215
1133
|
} else {
|
|
1216
1134
|
shouldRemeasure = true;
|
|
1217
1135
|
}
|
|
1136
|
+
// fallthrough
|
|
1218
1137
|
case MODE_BREAK:
|
|
1219
1138
|
if (lineSuffix2.length > 0) {
|
|
1220
|
-
cmds.push({
|
|
1221
|
-
ind,
|
|
1222
|
-
mode,
|
|
1223
|
-
doc: doc2
|
|
1224
|
-
}, ...lineSuffix2.reverse());
|
|
1139
|
+
cmds.push({ ind, mode, doc: doc2 }, ...lineSuffix2.reverse());
|
|
1225
1140
|
lineSuffix2.length = 0;
|
|
1226
1141
|
break;
|
|
1227
1142
|
}
|
|
@@ -1242,11 +1157,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1242
1157
|
}
|
|
1243
1158
|
break;
|
|
1244
1159
|
case DOC_TYPE_LABEL:
|
|
1245
|
-
cmds.push({
|
|
1246
|
-
ind,
|
|
1247
|
-
mode,
|
|
1248
|
-
doc: doc2.contents
|
|
1249
|
-
});
|
|
1160
|
+
cmds.push({ ind, mode, doc: doc2.contents });
|
|
1250
1161
|
break;
|
|
1251
1162
|
case DOC_TYPE_BREAK_PARENT:
|
|
1252
1163
|
break;
|
|
@@ -1260,7 +1171,15 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1260
1171
|
}
|
|
1261
1172
|
const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER);
|
|
1262
1173
|
if (cursorPlaceholderIndex !== -1) {
|
|
1263
|
-
const otherCursorPlaceholderIndex = out.indexOf(
|
|
1174
|
+
const otherCursorPlaceholderIndex = out.indexOf(
|
|
1175
|
+
CURSOR_PLACEHOLDER,
|
|
1176
|
+
cursorPlaceholderIndex + 1
|
|
1177
|
+
);
|
|
1178
|
+
if (otherCursorPlaceholderIndex === -1) {
|
|
1179
|
+
return {
|
|
1180
|
+
formatted: out.filter((char) => char !== CURSOR_PLACEHOLDER).join("")
|
|
1181
|
+
};
|
|
1182
|
+
}
|
|
1264
1183
|
const beforeCursor = out.slice(0, cursorPlaceholderIndex).join("");
|
|
1265
1184
|
const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join("");
|
|
1266
1185
|
const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join("");
|
|
@@ -1270,9 +1189,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
|
1270
1189
|
cursorNodeText: aroundCursor
|
|
1271
1190
|
};
|
|
1272
1191
|
}
|
|
1273
|
-
return {
|
|
1274
|
-
formatted: out.join("")
|
|
1275
|
-
};
|
|
1192
|
+
return { formatted: out.join("") };
|
|
1276
1193
|
}
|
|
1277
1194
|
|
|
1278
1195
|
// src/document/public.js
|