@pyscript/core 0.7.29 → 0.7.30
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/{core-BrNc1IIg.js → core-Ze80f4LS.js} +3 -3
- package/dist/{core-BrNc1IIg.js.map → core-Ze80f4LS.js.map} +1 -1
- package/dist/core.js +1 -1
- package/dist/{deprecations-manager-DRJgE8qJ.js → deprecations-manager-BKMZjhaL.js} +2 -2
- package/dist/{deprecations-manager-DRJgE8qJ.js.map → deprecations-manager-BKMZjhaL.js.map} +1 -1
- package/dist/{donkey-BnYtNAQe.js → donkey-C_Uxdfr8.js} +2 -2
- package/dist/{donkey-BnYtNAQe.js.map → donkey-C_Uxdfr8.js.map} +1 -1
- package/dist/{error-DGunRiee.js → error-BQWK5Wkw.js} +2 -2
- package/dist/{error-DGunRiee.js.map → error-BQWK5Wkw.js.map} +1 -1
- package/dist/{mpy-Chq-mVyj.js → mpy-DXY_Z69L.js} +2 -2
- package/dist/{mpy-Chq-mVyj.js.map → mpy-DXY_Z69L.js.map} +1 -1
- package/dist/{py-DdbXoDn0.js → py-BXEV3Waf.js} +2 -2
- package/dist/{py-DdbXoDn0.js.map → py-BXEV3Waf.js.map} +1 -1
- package/dist/py-editor-CJghpysI.js +2 -0
- package/dist/py-editor-CJghpysI.js.map +1 -0
- package/dist/{py-game-BtbHgsps.js → py-game-CAcsfHPF.js} +2 -2
- package/dist/{py-game-BtbHgsps.js.map → py-game-CAcsfHPF.js.map} +1 -1
- package/dist/{py-terminal-y3Wo8qu7.js → py-terminal-D05dSP7E.js} +2 -2
- package/dist/{py-terminal-y3Wo8qu7.js.map → py-terminal-D05dSP7E.js.map} +1 -1
- package/dist/xterm-readline-CVifJ5yI.js +2 -0
- package/dist/xterm-readline-CVifJ5yI.js.map +1 -0
- package/package.json +1 -1
- package/src/3rd-party/xterm-readline.js +27 -2
- package/src/plugins/py-editor.js +5 -1
- package/dist/py-editor-B_2eMuPl.js +0 -2
- package/dist/py-editor-B_2eMuPl.js.map +0 -1
- package/dist/xterm-readline-DTqC_fk6.js +0 -2
- package/dist/xterm-readline-DTqC_fk6.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xterm-readline-CVifJ5yI.js","sources":["../node_modules/strip-ansi/index.js","../node_modules/ansi-regex/index.js","../node_modules/get-east-asian-width/lookup-data.js","../node_modules/get-east-asian-width/utilities.js","../node_modules/get-east-asian-width/lookup.js","../node_modules/get-east-asian-width/index.js","../node_modules/string-width/index.js","../src/3rd-party/xterm-readline.js"],"sourcesContent":["import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Fast path: ANSI codes require ESC (7-bit) or CSI (8-bit) introducer\n\tif (!string.includes('\\u001B') && !string.includes('\\u009B')) {\n\t\treturn string;\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","// Generated by scripts/build.js\n\nexport const ambiguousMinimalCodePoint = 161;\nexport const ambiguousMaximumCodePoint = 1114109;\nexport const ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];\n\nexport const fullwidthMinimalCodePoint = 12288;\nexport const fullwidthMaximumCodePoint = 65510;\nexport const fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];\n\nexport const halfwidthMinimalCodePoint = 8361;\nexport const halfwidthMaximumCodePoint = 65518;\nexport const halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];\n\nexport const narrowMinimalCodePoint = 32;\nexport const narrowMaximumCodePoint = 10630;\nexport const narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];\n\nexport const wideMinimalCodePoint = 4352;\nexport const wideMaximumCodePoint = 262141;\nexport const wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];\n","/**\nBinary search on a sorted flat array of [start, end] pairs.\n\n@param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20].\n@param {number} codePoint - The value to search for.\n@returns {boolean} Whether the value falls within any of the ranges.\n*/\nexport const isInRange = (ranges, codePoint) => {\n\tlet low = 0;\n\tlet high = Math.floor(ranges.length / 2) - 1;\n\twhile (low <= high) {\n\t\tconst mid = Math.floor((low + high) / 2);\n\t\tconst i = mid * 2;\n\t\tif (codePoint < ranges[i]) {\n\t\t\thigh = mid - 1;\n\t\t} else if (codePoint > ranges[i + 1]) {\n\t\t\tlow = mid + 1;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n","import {\n\tambiguousMinimalCodePoint,\n\tambiguousMaximumCodePoint,\n\tambiguousRanges,\n\n\tfullwidthMinimalCodePoint,\n\tfullwidthMaximumCodePoint,\n\tfullwidthRanges,\n\n\thalfwidthMinimalCodePoint,\n\thalfwidthMaximumCodePoint,\n\thalfwidthRanges,\n\n\tnarrowMinimalCodePoint,\n\tnarrowMaximumCodePoint,\n\tnarrowRanges,\n\n\twideMinimalCodePoint,\n\twideMaximumCodePoint,\n\twideRanges,\n} from './lookup-data.js';\nimport {isInRange} from './utilities.js';\n\nconst commonCjkCodePoint = 0x4E_00;\nconst [wideFastPathStart, wideFastPathEnd] = /* #__PURE__ */ findWideFastPathRange(wideRanges);\n\n// Use a hot-path range so common `isWide` calls can skip binary search.\n// The range containing U+4E00 covers common CJK ideographs;\n// fallback to the largest range for resilience to Unicode table changes.\nfunction findWideFastPathRange(ranges) {\n\tlet fastPathStart = ranges[0];\n\tlet fastPathEnd = ranges[1];\n\n\tfor (let index = 0; index < ranges.length; index += 2) {\n\t\tconst start = ranges[index];\n\t\tconst end = ranges[index + 1];\n\n\t\tif (\n\t\t\tcommonCjkCodePoint >= start\n\t\t\t&& commonCjkCodePoint <= end\n\t\t) {\n\t\t\treturn [start, end];\n\t\t}\n\n\t\tif ((end - start) > (fastPathEnd - fastPathStart)) {\n\t\t\tfastPathStart = start;\n\t\t\tfastPathEnd = end;\n\t\t}\n\t}\n\n\treturn [fastPathStart, fastPathEnd];\n}\n\nexport const isAmbiguous = codePoint => {\n\tif (\n\t\tcodePoint < ambiguousMinimalCodePoint\n\t\t|| codePoint > ambiguousMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(ambiguousRanges, codePoint);\n};\n\nexport const isFullWidth = codePoint => {\n\tif (\n\t\tcodePoint < fullwidthMinimalCodePoint\n\t\t|| codePoint > fullwidthMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(fullwidthRanges, codePoint);\n};\n\nconst isHalfWidth = codePoint => {\n\tif (\n\t\tcodePoint < halfwidthMinimalCodePoint\n\t\t|| codePoint > halfwidthMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(halfwidthRanges, codePoint);\n};\n\nconst isNarrow = codePoint => {\n\tif (\n\t\tcodePoint < narrowMinimalCodePoint\n\t\t|| codePoint > narrowMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(narrowRanges, codePoint);\n};\n\nexport const isWide = codePoint => {\n\tif (\n\t\tcodePoint >= wideFastPathStart\n\t\t&& codePoint <= wideFastPathEnd\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tcodePoint < wideMinimalCodePoint\n\t\t|| codePoint > wideMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(wideRanges, codePoint);\n};\n\nexport function getCategory(codePoint) {\n\tif (isAmbiguous(codePoint)) {\n\t\treturn 'ambiguous';\n\t}\n\n\tif (isFullWidth(codePoint)) {\n\t\treturn 'fullwidth';\n\t}\n\n\tif (isHalfWidth(codePoint)) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (isNarrow(codePoint)) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(codePoint)) {\n\t\treturn 'wide';\n\t}\n\n\treturn 'neutral';\n}\n","import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// Private exports for https://github.com/sindresorhus/is-fullwidth-code-point\nexport {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js';\n","import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\n\n/**\nLogic:\n- Segment graphemes to match how terminals render clusters.\n- Width rules:\n\t1. Skip non-printing clusters (Default_Ignorable, Control, pure Mark, lone Surrogates). Tabs are ignored by design.\n\t2. RGI emoji clusters (\\p{RGI_Emoji}) are double-width.\n\t3. Minimally-qualified/unqualified emoji clusters (ZWJ sequences with 2+ Extended_Pictographic, or keycap sequences) are double-width.\n\t4. Hangul jamo collapse each standard modern Hangul L+V or L+V+T syllable piece to width 2.\n\t Unmatched repeated leading/vowel/trailing jamo stay additive because that matches how the terminals we target render them.\n\t5. Otherwise use East Asian Width of the cluster's first visible code point, and add widths for trailing Halfwidth/Fullwidth Forms within the same cluster (e.g., dakuten/handakuten/prolonged sound mark).\n*/\n\nconst segmenter = new Intl.Segmenter();\n\n// Whole-cluster zero-width\nconst zeroWidthClusterRegex = /^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$/v;\n\n// Pick the base scalar if the cluster starts with Prepend/Format/Marks\nconst leadingNonPrintingRegex = /^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+/v;\n\n// RGI emoji sequences\nconst rgiEmojiRegex = /^\\p{RGI_Emoji}$/v;\n\n// Detect minimally-qualified/unqualified emoji sequences (missing VS16 but still render as double-width)\nconst unqualifiedKeycapRegex = /^[\\d#*]\\u20E3$/;\nconst extendedPictographicRegex = /\\p{Extended_Pictographic}/gu;\n\nfunction isDoubleWidthNonRgiEmojiSequence(segment) {\n\t// Real emoji clusters are < 30 chars; guard against pathological input\n\tif (segment.length > 50) {\n\t\treturn false;\n\t}\n\n\tif (unqualifiedKeycapRegex.test(segment)) {\n\t\treturn true;\n\t}\n\n\t// ZWJ sequences with 2+ Extended_Pictographic\n\tif (segment.includes('\\u200D')) {\n\t\tconst pictographics = segment.match(extendedPictographicRegex);\n\t\treturn pictographics !== null && pictographics.length >= 2;\n\t}\n\n\treturn false;\n}\n\nfunction baseVisible(segment) {\n\treturn segment.replace(leadingNonPrintingRegex, '');\n}\n\nfunction isZeroWidthCluster(segment) {\n\treturn zeroWidthClusterRegex.test(segment);\n}\n\nfunction isHangulLeadingJamo(codePoint) {\n\treturn (codePoint >= 0x11_00 && codePoint <= 0x11_5F)\n\t\t|| (codePoint >= 0xA9_60 && codePoint <= 0xA9_7C);\n}\n\nfunction isHangulVowelJamo(codePoint) {\n\treturn (codePoint >= 0x11_60 && codePoint <= 0x11_A7)\n\t\t|| (codePoint >= 0xD7_B0 && codePoint <= 0xD7_C6);\n}\n\nfunction isHangulTrailingJamo(codePoint) {\n\treturn (codePoint >= 0x11_A8 && codePoint <= 0x11_FF)\n\t\t|| (codePoint >= 0xD7_CB && codePoint <= 0xD7_FB);\n}\n\nfunction isHangulJamo(codePoint) {\n\treturn isHangulLeadingJamo(codePoint)\n\t\t|| isHangulVowelJamo(codePoint)\n\t\t|| isHangulTrailingJamo(codePoint);\n}\n\nfunction hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {\n\tconst codePoints = [];\n\n\tfor (const character of visibleSegment) {\n\t\tif (zeroWidthClusterRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tcodePoints.push(character.codePointAt(0));\n\t}\n\n\tif (codePoints.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tlet width = 0;\n\n\tfor (let index = 0; index < codePoints.length; index++) {\n\t\tconst codePoint = codePoints[index];\n\t\tif (!isHangulJamo(codePoint)) {\n\t\t\tif (width === 0) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Mixed cluster (e.g., L + precomposed syllable): use EAW for non-jamo remainder\n\t\t\tfor (let remaining = index; remaining < codePoints.length; remaining++) {\n\t\t\t\twidth += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);\n\t\t\t}\n\n\t\t\treturn width;\n\t\t}\n\n\t\t// Modern Hangul L+V(+T) shapes as one syllable block. Unmatched jamo stay additive:\n\t\t// U+1100 U+1100 U+1161 => U+1100 + (U+1100 U+1161) => 2 + 2.\n\t\tif (\n\t\t\tisHangulLeadingJamo(codePoint)\n\t\t\t&& isHangulVowelJamo(codePoints[index + 1])\n\t\t) {\n\t\t\twidth += 2;\n\t\t\tindex += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n\nfunction trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions) {\n\tlet extra = 0;\n\tlet first = true;\n\n\tfor (const character of visibleSegment) {\n\t\tif (first) {\n\t\t\tfirst = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (character >= '\\uFF00' && character <= '\\uFFEF') {\n\t\t\textra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);\n\t\t}\n\t}\n\n\treturn extra;\n}\n\nexport default function stringWidth(input, options = {}) {\n\tif (typeof input !== 'string' || input.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tlet string = input;\n\n\t// Avoid calling stripAnsi when there are no ANSI escape sequences (ESC = 0x1B, CSI = 0x9B)\n\tif (!countAnsiEscapeCodes && (string.includes('\\u001B') || string.includes('\\u009B'))) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\t// Fast path: printable ASCII (0x20–0x7E) needs no segmenter, regex, or EAW lookup — width equals length.\n\tif (/^[\\u0020-\\u007E]*$/.test(string)) {\n\t\treturn string.length;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment} of segmenter.segment(string)) {\n\t\t// Zero-width / non-printing clusters\n\t\tif (isZeroWidthCluster(segment)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Emoji width logic\n\t\tif (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst visibleSegment = baseVisible(segment);\n\t\tconst hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);\n\t\tif (hangulWidth !== undefined) {\n\t\t\twidth += hangulWidth;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Everything else: EAW of the cluster’s first visible scalar\n\t\tconst codePoint = visibleSegment.codePointAt(0);\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\n\t\t// Add width for trailing Halfwidth and Fullwidth Forms (e.g., ゙, ゚, ー)\n\t\twidth += trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n","/**\n * Bundled by jsDelivr using Rollup v4.62.2 and esbuild v0.28.1.\n * Original file: /npm/xterm-readline@1.2.2/lib/readline.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\nimport*as V from\"string-width\";function Q(r){return r&&Object.prototype.hasOwnProperty.call(r,\"default\")?r.default:r}var x={},y={},B;function N(){if(B)return y;B=1,Object.defineProperty(y,\"__esModule\",{value:!0}),y.InputType=void 0,y.parseInput=d;var r;(function(i){i[i.Text=0]=\"Text\",i[i.AltEnter=1]=\"AltEnter\",i[i.ArrowUp=2]=\"ArrowUp\",i[i.ArrowDown=3]=\"ArrowDown\",i[i.ArrowLeft=4]=\"ArrowLeft\",i[i.ArrowRight=5]=\"ArrowRight\",i[i.Delete=6]=\"Delete\",i[i.Backspace=7]=\"Backspace\",i[i.CtrlA=8]=\"CtrlA\",i[i.CtrlC=9]=\"CtrlC\",i[i.CtrlD=10]=\"CtrlD\",i[i.CtrlE=11]=\"CtrlE\",i[i.CtrlK=12]=\"CtrlK\",i[i.CtrlL=13]=\"CtrlL\",i[i.CtrlQ=14]=\"CtrlQ\",i[i.CtrlS=15]=\"CtrlS\",i[i.CtrlU=16]=\"CtrlU\",i[i.End=17]=\"End\",i[i.Enter=18]=\"Enter\",i[i.Home=19]=\"Home\",i[i.ShiftEnter=20]=\"ShiftEnter\",i[i.UnsupportedControlChar=21]=\"UnsupportedControlChar\",i[i.UnsupportedEscape=22]=\"UnsupportedEscape\"})(r||(y.InputType=r={}));function d(i){return Array.from(n(i))}function*n(i){let l=[];const o=i[Symbol.iterator]();for(let a=o.next();!a.done;a=o.next()){const e=a.value;if(e.length>1){l.push(e);continue}const t=e.charCodeAt(0);if(l.length>0&&(t<32||t===127)&&(yield{inputType:r.Text,data:l},l=[]),t===27){const s=o.next();if(s.done){l.push(\"\\x1B\");continue}let h=r.UnsupportedEscape;if(s.value!==\"[\"){s.value===\"\\r\"&&(h=r.AltEnter),yield{inputType:h,data:[\"\\x1B\",s.value]};continue}const u=o.next();if(u.done)continue;if(u.value>=\"0\"&&u.value<=\"9\"){let f=u.value;const c=o.next();if(c.done)return;if(c.value>=\"0\"&&c.value<=\"9\")f+=c.value;else if(c.value!==\"~\")continue;f===\"3\"&&(h=r.Delete),yield{inputType:h,data:[\"\\x1B\",\"[\",f,\"~\"]};continue}switch(u.value){case\"A\":h=r.ArrowUp;break;case\"B\":h=r.ArrowDown;break;case\"C\":h=r.ArrowRight;break;case\"D\":h=r.ArrowLeft;break;case\"F\":h=r.End;break;case\"H\":h=r.Home;break;case\"\\r\":h=r.AltEnter;break}yield{inputType:h,data:[\"\\x1B\",\"[\",u.value]};continue}if(t<32||t===127){let s=r.UnsupportedControlChar;switch(t){case 1:s=r.CtrlA;break;case 3:s=r.CtrlC;break;case 4:s=r.CtrlD;break;case 5:s=r.CtrlE;break;case 11:s=r.CtrlK;break;case 17:s=r.CtrlQ;break;case 19:s=r.CtrlS;break;case 21:s=r.CtrlU;break;case 13:s=r.Enter;break;case 127:s=r.Backspace;break;case 12:s=r.CtrlL;break}yield{inputType:s,data:[e]};continue}l.push(e)}l.length>0&&(yield{inputType:r.Text,data:l})}return y}var p={},k={},M;function Y(){if(M)return k;M=1,Object.defineProperty(k,\"__esModule\",{value:!0}),k.LineBuffer=void 0;class r{constructor(){this.buf=\"\",this.pos=0}buffer(){return this.buf}pos_buffer(){return this.buf.slice(0,this.pos)}length(){return this.buf.length}char_length(){return[...this.buf].length}update(n,i){this.buf=n,this.pos=i}insert(n){const i=n.length,l=this.pos===this.buf.length;return l?this.buf=this.buf+n:this.buf=this.buf.slice(0,this.pos)+n+this.buf.slice(this.pos),this.pos+=i,l}moveBack(n){const i=this.prevPos(n);return i!==void 0?(this.pos=i,!0):!1}moveForward(n){const i=this.nextPos(n);return i!==void 0?(this.pos=i,!0):!1}moveHome(){const n=this.startOfLine();return this.pos>n?(this.pos=n,!0):!1}moveEnd(){const n=this.endOfLine();return this.pos===n?!1:(this.pos=n,!0)}startOfLine(){const n=this.buf.slice(0,this.pos).lastIndexOf(`\n`);return n!==-1?n+1:0}endOfLine(){const n=this.buf.slice(this.pos).indexOf(`\n`);return n!==-1?this.pos+n:this.buf.length}moveLineUp(n,i=0){const l=this.buf.slice(0,this.pos).lastIndexOf(`\n`);if(l===-1)return!1;const o=[...this.buf.slice(l+1,this.pos)].length;let a=this.buf.slice(0,l).lastIndexOf(`\n`),e=a===-1;e?a=0:a=a+1;let t=l;for(let f=1;f<n&&a!==0;f++)t=a-1,a=this.buf.slice(0,t).lastIndexOf(`\n`),e=a===-1,e?a=0:a=a+1;const s=e?Math.max(0,o-i):o,h=[...this.buf.slice(a,t)].slice(0,s);let u=l;return h.length>0&&(u=h.map(f=>f.length).reduce((f,c)=>f+c,0),u=a+u),this.pos=u,!0}moveLineDown(n,i=0){const l=this.buf.slice(this.pos).indexOf(`\n`);if(l===-1)return!1;let o=this.buf.slice(0,this.pos).lastIndexOf(`\n`);const a=o===-1;a?o=0:o+=1;const e=[...this.buf.slice(o,this.pos)].length,t=a?e+i:e;let s=this.pos+l+1,h=this.buf.slice(s).indexOf(`\n`);h===-1?h=this.buf.length:h=s+h;for(let f=1;f<n&&h!==this.buf.length;f++)s=h+1,h=this.buf.slice(s).indexOf(`\n`),h===-1?h=this.buf.length:h=s+h;const u=[...this.buf.slice(s,h)];return t<u.length?this.pos=u.slice(0,t).map(f=>f.length).reduce((f,c)=>f+c,0)+s:this.pos=h,!0}set_pos(n){this.pos=n}prevPos(n){if(this.pos===0)return;const i=this.buf.slice(0,this.pos);return this.pos-[...i].slice(-n).map(l=>l.length).reduce((l,o)=>l+o,0)}nextPos(n){if(this.pos===this.buf.length)return;const i=this.buf.slice(this.pos);return this.pos+[...i].slice(0,n).map(l=>l.length).reduce((l,o)=>l+o,0)}backspace(n){const i=this.prevPos(n);return i===void 0?!1:(this.buf=this.buf.slice(0,i)+this.buf.slice(this.pos),this.pos=i,!0)}delete(n){const i=this.nextPos(n);return i!==void 0?(this.buf=this.buf.slice(0,this.pos)+this.buf.slice(i),!0):!1}deleteEndOfLine(){if(this.buf.length==0||this.pos==this.buf.length)return!1;const n=this.pos,i=this.endOfLine();return n==i?this.delete(1):this.buf=this.buf.slice(0,n)+this.buf.slice(i),!0}}return k.LineBuffer=r,k}var T=Q(V),S={},I;function W(){if(I)return S;I=1,Object.defineProperty(S,\"__esModule\",{value:!0}),S.IdentityHighlighter=void 0;class r{highlight(n,i){return n}highlightPrompt(n){return n}highlightChar(n,i){return!1}}return S.IdentityHighlighter=r,S}var j;function G(){if(j)return p;j=1;var r=p&&p.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,\"__esModule\",{value:!0}),p.State=p.Layout=p.Position=void 0;const d=Y(),n=r(T),i=W();class l{constructor(t,s){t!==void 0?this.row=t:this.row=0,s!==void 0?this.col=s:this.col=0}}p.Position=l;class o{constructor(t){this.promptSize=t,this.cursor=new l,this.end=new l,this.scrollOffset=0}}p.Layout=o;class a{constructor(t,s,h,u){this.line=new d.LineBuffer,this.highlighting=!1,this.editing=!1,this.prompt=t,this.tty=s,this.highlighter=h,this.history=u,this.promptSize=s.calculatePosition(t,new l),this.layout=new o(this.promptSize)}buffer(){return this.line.buffer()}getTty(){return this.tty}shouldHighlight(){return this.highlighter.highlightChar(this.line.buf,this.line.pos)?(this.highlighting=!0,!0):this.highlighting?(this.highlighting=!1,!0):!1}clearScreen(){this.tty.clearScreen(),this.tty.anchorRow=0,this.layout.cursor=new l,this.layout.end=new l,this.layout.scrollOffset=0,this.refresh()}editInsert(t){this.editing=!0;const s=this.line.insert(t),h=t.includes(`\n`);if(s&&!h){const u=(0,n.default)(t);u>0&&this.layout.cursor.col+u<this.tty.col&&!this.shouldHighlight()?(this.layout.cursor.col+=u,this.layout.end.col+=u,this.tty.write(t)):this.refresh()}else this.refresh()}update(t){this.line.update(t,t.length),this.editing=!1,this.refresh()}editBackspace(t){this.line.backspace(t)&&(this.editing=!0,this.refresh())}editDelete(t){this.line.delete(t)&&(this.editing=!0,this.refresh())}editDeleteEndOfLine(){this.line.deleteEndOfLine()&&(this.editing=!0,this.refresh())}refresh(){const t=this.tty.computeLayout(this.promptSize,this.line);t.scrollOffset=this.adjustScroll(t.cursor.row,this.layout.scrollOffset),this.tty.refreshLine(this.prompt,this.line,this.layout,t,this.highlighter),this.layout=t}refreshUnhighlighted(){const t=this.highlighter;this.highlighter=new i.IdentityHighlighter;try{this.refresh()}finally{this.highlighter=t}}adjustScroll(t,s){const h=this.tty.viewportRows();return t<s?t:t>=s+h?t-h+1:s}moveCursorBack(t){this.line.moveBack(t)&&(this.editing=!0,this.moveCursor())}moveCursorForward(t){this.line.moveForward(t)&&(this.editing=!0,this.moveCursor())}moveCursorUp(t){if(this.editing){this.line.moveLineUp(t,this.promptSize.col)&&this.moveCursor();return}this.previousHistory()}moveCursorDown(t){if(this.editing){this.line.moveLineDown(t,this.promptSize.col)&&this.moveCursor();return}this.nextHistory()}moveCursorHome(){this.line.moveHome()&&(this.editing=!0,this.moveCursor())}moveCursorEnd(){this.line.moveEnd()&&(this.editing=!0,this.moveCursor())}moveCursorToEnd(){this.line.pos!==this.line.buf.length&&(this.line.pos=this.line.buf.length,this.refresh())}previousHistory(){if(this.history.cursor===-1&&this.line.length()>0)return;const t=this.history.prev();t!==void 0&&this.update(t)}nextHistory(){if(this.history.cursor===-1)return;const t=this.history.next();t!==void 0?this.update(t):this.update(\"\")}moveCursor(){const t=this.tty.calculatePosition(this.line.pos_buffer(),this.promptSize);if(t===this.layout.cursor)return;const s=this.tty.viewportRows(),h=t.row>=this.layout.scrollOffset&&t.row<this.layout.scrollOffset+s;this.shouldHighlight()||!h?this.refresh():(this.tty.moveCursor(this.layout.cursor,t),this.layout.promptSize=Object.assign({},this.promptSize),this.layout.cursor=Object.assign({},t))}}return p.State=a,p}var _={},q;function X(){if(q)return _;q=1,Object.defineProperty(_,\"__esModule\",{value:!0}),_.History=void 0;class r{constructor(n){this.entries=[],this.cursor=-1,this.maxEntries=n}saveToLocalStorage(){const n=window?.localStorage;n!==void 0&&n.setItem(\"history\",JSON.stringify(this.entries))}restoreFromLocalStorage(){const n=window?.localStorage;if(n!==void 0){const i=n.getItem(\"history\");if(i==null)return;try{const l=JSON.parse(i);!Array.isArray(l)||l.find(o=>typeof o!=\"string\")!==void 0?(this.entries=[],n.setItem(\"history\",\"[]\")):this.entries=l}catch{this.entries=[],n.setItem(\"history\",\"[]\")}}}append(n){this.resetCursor(),this.entries.includes(n)?(this.entries.splice(this.entries.indexOf(n),1),this.entries.unshift(n)):this.entries.unshift(n),this.entries.length>this.maxEntries&&this.entries.pop(),this.saveToLocalStorage()}resetCursor(){this.cursor=-1}next(){if(this.cursor!==-1)return this.cursor-=1,this.entries[this.cursor]}prev(){if(!(this.cursor+1>=this.entries.length))return this.cursor+=1,this.entries[this.cursor]}}return _.History=r,_}var m={},K;function Z(){if(K)return m;K=1;var r=m&&m.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(m,\"__esModule\",{value:!0}),m.Tty=void 0;const d=r(T);class n{constructor(o,a,e,t,s=0){this.tabWidth=e,this.col=o,this.row=a,this.anchorRow=s,this.out=t}write(o){return this.out.write(o)}print(o){return this.out.print(o)}println(o){return this.out.println(o)}clearScreen(){this.out.write(\"\\x1B[H\\x1B[2J\")}viewportRows(){return Math.max(this.row-this.anchorRow,1)}calculatePosition(o,a){const e=Object.assign({},a);let t=0;return[...o].forEach(s=>{if(s===`\n`){e.row+=1,e.col=0;return}let h=0;if(s===\"\t\")h=this.tabWidth-e.col%this.tabWidth;else{let u;[u,t]=i(s,t),h=u}e.col+=h,e.col>this.col&&(e.row+=1,e.col=h)}),e.col===this.col&&(e.col=0,e.row+=1),e}computeLayout(o,a){const e=Object.assign({},o),t=a.pos,s=this.calculatePosition(a.buf.slice(0,a.pos),o),h=t===a.buf.length?Object.assign({},s):this.calculatePosition(a.buf.slice(t),s);return{promptSize:e,cursor:s,end:h,scrollOffset:0}}splitIntoVisualRows(o){const a=[];let e=\"\",t=0,s=0,h=\"\",u=\"\";const f=()=>{u.endsWith(\"m\")&&(u===\"\\x1B[0m\"||u===\"\\x1B[m\"||/^\\x1b\\[0(?:;0)*m$/.test(u)?h=\"\":h=u),u=\"\"};for(const c of[...o]){if(s!==0){e+=c,u+=c;const[,b]=i(c,s);s=b,s===0&&f();continue}if(c===\"\\x1B\"){e+=c,u=c;const[,b]=i(c,0);s=b,s===0&&f();continue}if(c===`\n`){a.push(e),e=h,t=0;continue}let w=0;c===\"\t\"?w=this.tabWidth-t%this.tabWidth:w=(0,d.default)(c),t+w>this.col?(a.push(e),e=h+c,t=w):(e+=c,t+=w)}return a.push(e),t===this.col&&t>0&&a.push(h),a}refreshLine(o,a,e,t,s){this.write(\"\\x1B[?25l\");try{this.refreshLineInner(o,a,e,t,s)}finally{this.write(\"\\x1B[?25h\")}}refreshLineInner(o,a,e,t,s){var h,u;const f=(h=e.scrollOffset)!==null&&h!==void 0?h:0,c=(u=t.scrollOffset)!==null&&u!==void 0?u:0,w=s.highlightPrompt(o)+s.highlight(a.buf,a.pos),b=this.splitIntoVisualRows(w),$=Math.max(e.cursor.row-f,0);let H=this.anchorRow+$;const O=Math.min(b.length,this.row),L=this.row-this.anchorRow;if(O>L&&this.anchorRow>0){const v=Math.min(O-L,this.anchorRow),U=this.row-1-H;U>0&&this.write(`\\x1B[${U}B`),this.write(`\n`.repeat(v)),this.anchorRow-=v,H=this.row-1}const A=H-this.anchorRow;A>0&&this.write(`\\x1B[${A}A`),this.write(\"\\r\\x1B[J\");const C=this.viewportRows();let g=c;t.cursor.row<g?g=t.cursor.row:t.cursor.row>=g+C&&(g=t.cursor.row-C+1),b.length<=C&&(g=0),g=Math.max(0,Math.min(g,b.length-C)),t.scrollOffset=g;const E=g,D=Math.min(b.length,E+C);for(let v=E;v<D;v++)v>E&&this.write(`\\r\n`),this.write(b[v]),this.write(\"\\x1B[0m\");const F=t.cursor.row-g,J=D-1-E,P=Math.max(J-F,0);P>0&&this.write(`\\x1B[${P}A`),t.cursor.col>0?this.write(`\\r\\x1B[${t.cursor.col}C`):this.write(\"\\r\")}moveCursor(o,a){if(a.row>o.row){const e=a.row-o.row;e===1?this.write(\"\\x1B[B\"):this.write(`\\x1B[${e}B`)}else if(a.row<o.row){const e=o.row-a.row;e===1?this.write(\"\\x1B[A\"):this.write(`\\x1B[${e}A`)}if(a.col>o.col){const e=a.col-o.col;e===1?this.write(\"\\x1B[C\"):this.write(`\\x1B[${e}C`)}else if(a.col<o.col){const e=o.col-a.col;e===1?this.write(\"\\x1B[D\"):this.write(`\\x1B[${e}D`)}}}m.Tty=n;function i(l,o){return o===1?l===\"[\"?[0,2]:[0,0]:o===2?l===\";\"||l[0]>=\"0\"&&l[0]<=\"9\"?[0,o]:[0,0]:l===\"\\x1B\"?[0,1]:l===`\n`?[0,o]:[(0,d.default)(l),o]}return m}var z;function tt(){if(z)return x;z=1,Object.defineProperty(x,\"__esModule\",{value:!0}),x.Readline=void 0;const r=N(),d=G(),n=X(),i=Z(),l=W();class o{constructor(){this.highlighter=new l.IdentityHighlighter,this.history=new n.History(50),this.disposables=[],this.watermark=0,this.highWatermark=1e4,this.lowWatermark=1e3,this.highWater=!1,this.state=new d.State(\">\",this.tty(),this.highlighter,this.history),this.checkHandler=()=>!0,this.ctrlCHandler=()=>{},this.pauseHandler=e=>{},this.history.restoreFromLocalStorage()}activate(e){this.term=e,this.disposables.push(this.term.onData(this.readData.bind(this))),this.disposables.push(this.term.onResize(({cols:t,rows:s})=>{const h=this.state.getTty();h.col=t,h.row=s,h.anchorRow>=s&&(h.anchorRow=Math.max(0,s-1)),this.activeRead!==void 0&&this.state.refresh()})),this.term.attachCustomKeyEventHandler(this.handleKeyEvent.bind(this))}dispose(){this.disposables.forEach(e=>e.dispose())}appendHistory(e){this.history.append(e)}setHighlighter(e){this.highlighter=e}setCheckHandler(e){this.checkHandler=e}setCtrlCHandler(e){this.ctrlCHandler=e}setPauseHandler(e){this.pauseHandler=e}writeReady(){return!this.highWater}write(e){e===`\n`?e=`\\r\n`:(e=e.replace(/^\\n/,`\\r\n`),e=e.replace(/([^\\r])\\n/g,`$1\\r\n`));const t=e.length;this.watermark+=t,this.watermark>this.highWatermark&&(this.highWater=!0),this.term&&this.term.write(e,()=>{this.watermark=Math.max(this.watermark-t,0),this.highWater&&this.watermark<this.lowWatermark&&(this.highWater=!1)})}print(e){return this.write(e)}println(e){return this.write(e+`\\r\n`)}getLine(){return this.state.buffer()}updateLine(e){return this.state.update(e)}output(){return this}tty(){var e,t;if(((t=(e=this.term)===null||e===void 0?void 0:e.options)===null||t===void 0?void 0:t.tabStopWidth)!==void 0){const s=this.term.buffer.active.cursorY;return new i.Tty(this.term.cols,this.term.rows,this.term.options.tabStopWidth,this.output(),s)}else return new i.Tty(0,0,8,this.output())}read(e){return new Promise((t,s)=>{if(this.term===void 0){s(\"addon is not active\");return}this.term.write(\"\",()=>{this.term!==void 0&&(this.state=new d.State(e,this.tty(),this.highlighter,this.history),this.state.refresh(),this.activeRead={prompt:e,resolve:t,reject:s})})})}handleKeyEvent(e){return e.key===\"Enter\"&&e.shiftKey?(e.type===\"keydown\"&&this.readKey({inputType:r.InputType.ShiftEnter,data:[\"\\r\"]}),!1):!0}readData(e){const t=(0,r.parseInput)(e);if(t.length>1||t[0].inputType===r.InputType.Text&&t[0].data.length>1){this.readPaste(t);return}this.readKey(t[0])}readPaste(e){const t=e.map(s=>s.inputType===r.InputType.Enter?{inputType:r.InputType.Text,data:[`\n`]}:s);for(const s of t)s.inputType===r.InputType.Text?this.state.editInsert(s.data.join(\"\")):this.readKey(s)}readKey(e){var t,s,h;if(this.activeRead===void 0){switch(e.inputType){case r.InputType.CtrlC:this.ctrlCHandler();break;case r.InputType.CtrlL:this.write(\"\\x1B[H\\x1B[2J\");break}return}switch(e.inputType){case r.InputType.Text:this.state.editInsert(e.data.join(\"\"));break;case r.InputType.AltEnter:case r.InputType.ShiftEnter:this.state.editInsert(`\n`);break;case r.InputType.Enter:this.checkHandler(this.state.buffer())?(this.state.moveCursorToEnd(),this.state.refreshUnhighlighted(),(t=this.term)===null||t===void 0||t.write(`\\r\n`),this.history.append(this.state.buffer()),(s=this.activeRead)===null||s===void 0||s.resolve(this.state.buffer()),this.activeRead=void 0):this.state.editInsert(`\n`);break;case r.InputType.CtrlC:this.state.moveCursorToEnd(),(h=this.term)===null||h===void 0||h.write(`^C\\r\n`),this.state=new d.State(this.activeRead.prompt,this.tty(),this.highlighter,this.history),this.state.refresh();break;case r.InputType.CtrlS:this.pauseHandler(!1);break;case r.InputType.CtrlU:this.state.update(\"\");break;case r.InputType.CtrlK:this.state.editDeleteEndOfLine();break;case r.InputType.CtrlQ:this.pauseHandler(!0);break;case r.InputType.CtrlL:this.state.clearScreen();break;case r.InputType.Home:case r.InputType.CtrlA:this.state.moveCursorHome();break;case r.InputType.End:case r.InputType.CtrlE:this.state.moveCursorEnd();break;case r.InputType.Backspace:this.state.editBackspace(1);break;case r.InputType.Delete:case r.InputType.CtrlD:this.state.editDelete(1);break;case r.InputType.ArrowLeft:this.state.moveCursorBack(1);break;case r.InputType.ArrowRight:this.state.moveCursorForward(1);break;case r.InputType.ArrowUp:this.state.moveCursorUp(1);break;case r.InputType.ArrowDown:this.state.moveCursorDown(1);break;case r.InputType.UnsupportedControlChar:case r.InputType.UnsupportedEscape:break}}}return x.Readline=o,x}var R=tt(),et=R.Readline,it=R.__esModule;export{et as Readline,it as __esModule,R as default};\n"],"names":["regex","onlyFirst","RegExp","undefined","ansiRegex","ambiguousRanges","fullwidthRanges","wideRanges","isInRange","ranges","codePoint","low","high","Math","floor","length","mid","i","wideFastPathStart","wideFastPathEnd","findWideFastPathRange","fastPathStart","fastPathEnd","index","start","end","eastAsianWidth","ambiguousAsWide","Number","isSafeInteger","TypeError","validate","isFullWidth","isWide","isAmbiguous","segmenter","Intl","Segmenter","zeroWidthClusterRegex","leadingNonPrintingRegex","rgiEmojiRegex","unqualifiedKeycapRegex","extendedPictographicRegex","isDoubleWidthNonRgiEmojiSequence","segment","test","includes","pictographics","match","baseVisible","replace","isZeroWidthCluster","isHangulLeadingJamo","isHangulVowelJamo","isHangulTrailingJamo","isHangulJamo","hangulClusterWidth","visibleSegment","eastAsianWidthOptions","codePoints","character","push","codePointAt","width","remaining","trailingHalfwidthWidth","extra","first","B","x","y","N","r","Object","defineProperty","value","InputType","parseInput","Array","from","l","o","Symbol","iterator","a","next","done","e","t","charCodeAt","inputType","Text","data","s","h","UnsupportedEscape","AltEnter","u","f","c","Delete","ArrowUp","ArrowDown","ArrowRight","ArrowLeft","End","Home","UnsupportedControlChar","CtrlA","CtrlC","CtrlD","CtrlE","CtrlK","CtrlQ","CtrlS","CtrlU","Enter","Backspace","CtrlL","n","ShiftEnter","M","p","k","I","j","T","input","options","ambiguousIsNarrow","countAnsiEscapeCodes","string","stripAnsi","hangulWidth","prototype","hasOwnProperty","call","default","S","W","IdentityHighlighter","highlight","highlightPrompt","highlightChar","G","__importDefault","__esModule","State","Layout","Position","d","LineBuffer","constructor","this","buf","pos","buffer","pos_buffer","slice","char_length","update","insert","moveBack","prevPos","moveForward","nextPos","moveHome","startOfLine","moveEnd","endOfLine","lastIndexOf","indexOf","moveLineUp","max","map","reduce","moveLineDown","set_pos","backspace","deleteEndOfLine","delete","row","col","promptSize","cursor","scrollOffset","line","highlighting","editing","prompt","tty","highlighter","history","calculatePosition","layout","getTty","shouldHighlight","clearScreen","anchorRow","refresh","editInsert","write","editBackspace","editDelete","editDeleteEndOfLine","computeLayout","adjustScroll","refreshLine","refreshUnhighlighted","viewportRows","moveCursorBack","moveCursor","moveCursorForward","moveCursorUp","previousHistory","moveCursorDown","nextHistory","moveCursorHome","moveCursorEnd","moveCursorToEnd","prev","assign","q","_","K","z","m","R","Readline","History","entries","maxEntries","saveToLocalStorage","window","localStorage","setItem","JSON","stringify","restoreFromLocalStorage","getItem","parse","isArray","find","append","resetCursor","splice","unshift","pop","Tty","tabWidth","out","print","println","forEach","splitIntoVisualRows","endsWith","b","w","refreshLineInner","$","H","O","min","L","v","U","repeat","A","C","g","E","D","F","J","P","Z","disposables","watermark","highWatermark","lowWatermark","highWater","state","checkHandler","ctrlCHandler","pauseHandler","activate","term","onData","readData","bind","onResize","cols","rows","activeRead","attachCustomKeyEventHandler","handleKeyEvent","dispose","appendHistory","setHighlighter","setCheckHandler","setCtrlCHandler","setPauseHandler","writeReady","getLine","updateLine","output","tabStopWidth","active","cursorY","read","Promise","resolve","reject","key","shiftKey","type","readKey","readPaste","join","tt","et","it"],"mappings":"AAEA,MAAMA,ECFS,UAAmBC,UAACA,GAAY,GAAS,CAAA,GAYvD,OAAO,IAAIC,OAFK,gJAEWD,OAAYE,EAAY,IACpD,CDXcC,GEAP,MAEMC,EAAkB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,SAI/iEC,EAAkB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,OAYtDC,EAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,M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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bundled by jsDelivr using Rollup
|
|
2
|
+
* Bundled by jsDelivr using Rollup v4.62.2 and esbuild v0.28.1.
|
|
3
3
|
* Original file: /npm/xterm-readline@1.2.2/lib/readline.js
|
|
4
4
|
*
|
|
5
5
|
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
|
|
6
6
|
*/
|
|
7
|
-
import t from"string-width";var e,s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},r={};Object.defineProperty(r,"__esModule",{value:!0}),r.InputType=void 0,r.parseInput=function(t){return Array.from(function*(t){let s=[];const i=t[Symbol.iterator]();for(let t=i.next();!t.done;t=i.next()){const r=t.value;if(r.length>1){s.push(r);continue}const h=r.charCodeAt(0);if(s.length>0&&(h<32||127===h)&&(yield{inputType:e.Text,data:s},s=[]),27!==h)if(h<32||127===h){let t=e.UnsupportedControlChar;switch(h){case 1:t=e.CtrlA;break;case 3:t=e.CtrlC;break;case 4:t=e.CtrlD;break;case 5:t=e.CtrlE;break;case 11:t=e.CtrlK;break;case 17:t=e.CtrlQ;break;case 19:t=e.CtrlS;break;case 21:t=e.CtrlU;break;case 13:t=e.Enter;break;case 127:t=e.Backspace;break;case 12:t=e.CtrlL}yield{inputType:t,data:[r]}}else s.push(r);else{const t=i.next();if(t.done){s.push("");continue}let r=e.UnsupportedEscape;if("["!==t.value){if("\r"===t.value)r=e.AltEnter;yield{inputType:r,data:["",t.value]};continue}const h=i.next();if(h.done)continue;if(h.value>="0"&&h.value<="9"){let t=h.value;const s=i.next();if(s.done)return;if(s.value>="0"&&s.value<="9")t+=s.value;else if("~"!==s.value)continue;if("3"===t)r=e.Delete;yield{inputType:r,data:["","[",t,"~"]};continue}switch(h.value){case"A":r=e.ArrowUp;break;case"B":r=e.ArrowDown;break;case"C":r=e.ArrowRight;break;case"D":r=e.ArrowLeft;break;case"F":r=e.End;break;case"H":r=e.Home;break;case"\r":r=e.AltEnter}yield{inputType:r,data:["","[",h.value]}}}s.length>0&&(yield{inputType:e.Text,data:s})}(t))},function(t){t[t.Text=0]="Text",t[t.AltEnter=1]="AltEnter",t[t.ArrowUp=2]="ArrowUp",t[t.ArrowDown=3]="ArrowDown",t[t.ArrowLeft=4]="ArrowLeft",t[t.ArrowRight=5]="ArrowRight",t[t.Delete=6]="Delete",t[t.Backspace=7]="Backspace",t[t.CtrlA=8]="CtrlA",t[t.CtrlC=9]="CtrlC",t[t.CtrlD=10]="CtrlD",t[t.CtrlE=11]="CtrlE",t[t.CtrlK=12]="CtrlK",t[t.CtrlL=13]="CtrlL",t[t.CtrlQ=14]="CtrlQ",t[t.CtrlS=15]="CtrlS",t[t.CtrlU=16]="CtrlU",t[t.End=17]="End",t[t.Enter=18]="Enter",t[t.Home=19]="Home",t[t.ShiftEnter=20]="ShiftEnter",t[t.UnsupportedControlChar=21]="UnsupportedControlChar",t[t.UnsupportedEscape=22]="UnsupportedEscape"}(e||(r.InputType=e={}));var h={},o={};Object.defineProperty(o,"__esModule",{value:!0}),o.LineBuffer=void 0;o.LineBuffer=class{constructor(){this.buf="",this.pos=0}buffer(){return this.buf}pos_buffer(){return this.buf.slice(0,this.pos)}length(){return this.buf.length}char_length(){return[...this.buf].length}update(t,e){this.buf=t,this.pos=e}insert(t){const e=t.length,s=this.pos===this.buf.length;return this.buf=s?this.buf+t:this.buf.slice(0,this.pos)+t+this.buf.slice(this.pos),this.pos+=e,s}moveBack(t){const e=this.prevPos(t);return void 0!==e&&(this.pos=e,!0)}moveForward(t){const e=this.nextPos(t);return void 0!==e&&(this.pos=e,!0)}moveHome(){const t=this.startOfLine();return this.pos>t&&(this.pos=t,!0)}moveEnd(){const t=this.endOfLine();return this.pos!==t&&(this.pos=t,!0)}startOfLine(){const t=this.buf.slice(0,this.pos).lastIndexOf("\n");return-1!==t?t+1:0}endOfLine(){const t=this.buf.slice(this.pos).indexOf("\n");return-1!==t?this.pos+t:this.buf.length}moveLineUp(t,e=0){const s=this.buf.slice(0,this.pos).lastIndexOf("\n");if(-1===s)return!1;const i=[...this.buf.slice(s+1,this.pos)].length;let r=this.buf.slice(0,s).lastIndexOf("\n"),h=-1===r;h?r=0:r+=1;let o=s;for(let e=1;e<t&&0!==r;e++)o=r-1,r=this.buf.slice(0,o).lastIndexOf("\n"),h=-1===r,h?r=0:r+=1;const n=h?Math.max(0,i-e):i,a=[...this.buf.slice(r,o)].slice(0,n);let l=s;return a.length>0&&(l=a.map((t=>t.length)).reduce(((t,e)=>t+e),0),l=r+l),this.pos=l,!0}moveLineDown(t,e=0){const s=this.buf.slice(this.pos).indexOf("\n");if(-1===s)return!1;let i=this.buf.slice(0,this.pos).lastIndexOf("\n");const r=-1===i;r?i=0:i+=1;const h=[...this.buf.slice(i,this.pos)].length,o=r?h+e:h;let n=this.pos+s+1,a=this.buf.slice(n).indexOf("\n");a=-1===a?this.buf.length:n+a;for(let e=1;e<t&&a!==this.buf.length;e++)n=a+1,a=this.buf.slice(n).indexOf("\n"),a=-1===a?this.buf.length:n+a;const l=[...this.buf.slice(n,a)];return o<l.length?this.pos=l.slice(0,o).map((t=>t.length)).reduce(((t,e)=>t+e),0)+n:this.pos=a,!0}set_pos(t){this.pos=t}prevPos(t){if(0===this.pos)return;const e=this.buf.slice(0,this.pos);return this.pos-[...e].slice(-t).map((t=>t.length)).reduce(((t,e)=>t+e),0)}nextPos(t){if(this.pos===this.buf.length)return;const e=this.buf.slice(this.pos);return this.pos+[...e].slice(0,t).map((t=>t.length)).reduce(((t,e)=>t+e),0)}backspace(t){const e=this.prevPos(t);return void 0!==e&&(this.buf=this.buf.slice(0,e)+this.buf.slice(this.pos),this.pos=e,!0)}delete(t){const e=this.nextPos(t);return void 0!==e&&(this.buf=this.buf.slice(0,this.pos)+this.buf.slice(e),!0)}deleteEndOfLine(){if(0==this.buf.length||this.pos==this.buf.length)return!1;const t=this.pos,e=this.endOfLine();return t==e?this.delete(1):this.buf=this.buf.slice(0,t)+this.buf.slice(e),!0}};var n={};Object.defineProperty(n,"__esModule",{value:!0}),n.IdentityHighlighter=void 0;n.IdentityHighlighter=class{highlight(t,e){return t}highlightPrompt(t){return t}highlightChar(t,e){return!1}};var a=s&&s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h,"__esModule",{value:!0}),h.State=h.Layout=h.Position=void 0;const l=o,u=a(t),c=n;class p{constructor(t,e){this.row=void 0!==t?t:0,this.col=void 0!==e?e:0}}h.Position=p;class d{constructor(t){this.promptSize=t,this.cursor=new p,this.end=new p,this.scrollOffset=0}}h.Layout=d;h.State=class{constructor(t,e,s,i){this.line=new l.LineBuffer,this.highlighting=!1,this.editing=!1,this.prompt=t,this.tty=e,this.highlighter=s,this.history=i,this.promptSize=e.calculatePosition(t,new p),this.layout=new d(this.promptSize)}buffer(){return this.line.buffer()}getTty(){return this.tty}shouldHighlight(){return this.highlighter.highlightChar(this.line.buf,this.line.pos)?(this.highlighting=!0,!0):!!this.highlighting&&(this.highlighting=!1,!0)}clearScreen(){this.tty.clearScreen(),this.tty.anchorRow=0,this.layout.cursor=new p,this.layout.end=new p,this.layout.scrollOffset=0,this.refresh()}editInsert(t){this.editing=!0;const e=this.line.insert(t),s=t.includes("\n");if(e&&!s){const e=(0,u.default)(t);e>0&&this.layout.cursor.col+e<this.tty.col&&!this.shouldHighlight()?(this.layout.cursor.col+=e,this.layout.end.col+=e,this.tty.write(t)):this.refresh()}else this.refresh()}update(t){this.line.update(t,t.length),this.editing=!1,this.refresh()}editBackspace(t){this.line.backspace(t)&&(this.editing=!0,this.refresh())}editDelete(t){this.line.delete(t)&&(this.editing=!0,this.refresh())}editDeleteEndOfLine(){this.line.deleteEndOfLine()&&(this.editing=!0,this.refresh())}refresh(){const t=this.tty.computeLayout(this.promptSize,this.line);t.scrollOffset=this.adjustScroll(t.cursor.row,this.layout.scrollOffset),this.tty.refreshLine(this.prompt,this.line,this.layout,t,this.highlighter),this.layout=t}refreshUnhighlighted(){const t=this.highlighter;this.highlighter=new c.IdentityHighlighter;try{this.refresh()}finally{this.highlighter=t}}adjustScroll(t,e){const s=this.tty.viewportRows();return t<e?t:t>=e+s?t-s+1:e}moveCursorBack(t){this.line.moveBack(t)&&(this.editing=!0,this.moveCursor())}moveCursorForward(t){this.line.moveForward(t)&&(this.editing=!0,this.moveCursor())}moveCursorUp(t){this.editing?this.line.moveLineUp(t,this.promptSize.col)&&this.moveCursor():this.previousHistory()}moveCursorDown(t){this.editing?this.line.moveLineDown(t,this.promptSize.col)&&this.moveCursor():this.nextHistory()}moveCursorHome(){this.line.moveHome()&&(this.editing=!0,this.moveCursor())}moveCursorEnd(){this.line.moveEnd()&&(this.editing=!0,this.moveCursor())}moveCursorToEnd(){this.line.pos!==this.line.buf.length&&(this.line.pos=this.line.buf.length,this.refresh())}previousHistory(){if(-1===this.history.cursor&&this.line.length()>0)return;const t=this.history.prev();void 0!==t&&this.update(t)}nextHistory(){if(-1===this.history.cursor)return;const t=this.history.next();void 0!==t?this.update(t):this.update("")}moveCursor(){const t=this.tty.calculatePosition(this.line.pos_buffer(),this.promptSize);if(t===this.layout.cursor)return;const e=this.tty.viewportRows(),s=t.row>=this.layout.scrollOffset&&t.row<this.layout.scrollOffset+e;this.shouldHighlight()||!s?this.refresh():(this.tty.moveCursor(this.layout.cursor,t),this.layout.promptSize=Object.assign({},this.promptSize),this.layout.cursor=Object.assign({},t))}};var f={};Object.defineProperty(f,"__esModule",{value:!0}),f.History=void 0;f.History=class{constructor(t){this.entries=[],this.cursor=-1,this.maxEntries=t}saveToLocalStorage(){const t=null===window||void 0===window?void 0:window.localStorage;void 0!==t&&t.setItem("history",JSON.stringify(this.entries))}restoreFromLocalStorage(){const t=null===window||void 0===window?void 0:window.localStorage;if(void 0!==t){const e=t.getItem("history");if(null==e)return;try{const s=JSON.parse(e);Array.isArray(s)&&void 0===s.find((t=>"string"!=typeof t))?this.entries=s:(this.entries=[],t.setItem("history","[]"))}catch(e){this.entries=[],t.setItem("history","[]")}}}append(t){this.resetCursor(),this.entries.includes(t)?(this.entries.splice(this.entries.indexOf(t),1),this.entries.unshift(t)):this.entries.unshift(t),this.entries.length>this.maxEntries&&this.entries.pop(),this.saveToLocalStorage()}resetCursor(){this.cursor=-1}next(){if(-1!==this.cursor)return this.cursor-=1,this.entries[this.cursor]}prev(){if(!(this.cursor+1>=this.entries.length))return this.cursor+=1,this.entries[this.cursor]}};var w={},y=s&&s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(w,"__esModule",{value:!0}),w.Tty=void 0;const g=y(t);function v(t,e){return 1===e?"["===t?[0,2]:[0,0]:2===e?";"===t||t[0]>="0"&&t[0]<="9"?[0,e]:[0,0]:""===t?[0,1]:"\n"===t?[0,e]:[(0,g.default)(t),e]}w.Tty=class{constructor(t,e,s,i,r=0){this.tabWidth=s,this.col=t,this.row=e,this.anchorRow=r,this.out=i}write(t){return this.out.write(t)}print(t){return this.out.print(t)}println(t){return this.out.println(t)}clearScreen(){this.out.write("[H[2J")}viewportRows(){return Math.max(this.row-this.anchorRow,1)}calculatePosition(t,e){const s=Object.assign({},e);let i=0;return[...t].forEach((t=>{if("\n"===t)return s.row+=1,void(s.col=0);let e=0;if("\t"===t)e=this.tabWidth-s.col%this.tabWidth;else{let s;[s,i]=v(t,i),e=s}s.col+=e,s.col>this.col&&(s.row+=1,s.col=e)})),s.col===this.col&&(s.col=0,s.row+=1),s}computeLayout(t,e){const s=Object.assign({},t),i=e.pos,r=this.calculatePosition(e.buf.slice(0,e.pos),t);return{promptSize:s,cursor:r,end:i===e.buf.length?Object.assign({},r):this.calculatePosition(e.buf.slice(i),r),scrollOffset:0}}splitIntoVisualRows(t){const e=[];let s="",i=0,r=0,h="",o="";const n=()=>{o.endsWith("m")&&(h="[0m"===o||"[m"===o||/^\x1b\[0(?:;0)*m$/.test(o)?"":o),o=""};for(const a of[...t]){if(0!==r){s+=a,o+=a;const[,t]=v(a,r);r=t,0===r&&n();continue}if(""===a){s+=a,o=a;const[,t]=v(a,0);r=t,0===r&&n();continue}if("\n"===a){e.push(s),s=h,i=0;continue}let t=0;t="\t"===a?this.tabWidth-i%this.tabWidth:(0,g.default)(a),i+t>this.col?(e.push(s),s=h+a,i=t):(s+=a,i+=t)}return e.push(s),i===this.col&&i>0&&e.push(h),e}refreshLine(t,e,s,i,r){this.write("[?25l");try{this.refreshLineInner(t,e,s,i,r)}finally{this.write("[?25h")}}refreshLineInner(t,e,s,i,r){var h,o;const n=null!==(h=s.scrollOffset)&&void 0!==h?h:0,a=null!==(o=i.scrollOffset)&&void 0!==o?o:0,l=r.highlightPrompt(t)+r.highlight(e.buf,e.pos),u=this.splitIntoVisualRows(l),c=Math.max(s.cursor.row-n,0);let p=this.anchorRow+c;const d=Math.min(u.length,this.row),f=this.row-this.anchorRow;if(d>f&&this.anchorRow>0){const t=Math.min(d-f,this.anchorRow),e=this.row-1-p;e>0&&this.write(`[${e}B`),this.write("\n".repeat(t)),this.anchorRow-=t,p=this.row-1}const w=p-this.anchorRow;w>0&&this.write(`[${w}A`),this.write("\r[J");const y=this.viewportRows();let g=a;i.cursor.row<g?g=i.cursor.row:i.cursor.row>=g+y&&(g=i.cursor.row-y+1),u.length<=y&&(g=0),g=Math.max(0,Math.min(g,u.length-y)),i.scrollOffset=g;const v=g,m=Math.min(u.length,v+y);for(let t=v;t<m;t++)t>v&&this.write("\r\n"),this.write(u[t]),this.write("[0m");const b=i.cursor.row-g,C=m-1-v,T=Math.max(C-b,0);T>0&&this.write(`[${T}A`),i.cursor.col>0?this.write(`\r[${i.cursor.col}C`):this.write("\r")}moveCursor(t,e){if(e.row>t.row){const s=e.row-t.row;1===s?this.write("[B"):this.write(`[${s}B`)}else if(e.row<t.row){const s=t.row-e.row;1===s?this.write("[A"):this.write(`[${s}A`)}if(e.col>t.col){const s=e.col-t.col;1===s?this.write("[C"):this.write(`[${s}C`)}else if(e.col<t.col){const s=t.col-e.col;1===s?this.write("[D"):this.write(`[${s}D`)}}},Object.defineProperty(i,"__esModule",{value:!0});var m=i.Readline=void 0;const b=r,C=h,T=f,k=w,I=n;m=i.Readline=class{constructor(){this.highlighter=new I.IdentityHighlighter,this.history=new T.History(50),this.disposables=[],this.watermark=0,this.highWatermark=1e4,this.lowWatermark=1e3,this.highWater=!1,this.state=new C.State(">",this.tty(),this.highlighter,this.history),this.checkHandler=()=>!0,this.ctrlCHandler=()=>{},this.pauseHandler=t=>{},this.history.restoreFromLocalStorage()}activate(t){this.term=t,this.disposables.push(this.term.onData(this.readData.bind(this))),this.disposables.push(this.term.onResize((({cols:t,rows:e})=>{const s=this.state.getTty();s.col=t,s.row=e,s.anchorRow>=e&&(s.anchorRow=Math.max(0,e-1)),void 0!==this.activeRead&&this.state.refresh()}))),this.term.attachCustomKeyEventHandler(this.handleKeyEvent.bind(this))}dispose(){this.disposables.forEach((t=>t.dispose()))}appendHistory(t){this.history.append(t)}setHighlighter(t){this.highlighter=t}setCheckHandler(t){this.checkHandler=t}setCtrlCHandler(t){this.ctrlCHandler=t}setPauseHandler(t){this.pauseHandler=t}writeReady(){return!this.highWater}write(t){const e=(t="\n"===t?"\r\n":(t=t.replace(/^\n/,"\r\n")).replace(/([^\r])\n/g,"$1\r\n")).length;this.watermark+=e,this.watermark>this.highWatermark&&(this.highWater=!0),this.term&&this.term.write(t,(()=>{this.watermark=Math.max(this.watermark-e,0),this.highWater&&this.watermark<this.lowWatermark&&(this.highWater=!1)}))}print(t){return this.write(t)}println(t){return this.write(t+"\r\n")}getLine(){return this.state.buffer()}updateLine(t){return this.state.update(t)}output(){return this}tty(){var t,e;if(void 0!==(null===(e=null===(t=this.term)||void 0===t?void 0:t.options)||void 0===e?void 0:e.tabStopWidth)){const t=this.term.buffer.active.cursorY;return new k.Tty(this.term.cols,this.term.rows,this.term.options.tabStopWidth,this.output(),t)}return new k.Tty(0,0,8,this.output())}read(t){return new Promise(((e,s)=>{void 0!==this.term?this.term.write("",(()=>{void 0!==this.term&&(this.state=new C.State(t,this.tty(),this.highlighter,this.history),this.state.refresh(),this.activeRead={prompt:t,resolve:e,reject:s})})):s("addon is not active")}))}handleKeyEvent(t){return"Enter"!==t.key||!t.shiftKey||("keydown"===t.type&&this.readKey({inputType:b.InputType.ShiftEnter,data:["\r"]}),!1)}readData(t){const e=(0,b.parseInput)(t);e.length>1||e[0].inputType===b.InputType.Text&&e[0].data.length>1?this.readPaste(e):this.readKey(e[0])}readPaste(t){const e=t.map((t=>t.inputType===b.InputType.Enter?{inputType:b.InputType.Text,data:["\n"]}:t));for(const t of e)t.inputType===b.InputType.Text?this.state.editInsert(t.data.join("")):this.readKey(t)}readKey(t){var e,s,i;if(void 0!==this.activeRead)switch(t.inputType){case b.InputType.Text:this.state.editInsert(t.data.join(""));break;case b.InputType.AltEnter:case b.InputType.ShiftEnter:this.state.editInsert("\n");break;case b.InputType.Enter:this.checkHandler(this.state.buffer())?(this.state.moveCursorToEnd(),this.state.refreshUnhighlighted(),null===(e=this.term)||void 0===e||e.write("\r\n"),this.history.append(this.state.buffer()),null===(s=this.activeRead)||void 0===s||s.resolve(this.state.buffer()),this.activeRead=void 0):this.state.editInsert("\n");break;case b.InputType.CtrlC:this.state.moveCursorToEnd(),null===(i=this.term)||void 0===i||i.write("^C\r\n"),this.state=new C.State(this.activeRead.prompt,this.tty(),this.highlighter,this.history),this.state.refresh();break;case b.InputType.CtrlS:this.pauseHandler(!1);break;case b.InputType.CtrlU:this.state.update("");break;case b.InputType.CtrlK:this.state.editDeleteEndOfLine();break;case b.InputType.CtrlQ:this.pauseHandler(!0);break;case b.InputType.CtrlL:this.state.clearScreen();break;case b.InputType.Home:case b.InputType.CtrlA:this.state.moveCursorHome();break;case b.InputType.End:case b.InputType.CtrlE:this.state.moveCursorEnd();break;case b.InputType.Backspace:this.state.editBackspace(1);break;case b.InputType.Delete:case b.InputType.CtrlD:this.state.editDelete(1);break;case b.InputType.ArrowLeft:this.state.moveCursorBack(1);break;case b.InputType.ArrowRight:this.state.moveCursorForward(1);break;case b.InputType.ArrowUp:this.state.moveCursorUp(1);break;case b.InputType.ArrowDown:this.state.moveCursorDown(1);case b.InputType.UnsupportedControlChar:case b.InputType.UnsupportedEscape:}else switch(t.inputType){case b.InputType.CtrlC:this.ctrlCHandler();break;case b.InputType.CtrlL:this.write("[H[2J")}}};var E=i.__esModule;export{m as Readline,E as __esModule,i as default};
|
|
7
|
+
import*as V from"string-width";function Q(r){return r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var x={},y={},B;function N(){if(B)return y;B=1,Object.defineProperty(y,"__esModule",{value:!0}),y.InputType=void 0,y.parseInput=d;var r;(function(i){i[i.Text=0]="Text",i[i.AltEnter=1]="AltEnter",i[i.ArrowUp=2]="ArrowUp",i[i.ArrowDown=3]="ArrowDown",i[i.ArrowLeft=4]="ArrowLeft",i[i.ArrowRight=5]="ArrowRight",i[i.Delete=6]="Delete",i[i.Backspace=7]="Backspace",i[i.CtrlA=8]="CtrlA",i[i.CtrlC=9]="CtrlC",i[i.CtrlD=10]="CtrlD",i[i.CtrlE=11]="CtrlE",i[i.CtrlK=12]="CtrlK",i[i.CtrlL=13]="CtrlL",i[i.CtrlQ=14]="CtrlQ",i[i.CtrlS=15]="CtrlS",i[i.CtrlU=16]="CtrlU",i[i.End=17]="End",i[i.Enter=18]="Enter",i[i.Home=19]="Home",i[i.ShiftEnter=20]="ShiftEnter",i[i.UnsupportedControlChar=21]="UnsupportedControlChar",i[i.UnsupportedEscape=22]="UnsupportedEscape"})(r||(y.InputType=r={}));function d(i){return Array.from(n(i))}function*n(i){let l=[];const o=i[Symbol.iterator]();for(let a=o.next();!a.done;a=o.next()){const e=a.value;if(e.length>1){l.push(e);continue}const t=e.charCodeAt(0);if(l.length>0&&(t<32||t===127)&&(yield{inputType:r.Text,data:l},l=[]),t===27){const s=o.next();if(s.done){l.push("\x1B");continue}let h=r.UnsupportedEscape;if(s.value!=="["){s.value==="\r"&&(h=r.AltEnter),yield{inputType:h,data:["\x1B",s.value]};continue}const u=o.next();if(u.done)continue;if(u.value>="0"&&u.value<="9"){let f=u.value;const c=o.next();if(c.done)return;if(c.value>="0"&&c.value<="9")f+=c.value;else if(c.value!=="~")continue;f==="3"&&(h=r.Delete),yield{inputType:h,data:["\x1B","[",f,"~"]};continue}switch(u.value){case"A":h=r.ArrowUp;break;case"B":h=r.ArrowDown;break;case"C":h=r.ArrowRight;break;case"D":h=r.ArrowLeft;break;case"F":h=r.End;break;case"H":h=r.Home;break;case"\r":h=r.AltEnter;break}yield{inputType:h,data:["\x1B","[",u.value]};continue}if(t<32||t===127){let s=r.UnsupportedControlChar;switch(t){case 1:s=r.CtrlA;break;case 3:s=r.CtrlC;break;case 4:s=r.CtrlD;break;case 5:s=r.CtrlE;break;case 11:s=r.CtrlK;break;case 17:s=r.CtrlQ;break;case 19:s=r.CtrlS;break;case 21:s=r.CtrlU;break;case 13:s=r.Enter;break;case 127:s=r.Backspace;break;case 12:s=r.CtrlL;break}yield{inputType:s,data:[e]};continue}l.push(e)}l.length>0&&(yield{inputType:r.Text,data:l})}return y}var p={},k={},M;function Y(){if(M)return k;M=1,Object.defineProperty(k,"__esModule",{value:!0}),k.LineBuffer=void 0;class r{constructor(){this.buf="",this.pos=0}buffer(){return this.buf}pos_buffer(){return this.buf.slice(0,this.pos)}length(){return this.buf.length}char_length(){return[...this.buf].length}update(n,i){this.buf=n,this.pos=i}insert(n){const i=n.length,l=this.pos===this.buf.length;return l?this.buf=this.buf+n:this.buf=this.buf.slice(0,this.pos)+n+this.buf.slice(this.pos),this.pos+=i,l}moveBack(n){const i=this.prevPos(n);return i!==void 0?(this.pos=i,!0):!1}moveForward(n){const i=this.nextPos(n);return i!==void 0?(this.pos=i,!0):!1}moveHome(){const n=this.startOfLine();return this.pos>n?(this.pos=n,!0):!1}moveEnd(){const n=this.endOfLine();return this.pos===n?!1:(this.pos=n,!0)}startOfLine(){const n=this.buf.slice(0,this.pos).lastIndexOf(`
|
|
8
|
+
`);return n!==-1?n+1:0}endOfLine(){const n=this.buf.slice(this.pos).indexOf(`
|
|
9
|
+
`);return n!==-1?this.pos+n:this.buf.length}moveLineUp(n,i=0){const l=this.buf.slice(0,this.pos).lastIndexOf(`
|
|
10
|
+
`);if(l===-1)return!1;const o=[...this.buf.slice(l+1,this.pos)].length;let a=this.buf.slice(0,l).lastIndexOf(`
|
|
11
|
+
`),e=a===-1;e?a=0:a=a+1;let t=l;for(let f=1;f<n&&a!==0;f++)t=a-1,a=this.buf.slice(0,t).lastIndexOf(`
|
|
12
|
+
`),e=a===-1,e?a=0:a=a+1;const s=e?Math.max(0,o-i):o,h=[...this.buf.slice(a,t)].slice(0,s);let u=l;return h.length>0&&(u=h.map(f=>f.length).reduce((f,c)=>f+c,0),u=a+u),this.pos=u,!0}moveLineDown(n,i=0){const l=this.buf.slice(this.pos).indexOf(`
|
|
13
|
+
`);if(l===-1)return!1;let o=this.buf.slice(0,this.pos).lastIndexOf(`
|
|
14
|
+
`);const a=o===-1;a?o=0:o+=1;const e=[...this.buf.slice(o,this.pos)].length,t=a?e+i:e;let s=this.pos+l+1,h=this.buf.slice(s).indexOf(`
|
|
15
|
+
`);h===-1?h=this.buf.length:h=s+h;for(let f=1;f<n&&h!==this.buf.length;f++)s=h+1,h=this.buf.slice(s).indexOf(`
|
|
16
|
+
`),h===-1?h=this.buf.length:h=s+h;const u=[...this.buf.slice(s,h)];return t<u.length?this.pos=u.slice(0,t).map(f=>f.length).reduce((f,c)=>f+c,0)+s:this.pos=h,!0}set_pos(n){this.pos=n}prevPos(n){if(this.pos===0)return;const i=this.buf.slice(0,this.pos);return this.pos-[...i].slice(-n).map(l=>l.length).reduce((l,o)=>l+o,0)}nextPos(n){if(this.pos===this.buf.length)return;const i=this.buf.slice(this.pos);return this.pos+[...i].slice(0,n).map(l=>l.length).reduce((l,o)=>l+o,0)}backspace(n){const i=this.prevPos(n);return i===void 0?!1:(this.buf=this.buf.slice(0,i)+this.buf.slice(this.pos),this.pos=i,!0)}delete(n){const i=this.nextPos(n);return i!==void 0?(this.buf=this.buf.slice(0,this.pos)+this.buf.slice(i),!0):!1}deleteEndOfLine(){if(this.buf.length==0||this.pos==this.buf.length)return!1;const n=this.pos,i=this.endOfLine();return n==i?this.delete(1):this.buf=this.buf.slice(0,n)+this.buf.slice(i),!0}}return k.LineBuffer=r,k}var T=Q(V),S={},I;function W(){if(I)return S;I=1,Object.defineProperty(S,"__esModule",{value:!0}),S.IdentityHighlighter=void 0;class r{highlight(n,i){return n}highlightPrompt(n){return n}highlightChar(n,i){return!1}}return S.IdentityHighlighter=r,S}var j;function G(){if(j)return p;j=1;var r=p&&p.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,"__esModule",{value:!0}),p.State=p.Layout=p.Position=void 0;const d=Y(),n=r(T),i=W();class l{constructor(t,s){t!==void 0?this.row=t:this.row=0,s!==void 0?this.col=s:this.col=0}}p.Position=l;class o{constructor(t){this.promptSize=t,this.cursor=new l,this.end=new l,this.scrollOffset=0}}p.Layout=o;class a{constructor(t,s,h,u){this.line=new d.LineBuffer,this.highlighting=!1,this.editing=!1,this.prompt=t,this.tty=s,this.highlighter=h,this.history=u,this.promptSize=s.calculatePosition(t,new l),this.layout=new o(this.promptSize)}buffer(){return this.line.buffer()}getTty(){return this.tty}shouldHighlight(){return this.highlighter.highlightChar(this.line.buf,this.line.pos)?(this.highlighting=!0,!0):this.highlighting?(this.highlighting=!1,!0):!1}clearScreen(){this.tty.clearScreen(),this.tty.anchorRow=0,this.layout.cursor=new l,this.layout.end=new l,this.layout.scrollOffset=0,this.refresh()}editInsert(t){this.editing=!0;const s=this.line.insert(t),h=t.includes(`
|
|
17
|
+
`);if(s&&!h){const u=(0,n.default)(t);u>0&&this.layout.cursor.col+u<this.tty.col&&!this.shouldHighlight()?(this.layout.cursor.col+=u,this.layout.end.col+=u,this.tty.write(t)):this.refresh()}else this.refresh()}update(t){this.line.update(t,t.length),this.editing=!1,this.refresh()}editBackspace(t){this.line.backspace(t)&&(this.editing=!0,this.refresh())}editDelete(t){this.line.delete(t)&&(this.editing=!0,this.refresh())}editDeleteEndOfLine(){this.line.deleteEndOfLine()&&(this.editing=!0,this.refresh())}refresh(){const t=this.tty.computeLayout(this.promptSize,this.line);t.scrollOffset=this.adjustScroll(t.cursor.row,this.layout.scrollOffset),this.tty.refreshLine(this.prompt,this.line,this.layout,t,this.highlighter),this.layout=t}refreshUnhighlighted(){const t=this.highlighter;this.highlighter=new i.IdentityHighlighter;try{this.refresh()}finally{this.highlighter=t}}adjustScroll(t,s){const h=this.tty.viewportRows();return t<s?t:t>=s+h?t-h+1:s}moveCursorBack(t){this.line.moveBack(t)&&(this.editing=!0,this.moveCursor())}moveCursorForward(t){this.line.moveForward(t)&&(this.editing=!0,this.moveCursor())}moveCursorUp(t){if(this.editing){this.line.moveLineUp(t,this.promptSize.col)&&this.moveCursor();return}this.previousHistory()}moveCursorDown(t){if(this.editing){this.line.moveLineDown(t,this.promptSize.col)&&this.moveCursor();return}this.nextHistory()}moveCursorHome(){this.line.moveHome()&&(this.editing=!0,this.moveCursor())}moveCursorEnd(){this.line.moveEnd()&&(this.editing=!0,this.moveCursor())}moveCursorToEnd(){this.line.pos!==this.line.buf.length&&(this.line.pos=this.line.buf.length,this.refresh())}previousHistory(){if(this.history.cursor===-1&&this.line.length()>0)return;const t=this.history.prev();t!==void 0&&this.update(t)}nextHistory(){if(this.history.cursor===-1)return;const t=this.history.next();t!==void 0?this.update(t):this.update("")}moveCursor(){const t=this.tty.calculatePosition(this.line.pos_buffer(),this.promptSize);if(t===this.layout.cursor)return;const s=this.tty.viewportRows(),h=t.row>=this.layout.scrollOffset&&t.row<this.layout.scrollOffset+s;this.shouldHighlight()||!h?this.refresh():(this.tty.moveCursor(this.layout.cursor,t),this.layout.promptSize=Object.assign({},this.promptSize),this.layout.cursor=Object.assign({},t))}}return p.State=a,p}var _={},q;function X(){if(q)return _;q=1,Object.defineProperty(_,"__esModule",{value:!0}),_.History=void 0;class r{constructor(n){this.entries=[],this.cursor=-1,this.maxEntries=n}saveToLocalStorage(){const n=window?.localStorage;n!==void 0&&n.setItem("history",JSON.stringify(this.entries))}restoreFromLocalStorage(){const n=window?.localStorage;if(n!==void 0){const i=n.getItem("history");if(i==null)return;try{const l=JSON.parse(i);!Array.isArray(l)||l.find(o=>typeof o!="string")!==void 0?(this.entries=[],n.setItem("history","[]")):this.entries=l}catch{this.entries=[],n.setItem("history","[]")}}}append(n){this.resetCursor(),this.entries.includes(n)?(this.entries.splice(this.entries.indexOf(n),1),this.entries.unshift(n)):this.entries.unshift(n),this.entries.length>this.maxEntries&&this.entries.pop(),this.saveToLocalStorage()}resetCursor(){this.cursor=-1}next(){if(this.cursor!==-1)return this.cursor-=1,this.entries[this.cursor]}prev(){if(!(this.cursor+1>=this.entries.length))return this.cursor+=1,this.entries[this.cursor]}}return _.History=r,_}var m={},K;function Z(){if(K)return m;K=1;var r=m&&m.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(m,"__esModule",{value:!0}),m.Tty=void 0;const d=r(T);class n{constructor(o,a,e,t,s=0){this.tabWidth=e,this.col=o,this.row=a,this.anchorRow=s,this.out=t}write(o){return this.out.write(o)}print(o){return this.out.print(o)}println(o){return this.out.println(o)}clearScreen(){this.out.write("\x1B[H\x1B[2J")}viewportRows(){return Math.max(this.row-this.anchorRow,1)}calculatePosition(o,a){const e=Object.assign({},a);let t=0;return[...o].forEach(s=>{if(s===`
|
|
18
|
+
`){e.row+=1,e.col=0;return}let h=0;if(s===" ")h=this.tabWidth-e.col%this.tabWidth;else{let u;[u,t]=i(s,t),h=u}e.col+=h,e.col>this.col&&(e.row+=1,e.col=h)}),e.col===this.col&&(e.col=0,e.row+=1),e}computeLayout(o,a){const e=Object.assign({},o),t=a.pos,s=this.calculatePosition(a.buf.slice(0,a.pos),o),h=t===a.buf.length?Object.assign({},s):this.calculatePosition(a.buf.slice(t),s);return{promptSize:e,cursor:s,end:h,scrollOffset:0}}splitIntoVisualRows(o){const a=[];let e="",t=0,s=0,h="",u="";const f=()=>{u.endsWith("m")&&(u==="\x1B[0m"||u==="\x1B[m"||/^\x1b\[0(?:;0)*m$/.test(u)?h="":h=u),u=""};for(const c of[...o]){if(s!==0){e+=c,u+=c;const[,b]=i(c,s);s=b,s===0&&f();continue}if(c==="\x1B"){e+=c,u=c;const[,b]=i(c,0);s=b,s===0&&f();continue}if(c===`
|
|
19
|
+
`){a.push(e),e=h,t=0;continue}let w=0;c===" "?w=this.tabWidth-t%this.tabWidth:w=(0,d.default)(c),t+w>this.col?(a.push(e),e=h+c,t=w):(e+=c,t+=w)}return a.push(e),t===this.col&&t>0&&a.push(h),a}refreshLine(o,a,e,t,s){this.write("\x1B[?25l");try{this.refreshLineInner(o,a,e,t,s)}finally{this.write("\x1B[?25h")}}refreshLineInner(o,a,e,t,s){var h,u;const f=(h=e.scrollOffset)!==null&&h!==void 0?h:0,c=(u=t.scrollOffset)!==null&&u!==void 0?u:0,w=s.highlightPrompt(o)+s.highlight(a.buf,a.pos),b=this.splitIntoVisualRows(w),$=Math.max(e.cursor.row-f,0);let H=this.anchorRow+$;const O=Math.min(b.length,this.row),L=this.row-this.anchorRow;if(O>L&&this.anchorRow>0){const v=Math.min(O-L,this.anchorRow),U=this.row-1-H;U>0&&this.write(`\x1B[${U}B`),this.write(`
|
|
20
|
+
`.repeat(v)),this.anchorRow-=v,H=this.row-1}const A=H-this.anchorRow;A>0&&this.write(`\x1B[${A}A`),this.write("\r\x1B[J");const C=this.viewportRows();let g=c;t.cursor.row<g?g=t.cursor.row:t.cursor.row>=g+C&&(g=t.cursor.row-C+1),b.length<=C&&(g=0),g=Math.max(0,Math.min(g,b.length-C)),t.scrollOffset=g;const E=g,D=Math.min(b.length,E+C);for(let v=E;v<D;v++)v>E&&this.write(`\r
|
|
21
|
+
`),this.write(b[v]),this.write("\x1B[0m");const F=t.cursor.row-g,J=D-1-E,P=Math.max(J-F,0);P>0&&this.write(`\x1B[${P}A`),t.cursor.col>0?this.write(`\r\x1B[${t.cursor.col}C`):this.write("\r")}moveCursor(o,a){if(a.row>o.row){const e=a.row-o.row;e===1?this.write("\x1B[B"):this.write(`\x1B[${e}B`)}else if(a.row<o.row){const e=o.row-a.row;e===1?this.write("\x1B[A"):this.write(`\x1B[${e}A`)}if(a.col>o.col){const e=a.col-o.col;e===1?this.write("\x1B[C"):this.write(`\x1B[${e}C`)}else if(a.col<o.col){const e=o.col-a.col;e===1?this.write("\x1B[D"):this.write(`\x1B[${e}D`)}}}m.Tty=n;function i(l,o){return o===1?l==="["?[0,2]:[0,0]:o===2?l===";"||l[0]>="0"&&l[0]<="9"?[0,o]:[0,0]:l==="\x1B"?[0,1]:l===`
|
|
22
|
+
`?[0,o]:[(0,d.default)(l),o]}return m}var z;function tt(){if(z)return x;z=1,Object.defineProperty(x,"__esModule",{value:!0}),x.Readline=void 0;const r=N(),d=G(),n=X(),i=Z(),l=W();class o{constructor(){this.highlighter=new l.IdentityHighlighter,this.history=new n.History(50),this.disposables=[],this.watermark=0,this.highWatermark=1e4,this.lowWatermark=1e3,this.highWater=!1,this.state=new d.State(">",this.tty(),this.highlighter,this.history),this.checkHandler=()=>!0,this.ctrlCHandler=()=>{},this.pauseHandler=e=>{},this.history.restoreFromLocalStorage()}activate(e){this.term=e,this.disposables.push(this.term.onData(this.readData.bind(this))),this.disposables.push(this.term.onResize(({cols:t,rows:s})=>{const h=this.state.getTty();h.col=t,h.row=s,h.anchorRow>=s&&(h.anchorRow=Math.max(0,s-1)),this.activeRead!==void 0&&this.state.refresh()})),this.term.attachCustomKeyEventHandler(this.handleKeyEvent.bind(this))}dispose(){this.disposables.forEach(e=>e.dispose())}appendHistory(e){this.history.append(e)}setHighlighter(e){this.highlighter=e}setCheckHandler(e){this.checkHandler=e}setCtrlCHandler(e){this.ctrlCHandler=e}setPauseHandler(e){this.pauseHandler=e}writeReady(){return!this.highWater}write(e){e===`
|
|
23
|
+
`?e=`\r
|
|
24
|
+
`:(e=e.replace(/^\n/,`\r
|
|
25
|
+
`),e=e.replace(/([^\r])\n/g,`$1\r
|
|
26
|
+
`));const t=e.length;this.watermark+=t,this.watermark>this.highWatermark&&(this.highWater=!0),this.term&&this.term.write(e,()=>{this.watermark=Math.max(this.watermark-t,0),this.highWater&&this.watermark<this.lowWatermark&&(this.highWater=!1)})}print(e){return this.write(e)}println(e){return this.write(e+`\r
|
|
27
|
+
`)}getLine(){return this.state.buffer()}updateLine(e){return this.state.update(e)}output(){return this}tty(){var e,t;if(((t=(e=this.term)===null||e===void 0?void 0:e.options)===null||t===void 0?void 0:t.tabStopWidth)!==void 0){const s=this.term.buffer.active.cursorY;return new i.Tty(this.term.cols,this.term.rows,this.term.options.tabStopWidth,this.output(),s)}else return new i.Tty(0,0,8,this.output())}read(e){return new Promise((t,s)=>{if(this.term===void 0){s("addon is not active");return}this.term.write("",()=>{this.term!==void 0&&(this.state=new d.State(e,this.tty(),this.highlighter,this.history),this.state.refresh(),this.activeRead={prompt:e,resolve:t,reject:s})})})}handleKeyEvent(e){return e.key==="Enter"&&e.shiftKey?(e.type==="keydown"&&this.readKey({inputType:r.InputType.ShiftEnter,data:["\r"]}),!1):!0}readData(e){const t=(0,r.parseInput)(e);if(t.length>1||t[0].inputType===r.InputType.Text&&t[0].data.length>1){this.readPaste(t);return}this.readKey(t[0])}readPaste(e){const t=e.map(s=>s.inputType===r.InputType.Enter?{inputType:r.InputType.Text,data:[`
|
|
28
|
+
`]}:s);for(const s of t)s.inputType===r.InputType.Text?this.state.editInsert(s.data.join("")):this.readKey(s)}readKey(e){var t,s,h;if(this.activeRead===void 0){switch(e.inputType){case r.InputType.CtrlC:this.ctrlCHandler();break;case r.InputType.CtrlL:this.write("\x1B[H\x1B[2J");break}return}switch(e.inputType){case r.InputType.Text:this.state.editInsert(e.data.join(""));break;case r.InputType.AltEnter:case r.InputType.ShiftEnter:this.state.editInsert(`
|
|
29
|
+
`);break;case r.InputType.Enter:this.checkHandler(this.state.buffer())?(this.state.moveCursorToEnd(),this.state.refreshUnhighlighted(),(t=this.term)===null||t===void 0||t.write(`\r
|
|
30
|
+
`),this.history.append(this.state.buffer()),(s=this.activeRead)===null||s===void 0||s.resolve(this.state.buffer()),this.activeRead=void 0):this.state.editInsert(`
|
|
31
|
+
`);break;case r.InputType.CtrlC:this.state.moveCursorToEnd(),(h=this.term)===null||h===void 0||h.write(`^C\r
|
|
32
|
+
`),this.state=new d.State(this.activeRead.prompt,this.tty(),this.highlighter,this.history),this.state.refresh();break;case r.InputType.CtrlS:this.pauseHandler(!1);break;case r.InputType.CtrlU:this.state.update("");break;case r.InputType.CtrlK:this.state.editDeleteEndOfLine();break;case r.InputType.CtrlQ:this.pauseHandler(!0);break;case r.InputType.CtrlL:this.state.clearScreen();break;case r.InputType.Home:case r.InputType.CtrlA:this.state.moveCursorHome();break;case r.InputType.End:case r.InputType.CtrlE:this.state.moveCursorEnd();break;case r.InputType.Backspace:this.state.editBackspace(1);break;case r.InputType.Delete:case r.InputType.CtrlD:this.state.editDelete(1);break;case r.InputType.ArrowLeft:this.state.moveCursorBack(1);break;case r.InputType.ArrowRight:this.state.moveCursorForward(1);break;case r.InputType.ArrowUp:this.state.moveCursorUp(1);break;case r.InputType.ArrowDown:this.state.moveCursorDown(1);break;case r.InputType.UnsupportedControlChar:case r.InputType.UnsupportedEscape:break}}}return x.Readline=o,x}var R=tt(),et=R.Readline,it=R.__esModule;export{et as Readline,it as __esModule,R as default};
|
package/src/plugins/py-editor.js
CHANGED
|
@@ -169,7 +169,11 @@ const replaceScript = (script, type) => {
|
|
|
169
169
|
const content = editor.state.doc.toString();
|
|
170
170
|
clone.textContent = content;
|
|
171
171
|
editors.delete(script);
|
|
172
|
-
|
|
172
|
+
// avoid throwing errors if the output was secified
|
|
173
|
+
const output = script.getAttribute("output");
|
|
174
|
+
const { nextElementSibling } = script;
|
|
175
|
+
if (output) nextElementSibling.replaceWith(document.getElementById(output));
|
|
176
|
+
else nextElementSibling.remove();
|
|
173
177
|
}
|
|
174
178
|
script.replaceWith(clone);
|
|
175
179
|
};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{T as e,c as t,X as n,d as r,a as o,r as s,o as i,H as a,s as c,w as l}from"./core-BrNc1IIg.js";import{notify as d}from"./error-DGunRiee.js";let u='<svg style="height:24px;width:24px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,12a1,1,0,0,1-.55.89l-10,5A1,1,0,0,1,8,18a1,1,0,0,1-.53-.15A1,1,0,0,1,7,17V7a1,1,0,0,1,1.45-.89l10,5A1,1,0,0,1,19,12Z" fill="#464646"/></svg>',p='<svg style="height:24px;width:24px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 7h10v10H7z" style="fill:#464646;stroke:#464646;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;paint-order:normal"/></svg>',f=0;const h=e=>`${e}-editor-${f++}`,g=new Map,v=new Map,m=new WeakMap,b={worker:{codeBeforeRun:()=>c,onReady:({runAsync:e,io:t},{sync:n})=>{t.stdout=t.buffered(n.write),t.stderr=t.buffered(n.writeErr),n.revoke(),n.runAsync=e}}},y=(e,t)=>{if("boolean"==typeof t)throw`Invalid source: ${e}`;return t},w=(e,t)=>{const n=e.closest(`.${t}-editor-box`);return n?.parentNode?.previousElementSibling};async function E({currentTarget:t,script:o},c=""){const{env:f,pySrc:h,outDiv:v}=this,m=!!t;if(m&&(t.classList.add("running"),t.innerHTML=p,v.innerHTML=""),!g.has(f)){const c=URL.createObjectURL(new Blob([""])),u={type:this.interpreter,serviceWorker:this.serviceWorker},{config:p}=this;if(p)try{if(u.configURL=s(p),p.endsWith(".toml")){const[{parse:e},t]=await Promise.all([import("./toml-Blg7Izee.js"),fetch(p).then(e=>e.ok&&e.text())]);u.config=e(y(p,t))}else if(p.endsWith(".json")){const e=await fetch(p).then(e=>e.ok&&e.json());u.config=y(p,e)}else u.configURL=s("./config.txt"),u.config=JSON.parse(p);u.version=i(u.config)}catch(e){return void d(e)}else u.config={};const h=n.call(new a(null,b),c,u);if(m)for(const n of e.keys())if(o=w(t,n))break;r(o,{xworker:{value:h}});const{sync:v}=h,{promise:E,resolve:k}=l();g.set(f,E),v.revoke=()=>{URL.revokeObjectURL(c),k(h)}}return g.get(f).then(e=>{e.onerror=({error:e})=>{m&&v.insertAdjacentHTML("beforeend",`<span style='color:red'>${e.message||e}</span>\n`),console.error(e)};const n=()=>{if(m){t.classList.remove("running"),t.innerHTML=u;const{previousElementSibling:e}=t.closest("[data-env]").parentElement;e?.dispatchEvent(new Event("py-editor:done",{bubbles:!0,cancelable:!0}))}},{sync:r}=e;r.write=e=>{m?v.innerText+=`${e}\n`:console.log(e)},r.writeErr=e=>{m?v.insertAdjacentHTML("beforeend",`<span style='color:red'>${e}</span>\n`):(d(e),console.error(e))},c&&(c+=";"),r.runAsync(c+h).then(n,n)})}const k=(e,t)=>{e.xworker?.terminate();const n=e.cloneNode(!0);n.type=`${t}-editor`;const r=m.get(e);if(r){const t=r.state.doc.toString();n.textContent=t,m.delete(e),e.nextElementSibling.remove()}e.replaceWith(n)},$=(t,n)=>{const r=document.createElement("div");r.className=`${n}-editor-input`,r.setAttribute("aria-label","Python Script Area");const o=((t,n)=>{const r=document.createElement("button");return r.className=`absolute ${n}-editor-run-button`,r.innerHTML=u,r.setAttribute("aria-label","Python Script Run Button"),r.addEventListener("click",async o=>{const s=w(r,n);if(r.classList.contains("running")&&confirm("Stop evaluating this code?")){if(s){const t=s.getAttribute("env");if(t)for(const[r,o]of e)if(r===n){v.delete(`${o}-${t}`),g.delete(`${o}-${t}`);break}if(s.xworker)k(s,n);else{const e=`script[type^="${n}-editor"][env="${t}"]`;for(const t of document.querySelectorAll(e))k(t,n)}}}else r.blur(),await t.handleEvent(o,s?.getAttribute("onbeforerun")||"")}),r})(t,n),s=document.createElement("div");return s.addEventListener("keydown",e=>{e.stopPropagation()}),r.append(o,s),r},x=(e,t,n)=>{const r=document.createElement("div");r.className=`${t}-editor-box`;const o=$(e,t),s=n?document.getElementById(n):(e=>{const t=document.createElement("div");return t.className=`${e}-editor-output`,t.id=`${h(e)}-output`,t})(t);return n&&s.classList.add(`${t}-editor-output`),r.append(o,s),[r,s,o.querySelector("button")]},A=async(e,s,i)=>{const[{basicSetup:a,EditorView:c},{Compartment:l},{python:f},{indentUnit:b},{keymap:w},{defaultKeymap:k,indentWithTab:$}]=await Promise.all([t.core,t.state,t.python,t.language,t.view,t.commands]);let A=e.hasAttribute("setup");const S=e.hasAttribute("config"),L=e.getAttribute("service-worker"),M=`${i}-${e.getAttribute("env")||h(s)}`,{dataset:T}=e;if(T.run&&(u=T.run),T.stop&&(p=T.stop),L&&(new n("data:application/javascript,postMessage(0)",{type:"dummy",serviceWorker:L}).onmessage=({target:e})=>e.terminate()),S&&v.has(M)){if(!e.hasAttribute("env-override"))throw new SyntaxError(v.get(M)?`duplicated config for env: ${M}`:`unable to add a config to the env: ${M}`);g.delete(M)}v.set(M,S);let j=e.textContent;const{src:R}=e;if(R)try{j=y(R,await fetch(R).then(e=>e.ok&&e.text()))}catch(e){return void d(e)}const C={handleEvent:E,serviceWorker:L,interpreter:i,env:M,config:S&&e.getAttribute("config"),get pySrc(){return A?j:G.state.doc.toString()},get outDiv(){return A?null:N}};let H;r(e,{target:{get:()=>H},handleEvent:{get:()=>C.handleEvent,set:e=>{C.handleEvent=e===E?E:async(t,n)=>{const{currentTarget:o}=t;r(t,{code:{value:C.pySrc}}),!1!==await e(t)&&await E.call(C,{currentTarget:o},n)}}},code:{get:()=>C.pySrc,set:e=>{A||G.update([G.state.update({changes:{from:0,to:G.state.doc.length,insert:e}})])}},process:{value(e,t=!1){if(t)return z();const n=A,r=j;A=!0,j=e;const o=()=>{A=n,j=r};return C.handleEvent({currentTarget:null}).then(o,o)}}});const W=()=>{const t=new Event(`${s}-editor`,{bubbles:!0});e.dispatchEvent(t)};if(A)return void C.handleEvent({currentTarget:null,script:e}).then(W);const U=e.getAttribute("target");if(U){if(H=document.getElementById(U)||document.querySelector(U),!H)throw new Error(`Unknown target ${U}`)}else H=document.createElement(`${s}-editor`),H.style.display="block",e.after(H);H.id||(H.id=h(s)),H.hasAttribute("exec-id")||H.setAttribute("exec-id",0),H.hasAttribute("root")||H.setAttribute("root",H.id);const[B,N,P]=x(C,s,e.getAttribute("output"));B.dataset.env=e.hasAttribute("env")?M:i;const q=B.querySelector(`.${s}-editor-input > div`).attachShadow({mode:"open"}),D=[":host { all: initial; }"],I=e.getAttribute("rows");if(I){const e=Math.floor(18.5*parseInt(I))+"px",t=Math.floor(55.5)+"px";D.push(`.cm-editor { height: auto; max-height: ${e}; min-height: ${t}; }`)}q.innerHTML=`<style>${D.join("\n")}</style>`,H.appendChild(B);const O=o(e.textContent).trim(),V=/^([ \t]+)/m.test(O)?RegExp.$1:" ",z=()=>!P.click(),G=new c({extensions:[b.of(V),(new l).of(f()),w.of([{key:"Ctrl-Enter",run:z,preventDefault:!0},{key:"Cmd-Enter",run:z,preventDefault:!0},{key:"Shift-Enter",run:z,preventDefault:!0},...k,$]),a],foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],parent:q,doc:O});m.set(e,G),G.focus(),W()};let S=0,L=Promise.resolve();const M=()=>{S=0,T()},T=()=>{if(!S){S=setTimeout(M,250);for(const[t,n]of e){const e=`script[type="${t}-editor"]`;for(const r of document.querySelectorAll(e))r.type+="-active",L=L.then(()=>A(r,t,n))}return L}};new MutationObserver(T).observe(document,{childList:!0,subtree:!0});var j=T();export{j as default};
|
|
2
|
-
//# sourceMappingURL=py-editor-B_2eMuPl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"py-editor-B_2eMuPl.js","sources":["../src/plugins/py-editor.js"],"sourcesContent":["// PyScript py-editor plugin\nimport withResolvers from \"@webreflection/utils/with-resolvers\";\nimport { Hook, XWorker, dedent, defineProperties } from \"polyscript/exports\";\nimport { TYPES, offline_interpreter, relative_url, stdlib } from \"../core.js\";\nimport { notify } from \"./error.js\";\nimport codemirror from \"./codemirror.js\";\n\n// Define the run and stop buttons as SVG icons\n// These can be replaced with custom icons if desired\n// through `data-run` and `data-stop` (dataset) attributes.\nlet RUN_BUTTON = `<svg style=\"height:24px;width:24px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19,12a1,1,0,0,1-.55.89l-10,5A1,1,0,0,1,8,18a1,1,0,0,1-.53-.15A1,1,0,0,1,7,17V7a1,1,0,0,1,1.45-.89l10,5A1,1,0,0,1,19,12Z\" fill=\"#464646\"/></svg>`;\nlet STOP_BUTTON = `<svg style=\"height:24px;width:24px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M7 7h10v10H7z\" style=\"fill:#464646;stroke:#464646;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;paint-order:normal\"/></svg>`;\n\nlet id = 0;\nconst getID = (type) => `${type}-editor-${id++}`;\n\nconst envs = new Map();\nconst configs = new Map();\nconst editors = new WeakMap();\n\nconst hooks = {\n worker: {\n codeBeforeRun: () => stdlib,\n // works on both Pyodide and MicroPython\n onReady: ({ runAsync, io }, { sync }) => {\n io.stdout = io.buffered(sync.write);\n io.stderr = io.buffered(sync.writeErr);\n sync.revoke();\n sync.runAsync = runAsync;\n },\n },\n};\n\nconst validate = (config, result) => {\n if (typeof result === \"boolean\") throw `Invalid source: ${config}`;\n return result;\n};\n\nconst getRelatedScript = (target, type) => {\n const editor = target.closest(`.${type}-editor-box`);\n return editor?.parentNode?.previousElementSibling;\n};\n\nasync function execute({ currentTarget, script }, onBeforeRun = \"\") {\n const { env, pySrc, outDiv } = this;\n const hasRunButton = !!currentTarget;\n\n if (hasRunButton) {\n currentTarget.classList.add(\"running\");\n currentTarget.innerHTML = STOP_BUTTON;\n outDiv.innerHTML = \"\";\n }\n\n if (!envs.has(env)) {\n const srcLink = URL.createObjectURL(new Blob([\"\"]));\n const details = {\n type: this.interpreter,\n serviceWorker: this.serviceWorker,\n };\n const { config } = this;\n if (config) {\n // verify that config can be parsed and used\n try {\n details.configURL = relative_url(config);\n if (config.endsWith(\".toml\")) {\n const [{ parse }, toml] = await Promise.all([\n import(\n /* webpackIgnore: true */ \"../3rd-party/toml.js\"\n ),\n fetch(config).then((r) => r.ok && r.text()),\n ]);\n details.config = parse(validate(config, toml));\n } else if (config.endsWith(\".json\")) {\n const json = await fetch(config).then(\n (r) => r.ok && r.json(),\n );\n details.config = validate(config, json);\n } else {\n details.configURL = relative_url(\"./config.txt\");\n details.config = JSON.parse(config);\n }\n details.version = offline_interpreter(details.config);\n } catch (error) {\n notify(error);\n return;\n }\n } else {\n details.config = {};\n }\n\n const xworker = XWorker.call(new Hook(null, hooks), srcLink, details);\n\n // expose xworker like in terminal or other workers to allow\n // creation and destruction of editors on the fly\n if (hasRunButton) {\n for (const type of TYPES.keys()) {\n script = getRelatedScript(currentTarget, type);\n if (script) break;\n }\n }\n\n defineProperties(script, { xworker: { value: xworker } });\n\n const { sync } = xworker;\n const { promise, resolve } = withResolvers();\n envs.set(env, promise);\n sync.revoke = () => {\n URL.revokeObjectURL(srcLink);\n resolve(xworker);\n };\n }\n\n // wait for the env then set the target div\n // before executing the current code\n return envs.get(env).then((xworker) => {\n xworker.onerror = ({ error }) => {\n if (hasRunButton) {\n outDiv.insertAdjacentHTML(\n \"beforeend\",\n `<span style='color:red'>${\n error.message || error\n }</span>\\n`,\n );\n }\n console.error(error);\n };\n\n const enable = () => {\n if (hasRunButton) {\n currentTarget.classList.remove(\"running\");\n currentTarget.innerHTML = RUN_BUTTON;\n const { previousElementSibling } =\n currentTarget.closest(\"[data-env]\").parentElement;\n previousElementSibling?.dispatchEvent(\n new Event(\"py-editor:done\", {\n bubbles: true,\n cancelable: true,\n }),\n );\n }\n };\n const { sync } = xworker;\n sync.write = (str) => {\n if (hasRunButton) outDiv.innerText += `${str}\\n`;\n else console.log(str);\n };\n sync.writeErr = (str) => {\n if (hasRunButton) {\n outDiv.insertAdjacentHTML(\n \"beforeend\",\n `<span style='color:red'>${str}</span>\\n`,\n );\n } else {\n notify(str);\n console.error(str);\n }\n };\n if (onBeforeRun) onBeforeRun += \";\";\n sync.runAsync(onBeforeRun + pySrc).then(enable, enable);\n });\n}\n\nconst replaceScript = (script, type) => {\n script.xworker?.terminate();\n const clone = script.cloneNode(true);\n clone.type = `${type}-editor`;\n const editor = editors.get(script);\n if (editor) {\n const content = editor.state.doc.toString();\n clone.textContent = content;\n editors.delete(script);\n script.nextElementSibling.remove();\n }\n script.replaceWith(clone);\n};\n\nconst makeRunButton = (handler, type) => {\n const runButton = document.createElement(\"button\");\n runButton.className = `absolute ${type}-editor-run-button`;\n runButton.innerHTML = RUN_BUTTON;\n runButton.setAttribute(\"aria-label\", \"Python Script Run Button\");\n runButton.addEventListener(\"click\", async (event) => {\n const script = getRelatedScript(runButton, type);\n if (\n runButton.classList.contains(\"running\") &&\n confirm(\"Stop evaluating this code?\")\n ) {\n if (script) {\n const env = script.getAttribute(\"env\");\n // remove the bootstrapped env which could be one or shared\n if (env) {\n for (const [key, value] of TYPES) {\n if (key === type) {\n configs.delete(`${value}-${env}`);\n envs.delete(`${value}-${env}`);\n break;\n }\n }\n }\n // lonley script without setup node should be replaced\n if (script.xworker) replaceScript(script, type);\n // all scripts sharing the same env should be replaced\n else {\n const sel = `script[type^=\"${type}-editor\"][env=\"${env}\"]`;\n for (const script of document.querySelectorAll(sel))\n replaceScript(script, type);\n }\n }\n return;\n }\n runButton.blur();\n await handler.handleEvent(\n event,\n script?.getAttribute(\"onbeforerun\") || \"\",\n );\n });\n return runButton;\n};\n\nconst makeEditorDiv = (handler, type) => {\n const editorDiv = document.createElement(\"div\");\n editorDiv.className = `${type}-editor-input`;\n editorDiv.setAttribute(\"aria-label\", \"Python Script Area\");\n\n const runButton = makeRunButton(handler, type);\n const editorShadowContainer = document.createElement(\"div\");\n\n // avoid outer elements intercepting key events (reveal as example)\n editorShadowContainer.addEventListener(\"keydown\", (event) => {\n event.stopPropagation();\n });\n\n editorDiv.append(runButton, editorShadowContainer);\n\n return editorDiv;\n};\n\nconst makeOutDiv = (type) => {\n const outDiv = document.createElement(\"div\");\n outDiv.className = `${type}-editor-output`;\n outDiv.id = `${getID(type)}-output`;\n return outDiv;\n};\n\nconst makeBoxDiv = (handler, type, output) => {\n const boxDiv = document.createElement(\"div\");\n boxDiv.className = `${type}-editor-box`;\n\n const editorDiv = makeEditorDiv(handler, type);\n // allow specifying an existing output div by id\n const outDiv = output ? document.getElementById(output) : makeOutDiv(type);\n if (output) outDiv.classList.add(`${type}-editor-output`);\n boxDiv.append(editorDiv, outDiv);\n\n return [boxDiv, outDiv, editorDiv.querySelector(\"button\")];\n};\n\nconst init = async (script, type, interpreter) => {\n const [\n { basicSetup, EditorView },\n { Compartment },\n { python },\n { indentUnit },\n { keymap },\n { defaultKeymap, indentWithTab },\n ] = await Promise.all([\n codemirror.core,\n codemirror.state,\n codemirror.python,\n codemirror.language,\n codemirror.view,\n codemirror.commands,\n ]);\n\n let isSetup = script.hasAttribute(\"setup\");\n const hasConfig = script.hasAttribute(\"config\");\n const serviceWorker = script.getAttribute(\"service-worker\");\n const env = `${interpreter}-${script.getAttribute(\"env\") || getID(type)}`;\n\n // allow specifying custom run and stop buttons through dataset attributes\n const { dataset } = script;\n if (dataset.run) RUN_BUTTON = dataset.run;\n if (dataset.stop) STOP_BUTTON = dataset.stop;\n\n // helps preventing too lazy ServiceWorker initialization on button run\n if (serviceWorker) {\n new XWorker(\"data:application/javascript,postMessage(0)\", {\n type: \"dummy\",\n serviceWorker,\n }).onmessage = ({ target }) => target.terminate();\n }\n\n // allow bootstrap with same env for repeated editor creation\n // only if `env-override` is explicitly set as attribute\n if (hasConfig && configs.has(env)) {\n if (script.hasAttribute(\"env-override\")) {\n // in this case we need to bootstrap the env again\n // because otherwise each env would leak\n envs.delete(env);\n } else {\n throw new SyntaxError(\n configs.get(env)\n ? `duplicated config for env: ${env}`\n : `unable to add a config to the env: ${env}`,\n );\n }\n }\n\n configs.set(env, hasConfig);\n\n let source = script.textContent;\n\n // verify the src points to a valid file that can be parsed\n const { src } = script;\n if (src) {\n try {\n source = validate(\n src,\n await fetch(src).then((b) => b.ok && b.text()),\n );\n } catch (error) {\n notify(error);\n return;\n }\n }\n\n const context = {\n // allow the listener to be overridden at distance\n handleEvent: execute,\n serviceWorker,\n interpreter,\n env,\n config: hasConfig && script.getAttribute(\"config\"),\n get pySrc() {\n return isSetup ? source : editor.state.doc.toString();\n },\n get outDiv() {\n return isSetup ? null : outDiv;\n },\n };\n\n let target;\n defineProperties(script, {\n target: { get: () => target },\n handleEvent: {\n get: () => context.handleEvent,\n set: (callback) => {\n // do not bother with logic if it was set back as its original handler\n if (callback === execute) context.handleEvent = execute;\n // in every other case be sure that if the listener override returned\n // `false` nothing happens, otherwise keep doing what it always did\n else {\n context.handleEvent = async (event, onBeforeRun) => {\n // trap the currentTarget ASAP (if any)\n // otherwise it gets lost asynchronously\n const { currentTarget } = event;\n // augment a code snapshot before invoking the override\n defineProperties(event, {\n code: { value: context.pySrc },\n });\n // avoid executing the default handler if the override returned `false`\n if ((await callback(event)) !== false)\n await execute.call(\n context,\n { currentTarget },\n onBeforeRun,\n );\n };\n }\n },\n },\n code: {\n get: () => context.pySrc,\n set: (insert) => {\n if (isSetup) return;\n editor.update([\n editor.state.update({\n changes: {\n from: 0,\n to: editor.state.doc.length,\n insert,\n },\n }),\n ]);\n },\n },\n process: {\n /**\n * Simulate a setup node overriding the source to evaluate.\n * @param {string} code the Python code to evaluate.\n * @param {boolean} asRunButtonAction invoke the `Run` button handler.\n * @returns {Promise<...>} fulfill once code has been evaluated.\n */\n value(code, asRunButtonAction = false) {\n if (asRunButtonAction) return listener();\n const wasSetup = isSetup;\n const wasSource = source;\n isSetup = true;\n source = code;\n const restore = () => {\n isSetup = wasSetup;\n source = wasSource;\n };\n return context\n .handleEvent({ currentTarget: null })\n .then(restore, restore);\n },\n },\n });\n\n const notifyEditor = () => {\n const event = new Event(`${type}-editor`, { bubbles: true });\n script.dispatchEvent(event);\n };\n\n if (isSetup) {\n context.handleEvent({ currentTarget: null, script }).then(notifyEditor);\n return;\n }\n\n const selector = script.getAttribute(\"target\");\n\n if (selector) {\n target =\n document.getElementById(selector) ||\n document.querySelector(selector);\n if (!target) throw new Error(`Unknown target ${selector}`);\n } else {\n target = document.createElement(`${type}-editor`);\n target.style.display = \"block\";\n script.after(target);\n }\n\n if (!target.id) target.id = getID(type);\n if (!target.hasAttribute(\"exec-id\")) target.setAttribute(\"exec-id\", 0);\n if (!target.hasAttribute(\"root\")) target.setAttribute(\"root\", target.id);\n\n // @see https://github.com/JeffersGlass/mkdocs-pyscript/blob/main/mkdocs_pyscript/js/makeblocks.js\n const [boxDiv, outDiv, runButton] = makeBoxDiv(\n context,\n type,\n script.getAttribute(\"output\"),\n );\n boxDiv.dataset.env = script.hasAttribute(\"env\") ? env : interpreter;\n\n const inputChild = boxDiv.querySelector(`.${type}-editor-input > div`);\n const parent = inputChild.attachShadow({ mode: \"open\" });\n // avoid inheriting styles from the outer component\n const styles = [\":host { all: initial; }\"];\n // allows max-rows which also enables min-rows\n // the editor grows up to all code in it by default otherwise\n const rows = script.getAttribute(\"rows\");\n if (rows) {\n const maxHeight = Math.floor(parseInt(rows) * 18.5) + \"px\";\n const minHeight = Math.floor(3 * 18.5) + \"px\";\n styles.push(\n `.cm-editor { height: auto; max-height: ${maxHeight}; min-height: ${minHeight}; }`,\n );\n }\n\n // inject the styles into the shadow DOM\n parent.innerHTML = `<style>${styles.join(\"\\n\")}</style>`;\n\n target.appendChild(boxDiv);\n\n const doc = dedent(script.textContent).trim();\n\n // preserve user indentation, if any\n const indentation = /^([ \\t]+)/m.test(doc) ? RegExp.$1 : \" \";\n\n const listener = () => !runButton.click();\n const editor = new EditorView({\n extensions: [\n indentUnit.of(indentation),\n new Compartment().of(python()),\n keymap.of([\n { key: \"Ctrl-Enter\", run: listener, preventDefault: true },\n { key: \"Cmd-Enter\", run: listener, preventDefault: true },\n { key: \"Shift-Enter\", run: listener, preventDefault: true },\n // Consider removing defaultKeymap as likely redundant with basicSetup\n ...defaultKeymap,\n // @see https://codemirror.net/examples/tab/\n indentWithTab,\n ]),\n basicSetup,\n ],\n foldGutter: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-foldgutter\"],\n parent,\n doc,\n });\n\n editors.set(script, editor);\n editor.focus();\n notifyEditor();\n};\n\n// avoid too greedy MutationObserver operations at distance\nlet timeout = 0;\n\n// avoid delayed initialization\nlet queue = Promise.resolve();\n\n// reset interval value then check for new scripts\nconst resetTimeout = () => {\n timeout = 0;\n pyEditor();\n};\n\n// triggered both ASAP on the living DOM and via MutationObserver later\nconst pyEditor = () => {\n if (timeout) return;\n timeout = setTimeout(resetTimeout, 250);\n for (const [type, interpreter] of TYPES) {\n const selector = `script[type=\"${type}-editor\"]`;\n for (const script of document.querySelectorAll(selector)) {\n // avoid any further bootstrap by changing the type as active\n script.type += \"-active\";\n // don't await in here or multiple calls might happen\n // while the first script is being initialized\n queue = queue.then(() => init(script, type, interpreter));\n }\n }\n return queue;\n};\n\nnew MutationObserver(pyEditor).observe(document, {\n childList: true,\n subtree: true,\n});\n\n// try to check the current document ASAP\nexport default pyEditor();\n"],"names":["RUN_BUTTON","STOP_BUTTON","id","getID","type","envs","Map","configs","editors","WeakMap","hooks","worker","codeBeforeRun","stdlib","onReady","runAsync","io","sync","stdout","buffered","write","stderr","writeErr","revoke","validate","config","result","getRelatedScript","target","editor","closest","parentNode","previousElementSibling","async","execute","currentTarget","script","onBeforeRun","env","pySrc","outDiv","this","hasRunButton","classList","add","innerHTML","has","srcLink","URL","createObjectURL","Blob","details","interpreter","serviceWorker","configURL","relative_url","endsWith","parse","toml","Promise","all","import","fetch","then","r","ok","text","json","JSON","version","offline_interpreter","error","notify","xworker","XWorker","call","Hook","TYPES","keys","defineProperties","value","promise","resolve","withResolvers","set","revokeObjectURL","get","onerror","insertAdjacentHTML","message","console","enable","remove","parentElement","dispatchEvent","Event","bubbles","cancelable","str","innerText","log","replaceScript","terminate","clone","cloneNode","content","state","doc","toString","textContent","delete","nextElementSibling","replaceWith","makeEditorDiv","handler","editorDiv","document","createElement","className","setAttribute","runButton","addEventListener","event","contains","confirm","getAttribute","key","sel","querySelectorAll","blur","handleEvent","makeRunButton","editorShadowContainer","stopPropagation","append","makeBoxDiv","output","boxDiv","getElementById","makeOutDiv","querySelector","init","basicSetup","EditorView","Compartment","python","indentUnit","keymap","defaultKeymap","indentWithTab","codemirror","core","language","view","commands","isSetup","hasAttribute","hasConfig","dataset","run","stop","onmessage","SyntaxError","source","src","b","context","callback","code","insert","update","changes","from","to","length","process","asRunButtonAction","listener","wasSetup","wasSource","restore","notifyEditor","selector","Error","style","display","after","parent","attachShadow","mode","styles","rows","maxHeight","Math","floor","parseInt","minHeight","push","join","appendChild","dedent","trim","indentation","test","RegExp","$1","click","extensions","of","preventDefault","foldGutter","gutters","focus","timeout","queue","resetTimeout","pyEditor","setTimeout","MutationObserver","observe","childList","subtree","pyEditor_default"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t=function({onlyFirst:t=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",t?void 0:"g")}();const e=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],s=[12288,12288,65281,65376,65504,65510],i=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],r=(t,e)=>{let s=0,i=Math.floor(t.length/2)-1;for(;s<=i;){const r=Math.floor((s+i)/2),o=2*r;if(e<t[o])i=r-1;else{if(!(e>t[o+1]))return!0;s=r+1}}return!1},[o,n]=h(i);function h(t){let e=t[0],s=t[1];for(let i=0;i<t.length;i+=2){const r=t[i],o=t[i+1];if(19968>=r&&19968<=o)return[r,o];o-r>s-e&&(e=r,s=o)}return[e,s]}function l(t,{ambiguousAsWide:h=!1}={}){return function(t){if(!Number.isSafeInteger(t))throw new TypeError(`Expected a code point, got \`${typeof t}\`.`)}(t),(t=>!(t<12288||t>65510)&&r(s,t))(t)||(t=>t>=o&&t<=n||!(t<4352||t>262141)&&r(i,t))(t)||h&&(t=>!(t<161||t>1114109)&&r(e,t))(t)?2:1}const a=new Intl.Segmenter,u=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Mark}|\p{Surrogate})+$/v,c=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v,p=/^\p{RGI_Emoji}$/v,d=/^[\d#*]\u20E3$/,f=/\p{Extended_Pictographic}/gu;function g(t){if(t.length>50)return!1;if(d.test(t))return!0;if(t.includes("")){const e=t.match(f);return null!==e&&e.length>=2}return!1}function w(t){return t.replace(c,"")}function y(t){return u.test(t)}function v(t){return t>=4352&&t<=4447||t>=43360&&t<=43388}function m(t){return t>=4448&&t<=4519||t>=55216&&t<=55238}function b(t){return t>=4520&&t<=4607||t>=55243&&t<=55291}function C(t){return v(t)||m(t)||b(t)}function T(t,e){const s=[];for(const e of t)u.test(e)||s.push(e.codePointAt(0));if(0===s.length)return;let i=0;for(let t=0;t<s.length;t++){const r=s[t];if(!C(r)){if(0===i)return;for(let r=t;r<s.length;r++)i+=l(s[r],e);return i}v(r)&&m(s[t+1])?(i+=2,t+=b(s[t+2])?2:1):i+=l(r,e)}return i}function k(t,e){let s=0,i=!0;for(const r of t)i?i=!1:r>=""&&r<=""&&(s+=l(r.codePointAt(0),e));return s}function I(e,s={}){if("string"!=typeof e||0===e.length)return 0;const{ambiguousIsNarrow:i=!0,countAnsiEscapeCodes:r=!1}=s;let o=e;if(r||!o.includes("")&&!o.includes("")||(o=function(e){if("string"!=typeof e)throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.includes("")||e.includes("")?e.replace(t,""):e}(o)),0===o.length)return 0;if(/^[\u0020-\u007E]*$/.test(o))return o.length;let n=0;const h={ambiguousAsWide:!i};for(const{segment:t}of a.segment(o)){if(y(t))continue;if(p.test(t)||g(t)){n+=2;continue}const e=w(t),s=T(e,h);if(void 0!==s){n+=s;continue}n+=l(e.codePointAt(0),h),n+=k(e,h)}return n}var E,x,S="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},O={},A={};Object.defineProperty(A,"__esModule",{value:!0}),A.InputType=void 0,A.parseInput=function(t){return Array.from(function*(t){let e=[];const s=t[Symbol.iterator]();for(let t=s.next();!t.done;t=s.next()){const i=t.value;if(i.length>1){e.push(i);continue}const r=i.charCodeAt(0);if(e.length>0&&(r<32||127===r)&&(yield{inputType:E.Text,data:e},e=[]),27!==r)if(r<32||127===r){let t=E.UnsupportedControlChar;switch(r){case 1:t=E.CtrlA;break;case 3:t=E.CtrlC;break;case 4:t=E.CtrlD;break;case 5:t=E.CtrlE;break;case 11:t=E.CtrlK;break;case 17:t=E.CtrlQ;break;case 19:t=E.CtrlS;break;case 21:t=E.CtrlU;break;case 13:t=E.Enter;break;case 127:t=E.Backspace;break;case 12:t=E.CtrlL}yield{inputType:t,data:[i]}}else e.push(i);else{const t=s.next();if(t.done){e.push("");continue}let i=E.UnsupportedEscape;if("["!==t.value){"\r"===t.value&&(i=E.AltEnter),yield{inputType:i,data:["",t.value]};continue}const r=s.next();if(r.done)continue;if(r.value>="0"&&r.value<="9"){let t=r.value;const e=s.next();if(e.done)return;if(e.value>="0"&&e.value<="9")t+=e.value;else if("~"!==e.value)continue;"3"===t&&(i=E.Delete),yield{inputType:i,data:["","[",t,"~"]};continue}switch(r.value){case"A":i=E.ArrowUp;break;case"B":i=E.ArrowDown;break;case"C":i=E.ArrowRight;break;case"D":i=E.ArrowLeft;break;case"F":i=E.End;break;case"H":i=E.Home;break;case"\r":i=E.AltEnter}yield{inputType:i,data:["","[",r.value]}}}e.length>0&&(yield{inputType:E.Text,data:e})}(t))},(x=E||(A.InputType=E={}))[x.Text=0]="Text",x[x.AltEnter=1]="AltEnter",x[x.ArrowUp=2]="ArrowUp",x[x.ArrowDown=3]="ArrowDown",x[x.ArrowLeft=4]="ArrowLeft",x[x.ArrowRight=5]="ArrowRight",x[x.Delete=6]="Delete",x[x.Backspace=7]="Backspace",x[x.CtrlA=8]="CtrlA",x[x.CtrlC=9]="CtrlC",x[x.CtrlD=10]="CtrlD",x[x.CtrlE=11]="CtrlE",x[x.CtrlK=12]="CtrlK",x[x.CtrlL=13]="CtrlL",x[x.CtrlQ=14]="CtrlQ",x[x.CtrlS=15]="CtrlS",x[x.CtrlU=16]="CtrlU",x[x.End=17]="End",x[x.Enter=18]="Enter",x[x.Home=19]="Home",x[x.ShiftEnter=20]="ShiftEnter",x[x.UnsupportedControlChar=21]="UnsupportedControlChar",x[x.UnsupportedEscape=22]="UnsupportedEscape";var H={},L={};Object.defineProperty(L,"__esModule",{value:!0}),L.LineBuffer=void 0,L.LineBuffer=class{constructor(){this.buf="",this.pos=0}buffer(){return this.buf}pos_buffer(){return this.buf.slice(0,this.pos)}length(){return this.buf.length}char_length(){return[...this.buf].length}update(t,e){this.buf=t,this.pos=e}insert(t){const e=t.length,s=this.pos===this.buf.length;return this.buf=s?this.buf+t:this.buf.slice(0,this.pos)+t+this.buf.slice(this.pos),this.pos+=e,s}moveBack(t){const e=this.prevPos(t);return void 0!==e&&(this.pos=e,!0)}moveForward(t){const e=this.nextPos(t);return void 0!==e&&(this.pos=e,!0)}moveHome(){const t=this.startOfLine();return this.pos>t&&(this.pos=t,!0)}moveEnd(){const t=this.endOfLine();return this.pos!==t&&(this.pos=t,!0)}startOfLine(){const t=this.buf.slice(0,this.pos).lastIndexOf("\n");return-1!==t?t+1:0}endOfLine(){const t=this.buf.slice(this.pos).indexOf("\n");return-1!==t?this.pos+t:this.buf.length}moveLineUp(t,e=0){const s=this.buf.slice(0,this.pos).lastIndexOf("\n");if(-1===s)return!1;const i=[...this.buf.slice(s+1,this.pos)].length;let r=this.buf.slice(0,s).lastIndexOf("\n"),o=-1===r;o?r=0:r+=1;let n=s;for(let e=1;e<t&&0!==r;e++)n=r-1,r=this.buf.slice(0,n).lastIndexOf("\n"),o=-1===r,o?r=0:r+=1;const h=o?Math.max(0,i-e):i,l=[...this.buf.slice(r,n)].slice(0,h);let a=s;return l.length>0&&(a=l.map(t=>t.length).reduce((t,e)=>t+e,0),a=r+a),this.pos=a,!0}moveLineDown(t,e=0){const s=this.buf.slice(this.pos).indexOf("\n");if(-1===s)return!1;let i=this.buf.slice(0,this.pos).lastIndexOf("\n");const r=-1===i;r?i=0:i+=1;const o=[...this.buf.slice(i,this.pos)].length,n=r?o+e:o;let h=this.pos+s+1,l=this.buf.slice(h).indexOf("\n");l=-1===l?this.buf.length:h+l;for(let e=1;e<t&&l!==this.buf.length;e++)h=l+1,l=this.buf.slice(h).indexOf("\n"),l=-1===l?this.buf.length:h+l;const a=[...this.buf.slice(h,l)];return n<a.length?this.pos=a.slice(0,n).map(t=>t.length).reduce((t,e)=>t+e,0)+h:this.pos=l,!0}set_pos(t){this.pos=t}prevPos(t){if(0===this.pos)return;const e=this.buf.slice(0,this.pos);return this.pos-[...e].slice(-t).map(t=>t.length).reduce((t,e)=>t+e,0)}nextPos(t){if(this.pos===this.buf.length)return;const e=this.buf.slice(this.pos);return this.pos+[...e].slice(0,t).map(t=>t.length).reduce((t,e)=>t+e,0)}backspace(t){const e=this.prevPos(t);return void 0!==e&&(this.buf=this.buf.slice(0,e)+this.buf.slice(this.pos),this.pos=e,!0)}delete(t){const e=this.nextPos(t);return void 0!==e&&(this.buf=this.buf.slice(0,this.pos)+this.buf.slice(e),!0)}deleteEndOfLine(){if(0==this.buf.length||this.pos==this.buf.length)return!1;const t=this.pos,e=this.endOfLine();return t==e?this.delete(1):this.buf=this.buf.slice(0,t)+this.buf.slice(e),!0}};var _={};Object.defineProperty(_,"__esModule",{value:!0}),_.IdentityHighlighter=void 0,_.IdentityHighlighter=class{highlight(t,e){return t}highlightPrompt(t){return t}highlightChar(t,e){return!1}};var R=S&&S.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(H,"__esModule",{value:!0}),H.State=H.Layout=H.Position=void 0;const P=L,D=R(I),M=_;class U{constructor(t,e){this.row=void 0!==t?t:0,this.col=void 0!==e?e:0}}H.Position=U;class B{constructor(t){this.promptSize=t,this.cursor=new U,this.end=new U,this.scrollOffset=0}}H.Layout=B,H.State=class{constructor(t,e,s,i){this.line=new P.LineBuffer,this.highlighting=!1,this.editing=!1,this.prompt=t,this.tty=e,this.highlighter=s,this.history=i,this.promptSize=e.calculatePosition(t,new U),this.layout=new B(this.promptSize)}buffer(){return this.line.buffer()}getTty(){return this.tty}shouldHighlight(){return this.highlighter.highlightChar(this.line.buf,this.line.pos)?(this.highlighting=!0,!0):!!this.highlighting&&(this.highlighting=!1,!0)}clearScreen(){this.tty.clearScreen(),this.tty.anchorRow=0,this.layout.cursor=new U,this.layout.end=new U,this.layout.scrollOffset=0,this.refresh()}editInsert(t){this.editing=!0;const e=this.line.insert(t),s=t.includes("\n");if(e&&!s){const e=(0,D.default)(t);e>0&&this.layout.cursor.col+e<this.tty.col&&!this.shouldHighlight()?(this.layout.cursor.col+=e,this.layout.end.col+=e,this.tty.write(t)):this.refresh()}else this.refresh()}update(t){this.line.update(t,t.length),this.editing=!1,this.refresh()}editBackspace(t){this.line.backspace(t)&&(this.editing=!0,this.refresh())}editDelete(t){this.line.delete(t)&&(this.editing=!0,this.refresh())}editDeleteEndOfLine(){this.line.deleteEndOfLine()&&(this.editing=!0,this.refresh())}refresh(){const t=this.tty.computeLayout(this.promptSize,this.line);t.scrollOffset=this.adjustScroll(t.cursor.row,this.layout.scrollOffset),this.tty.refreshLine(this.prompt,this.line,this.layout,t,this.highlighter),this.layout=t}refreshUnhighlighted(){const t=this.highlighter;this.highlighter=new M.IdentityHighlighter;try{this.refresh()}finally{this.highlighter=t}}adjustScroll(t,e){const s=this.tty.viewportRows();return t<e?t:t>=e+s?t-s+1:e}moveCursorBack(t){this.line.moveBack(t)&&(this.editing=!0,this.moveCursor())}moveCursorForward(t){this.line.moveForward(t)&&(this.editing=!0,this.moveCursor())}moveCursorUp(t){this.editing?this.line.moveLineUp(t,this.promptSize.col)&&this.moveCursor():this.previousHistory()}moveCursorDown(t){this.editing?this.line.moveLineDown(t,this.promptSize.col)&&this.moveCursor():this.nextHistory()}moveCursorHome(){this.line.moveHome()&&(this.editing=!0,this.moveCursor())}moveCursorEnd(){this.line.moveEnd()&&(this.editing=!0,this.moveCursor())}moveCursorToEnd(){this.line.pos!==this.line.buf.length&&(this.line.pos=this.line.buf.length,this.refresh())}previousHistory(){if(-1===this.history.cursor&&this.line.length()>0)return;const t=this.history.prev();void 0!==t&&this.update(t)}nextHistory(){if(-1===this.history.cursor)return;const t=this.history.next();void 0!==t?this.update(t):this.update("")}moveCursor(){const t=this.tty.calculatePosition(this.line.pos_buffer(),this.promptSize);if(t===this.layout.cursor)return;const e=this.tty.viewportRows(),s=t.row>=this.layout.scrollOffset&&t.row<this.layout.scrollOffset+e;this.shouldHighlight()||!s?this.refresh():(this.tty.moveCursor(this.layout.cursor,t),this.layout.promptSize=Object.assign({},this.promptSize),this.layout.cursor=Object.assign({},t))}};var W={};Object.defineProperty(W,"__esModule",{value:!0}),W.History=void 0,W.History=class{constructor(t){this.entries=[],this.cursor=-1,this.maxEntries=t}saveToLocalStorage(){const t=null===window||void 0===window?void 0:window.localStorage;void 0!==t&&t.setItem("history",JSON.stringify(this.entries))}restoreFromLocalStorage(){const t=null===window||void 0===window?void 0:window.localStorage;if(void 0!==t){const e=t.getItem("history");if(null==e)return;try{const s=JSON.parse(e);Array.isArray(s)&&void 0===s.find(t=>"string"!=typeof t)?this.entries=s:(this.entries=[],t.setItem("history","[]"))}catch(e){this.entries=[],t.setItem("history","[]")}}}append(t){this.resetCursor(),this.entries.includes(t)?(this.entries.splice(this.entries.indexOf(t),1),this.entries.unshift(t)):this.entries.unshift(t),this.entries.length>this.maxEntries&&this.entries.pop(),this.saveToLocalStorage()}resetCursor(){this.cursor=-1}next(){if(-1!==this.cursor)return this.cursor-=1,this.entries[this.cursor]}prev(){if(!(this.cursor+1>=this.entries.length))return this.cursor+=1,this.entries[this.cursor]}};var j={},$=S&&S.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(j,"__esModule",{value:!0}),j.Tty=void 0;const K=$(I);function z(t,e){return 1===e?"["===t?[0,2]:[0,0]:2===e?";"===t||t[0]>="0"&&t[0]<="9"?[0,e]:[0,0]:""===t?[0,1]:"\n"===t?[0,e]:[(0,K.default)(t),e]}j.Tty=class{constructor(t,e,s,i,r=0){this.tabWidth=s,this.col=t,this.row=e,this.anchorRow=r,this.out=i}write(t){return this.out.write(t)}print(t){return this.out.print(t)}println(t){return this.out.println(t)}clearScreen(){this.out.write("[H[2J")}viewportRows(){return Math.max(this.row-this.anchorRow,1)}calculatePosition(t,e){const s=Object.assign({},e);let i=0;return[...t].forEach(t=>{if("\n"===t)return s.row+=1,void(s.col=0);let e=0;if("\t"===t)e=this.tabWidth-s.col%this.tabWidth;else{let s;[s,i]=z(t,i),e=s}s.col+=e,s.col>this.col&&(s.row+=1,s.col=e)}),s.col===this.col&&(s.col=0,s.row+=1),s}computeLayout(t,e){const s=Object.assign({},t),i=e.pos,r=this.calculatePosition(e.buf.slice(0,e.pos),t);return{promptSize:s,cursor:r,end:i===e.buf.length?Object.assign({},r):this.calculatePosition(e.buf.slice(i),r),scrollOffset:0}}splitIntoVisualRows(t){const e=[];let s="",i=0,r=0,o="",n="";const h=()=>{n.endsWith("m")&&(o="[0m"===n||"[m"===n||/^\x1b\[0(?:;0)*m$/.test(n)?"":n),n=""};for(const l of[...t]){if(0!==r){s+=l,n+=l;const[,t]=z(l,r);r=t,0===r&&h();continue}if(""===l){s+=l,n=l;const[,t]=z(l,0);r=t,0===r&&h();continue}if("\n"===l){e.push(s),s=o,i=0;continue}let t=0;t="\t"===l?this.tabWidth-i%this.tabWidth:(0,K.default)(l),i+t>this.col?(e.push(s),s=o+l,i=t):(s+=l,i+=t)}return e.push(s),i===this.col&&i>0&&e.push(o),e}refreshLine(t,e,s,i,r){this.write("[?25l");try{this.refreshLineInner(t,e,s,i,r)}finally{this.write("[?25h")}}refreshLineInner(t,e,s,i,r){var o,n;const h=null!==(o=s.scrollOffset)&&void 0!==o?o:0,l=null!==(n=i.scrollOffset)&&void 0!==n?n:0,a=r.highlightPrompt(t)+r.highlight(e.buf,e.pos),u=this.splitIntoVisualRows(a),c=Math.max(s.cursor.row-h,0);let p=this.anchorRow+c;const d=Math.min(u.length,this.row),f=this.row-this.anchorRow;if(d>f&&this.anchorRow>0){const t=Math.min(d-f,this.anchorRow),e=this.row-1-p;e>0&&this.write(`[${e}B`),this.write("\n".repeat(t)),this.anchorRow-=t,p=this.row-1}const g=p-this.anchorRow;g>0&&this.write(`[${g}A`),this.write("\r[J");const w=this.viewportRows();let y=l;i.cursor.row<y?y=i.cursor.row:i.cursor.row>=y+w&&(y=i.cursor.row-w+1),u.length<=w&&(y=0),y=Math.max(0,Math.min(y,u.length-w)),i.scrollOffset=y;const v=y,m=Math.min(u.length,v+w);for(let t=v;t<m;t++)t>v&&this.write("\r\n"),this.write(u[t]),this.write("[0m");const b=i.cursor.row-y,C=m-1-v,T=Math.max(C-b,0);T>0&&this.write(`[${T}A`),i.cursor.col>0?this.write(`\r[${i.cursor.col}C`):this.write("\r")}moveCursor(t,e){if(e.row>t.row){const s=e.row-t.row;1===s?this.write("[B"):this.write(`[${s}B`)}else if(e.row<t.row){const s=t.row-e.row;1===s?this.write("[A"):this.write(`[${s}A`)}if(e.col>t.col){const s=e.col-t.col;1===s?this.write("[C"):this.write(`[${s}C`)}else if(e.col<t.col){const s=t.col-e.col;1===s?this.write("[D"):this.write(`[${s}D`)}}},Object.defineProperty(O,"__esModule",{value:!0});var F=O.Readline=void 0;const J=A,N=H,Q=W,V=j,q=_;F=O.Readline=class{constructor(){this.highlighter=new q.IdentityHighlighter,this.history=new Q.History(50),this.disposables=[],this.watermark=0,this.highWatermark=1e4,this.lowWatermark=1e3,this.highWater=!1,this.state=new N.State(">",this.tty(),this.highlighter,this.history),this.checkHandler=()=>!0,this.ctrlCHandler=()=>{},this.pauseHandler=t=>{},this.history.restoreFromLocalStorage()}activate(t){this.term=t,this.disposables.push(this.term.onData(this.readData.bind(this))),this.disposables.push(this.term.onResize(({cols:t,rows:e})=>{const s=this.state.getTty();s.col=t,s.row=e,s.anchorRow>=e&&(s.anchorRow=Math.max(0,e-1)),void 0!==this.activeRead&&this.state.refresh()})),this.term.attachCustomKeyEventHandler(this.handleKeyEvent.bind(this))}dispose(){this.disposables.forEach(t=>t.dispose())}appendHistory(t){this.history.append(t)}setHighlighter(t){this.highlighter=t}setCheckHandler(t){this.checkHandler=t}setCtrlCHandler(t){this.ctrlCHandler=t}setPauseHandler(t){this.pauseHandler=t}writeReady(){return!this.highWater}write(t){const e=(t="\n"===t?"\r\n":(t=t.replace(/^\n/,"\r\n")).replace(/([^\r])\n/g,"$1\r\n")).length;this.watermark+=e,this.watermark>this.highWatermark&&(this.highWater=!0),this.term&&this.term.write(t,()=>{this.watermark=Math.max(this.watermark-e,0),this.highWater&&this.watermark<this.lowWatermark&&(this.highWater=!1)})}print(t){return this.write(t)}println(t){return this.write(t+"\r\n")}getLine(){return this.state.buffer()}updateLine(t){return this.state.update(t)}output(){return this}tty(){var t,e;if(void 0!==(null===(e=null===(t=this.term)||void 0===t?void 0:t.options)||void 0===e?void 0:e.tabStopWidth)){const t=this.term.buffer.active.cursorY;return new V.Tty(this.term.cols,this.term.rows,this.term.options.tabStopWidth,this.output(),t)}return new V.Tty(0,0,8,this.output())}read(t){return new Promise((e,s)=>{void 0!==this.term?this.term.write("",()=>{void 0!==this.term&&(this.state=new N.State(t,this.tty(),this.highlighter,this.history),this.state.refresh(),this.activeRead={prompt:t,resolve:e,reject:s})}):s("addon is not active")})}handleKeyEvent(t){return"Enter"!==t.key||!t.shiftKey||("keydown"===t.type&&this.readKey({inputType:J.InputType.ShiftEnter,data:["\r"]}),!1)}readData(t){const e=(0,J.parseInput)(t);e.length>1||e[0].inputType===J.InputType.Text&&e[0].data.length>1?this.readPaste(e):this.readKey(e[0])}readPaste(t){const e=t.map(t=>t.inputType===J.InputType.Enter?{inputType:J.InputType.Text,data:["\n"]}:t);for(const t of e)t.inputType===J.InputType.Text?this.state.editInsert(t.data.join("")):this.readKey(t)}readKey(t){var e,s,i;if(void 0!==this.activeRead)switch(t.inputType){case J.InputType.Text:this.state.editInsert(t.data.join(""));break;case J.InputType.AltEnter:case J.InputType.ShiftEnter:this.state.editInsert("\n");break;case J.InputType.Enter:this.checkHandler(this.state.buffer())?(this.state.moveCursorToEnd(),this.state.refreshUnhighlighted(),null===(e=this.term)||void 0===e||e.write("\r\n"),this.history.append(this.state.buffer()),null===(s=this.activeRead)||void 0===s||s.resolve(this.state.buffer()),this.activeRead=void 0):this.state.editInsert("\n");break;case J.InputType.CtrlC:this.state.moveCursorToEnd(),null===(i=this.term)||void 0===i||i.write("^C\r\n"),this.state=new N.State(this.activeRead.prompt,this.tty(),this.highlighter,this.history),this.state.refresh();break;case J.InputType.CtrlS:this.pauseHandler(!1);break;case J.InputType.CtrlU:this.state.update("");break;case J.InputType.CtrlK:this.state.editDeleteEndOfLine();break;case J.InputType.CtrlQ:this.pauseHandler(!0);break;case J.InputType.CtrlL:this.state.clearScreen();break;case J.InputType.Home:case J.InputType.CtrlA:this.state.moveCursorHome();break;case J.InputType.End:case J.InputType.CtrlE:this.state.moveCursorEnd();break;case J.InputType.Backspace:this.state.editBackspace(1);break;case J.InputType.Delete:case J.InputType.CtrlD:this.state.editDelete(1);break;case J.InputType.ArrowLeft:this.state.moveCursorBack(1);break;case J.InputType.ArrowRight:this.state.moveCursorForward(1);break;case J.InputType.ArrowUp:this.state.moveCursorUp(1);break;case J.InputType.ArrowDown:this.state.moveCursorDown(1);case J.InputType.UnsupportedControlChar:case J.InputType.UnsupportedEscape:}else switch(t.inputType){case J.InputType.CtrlC:this.ctrlCHandler();break;case J.InputType.CtrlL:this.write("[H[2J")}}};var G=O.__esModule;export{F as Readline,G as __esModule,O as default};
|
|
2
|
-
//# sourceMappingURL=xterm-readline-DTqC_fk6.js.map
|