@mx-space/cli 0.15.1 → 0.15.2
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/dist/{Lexical.dev-BSvx45_E.mjs → Lexical.dev-Df5TNMgP.mjs} +2 -2
- package/dist/{Lexical.node-kAh5GM2n.mjs → Lexical.node-B064E4Hy.mjs} +1 -1
- package/dist/{Lexical.prod-Bqwgb3ez.mjs → Lexical.prod-DRFSwoE7.mjs} +2 -2
- package/dist/{LexicalClipboard.dev-BWU3KXIa.mjs → LexicalClipboard.dev-ClOWeg5v.mjs} +5 -5
- package/dist/{LexicalClipboard.node-BygAdNdF.mjs → LexicalClipboard.node-BJBLWpEi.mjs} +1 -1
- package/dist/{LexicalClipboard.prod-BtMuKNyT.mjs → LexicalClipboard.prod-Ytt65eQo.mjs} +5 -5
- package/dist/{LexicalCodeCore.dev-CD2xgvDs.mjs → LexicalCodeCore.dev-CzEPINOT.mjs} +4 -4
- package/dist/{LexicalCodeCore.prod-Bl6FFMc7.mjs → LexicalCodeCore.prod-DOVk7lL_.mjs} +4 -4
- package/dist/{LexicalDragon.dev-BwdYhm4K.mjs → LexicalDragon.dev-DxePN9fP.mjs} +2 -2
- package/dist/{LexicalDragon.node-CpJhkCVV.mjs → LexicalDragon.node-DBwaqStp.mjs} +1 -1
- package/dist/{LexicalDragon.prod-CvXmWwo1.mjs → LexicalDragon.prod-Bji84-Hq.mjs} +2 -2
- package/dist/{LexicalExtension.dev-LcRLXI5Z.mjs → LexicalExtension.dev-DtSRyjbf.mjs} +2 -2
- package/dist/{LexicalExtension.node-BwJt2LXV.mjs → LexicalExtension.node-3nsS5NjU.mjs} +1 -1
- package/dist/{LexicalExtension.prod-lg8_33-H.mjs → LexicalExtension.prod-Ddk0ja_6.mjs} +2 -2
- package/dist/{LexicalHeadless.dev-BeUbKBes.mjs → LexicalHeadless.dev-DdWJsPoH.mjs} +1 -1
- package/dist/{LexicalHeadless.prod-4gbIA8HM.mjs → LexicalHeadless.prod-CH74ZDMt.mjs} +1 -1
- package/dist/{LexicalHtml.dev-BLdZWTCJ.mjs → LexicalHtml.dev-DN7QIb_7.mjs} +4 -4
- package/dist/{LexicalHtml.node-BeuJMvvt.mjs → LexicalHtml.node-DAwuaPeI.mjs} +1 -1
- package/dist/{LexicalHtml.prod-CHUyCocN.mjs → LexicalHtml.prod-X4eTHEfI.mjs} +4 -4
- package/dist/{LexicalLink.dev-DgsFRqw0.mjs → LexicalLink.dev-owitIl6I.mjs} +4 -4
- package/dist/{LexicalLink.prod-CkXkeKY2.mjs → LexicalLink.prod-BZ7ZZkVD.mjs} +4 -4
- package/dist/{LexicalList.dev-OOms3kQi.mjs → LexicalList.dev-CUbi09Yo.mjs} +4 -4
- package/dist/{LexicalList.prod-DzMBeqHn.mjs → LexicalList.prod-pUsUZa0r.mjs} +4 -4
- package/dist/{LexicalMarkdown.dev-DJLKbZtD.mjs → LexicalMarkdown.dev-S2yWckH9.mjs} +3 -3
- package/dist/{LexicalMarkdown.prod-Cp21kDCU.mjs → LexicalMarkdown.prod-TRkMWfmC.mjs} +3 -3
- package/dist/{LexicalRichText.dev-0rkAGjUf.mjs → LexicalRichText.dev-Y3ybFF2S.mjs} +7 -7
- package/dist/{LexicalRichText.node-Cd-BySPE.mjs → LexicalRichText.node-wNAi2Z4i.mjs} +4 -4
- package/dist/{LexicalRichText.prod-DTQiEr8C.mjs → LexicalRichText.prod-HLxqZ6hQ.mjs} +7 -7
- package/dist/{LexicalSelection.dev-Bi0VlUEv.mjs → LexicalSelection.dev-CyhKOKbs.mjs} +1 -1
- package/dist/{LexicalSelection.node-t2U46EF_.mjs → LexicalSelection.node-BCuHMbzl.mjs} +1 -1
- package/dist/{LexicalSelection.prod-CrFG111g.mjs → LexicalSelection.prod-RebDJliC.mjs} +1 -1
- package/dist/{LexicalTable.dev-D-sFhO-o.mjs → LexicalTable.dev-DN3ezVey.mjs} +5 -5
- package/dist/{LexicalTable.prod-DwYaa_dN.mjs → LexicalTable.prod-B0MioVyq.mjs} +5 -5
- package/dist/{LexicalUtils.dev-Q2q3-UDM.mjs → LexicalUtils.dev-Bw6LFRlt.mjs} +2 -2
- package/dist/{LexicalUtils.node-Dl7OvqJV.mjs → LexicalUtils.node-BPKMFN80.mjs} +1 -1
- package/dist/{LexicalUtils.prod-CBnq_iEV.mjs → LexicalUtils.prod-CJYQVQJO.mjs} +2 -2
- package/dist/bin/mxs.mjs +1 -1
- package/dist/{esm-ZXjJmLEC.mjs → esm-7vSMGlFz.mjs} +171 -245
- package/dist/esm-ZrfYH2y2.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/{mxs-DC9zR3f2.mjs → mxs-DKv-4ZTg.mjs} +362 -297
- package/dist/vendor/litexml/cli.mjs +94 -38
- package/dist/vendor/litexml/litexml-html-preview-client.css +329 -836
- package/dist/vendor/litexml/litexml-html-preview-client.js +6048 -5832
- package/dist/vendor/litexml/style.css +5 -1
- package/package.json +10 -10
- package/dist/esm-CNZ7kdTg.mjs +0 -2
- package/dist/src/bin/mxs.d.ts +0 -2
- package/dist/src/bin/mxs.js +0 -310
- package/dist/src/cli/ai/_poll.d.ts +0 -12
- package/dist/src/cli/ai/_poll.js +0 -38
- package/dist/src/cli/ai/_resolve.d.ts +0 -8
- package/dist/src/cli/ai/_resolve.js +0 -27
- package/dist/src/cli/ai/index.d.ts +0 -127
- package/dist/src/cli/ai/index.js +0 -46
- package/dist/src/cli/ai/insights/by-article.d.ts +0 -10
- package/dist/src/cli/ai/insights/by-article.js +0 -21
- package/dist/src/cli/ai/insights/delete.d.ts +0 -7
- package/dist/src/cli/ai/insights/delete.js +0 -18
- package/dist/src/cli/ai/insights/edit.d.ts +0 -8
- package/dist/src/cli/ai/insights/edit.js +0 -54
- package/dist/src/cli/ai/insights/get.d.ts +0 -6
- package/dist/src/cli/ai/insights/get.js +0 -11
- package/dist/src/cli/ai/insights/index.d.ts +0 -30
- package/dist/src/cli/ai/insights/index.js +0 -17
- package/dist/src/cli/ai/insights/list.d.ts +0 -10
- package/dist/src/cli/ai/insights/list.js +0 -20
- package/dist/src/cli/ai/insights/refresh.d.ts +0 -10
- package/dist/src/cli/ai/insights/refresh.js +0 -25
- package/dist/src/cli/ai/insights/translate.d.ts +0 -10
- package/dist/src/cli/ai/insights/translate.js +0 -25
- package/dist/src/cli/ai/overview/by-article.d.ts +0 -7
- package/dist/src/cli/ai/overview/by-article.js +0 -15
- package/dist/src/cli/ai/overview/index.d.ts +0 -11
- package/dist/src/cli/ai/overview/index.js +0 -4
- package/dist/src/cli/ai/overview/list.d.ts +0 -10
- package/dist/src/cli/ai/overview/list.js +0 -20
- package/dist/src/cli/ai/summary/by-article.d.ts +0 -10
- package/dist/src/cli/ai/summary/by-article.js +0 -21
- package/dist/src/cli/ai/summary/delete.d.ts +0 -7
- package/dist/src/cli/ai/summary/delete.js +0 -18
- package/dist/src/cli/ai/summary/edit.d.ts +0 -8
- package/dist/src/cli/ai/summary/edit.js +0 -54
- package/dist/src/cli/ai/summary/get.d.ts +0 -6
- package/dist/src/cli/ai/summary/get.js +0 -11
- package/dist/src/cli/ai/summary/index.d.ts +0 -30
- package/dist/src/cli/ai/summary/index.js +0 -9
- package/dist/src/cli/ai/summary/list.d.ts +0 -10
- package/dist/src/cli/ai/summary/list.js +0 -20
- package/dist/src/cli/ai/summary/regen.d.ts +0 -10
- package/dist/src/cli/ai/summary/regen.js +0 -25
- package/dist/src/cli/ai/summary/translate.d.ts +0 -10
- package/dist/src/cli/ai/summary/translate.js +0 -25
- package/dist/src/cli/ai/translate/by-article.d.ts +0 -9
- package/dist/src/cli/ai/translate/by-article.js +0 -19
- package/dist/src/cli/ai/translate/delete.d.ts +0 -7
- package/dist/src/cli/ai/translate/delete.js +0 -18
- package/dist/src/cli/ai/translate/edit.d.ts +0 -8
- package/dist/src/cli/ai/translate/edit.js +0 -97
- package/dist/src/cli/ai/translate/entries/delete.d.ts +0 -7
- package/dist/src/cli/ai/translate/entries/delete.js +0 -18
- package/dist/src/cli/ai/translate/entries/edit.d.ts +0 -8
- package/dist/src/cli/ai/translate/entries/edit.js +0 -73
- package/dist/src/cli/ai/translate/entries/generate.d.ts +0 -7
- package/dist/src/cli/ai/translate/entries/generate.js +0 -15
- package/dist/src/cli/ai/translate/entries/index.d.ts +0 -17
- package/dist/src/cli/ai/translate/entries/index.js +0 -6
- package/dist/src/cli/ai/translate/entries/list.d.ts +0 -10
- package/dist/src/cli/ai/translate/entries/list.js +0 -20
- package/dist/src/cli/ai/translate/get.d.ts +0 -6
- package/dist/src/cli/ai/translate/get.js +0 -11
- package/dist/src/cli/ai/translate/index.d.ts +0 -40
- package/dist/src/cli/ai/translate/index.js +0 -19
- package/dist/src/cli/ai/translate/languages.d.ts +0 -7
- package/dist/src/cli/ai/translate/languages.js +0 -15
- package/dist/src/cli/ai/translate/list.d.ts +0 -9
- package/dist/src/cli/ai/translate/list.js +0 -19
- package/dist/src/cli/ai/translate/run.d.ts +0 -10
- package/dist/src/cli/ai/translate/run.js +0 -31
- package/dist/src/cli/ai/tts/by-article.d.ts +0 -7
- package/dist/src/cli/ai/tts/by-article.js +0 -15
- package/dist/src/cli/ai/tts/delete.d.ts +0 -7
- package/dist/src/cli/ai/tts/delete.js +0 -18
- package/dist/src/cli/ai/tts/index.d.ts +0 -22
- package/dist/src/cli/ai/tts/index.js +0 -7
- package/dist/src/cli/ai/tts/list.d.ts +0 -10
- package/dist/src/cli/ai/tts/list.js +0 -20
- package/dist/src/cli/ai/tts/run.d.ts +0 -10
- package/dist/src/cli/ai/tts/run.js +0 -25
- package/dist/src/cli/ai/tts/voices.d.ts +0 -7
- package/dist/src/cli/ai/tts/voices.js +0 -12
- package/dist/src/cli/ai/views.d.ts +0 -3
- package/dist/src/cli/ai/views.js +0 -45
- package/dist/src/cli/auth/index.d.ts +0 -6
- package/dist/src/cli/auth/index.js +0 -22
- package/dist/src/cli/auth/login.d.ts +0 -11
- package/dist/src/cli/auth/login.js +0 -168
- package/dist/src/cli/auth/logout.d.ts +0 -6
- package/dist/src/cli/auth/logout.js +0 -21
- package/dist/src/cli/auth/status.d.ts +0 -4
- package/dist/src/cli/auth/status.js +0 -31
- package/dist/src/cli/auth/view.d.ts +0 -25
- package/dist/src/cli/auth/view.js +0 -46
- package/dist/src/cli/auth/whoami.d.ts +0 -7
- package/dist/src/cli/auth/whoami.js +0 -44
- package/dist/src/cli/category/create.d.ts +0 -10
- package/dist/src/cli/category/create.js +0 -24
- package/dist/src/cli/category/delete.d.ts +0 -8
- package/dist/src/cli/category/delete.js +0 -21
- package/dist/src/cli/category/get.d.ts +0 -6
- package/dist/src/cli/category/get.js +0 -11
- package/dist/src/cli/category/index.d.ts +0 -20
- package/dist/src/cli/category/index.js +0 -41
- package/dist/src/cli/category/list.d.ts +0 -4
- package/dist/src/cli/category/list.js +0 -10
- package/dist/src/cli/category/update.d.ts +0 -12
- package/dist/src/cli/category/update.js +0 -34
- package/dist/src/cli/comment/_flags.d.ts +0 -28
- package/dist/src/cli/comment/_flags.js +0 -48
- package/dist/src/cli/comment/approve.d.ts +0 -9
- package/dist/src/cli/comment/approve.js +0 -23
- package/dist/src/cli/comment/delete.d.ts +0 -9
- package/dist/src/cli/comment/delete.js +0 -24
- package/dist/src/cli/comment/get.d.ts +0 -6
- package/dist/src/cli/comment/get.js +0 -12
- package/dist/src/cli/comment/index.d.ts +0 -34
- package/dist/src/cli/comment/index.js +0 -53
- package/dist/src/cli/comment/list.d.ts +0 -9
- package/dist/src/cli/comment/list.js +0 -20
- package/dist/src/cli/comment/reject.d.ts +0 -9
- package/dist/src/cli/comment/reject.js +0 -23
- package/dist/src/cli/comment/reply.d.ts +0 -9
- package/dist/src/cli/comment/reply.js +0 -31
- package/dist/src/cli/comment/unread.d.ts +0 -7
- package/dist/src/cli/comment/unread.js +0 -21
- package/dist/src/cli/comment/view.d.ts +0 -3
- package/dist/src/cli/comment/view.js +0 -197
- package/dist/src/cli/config/edit.d.ts +0 -5
- package/dist/src/cli/config/edit.js +0 -36
- package/dist/src/cli/config/get.d.ts +0 -6
- package/dist/src/cli/config/get.js +0 -11
- package/dist/src/cli/config/index.d.ts +0 -10
- package/dist/src/cli/config/index.js +0 -22
- package/dist/src/cli/config/list.d.ts +0 -4
- package/dist/src/cli/config/list.js +0 -10
- package/dist/src/cli/config/set.d.ts +0 -9
- package/dist/src/cli/config/set.js +0 -48
- package/dist/src/cli/draft/_shared.d.ts +0 -27
- package/dist/src/cli/draft/_shared.js +0 -85
- package/dist/src/cli/draft/create.d.ts +0 -21
- package/dist/src/cli/draft/create.js +0 -34
- package/dist/src/cli/draft/delete.d.ts +0 -7
- package/dist/src/cli/draft/delete.js +0 -20
- package/dist/src/cli/draft/get.d.ts +0 -6
- package/dist/src/cli/draft/get.js +0 -11
- package/dist/src/cli/draft/index.d.ts +0 -54
- package/dist/src/cli/draft/index.js +0 -42
- package/dist/src/cli/draft/list.d.ts +0 -11
- package/dist/src/cli/draft/list.js +0 -23
- package/dist/src/cli/draft/publish.d.ts +0 -8
- package/dist/src/cli/draft/publish.js +0 -64
- package/dist/src/cli/draft/update.d.ts +0 -22
- package/dist/src/cli/draft/update.js +0 -29
- package/dist/src/cli/file/_shared.d.ts +0 -6
- package/dist/src/cli/file/_shared.js +0 -5
- package/dist/src/cli/file/delete.d.ts +0 -8
- package/dist/src/cli/file/delete.js +0 -21
- package/dist/src/cli/file/index.d.ts +0 -19
- package/dist/src/cli/file/index.js +0 -33
- package/dist/src/cli/file/list.d.ts +0 -6
- package/dist/src/cli/file/list.js +0 -11
- package/dist/src/cli/file/rename.d.ts +0 -8
- package/dist/src/cli/file/rename.js +0 -16
- package/dist/src/cli/file/upload.d.ts +0 -9
- package/dist/src/cli/file/upload.js +0 -32
- package/dist/src/cli/help/index.d.ts +0 -62
- package/dist/src/cli/help/index.js +0 -276
- package/dist/src/cli/help/registry.d.ts +0 -28
- package/dist/src/cli/help/registry.js +0 -29
- package/dist/src/cli/note/_flags.d.ts +0 -66
- package/dist/src/cli/note/_flags.js +0 -73
- package/dist/src/cli/note/create.d.ts +0 -23
- package/dist/src/cli/note/create.js +0 -25
- package/dist/src/cli/note/delete.d.ts +0 -8
- package/dist/src/cli/note/delete.js +0 -21
- package/dist/src/cli/note/edit.d.ts +0 -28
- package/dist/src/cli/note/edit.js +0 -114
- package/dist/src/cli/note/get.d.ts +0 -6
- package/dist/src/cli/note/get.js +0 -29
- package/dist/src/cli/note/index.d.ts +0 -77
- package/dist/src/cli/note/index.js +0 -63
- package/dist/src/cli/note/list.d.ts +0 -10
- package/dist/src/cli/note/list.js +0 -22
- package/dist/src/cli/note/publish.d.ts +0 -7
- package/dist/src/cli/note/publish.js +0 -17
- package/dist/src/cli/note/unpublish.d.ts +0 -7
- package/dist/src/cli/note/unpublish.js +0 -17
- package/dist/src/cli/note/update.d.ts +0 -25
- package/dist/src/cli/note/update.js +0 -36
- package/dist/src/cli/note/view.d.ts +0 -3
- package/dist/src/cli/note/view.js +0 -162
- package/dist/src/cli/page/create.d.ts +0 -41
- package/dist/src/cli/page/create.js +0 -56
- package/dist/src/cli/page/delete.d.ts +0 -7
- package/dist/src/cli/page/delete.js +0 -37
- package/dist/src/cli/page/edit.d.ts +0 -19
- package/dist/src/cli/page/edit.js +0 -117
- package/dist/src/cli/page/get.d.ts +0 -6
- package/dist/src/cli/page/get.js +0 -16
- package/dist/src/cli/page/index.d.ts +0 -44
- package/dist/src/cli/page/index.js +0 -38
- package/dist/src/cli/page/list.d.ts +0 -4
- package/dist/src/cli/page/list.js +0 -10
- package/dist/src/cli/page/update.d.ts +0 -16
- package/dist/src/cli/page/update.js +0 -48
- package/dist/src/cli/page/view.d.ts +0 -2
- package/dist/src/cli/page/view.js +0 -79
- package/dist/src/cli/post/_flags.d.ts +0 -66
- package/dist/src/cli/post/_flags.js +0 -96
- package/dist/src/cli/post/apply.d.ts +0 -7
- package/dist/src/cli/post/apply.js +0 -70
- package/dist/src/cli/post/create.d.ts +0 -21
- package/dist/src/cli/post/create.js +0 -24
- package/dist/src/cli/post/delete.d.ts +0 -8
- package/dist/src/cli/post/delete.js +0 -21
- package/dist/src/cli/post/edit.d.ts +0 -26
- package/dist/src/cli/post/edit.js +0 -115
- package/dist/src/cli/post/get.d.ts +0 -7
- package/dist/src/cli/post/get.js +0 -15
- package/dist/src/cli/post/index.d.ts +0 -91
- package/dist/src/cli/post/index.js +0 -73
- package/dist/src/cli/post/list.d.ts +0 -10
- package/dist/src/cli/post/list.js +0 -23
- package/dist/src/cli/post/publish.d.ts +0 -7
- package/dist/src/cli/post/publish.js +0 -17
- package/dist/src/cli/post/stage.d.ts +0 -23
- package/dist/src/cli/post/stage.js +0 -55
- package/dist/src/cli/post/unpublish.d.ts +0 -7
- package/dist/src/cli/post/unpublish.js +0 -17
- package/dist/src/cli/post/update.d.ts +0 -23
- package/dist/src/cli/post/update.js +0 -38
- package/dist/src/cli/post/view.d.ts +0 -3
- package/dist/src/cli/post/view.js +0 -150
- package/dist/src/cli/preview/index.d.ts +0 -13
- package/dist/src/cli/preview/index.js +0 -226
- package/dist/src/cli/profile/index.d.ts +0 -14
- package/dist/src/cli/profile/index.js +0 -36
- package/dist/src/cli/profile/ls.d.ts +0 -5
- package/dist/src/cli/profile/ls.js +0 -26
- package/dist/src/cli/profile/mark.d.ts +0 -9
- package/dist/src/cli/profile/mark.js +0 -23
- package/dist/src/cli/profile/rm.d.ts +0 -12
- package/dist/src/cli/profile/rm.js +0 -50
- package/dist/src/cli/profile/show.d.ts +0 -9
- package/dist/src/cli/profile/show.js +0 -40
- package/dist/src/cli/profile/use.d.ts +0 -6
- package/dist/src/cli/profile/use.js +0 -11
- package/dist/src/cli/profile/view.d.ts +0 -8
- package/dist/src/cli/profile/view.js +0 -21
- package/dist/src/cli/project/_flags.d.ts +0 -56
- package/dist/src/cli/project/_flags.js +0 -130
- package/dist/src/cli/project/create.d.ts +0 -17
- package/dist/src/cli/project/create.js +0 -25
- package/dist/src/cli/project/delete.d.ts +0 -8
- package/dist/src/cli/project/delete.js +0 -22
- package/dist/src/cli/project/edit.d.ts +0 -11
- package/dist/src/cli/project/edit.js +0 -61
- package/dist/src/cli/project/get.d.ts +0 -7
- package/dist/src/cli/project/get.js +0 -14
- package/dist/src/cli/project/index.d.ts +0 -43
- package/dist/src/cli/project/index.js +0 -52
- package/dist/src/cli/project/list.d.ts +0 -8
- package/dist/src/cli/project/list.js +0 -19
- package/dist/src/cli/project/update.d.ts +0 -18
- package/dist/src/cli/project/update.js +0 -24
- package/dist/src/cli/project/view-cmd.d.ts +0 -7
- package/dist/src/cli/project/view-cmd.js +0 -15
- package/dist/src/cli/project/view.d.ts +0 -3
- package/dist/src/cli/project/view.js +0 -102
- package/dist/src/cli/render/codehighlight.d.ts +0 -8
- package/dist/src/cli/render/codehighlight.js +0 -264
- package/dist/src/cli/render/envelope.d.ts +0 -7
- package/dist/src/cli/render/envelope.js +0 -23
- package/dist/src/cli/render/frontmatter.d.ts +0 -8
- package/dist/src/cli/render/frontmatter.js +0 -50
- package/dist/src/cli/render/helpers.d.ts +0 -2
- package/dist/src/cli/render/helpers.js +0 -11
- package/dist/src/cli/render/index.d.ts +0 -7
- package/dist/src/cli/render/index.js +0 -10
- package/dist/src/cli/render/lexical/blocks.d.ts +0 -19
- package/dist/src/cli/render/lexical/blocks.js +0 -208
- package/dist/src/cli/render/lexical/code.d.ts +0 -2
- package/dist/src/cli/render/lexical/code.js +0 -22
- package/dist/src/cli/render/lexical/embeds.d.ts +0 -6
- package/dist/src/cli/render/lexical/embeds.js +0 -51
- package/dist/src/cli/render/lexical/index.d.ts +0 -9
- package/dist/src/cli/render/lexical/index.js +0 -25
- package/dist/src/cli/render/lexical/inlines.d.ts +0 -17
- package/dist/src/cli/render/lexical/inlines.js +0 -76
- package/dist/src/cli/render/lexical/parser.d.ts +0 -10
- package/dist/src/cli/render/lexical/parser.js +0 -64
- package/dist/src/cli/render/lexical/walker.d.ts +0 -21
- package/dist/src/cli/render/lexical/walker.js +0 -51
- package/dist/src/cli/render/markdown.d.ts +0 -18
- package/dist/src/cli/render/markdown.js +0 -196
- package/dist/src/cli/render/metadata-block.d.ts +0 -14
- package/dist/src/cli/render/metadata-block.js +0 -50
- package/dist/src/cli/skill/all.d.ts +0 -4
- package/dist/src/cli/skill/all.js +0 -11
- package/dist/src/cli/skill/get.d.ts +0 -6
- package/dist/src/cli/skill/get.js +0 -12
- package/dist/src/cli/skill/index.d.ts +0 -10
- package/dist/src/cli/skill/index.js +0 -34
- package/dist/src/cli/skill/list.d.ts +0 -4
- package/dist/src/cli/skill/list.js +0 -11
- package/dist/src/cli/skill/search.d.ts +0 -6
- package/dist/src/cli/skill/search.js +0 -12
- package/dist/src/cli/skill/views.d.ts +0 -6
- package/dist/src/cli/skill/views.js +0 -90
- package/dist/src/cli/snippet/_flags.d.ts +0 -57
- package/dist/src/cli/snippet/_flags.js +0 -123
- package/dist/src/cli/snippet/_resolve.d.ts +0 -4
- package/dist/src/cli/snippet/_resolve.js +0 -32
- package/dist/src/cli/snippet/_sync.d.ts +0 -5
- package/dist/src/cli/snippet/_sync.js +0 -54
- package/dist/src/cli/snippet/create.d.ts +0 -19
- package/dist/src/cli/snippet/create.js +0 -35
- package/dist/src/cli/snippet/delete.d.ts +0 -8
- package/dist/src/cli/snippet/delete.js +0 -28
- package/dist/src/cli/snippet/edit.d.ts +0 -7
- package/dist/src/cli/snippet/edit.js +0 -29
- package/dist/src/cli/snippet/get.d.ts +0 -6
- package/dist/src/cli/snippet/get.js +0 -12
- package/dist/src/cli/snippet/index.d.ts +0 -43
- package/dist/src/cli/snippet/index.js +0 -58
- package/dist/src/cli/snippet/list.d.ts +0 -9
- package/dist/src/cli/snippet/list.js +0 -20
- package/dist/src/cli/snippet/pull.d.ts +0 -8
- package/dist/src/cli/snippet/pull.js +0 -33
- package/dist/src/cli/snippet/push.d.ts +0 -10
- package/dist/src/cli/snippet/push.js +0 -31
- package/dist/src/cli/snippet/update.d.ts +0 -8
- package/dist/src/cli/snippet/update.js +0 -16
- package/dist/src/cli/topic/create.d.ts +0 -10
- package/dist/src/cli/topic/create.js +0 -24
- package/dist/src/cli/topic/delete.d.ts +0 -7
- package/dist/src/cli/topic/delete.js +0 -37
- package/dist/src/cli/topic/get.d.ts +0 -6
- package/dist/src/cli/topic/get.js +0 -15
- package/dist/src/cli/topic/index.d.ts +0 -20
- package/dist/src/cli/topic/index.js +0 -32
- package/dist/src/cli/topic/list.d.ts +0 -4
- package/dist/src/cli/topic/list.js +0 -10
- package/dist/src/cli/topic/update.d.ts +0 -11
- package/dist/src/cli/topic/update.js +0 -51
- package/dist/src/cli/ui/index.d.ts +0 -24
- package/dist/src/cli/ui/index.js +0 -83
- package/dist/src/cli/update/index.d.ts +0 -10
- package/dist/src/cli/update/index.js +0 -142
- package/dist/src/domain/admin-link.d.ts +0 -12
- package/dist/src/domain/admin-link.js +0 -45
- package/dist/src/domain/content-spec.d.ts +0 -20
- package/dist/src/domain/content-spec.js +0 -78
- package/dist/src/domain/envelope-compat.d.ts +0 -68
- package/dist/src/domain/envelope-compat.js +0 -121
- package/dist/src/domain/envelope.d.ts +0 -34
- package/dist/src/domain/envelope.js +0 -355
- package/dist/src/domain/errors.d.ts +0 -336
- package/dist/src/domain/errors.js +0 -239
- package/dist/src/domain/gate.d.ts +0 -14
- package/dist/src/domain/gate.js +0 -18
- package/dist/src/domain/payload.d.ts +0 -64
- package/dist/src/domain/payload.js +0 -237
- package/dist/src/domain/preflight-guards.d.ts +0 -54
- package/dist/src/domain/preflight-guards.js +0 -130
- package/dist/src/domain/runtime-flags.d.ts +0 -33
- package/dist/src/domain/runtime-flags.js +0 -166
- package/dist/src/domain/schema/api-envelope.d.ts +0 -67
- package/dist/src/domain/schema/api-envelope.js +0 -65
- package/dist/src/domain/schema/category.d.ts +0 -23
- package/dist/src/domain/schema/category.js +0 -19
- package/dist/src/domain/schema/config.d.ts +0 -13
- package/dist/src/domain/schema/config.js +0 -18
- package/dist/src/domain/schema/note.d.ts +0 -76
- package/dist/src/domain/schema/note.js +0 -35
- package/dist/src/domain/schema/page.d.ts +0 -40
- package/dist/src/domain/schema/page.js +0 -22
- package/dist/src/domain/schema/post.d.ts +0 -68
- package/dist/src/domain/schema/post.js +0 -35
- package/dist/src/domain/schema/profile.d.ts +0 -14
- package/dist/src/domain/schema/profile.js +0 -22
- package/dist/src/domain/schema/topic.d.ts +0 -24
- package/dist/src/domain/schema/topic.js +0 -16
- package/dist/src/domain/version.d.ts +0 -15
- package/dist/src/domain/version.js +0 -43
- package/dist/src/index.d.ts +0 -4
- package/dist/src/index.js +0 -8
- package/dist/src/layers/App.d.ts +0 -30
- package/dist/src/layers/App.js +0 -39
- package/dist/src/services/Ai/index.d.ts +0 -13
- package/dist/src/services/Ai/index.js +0 -127
- package/dist/src/services/Ai/overview.d.ts +0 -7
- package/dist/src/services/Ai/overview.js +0 -11
- package/dist/src/services/Ai/resources.d.ts +0 -7
- package/dist/src/services/Ai/resources.js +0 -59
- package/dist/src/services/Ai/shared.d.ts +0 -2
- package/dist/src/services/Ai/shared.js +0 -11
- package/dist/src/services/Ai/tasks.d.ts +0 -8
- package/dist/src/services/Ai/tasks.js +0 -144
- package/dist/src/services/Ai/types.d.ts +0 -130
- package/dist/src/services/Ai/types.js +0 -1
- package/dist/src/services/Api.d.ts +0 -67
- package/dist/src/services/Api.js +0 -348
- package/dist/src/services/Auth.d.ts +0 -101
- package/dist/src/services/Auth.js +0 -402
- package/dist/src/services/Backup.d.ts +0 -8
- package/dist/src/services/Backup.js +0 -4
- package/dist/src/services/Cache.d.ts +0 -8
- package/dist/src/services/Cache.js +0 -4
- package/dist/src/services/Comment.d.ts +0 -48
- package/dist/src/services/Comment.js +0 -102
- package/dist/src/services/Config.d.ts +0 -95
- package/dist/src/services/Config.js +0 -359
- package/dist/src/services/Editor.d.ts +0 -28
- package/dist/src/services/Editor.js +0 -95
- package/dist/src/services/Lexical.d.ts +0 -27
- package/dist/src/services/Lexical.js +0 -56
- package/dist/src/services/Migration.d.ts +0 -31
- package/dist/src/services/Migration.js +0 -177
- package/dist/src/services/Profile.d.ts +0 -29
- package/dist/src/services/Profile.js +0 -115
- package/dist/src/services/Renderer/content.d.ts +0 -16
- package/dist/src/services/Renderer/content.js +0 -110
- package/dist/src/services/Renderer/datetime.d.ts +0 -38
- package/dist/src/services/Renderer/datetime.js +0 -147
- package/dist/src/services/Renderer/errors.d.ts +0 -3
- package/dist/src/services/Renderer/errors.js +0 -59
- package/dist/src/services/Renderer/index.d.ts +0 -13
- package/dist/src/services/Renderer/index.js +0 -11
- package/dist/src/services/Renderer/lists.d.ts +0 -1
- package/dist/src/services/Renderer/lists.js +0 -101
- package/dist/src/services/Renderer/options.d.ts +0 -10
- package/dist/src/services/Renderer/options.js +0 -13
- package/dist/src/services/Renderer/primitives.d.ts +0 -4
- package/dist/src/services/Renderer/primitives.js +0 -12
- package/dist/src/services/Renderer/service.d.ts +0 -35
- package/dist/src/services/Renderer/service.js +0 -123
- package/dist/src/services/Renderer/view.d.ts +0 -16
- package/dist/src/services/Renderer/view.js +0 -1
- package/dist/src/services/Resolver.d.ts +0 -47
- package/dist/src/services/Resolver.js +0 -269
- package/dist/src/services/Skill.d.ts +0 -29
- package/dist/src/services/Skill.js +0 -421
- package/dist/src/services/UpdateNotifier.d.ts +0 -162
- package/dist/src/services/UpdateNotifier.js +0 -572
- package/dist/test/cli/ai/ai.test.d.ts +0 -1
- package/dist/test/cli/ai/ai.test.js +0 -507
- package/dist/test/cli/ai/verbs.test.d.ts +0 -1
- package/dist/test/cli/ai/verbs.test.js +0 -235
- package/dist/test/cli/auth/login.test.d.ts +0 -1
- package/dist/test/cli/auth/login.test.js +0 -236
- package/dist/test/cli/auth/logout-whoami.test.d.ts +0 -1
- package/dist/test/cli/auth/logout-whoami.test.js +0 -124
- package/dist/test/cli/auth/status.test.d.ts +0 -1
- package/dist/test/cli/auth/status.test.js +0 -90
- package/dist/test/cli/category/category.test.d.ts +0 -1
- package/dist/test/cli/category/category.test.js +0 -175
- package/dist/test/cli/comment/comment.test.d.ts +0 -1
- package/dist/test/cli/comment/comment.test.js +0 -445
- package/dist/test/cli/config/config.test.d.ts +0 -1
- package/dist/test/cli/config/config.test.js +0 -281
- package/dist/test/cli/edit-roundtrip.test.d.ts +0 -1
- package/dist/test/cli/edit-roundtrip.test.js +0 -259
- package/dist/test/cli/file/file.test.d.ts +0 -1
- package/dist/test/cli/file/file.test.js +0 -185
- package/dist/test/cli/help.test.d.ts +0 -1
- package/dist/test/cli/help.test.js +0 -289
- package/dist/test/cli/note/create.test.d.ts +0 -1
- package/dist/test/cli/note/create.test.js +0 -155
- package/dist/test/cli/note/list.test.d.ts +0 -1
- package/dist/test/cli/note/list.test.js +0 -115
- package/dist/test/cli/note/publish.test.d.ts +0 -1
- package/dist/test/cli/note/publish.test.js +0 -123
- package/dist/test/cli/page/page.test.d.ts +0 -1
- package/dist/test/cli/page/page.test.js +0 -185
- package/dist/test/cli/post/create.test.d.ts +0 -1
- package/dist/test/cli/post/create.test.js +0 -172
- package/dist/test/cli/post/list.test.d.ts +0 -1
- package/dist/test/cli/post/list.test.js +0 -133
- package/dist/test/cli/post/publish.test.d.ts +0 -1
- package/dist/test/cli/post/publish.test.js +0 -139
- package/dist/test/cli/post/stage-apply.test.d.ts +0 -1
- package/dist/test/cli/post/stage-apply.test.js +0 -215
- package/dist/test/cli/post/update.test.d.ts +0 -1
- package/dist/test/cli/post/update.test.js +0 -160
- package/dist/test/cli/post-note-crud.test.d.ts +0 -1
- package/dist/test/cli/post-note-crud.test.js +0 -362
- package/dist/test/cli/profile/ls.test.d.ts +0 -1
- package/dist/test/cli/profile/ls.test.js +0 -93
- package/dist/test/cli/profile/mark-use.test.d.ts +0 -1
- package/dist/test/cli/profile/mark-use.test.js +0 -216
- package/dist/test/cli/project-crud.test.d.ts +0 -1
- package/dist/test/cli/project-crud.test.js +0 -315
- package/dist/test/cli/render/lexical.test.d.ts +0 -1
- package/dist/test/cli/render/lexical.test.js +0 -216
- package/dist/test/cli/render/markdown.test.d.ts +0 -1
- package/dist/test/cli/render/markdown.test.js +0 -39
- package/dist/test/cli/snippet-crud.test.d.ts +0 -1
- package/dist/test/cli/snippet-crud.test.js +0 -293
- package/dist/test/cli/topic/topic.test.d.ts +0 -1
- package/dist/test/cli/topic/topic.test.js +0 -181
- package/dist/test/cli/update.test.d.ts +0 -1
- package/dist/test/cli/update.test.js +0 -395
- package/dist/test/domain/content-spec.test.d.ts +0 -1
- package/dist/test/domain/content-spec.test.js +0 -126
- package/dist/test/domain/envelope-compat.test.d.ts +0 -1
- package/dist/test/domain/envelope-compat.test.js +0 -126
- package/dist/test/domain/envelope.test.d.ts +0 -1
- package/dist/test/domain/envelope.test.js +0 -149
- package/dist/test/domain/errors.test.d.ts +0 -1
- package/dist/test/domain/errors.test.js +0 -127
- package/dist/test/domain/gate.test.d.ts +0 -1
- package/dist/test/domain/gate.test.js +0 -128
- package/dist/test/domain/payload.test.d.ts +0 -1
- package/dist/test/domain/payload.test.js +0 -259
- package/dist/test/helper/test-fs.d.ts +0 -24
- package/dist/test/helper/test-fs.js +0 -161
- package/dist/test/helper/test-http.d.ts +0 -31
- package/dist/test/helper/test-http.js +0 -66
- package/dist/test/integration/_helpers.d.ts +0 -5
- package/dist/test/integration/_helpers.js +0 -24
- package/dist/test/integration/cli-error-envelope.test.d.ts +0 -1
- package/dist/test/integration/cli-error-envelope.test.js +0 -137
- package/dist/test/integration/cli-help-render.test.d.ts +0 -1
- package/dist/test/integration/cli-help-render.test.js +0 -149
- package/dist/test/integration/cli-help.test.d.ts +0 -1
- package/dist/test/integration/cli-help.test.js +0 -67
- package/dist/test/integration/cli-post-list.test.d.ts +0 -1
- package/dist/test/integration/cli-post-list.test.js +0 -140
- package/dist/test/integration/cli-skill.test.d.ts +0 -1
- package/dist/test/integration/cli-skill.test.js +0 -74
- package/dist/test/integration/cli-version.test.d.ts +0 -1
- package/dist/test/integration/cli-version.test.js +0 -37
- package/dist/test/services/Api.test.d.ts +0 -1
- package/dist/test/services/Api.test.js +0 -553
- package/dist/test/services/Auth.test.d.ts +0 -1
- package/dist/test/services/Auth.test.js +0 -650
- package/dist/test/services/Config.test.d.ts +0 -1
- package/dist/test/services/Config.test.js +0 -510
- package/dist/test/services/Datetime.test.d.ts +0 -1
- package/dist/test/services/Datetime.test.js +0 -113
- package/dist/test/services/Editor.test.d.ts +0 -1
- package/dist/test/services/Editor.test.js +0 -205
- package/dist/test/services/Lexical.errors.test.d.ts +0 -1
- package/dist/test/services/Lexical.errors.test.js +0 -60
- package/dist/test/services/Lexical.test.d.ts +0 -1
- package/dist/test/services/Lexical.test.js +0 -68
- package/dist/test/services/Migration.test.d.ts +0 -1
- package/dist/test/services/Migration.test.js +0 -376
- package/dist/test/services/Profile.test.d.ts +0 -1
- package/dist/test/services/Profile.test.js +0 -277
- package/dist/test/services/Renderer.test.d.ts +0 -1
- package/dist/test/services/Renderer.test.js +0 -538
- package/dist/test/services/Resolver.test.d.ts +0 -1
- package/dist/test/services/Resolver.test.js +0 -320
- package/dist/test/services/Skill.test.d.ts +0 -1
- package/dist/test/services/Skill.test.js +0 -261
- package/dist/test/services/UpdateNotifier.spawn.test.d.ts +0 -1
- package/dist/test/services/UpdateNotifier.spawn.test.js +0 -73
- package/dist/test/services/UpdateNotifier.test.d.ts +0 -1
- package/dist/test/services/UpdateNotifier.test.js +0 -912
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { SEPARATOR_WIDTH } from '../helpers';
|
|
2
|
-
import { ANSI, visibleLen, wrap } from '../markdown';
|
|
3
|
-
// Prefix each non-empty line of `text` with `prefix`. Empty lines stay empty so
|
|
4
|
-
// terminals don't show stray prefix glyphs on visual breathers.
|
|
5
|
-
const indentLines = (text, prefix) => text
|
|
6
|
-
.split('\n')
|
|
7
|
-
.map((line) => (line.length === 0 ? line : `${prefix}${line}`))
|
|
8
|
-
.join('\n');
|
|
9
|
-
const padRight = (s, width) => {
|
|
10
|
-
const v = visibleLen(s);
|
|
11
|
-
return v < width ? s + ' '.repeat(width - v) : s;
|
|
12
|
-
};
|
|
13
|
-
const onlyElementChildren = (children) => children.filter((c) => c.type === 'element');
|
|
14
|
-
export const paragraphRenderer = (node, ctx, inner) => inner.walkInlineChildren(node.children, ctx);
|
|
15
|
-
const makeHeading = (level) => (node, ctx, inner) => {
|
|
16
|
-
const text = inner.walkInlineChildren(node.children, ctx);
|
|
17
|
-
if (level === 1) {
|
|
18
|
-
const styled = wrap(`${ANSI.bold}${ANSI.magenta}`, text, ctx.color);
|
|
19
|
-
const rule = wrap(ANSI.dim, '─'.repeat(Math.max(visibleLen(text), 1)), ctx.color);
|
|
20
|
-
return `${styled}\n${rule}`;
|
|
21
|
-
}
|
|
22
|
-
if (level === 2) {
|
|
23
|
-
const styled = wrap(`${ANSI.bold}${ANSI.cyan}`, text, ctx.color);
|
|
24
|
-
const rule = wrap(ANSI.dim, '─'.repeat(Math.max(visibleLen(text), 1)), ctx.color);
|
|
25
|
-
return `${styled}\n${rule}`;
|
|
26
|
-
}
|
|
27
|
-
return wrap(ANSI.bold, text, ctx.color);
|
|
28
|
-
};
|
|
29
|
-
export const h1Renderer = makeHeading(1);
|
|
30
|
-
export const h2Renderer = makeHeading(2);
|
|
31
|
-
export const h3Renderer = makeHeading(3);
|
|
32
|
-
export const h4Renderer = makeHeading(4);
|
|
33
|
-
export const h5Renderer = makeHeading(5);
|
|
34
|
-
export const h6Renderer = makeHeading(6);
|
|
35
|
-
export const blockquoteRenderer = (node, ctx, inner) => {
|
|
36
|
-
const body = inner.walkBlockChildren(node.children, ctx);
|
|
37
|
-
const prefix = wrap(ANSI.dim, '│ ', ctx.color);
|
|
38
|
-
const out = indentLines(body, prefix);
|
|
39
|
-
const attribution = node.attrs.attribution;
|
|
40
|
-
if (attribution) {
|
|
41
|
-
const attrLine = wrap(ANSI.dim, ` — ${attribution}`, ctx.color);
|
|
42
|
-
return out ? `${out}\n${attrLine}` : attrLine;
|
|
43
|
-
}
|
|
44
|
-
return out;
|
|
45
|
-
};
|
|
46
|
-
export const hrRenderer = (_node, ctx) => wrap(ANSI.dim, '─'.repeat(SEPARATOR_WIDTH), ctx.color);
|
|
47
|
-
const renderListItemBody = (li, ctx, inner) => {
|
|
48
|
-
// Split children: inline-ish content first (with paragraph breaks preserved
|
|
49
|
-
// as `\n`-joined segments), nested ul/ol below.
|
|
50
|
-
const segments = [];
|
|
51
|
-
let buffer = [];
|
|
52
|
-
const nestedBlocks = [];
|
|
53
|
-
const flush = () => {
|
|
54
|
-
if (buffer.length === 0)
|
|
55
|
-
return;
|
|
56
|
-
segments.push(inner.walkInlineChildren(buffer, ctx));
|
|
57
|
-
buffer = [];
|
|
58
|
-
};
|
|
59
|
-
for (const c of li.children) {
|
|
60
|
-
if (c.type === 'element' && (c.tag === 'ul' || c.tag === 'ol')) {
|
|
61
|
-
flush();
|
|
62
|
-
nestedBlocks.push(c);
|
|
63
|
-
}
|
|
64
|
-
else if (c.type === 'element' && c.tag === 'p') {
|
|
65
|
-
flush();
|
|
66
|
-
segments.push(inner.walkInlineChildren(c.children, ctx));
|
|
67
|
-
}
|
|
68
|
-
else if (c.type === 'text' && /^\s*$/.test(c.value)) {
|
|
69
|
-
// skip pretty-print whitespace between sibling paragraphs
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
buffer.push(c);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
flush();
|
|
77
|
-
const head = segments.join('\n');
|
|
78
|
-
const nested = nestedBlocks.length > 0
|
|
79
|
-
? inner.walkBlockChildren(nestedBlocks, {
|
|
80
|
-
...ctx,
|
|
81
|
-
indent: ctx.indent + 2,
|
|
82
|
-
})
|
|
83
|
-
: '';
|
|
84
|
-
return { inlineHead: head, nested };
|
|
85
|
-
};
|
|
86
|
-
const liPrefix = (li, ordinal, numWidth, ctx) => {
|
|
87
|
-
const checked = li.attrs.checked;
|
|
88
|
-
if (checked === 'true')
|
|
89
|
-
return wrap(ANSI.dim, '[x] ', ctx.color);
|
|
90
|
-
if (checked === 'false')
|
|
91
|
-
return wrap(ANSI.dim, '[ ] ', ctx.color);
|
|
92
|
-
if (ordinal != null) {
|
|
93
|
-
const label = `${ordinal}.`.padStart(numWidth);
|
|
94
|
-
return `${label} `;
|
|
95
|
-
}
|
|
96
|
-
return '- ';
|
|
97
|
-
};
|
|
98
|
-
const renderList = (ordered) => (node, ctx, inner) => {
|
|
99
|
-
const items = onlyElementChildren(node.children).filter((c) => c.tag === 'li');
|
|
100
|
-
if (items.length === 0)
|
|
101
|
-
return '';
|
|
102
|
-
const numWidth = ordered ? String(items.length).length + 1 : 0;
|
|
103
|
-
const indentStr = ' '.repeat(ctx.indent);
|
|
104
|
-
const lines = [];
|
|
105
|
-
items.forEach((item, idx) => {
|
|
106
|
-
const prefix = liPrefix(item, ordered ? idx + 1 : null, numWidth, ctx);
|
|
107
|
-
const { inlineHead, nested } = renderListItemBody(item, ctx, inner);
|
|
108
|
-
const contIndent = ' '.repeat(visibleLen(prefix));
|
|
109
|
-
const head = inlineHead
|
|
110
|
-
.split('\n')
|
|
111
|
-
.map((line, i) => (i === 0 ? line : `${contIndent}${line}`))
|
|
112
|
-
.join('\n');
|
|
113
|
-
lines.push(`${indentStr}${prefix}${head}`);
|
|
114
|
-
if (nested)
|
|
115
|
-
lines.push(nested);
|
|
116
|
-
});
|
|
117
|
-
return lines.join('\n');
|
|
118
|
-
};
|
|
119
|
-
export const ulRenderer = renderList(false);
|
|
120
|
-
export const olRenderer = renderList(true);
|
|
121
|
-
// Defensive: `<li>` dispatched outside a list — render as a paragraph.
|
|
122
|
-
export const liRenderer = (node, ctx, inner) => inner.walkInlineChildren(node.children, ctx);
|
|
123
|
-
export const tableRenderer = (node, ctx, inner) => {
|
|
124
|
-
const rows = onlyElementChildren(node.children).filter((c) => c.tag === 'tr');
|
|
125
|
-
if (rows.length === 0)
|
|
126
|
-
return '';
|
|
127
|
-
const matrix = rows.map((row) => onlyElementChildren(row.children)
|
|
128
|
-
.filter((c) => c.tag === 'th' || c.tag === 'td')
|
|
129
|
-
.map((cell) => inner.walkInlineChildren(cell.children, ctx)));
|
|
130
|
-
const numCols = Math.max(...matrix.map((r) => r.length));
|
|
131
|
-
const widths = [];
|
|
132
|
-
for (let i = 0; i < numCols; i++) {
|
|
133
|
-
let max = 0;
|
|
134
|
-
for (const row of matrix) {
|
|
135
|
-
const cell = row[i] ?? '';
|
|
136
|
-
if (visibleLen(cell) > max)
|
|
137
|
-
max = visibleLen(cell);
|
|
138
|
-
}
|
|
139
|
-
widths.push(max);
|
|
140
|
-
}
|
|
141
|
-
const headerIsAllTh = rows.length > 0 &&
|
|
142
|
-
onlyElementChildren(rows[0].children).every((c) => c.tag === 'th');
|
|
143
|
-
const lines = [];
|
|
144
|
-
matrix.forEach((row, rowIdx) => {
|
|
145
|
-
const padded = row.map((cell, idx) => padRight(cell, widths[idx] ?? 0));
|
|
146
|
-
const rendered = rowIdx === 0 && headerIsAllTh
|
|
147
|
-
? padded.map((c) => wrap(ANSI.bold, c, ctx.color))
|
|
148
|
-
: padded;
|
|
149
|
-
lines.push(rendered.join(' │ '));
|
|
150
|
-
if (rowIdx === 0 && headerIsAllTh) {
|
|
151
|
-
const sep = widths.map((w) => '─'.repeat(w)).join('─┼─');
|
|
152
|
-
lines.push(wrap(ANSI.dim, sep, ctx.color));
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
return lines.join('\n');
|
|
156
|
-
};
|
|
157
|
-
const ALERT_LABEL_COLOR = {
|
|
158
|
-
info: ANSI.cyan,
|
|
159
|
-
tip: ANSI.cyan,
|
|
160
|
-
warning: ANSI.yellow,
|
|
161
|
-
error: ANSI.red,
|
|
162
|
-
success: ANSI.green,
|
|
163
|
-
note: ANSI.dim,
|
|
164
|
-
};
|
|
165
|
-
const renderBox = (defaultType) => (node, ctx, inner) => {
|
|
166
|
-
const type = (node.attrs.type ?? defaultType).toLowerCase();
|
|
167
|
-
const colorCode = ALERT_LABEL_COLOR[type] ?? ANSI.cyan;
|
|
168
|
-
const labelLine = wrap(colorCode, type.toUpperCase(), ctx.color);
|
|
169
|
-
const rule = wrap(ANSI.dim, '─'.repeat(SEPARATOR_WIDTH), ctx.color);
|
|
170
|
-
const body = inner.walkBlockChildren(node.children, ctx);
|
|
171
|
-
const prefix = wrap(ANSI.dim, '│ ', ctx.color);
|
|
172
|
-
const indented = indentLines(body, prefix);
|
|
173
|
-
return `${labelLine}\n${rule}\n${indented}\n${rule}`;
|
|
174
|
-
};
|
|
175
|
-
export const alertRenderer = renderBox('info');
|
|
176
|
-
export const bannerRenderer = renderBox('info');
|
|
177
|
-
export const detailsRenderer = (node, ctx, inner) => {
|
|
178
|
-
const summary = node.attrs.summary ?? '';
|
|
179
|
-
const head = wrap(ANSI.dim, `▸ ${summary}`, ctx.color);
|
|
180
|
-
const body = inner.walkBlockChildren(node.children, ctx);
|
|
181
|
-
if (!body)
|
|
182
|
-
return head;
|
|
183
|
-
const indented = indentLines(body, ' ');
|
|
184
|
-
return `${head}\n${indented}`;
|
|
185
|
-
};
|
|
186
|
-
export const spoilerRenderer = (node, ctx, inner) => {
|
|
187
|
-
const text = inner.walkInlineChildren(node.children, ctx);
|
|
188
|
-
return wrap(ANSI.dim, text, ctx.color);
|
|
189
|
-
};
|
|
190
|
-
export const blockRendererEntries = [
|
|
191
|
-
['p', paragraphRenderer],
|
|
192
|
-
['h1', h1Renderer],
|
|
193
|
-
['h2', h2Renderer],
|
|
194
|
-
['h3', h3Renderer],
|
|
195
|
-
['h4', h4Renderer],
|
|
196
|
-
['h5', h5Renderer],
|
|
197
|
-
['h6', h6Renderer],
|
|
198
|
-
['blockquote', blockquoteRenderer],
|
|
199
|
-
['hr', hrRenderer],
|
|
200
|
-
['ul', ulRenderer],
|
|
201
|
-
['ol', olRenderer],
|
|
202
|
-
['li', liRenderer],
|
|
203
|
-
['table', tableRenderer],
|
|
204
|
-
['alert', alertRenderer],
|
|
205
|
-
['banner', bannerRenderer],
|
|
206
|
-
['details', detailsRenderer],
|
|
207
|
-
['spoiler', spoilerRenderer],
|
|
208
|
-
];
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { highlightCode } from '../codehighlight';
|
|
2
|
-
import { ANSI, wrap } from '../markdown';
|
|
3
|
-
const collectText = (children) => {
|
|
4
|
-
let out = '';
|
|
5
|
-
for (const child of children) {
|
|
6
|
-
if (child.type === 'text')
|
|
7
|
-
out += child.value;
|
|
8
|
-
else
|
|
9
|
-
out += collectText(child.children);
|
|
10
|
-
}
|
|
11
|
-
return out;
|
|
12
|
-
};
|
|
13
|
-
export const codeblockRenderer = (node, ctx) => {
|
|
14
|
-
const lang = node.attrs.lang ?? '';
|
|
15
|
-
const code = collectText(node.children).replace(/\n+$/, '');
|
|
16
|
-
const body = highlightCode(code, lang, ctx.color);
|
|
17
|
-
if (lang) {
|
|
18
|
-
const label = wrap(ANSI.dim, lang, ctx.color);
|
|
19
|
-
return `${label}\n${body}`;
|
|
20
|
-
}
|
|
21
|
-
return body;
|
|
22
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { BlockRenderer } from './walker';
|
|
2
|
-
export declare const imgRenderer: BlockRenderer;
|
|
3
|
-
export declare const videoRenderer: BlockRenderer;
|
|
4
|
-
export declare const linkCardRenderer: BlockRenderer;
|
|
5
|
-
export declare const embedRenderer: BlockRenderer;
|
|
6
|
-
export declare const embedRendererEntries: ReadonlyArray<readonly [string, BlockRenderer]>;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { ANSI, wrap } from '../markdown';
|
|
2
|
-
const basename = (path) => {
|
|
3
|
-
const idx = path.lastIndexOf('/');
|
|
4
|
-
return idx >= 0 ? path.slice(idx + 1) : path;
|
|
5
|
-
};
|
|
6
|
-
export const imgRenderer = (node, ctx) => {
|
|
7
|
-
const { alt, src, caption } = node.attrs;
|
|
8
|
-
let label;
|
|
9
|
-
if (alt)
|
|
10
|
-
label = `[image: ${alt}]`;
|
|
11
|
-
else if (src)
|
|
12
|
-
label = `[image: ${basename(src)}]`;
|
|
13
|
-
else
|
|
14
|
-
label = '[image]';
|
|
15
|
-
const main = wrap(ANSI.dim, label, ctx.color);
|
|
16
|
-
if (caption) {
|
|
17
|
-
const cap = wrap(ANSI.dim, caption, ctx.color);
|
|
18
|
-
return `${main}\n${cap}`;
|
|
19
|
-
}
|
|
20
|
-
return main;
|
|
21
|
-
};
|
|
22
|
-
export const videoRenderer = (node, ctx) => {
|
|
23
|
-
const { src } = node.attrs;
|
|
24
|
-
return wrap(ANSI.dim, `[video: ${src ?? ''}]`, ctx.color);
|
|
25
|
-
};
|
|
26
|
-
export const linkCardRenderer = (node, ctx) => {
|
|
27
|
-
const { url, title, description } = node.attrs;
|
|
28
|
-
if (!title) {
|
|
29
|
-
return wrap(ANSI.dim, `[link: ${url ?? ''}]`, ctx.color);
|
|
30
|
-
}
|
|
31
|
-
const top = `${wrap(ANSI.dim, '┌ ', ctx.color)}${title}`;
|
|
32
|
-
const bottom = wrap(ANSI.dim, `└ ${url ?? ''}`, ctx.color);
|
|
33
|
-
if (description) {
|
|
34
|
-
const mid = wrap(ANSI.dim, `│ ${description}`, ctx.color);
|
|
35
|
-
return `${top}\n${mid}\n${bottom}`;
|
|
36
|
-
}
|
|
37
|
-
return `${top}\n${bottom}`;
|
|
38
|
-
};
|
|
39
|
-
export const embedRenderer = (node, ctx) => {
|
|
40
|
-
const { url, source } = node.attrs;
|
|
41
|
-
const label = source
|
|
42
|
-
? `[embed: ${source} ${url ?? ''}]`
|
|
43
|
-
: `[embed: ${url ?? ''}]`;
|
|
44
|
-
return wrap(ANSI.dim, label, ctx.color);
|
|
45
|
-
};
|
|
46
|
-
export const embedRendererEntries = [
|
|
47
|
-
['img', imgRenderer],
|
|
48
|
-
['video', videoRenderer],
|
|
49
|
-
['link-card', linkCardRenderer],
|
|
50
|
-
['embed', embedRenderer],
|
|
51
|
-
];
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type BlockRenderer, type InlineRenderer } from './walker';
|
|
2
|
-
export type { LiteXmlNode } from './parser';
|
|
3
|
-
export { parseLitexml } from './parser';
|
|
4
|
-
export { type BlockRenderer, type InlineRenderer, type RenderCtx, type WalkApi, } from './walker';
|
|
5
|
-
export declare const blockRenderers: Map<string, BlockRenderer>;
|
|
6
|
-
export declare const inlineRenderers: Map<string, InlineRenderer>;
|
|
7
|
-
export declare const renderLexicalAnsi: (xml: string, opts: {
|
|
8
|
-
readonly color: boolean;
|
|
9
|
-
}) => string;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { blockRendererEntries } from './blocks';
|
|
2
|
-
import { codeblockRenderer } from './code';
|
|
3
|
-
import { embedRendererEntries } from './embeds';
|
|
4
|
-
import { inlineRendererEntries } from './inlines';
|
|
5
|
-
import { parseLitexml } from './parser';
|
|
6
|
-
import { createWalker } from './walker';
|
|
7
|
-
export { parseLitexml } from './parser';
|
|
8
|
-
export const blockRenderers = new Map([
|
|
9
|
-
...blockRendererEntries,
|
|
10
|
-
...embedRendererEntries,
|
|
11
|
-
['codeblock', codeblockRenderer],
|
|
12
|
-
]);
|
|
13
|
-
export const inlineRenderers = new Map(inlineRendererEntries);
|
|
14
|
-
const defaultWalker = createWalker({
|
|
15
|
-
blocks: blockRenderers,
|
|
16
|
-
inlines: inlineRenderers,
|
|
17
|
-
});
|
|
18
|
-
export const renderLexicalAnsi = (xml, opts) => {
|
|
19
|
-
const nodes = parseLitexml(xml);
|
|
20
|
-
const out = defaultWalker.walkBlockChildren(nodes, {
|
|
21
|
-
color: opts.color,
|
|
22
|
-
indent: 0,
|
|
23
|
-
});
|
|
24
|
-
return out.replace(/\n+$/, '');
|
|
25
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { InlineRenderer } from './walker';
|
|
2
|
-
export declare const boldRenderer: InlineRenderer;
|
|
3
|
-
export declare const italicRenderer: InlineRenderer;
|
|
4
|
-
export declare const strikeRenderer: InlineRenderer;
|
|
5
|
-
export declare const underlineRenderer: InlineRenderer;
|
|
6
|
-
export declare const codeRenderer: InlineRenderer;
|
|
7
|
-
export declare const subRenderer: InlineRenderer;
|
|
8
|
-
export declare const supRenderer: InlineRenderer;
|
|
9
|
-
export declare const markRenderer: InlineRenderer;
|
|
10
|
-
export declare const linkRenderer: InlineRenderer;
|
|
11
|
-
export declare const brRenderer: InlineRenderer;
|
|
12
|
-
export declare const mentionRenderer: InlineRenderer;
|
|
13
|
-
export declare const tagRenderer: InlineRenderer;
|
|
14
|
-
export declare const commentRenderer: InlineRenderer;
|
|
15
|
-
export declare const footnoteRenderer: InlineRenderer;
|
|
16
|
-
export declare const rubyRenderer: InlineRenderer;
|
|
17
|
-
export declare const inlineRendererEntries: ReadonlyArray<readonly [string, InlineRenderer]>;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ANSI, visibleLen, wrap } from '../markdown';
|
|
2
|
-
// Specific reset codes (not ANSI.reset) so nested formats survive — e.g.
|
|
3
|
-
// closing italic with `\x1b[23m` doesn't strip an outer bold.
|
|
4
|
-
const formatPair = (open, close) => {
|
|
5
|
-
return (node, ctx, inner) => {
|
|
6
|
-
const text = inner.walkInlineChildren(node.children, ctx);
|
|
7
|
-
return ctx.color ? `${open}${text}${close}` : text;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
export const boldRenderer = formatPair('\x1B[1m', '\x1B[22m');
|
|
11
|
-
export const italicRenderer = formatPair('\x1B[3m', '\x1B[23m');
|
|
12
|
-
export const strikeRenderer = formatPair('\x1B[9m', '\x1B[29m');
|
|
13
|
-
export const underlineRenderer = formatPair('\x1B[4m', '\x1B[24m');
|
|
14
|
-
// Inline `code`: dim only — italic on top of dim renders inconsistently
|
|
15
|
-
// across terminals and breaks alignment when copy-pasted.
|
|
16
|
-
export const codeRenderer = formatPair('\x1B[2m', '\x1B[22m');
|
|
17
|
-
// `sub`/`sup`: no real subscript/superscript in TTY — degrade to dim so the
|
|
18
|
-
// content stays distinguishable but doesn't disrupt the line.
|
|
19
|
-
export const subRenderer = formatPair('\x1B[2m', '\x1B[22m');
|
|
20
|
-
export const supRenderer = formatPair('\x1B[2m', '\x1B[22m');
|
|
21
|
-
export const markRenderer = formatPair('\x1B[7m', '\x1B[27m');
|
|
22
|
-
export const linkRenderer = (node, ctx, inner) => {
|
|
23
|
-
const href = node.attrs.href ?? '';
|
|
24
|
-
const text = inner.walkInlineChildren(node.children, ctx);
|
|
25
|
-
if (!href)
|
|
26
|
-
return text;
|
|
27
|
-
// If text already reveals the URL there's no point appending it.
|
|
28
|
-
if (visibleLen(text) > 0 && text.trim() === href)
|
|
29
|
-
return text;
|
|
30
|
-
const suffix = wrap(ANSI.dim, ` (${href})`, ctx.color);
|
|
31
|
-
return `${text}${suffix}`;
|
|
32
|
-
};
|
|
33
|
-
export const brRenderer = () => '\n';
|
|
34
|
-
export const mentionRenderer = (node, ctx, inner) => {
|
|
35
|
-
const handle = node.attrs.handle ?? '';
|
|
36
|
-
const display = inner.walkInlineChildren(node.children, ctx).trim();
|
|
37
|
-
const label = display || handle;
|
|
38
|
-
return wrap(ANSI.dim, `@${label}`, ctx.color);
|
|
39
|
-
};
|
|
40
|
-
export const tagRenderer = (node, ctx, inner) => {
|
|
41
|
-
const text = inner.walkInlineChildren(node.children, ctx).trim();
|
|
42
|
-
return wrap(ANSI.dim, `#${text}`, ctx.color);
|
|
43
|
-
};
|
|
44
|
-
export const commentRenderer = (node, ctx, inner) => {
|
|
45
|
-
const text = inner.walkInlineChildren(node.children, ctx);
|
|
46
|
-
return wrap(ANSI.dim, text, ctx.color);
|
|
47
|
-
};
|
|
48
|
-
export const footnoteRenderer = (node, ctx) => {
|
|
49
|
-
const ref = node.attrs.ref ?? '';
|
|
50
|
-
return wrap(ANSI.dim, `[^${ref}]`, ctx.color);
|
|
51
|
-
};
|
|
52
|
-
export const rubyRenderer = (node, ctx, inner) => {
|
|
53
|
-
const base = inner.walkInlineChildren(node.children, ctx);
|
|
54
|
-
const rt = node.attrs.rt ?? '';
|
|
55
|
-
if (!rt)
|
|
56
|
-
return base;
|
|
57
|
-
const suffix = wrap(ANSI.dim, ` (${rt})`, ctx.color);
|
|
58
|
-
return `${base}${suffix}`;
|
|
59
|
-
};
|
|
60
|
-
export const inlineRendererEntries = [
|
|
61
|
-
['b', boldRenderer],
|
|
62
|
-
['i', italicRenderer],
|
|
63
|
-
['s', strikeRenderer],
|
|
64
|
-
['u', underlineRenderer],
|
|
65
|
-
['code', codeRenderer],
|
|
66
|
-
['sub', subRenderer],
|
|
67
|
-
['sup', supRenderer],
|
|
68
|
-
['mark', markRenderer],
|
|
69
|
-
['a', linkRenderer],
|
|
70
|
-
['br', brRenderer],
|
|
71
|
-
['mention', mentionRenderer],
|
|
72
|
-
['tag', tagRenderer],
|
|
73
|
-
['comment', commentRenderer],
|
|
74
|
-
['footnote', footnoteRenderer],
|
|
75
|
-
['ruby', rubyRenderer],
|
|
76
|
-
];
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type LiteXmlNode = {
|
|
2
|
-
readonly type: 'text';
|
|
3
|
-
readonly value: string;
|
|
4
|
-
} | {
|
|
5
|
-
readonly type: 'element';
|
|
6
|
-
readonly tag: string;
|
|
7
|
-
readonly attrs: Readonly<Record<string, string>>;
|
|
8
|
-
readonly children: ReadonlyArray<LiteXmlNode>;
|
|
9
|
-
};
|
|
10
|
-
export declare const parseLitexml: (xml: string) => ReadonlyArray<LiteXmlNode>;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { XMLParser } from 'fast-xml-parser';
|
|
2
|
-
const TEXT_KEY = '#text';
|
|
3
|
-
const ATTR_KEY = ':@';
|
|
4
|
-
const parser = new XMLParser({
|
|
5
|
-
preserveOrder: true,
|
|
6
|
-
ignoreAttributes: false,
|
|
7
|
-
attributeNamePrefix: '',
|
|
8
|
-
parseAttributeValue: false,
|
|
9
|
-
processEntities: true,
|
|
10
|
-
trimValues: false,
|
|
11
|
-
textNodeName: TEXT_KEY,
|
|
12
|
-
});
|
|
13
|
-
const normalizeAttrs = (raw) => {
|
|
14
|
-
if (!raw || typeof raw !== 'object')
|
|
15
|
-
return {};
|
|
16
|
-
const out = {};
|
|
17
|
-
for (const [k, v] of Object.entries(raw)) {
|
|
18
|
-
out[k] = v == null ? '' : String(v);
|
|
19
|
-
}
|
|
20
|
-
return out;
|
|
21
|
-
};
|
|
22
|
-
const normalize = (raw) => {
|
|
23
|
-
if (!Array.isArray(raw))
|
|
24
|
-
return [];
|
|
25
|
-
const out = [];
|
|
26
|
-
for (const entry of raw) {
|
|
27
|
-
if (!entry || typeof entry !== 'object')
|
|
28
|
-
continue;
|
|
29
|
-
const obj = entry;
|
|
30
|
-
const attrs = normalizeAttrs(obj[ATTR_KEY]);
|
|
31
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
32
|
-
if (key === ATTR_KEY)
|
|
33
|
-
continue;
|
|
34
|
-
if (key === TEXT_KEY) {
|
|
35
|
-
out.push({ type: 'text', value: value == null ? '' : String(value) });
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
out.push({
|
|
39
|
-
type: 'element',
|
|
40
|
-
tag: key,
|
|
41
|
-
attrs,
|
|
42
|
-
children: normalize(value),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return out;
|
|
47
|
-
};
|
|
48
|
-
export const parseLitexml = (xml) => {
|
|
49
|
-
try {
|
|
50
|
-
// fast-xml-parser needs a single document root; LiteXML emits multiple
|
|
51
|
-
// top-level elements, so we synthesize one.
|
|
52
|
-
const raw = parser.parse(`<root>${xml}</root>`);
|
|
53
|
-
if (!Array.isArray(raw) || raw.length === 0)
|
|
54
|
-
return [];
|
|
55
|
-
const first = raw[0];
|
|
56
|
-
if (!first)
|
|
57
|
-
return [];
|
|
58
|
-
const inner = first.root;
|
|
59
|
-
return normalize(inner);
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
return [];
|
|
63
|
-
}
|
|
64
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { LiteXmlNode } from './parser';
|
|
2
|
-
export interface RenderCtx {
|
|
3
|
-
readonly color: boolean;
|
|
4
|
-
readonly indent: number;
|
|
5
|
-
}
|
|
6
|
-
export interface WalkApi {
|
|
7
|
-
readonly walkBlock: (node: LiteXmlNode, ctx: RenderCtx) => string;
|
|
8
|
-
readonly walkInline: (node: LiteXmlNode, ctx: RenderCtx) => string;
|
|
9
|
-
readonly walkBlockChildren: (children: ReadonlyArray<LiteXmlNode>, ctx: RenderCtx) => string;
|
|
10
|
-
readonly walkInlineChildren: (children: ReadonlyArray<LiteXmlNode>, ctx: RenderCtx) => string;
|
|
11
|
-
}
|
|
12
|
-
export type BlockRenderer = (node: Extract<LiteXmlNode, {
|
|
13
|
-
type: 'element';
|
|
14
|
-
}>, ctx: RenderCtx, inner: WalkApi) => string;
|
|
15
|
-
export type InlineRenderer = (node: Extract<LiteXmlNode, {
|
|
16
|
-
type: 'element';
|
|
17
|
-
}>, ctx: RenderCtx, inner: WalkApi) => string;
|
|
18
|
-
export declare const createWalker: (registries: {
|
|
19
|
-
readonly blocks: ReadonlyMap<string, BlockRenderer>;
|
|
20
|
-
readonly inlines: ReadonlyMap<string, InlineRenderer>;
|
|
21
|
-
}) => WalkApi;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export const createWalker = (registries) => {
|
|
2
|
-
const walkInline = (node, ctx) => {
|
|
3
|
-
if (node.type === 'text')
|
|
4
|
-
return node.value;
|
|
5
|
-
const inline = registries.inlines.get(node.tag);
|
|
6
|
-
if (inline)
|
|
7
|
-
return inline(node, ctx, api);
|
|
8
|
-
return walkInlineChildren(node.children, ctx);
|
|
9
|
-
};
|
|
10
|
-
const walkBlock = (node, ctx) => {
|
|
11
|
-
if (node.type === 'text')
|
|
12
|
-
return node.value;
|
|
13
|
-
const block = registries.blocks.get(node.tag);
|
|
14
|
-
if (block)
|
|
15
|
-
return block(node, ctx, api);
|
|
16
|
-
return walkBlockChildren(node.children, ctx);
|
|
17
|
-
};
|
|
18
|
-
const walkInlineChildren = (children, ctx) => {
|
|
19
|
-
let out = '';
|
|
20
|
-
for (const child of children)
|
|
21
|
-
out += walkInline(child, ctx);
|
|
22
|
-
return out;
|
|
23
|
-
};
|
|
24
|
-
const walkBlockChildren = (children, ctx) => {
|
|
25
|
-
if (children.length === 0)
|
|
26
|
-
return '';
|
|
27
|
-
let out = '';
|
|
28
|
-
let first = true;
|
|
29
|
-
for (const child of children) {
|
|
30
|
-
// Drop whitespace-only text nodes between blocks — these are pretty-print
|
|
31
|
-
// artifacts from the upstream XML serializer (litexml `compact: false`).
|
|
32
|
-
if (child.type === 'text' && /^\s*$/.test(child.value))
|
|
33
|
-
continue;
|
|
34
|
-
const rendered = walkBlock(child, ctx);
|
|
35
|
-
if (!rendered)
|
|
36
|
-
continue;
|
|
37
|
-
if (!first)
|
|
38
|
-
out += '\n\n';
|
|
39
|
-
out += rendered;
|
|
40
|
-
first = false;
|
|
41
|
-
}
|
|
42
|
-
return out;
|
|
43
|
-
};
|
|
44
|
-
const api = {
|
|
45
|
-
walkBlock,
|
|
46
|
-
walkInline,
|
|
47
|
-
walkBlockChildren,
|
|
48
|
-
walkInlineChildren,
|
|
49
|
-
};
|
|
50
|
-
return api;
|
|
51
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface RenderOptions {
|
|
2
|
-
readonly color: boolean;
|
|
3
|
-
}
|
|
4
|
-
export declare const ANSI: {
|
|
5
|
-
readonly reset: "\u001B[0m";
|
|
6
|
-
readonly bold: "\u001B[1m";
|
|
7
|
-
readonly dim: "\u001B[2m";
|
|
8
|
-
readonly red: "\u001B[31m";
|
|
9
|
-
readonly green: "\u001B[32m";
|
|
10
|
-
readonly yellow: "\u001B[33m";
|
|
11
|
-
readonly blue: "\u001B[34m";
|
|
12
|
-
readonly magenta: "\u001B[35m";
|
|
13
|
-
readonly cyan: "\u001B[36m";
|
|
14
|
-
};
|
|
15
|
-
export declare const wrap: (code: string, text: string, on: boolean) => string;
|
|
16
|
-
export declare const visibleLen: (s: string) => number;
|
|
17
|
-
export declare const isColorEnabled: (stream: NodeJS.WriteStream) => boolean;
|
|
18
|
-
export declare const renderMarkdownToAnsi: (markdown: string, opts: RenderOptions) => string;
|