@pyscript/core 0.4.46 → 0.4.47
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/{codemirror-hvL_whZ0.js → codemirror-CdY86QAP.js} +2 -2
- package/dist/{codemirror-hvL_whZ0.js.map → codemirror-CdY86QAP.js.map} +1 -1
- package/dist/codemirror_lang-python-BVX9Mc4s.js +2 -0
- package/dist/codemirror_lang-python-BVX9Mc4s.js.map +1 -0
- package/dist/core-CVoMgJtU.js +3 -0
- package/dist/core-CVoMgJtU.js.map +1 -0
- package/dist/core.js +1 -1
- package/dist/{deprecations-manager-2T_xk5M-.js → deprecations-manager-_MT-zvjy.js} +2 -2
- package/dist/{deprecations-manager-2T_xk5M-.js.map → deprecations-manager-_MT-zvjy.js.map} +1 -1
- package/dist/{error-BKEj2P6B.js → error-BcdCmvJU.js} +2 -2
- package/dist/{error-BKEj2P6B.js.map → error-BcdCmvJU.js.map} +1 -1
- package/dist/{index-DmnKV7Py.js → index-C02Lyjc0.js} +2 -2
- package/dist/index-C02Lyjc0.js.map +1 -0
- package/dist/{mpy-tLS8msUj.js → mpy-Bfshdqz6.js} +2 -2
- package/dist/{mpy-tLS8msUj.js.map → mpy-Bfshdqz6.js.map} +1 -1
- package/dist/{py-Cjm4QhwO.js → py-DuRZhMvB.js} +2 -2
- package/dist/{py-Cjm4QhwO.js.map → py-DuRZhMvB.js.map} +1 -1
- package/dist/{py-editor-TC5lYHZo.js → py-editor-C2f99cbd.js} +2 -2
- package/dist/{py-editor-TC5lYHZo.js.map → py-editor-C2f99cbd.js.map} +1 -1
- package/dist/{py-terminal-Dgf8csu_.js → py-terminal-CvFLFMwK.js} +2 -2
- package/dist/{py-terminal-Dgf8csu_.js.map → py-terminal-CvFLFMwK.js.map} +1 -1
- package/dist/xterm-readline-DjufFwfn.js +2 -0
- package/dist/xterm-readline-DjufFwfn.js.map +1 -0
- package/package.json +6 -4
- package/src/stdlib/pyscript/__init__.py +1 -0
- package/src/stdlib/pyscript/flatted.py +148 -0
- package/src/stdlib/pyscript/storage.py +60 -0
- package/src/stdlib/pyscript.js +3 -1
- package/types/stdlib/pyscript.d.ts +2 -0
- package/dist/codemirror_lang-python-HWBVhZoR.js +0 -2
- package/dist/codemirror_lang-python-HWBVhZoR.js.map +0 -1
- package/dist/core-BAx8Igmf.js +0 -3
- package/dist/core-BAx8Igmf.js.map +0 -1
- package/dist/index-DmnKV7Py.js.map +0 -1
- package/dist/xterm-readline-D247p8vq.js +0 -2
- package/dist/xterm-readline-D247p8vq.js.map +0 -1
- package/dist.zip +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index-DmnKV7Py.js","sources":["../node_modules/@codemirror/autocomplete/dist/index.js"],"sourcesContent":["import { Annotation, StateEffect, EditorSelection, codePointAt, codePointSize, fromCodePoint, Facet, combineConfig, StateField, Prec, Text, Transaction, MapMode, RangeValue, RangeSet, CharCategory } from '@codemirror/state';\nimport { Direction, logException, showTooltip, EditorView, ViewPlugin, getTooltip, Decoration, WidgetType, keymap } from '@codemirror/view';\nimport { syntaxTree, indentUnit } from '@codemirror/language';\n\n/**\nAn instance of this is passed to completion source functions.\n*/\nclass CompletionContext {\n /**\n Create a new completion context. (Mostly useful for testing\n completion sources—in the editor, the extension will create\n these for you.)\n */\n constructor(\n /**\n The editor state that the completion happens in.\n */\n state, \n /**\n The position at which the completion is happening.\n */\n pos, \n /**\n Indicates whether completion was activated explicitly, or\n implicitly by typing. The usual way to respond to this is to\n only return completions when either there is part of a\n completable entity before the cursor, or `explicit` is true.\n */\n explicit) {\n this.state = state;\n this.pos = pos;\n this.explicit = explicit;\n /**\n @internal\n */\n this.abortListeners = [];\n }\n /**\n Get the extent, content, and (if there is a token) type of the\n token before `this.pos`.\n */\n tokenBefore(types) {\n let token = syntaxTree(this.state).resolveInner(this.pos, -1);\n while (token && types.indexOf(token.name) < 0)\n token = token.parent;\n return token ? { from: token.from, to: this.pos,\n text: this.state.sliceDoc(token.from, this.pos),\n type: token.type } : null;\n }\n /**\n Get the match of the given expression directly before the\n cursor.\n */\n matchBefore(expr) {\n let line = this.state.doc.lineAt(this.pos);\n let start = Math.max(line.from, this.pos - 250);\n let str = line.text.slice(start - line.from, this.pos - line.from);\n let found = str.search(ensureAnchor(expr, false));\n return found < 0 ? null : { from: start + found, to: this.pos, text: str.slice(found) };\n }\n /**\n Yields true when the query has been aborted. Can be useful in\n asynchronous queries to avoid doing work that will be ignored.\n */\n get aborted() { return this.abortListeners == null; }\n /**\n Allows you to register abort handlers, which will be called when\n the query is\n [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).\n */\n addEventListener(type, listener) {\n if (type == \"abort\" && this.abortListeners)\n this.abortListeners.push(listener);\n }\n}\nfunction toSet(chars) {\n let flat = Object.keys(chars).join(\"\");\n let words = /\\w/.test(flat);\n if (words)\n flat = flat.replace(/\\w/g, \"\");\n return `[${words ? \"\\\\w\" : \"\"}${flat.replace(/[^\\w\\s]/g, \"\\\\$&\")}]`;\n}\nfunction prefixMatch(options) {\n let first = Object.create(null), rest = Object.create(null);\n for (let { label } of options) {\n first[label[0]] = true;\n for (let i = 1; i < label.length; i++)\n rest[label[i]] = true;\n }\n let source = toSet(first) + toSet(rest) + \"*$\";\n return [new RegExp(\"^\" + source), new RegExp(source)];\n}\n/**\nGiven a a fixed array of options, return an autocompleter that\ncompletes them.\n*/\nfunction completeFromList(list) {\n let options = list.map(o => typeof o == \"string\" ? { label: o } : o);\n let [validFor, match] = options.every(o => /^\\w+$/.test(o.label)) ? [/\\w*$/, /\\w+$/] : prefixMatch(options);\n return (context) => {\n let token = context.matchBefore(match);\n return token || context.explicit ? { from: token ? token.from : context.pos, options, validFor } : null;\n };\n}\n/**\nWrap the given completion source so that it will only fire when the\ncursor is in a syntax node with one of the given names.\n*/\nfunction ifIn(nodes, source) {\n return (context) => {\n for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {\n if (nodes.indexOf(pos.name) > -1)\n return source(context);\n if (pos.type.isTop)\n break;\n }\n return null;\n };\n}\n/**\nWrap the given completion source so that it will not fire when the\ncursor is in a syntax node with one of the given names.\n*/\nfunction ifNotIn(nodes, source) {\n return (context) => {\n for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {\n if (nodes.indexOf(pos.name) > -1)\n return null;\n if (pos.type.isTop)\n break;\n }\n return source(context);\n };\n}\nclass Option {\n constructor(completion, source, match, score) {\n this.completion = completion;\n this.source = source;\n this.match = match;\n this.score = score;\n }\n}\nfunction cur(state) { return state.selection.main.from; }\n// Make sure the given regexp has a $ at its end and, if `start` is\n// true, a ^ at its start.\nfunction ensureAnchor(expr, start) {\n var _a;\n let { source } = expr;\n let addStart = start && source[0] != \"^\", addEnd = source[source.length - 1] != \"$\";\n if (!addStart && !addEnd)\n return expr;\n return new RegExp(`${addStart ? \"^\" : \"\"}(?:${source})${addEnd ? \"$\" : \"\"}`, (_a = expr.flags) !== null && _a !== void 0 ? _a : (expr.ignoreCase ? \"i\" : \"\"));\n}\n/**\nThis annotation is added to transactions that are produced by\npicking a completion.\n*/\nconst pickedCompletion = /*@__PURE__*/Annotation.define();\n/**\nHelper function that returns a transaction spec which inserts a\ncompletion's text in the main selection range, and any other\nselection range that has the same text in front of it.\n*/\nfunction insertCompletionText(state, text, from, to) {\n let { main } = state.selection, fromOff = from - main.from, toOff = to - main.from;\n return Object.assign(Object.assign({}, state.changeByRange(range => {\n if (range != main && from != to &&\n state.sliceDoc(range.from + fromOff, range.from + toOff) != state.sliceDoc(from, to))\n return { range };\n return {\n changes: { from: range.from + fromOff, to: to == main.from ? range.to : range.from + toOff, insert: text },\n range: EditorSelection.cursor(range.from + fromOff + text.length)\n };\n })), { scrollIntoView: true, userEvent: \"input.complete\" });\n}\nconst SourceCache = /*@__PURE__*/new WeakMap();\nfunction asSource(source) {\n if (!Array.isArray(source))\n return source;\n let known = SourceCache.get(source);\n if (!known)\n SourceCache.set(source, known = completeFromList(source));\n return known;\n}\nconst startCompletionEffect = /*@__PURE__*/StateEffect.define();\nconst closeCompletionEffect = /*@__PURE__*/StateEffect.define();\n\n// A pattern matcher for fuzzy completion matching. Create an instance\n// once for a pattern, and then use that to match any number of\n// completions.\nclass FuzzyMatcher {\n constructor(pattern) {\n this.pattern = pattern;\n this.chars = [];\n this.folded = [];\n // Buffers reused by calls to `match` to track matched character\n // positions.\n this.any = [];\n this.precise = [];\n this.byWord = [];\n this.score = 0;\n this.matched = [];\n for (let p = 0; p < pattern.length;) {\n let char = codePointAt(pattern, p), size = codePointSize(char);\n this.chars.push(char);\n let part = pattern.slice(p, p + size), upper = part.toUpperCase();\n this.folded.push(codePointAt(upper == part ? part.toLowerCase() : upper, 0));\n p += size;\n }\n this.astral = pattern.length != this.chars.length;\n }\n ret(score, matched) {\n this.score = score;\n this.matched = matched;\n return this;\n }\n // Matches a given word (completion) against the pattern (input).\n // Will return a boolean indicating whether there was a match and,\n // on success, set `this.score` to the score, `this.matched` to an\n // array of `from, to` pairs indicating the matched parts of `word`.\n //\n // The score is a number that is more negative the worse the match\n // is. See `Penalty` above.\n match(word) {\n if (this.pattern.length == 0)\n return this.ret(-100 /* Penalty.NotFull */, []);\n if (word.length < this.pattern.length)\n return null;\n let { chars, folded, any, precise, byWord } = this;\n // For single-character queries, only match when they occur right\n // at the start\n if (chars.length == 1) {\n let first = codePointAt(word, 0), firstSize = codePointSize(first);\n let score = firstSize == word.length ? 0 : -100 /* Penalty.NotFull */;\n if (first == chars[0]) ;\n else if (first == folded[0])\n score += -200 /* Penalty.CaseFold */;\n else\n return null;\n return this.ret(score, [0, firstSize]);\n }\n let direct = word.indexOf(this.pattern);\n if (direct == 0)\n return this.ret(word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */, [0, this.pattern.length]);\n let len = chars.length, anyTo = 0;\n if (direct < 0) {\n for (let i = 0, e = Math.min(word.length, 200); i < e && anyTo < len;) {\n let next = codePointAt(word, i);\n if (next == chars[anyTo] || next == folded[anyTo])\n any[anyTo++] = i;\n i += codePointSize(next);\n }\n // No match, exit immediately\n if (anyTo < len)\n return null;\n }\n // This tracks the extent of the precise (non-folded, not\n // necessarily adjacent) match\n let preciseTo = 0;\n // Tracks whether there is a match that hits only characters that\n // appear to be starting words. `byWordFolded` is set to true when\n // a case folded character is encountered in such a match\n let byWordTo = 0, byWordFolded = false;\n // If we've found a partial adjacent match, these track its state\n let adjacentTo = 0, adjacentStart = -1, adjacentEnd = -1;\n let hasLower = /[a-z]/.test(word), wordAdjacent = true;\n // Go over the option's text, scanning for the various kinds of matches\n for (let i = 0, e = Math.min(word.length, 200), prevType = 0 /* Tp.NonWord */; i < e && byWordTo < len;) {\n let next = codePointAt(word, i);\n if (direct < 0) {\n if (preciseTo < len && next == chars[preciseTo])\n precise[preciseTo++] = i;\n if (adjacentTo < len) {\n if (next == chars[adjacentTo] || next == folded[adjacentTo]) {\n if (adjacentTo == 0)\n adjacentStart = i;\n adjacentEnd = i + 1;\n adjacentTo++;\n }\n else {\n adjacentTo = 0;\n }\n }\n }\n let ch, type = next < 0xff\n ? (next >= 48 && next <= 57 || next >= 97 && next <= 122 ? 2 /* Tp.Lower */ : next >= 65 && next <= 90 ? 1 /* Tp.Upper */ : 0 /* Tp.NonWord */)\n : ((ch = fromCodePoint(next)) != ch.toLowerCase() ? 1 /* Tp.Upper */ : ch != ch.toUpperCase() ? 2 /* Tp.Lower */ : 0 /* Tp.NonWord */);\n if (!i || type == 1 /* Tp.Upper */ && hasLower || prevType == 0 /* Tp.NonWord */ && type != 0 /* Tp.NonWord */) {\n if (chars[byWordTo] == next || (folded[byWordTo] == next && (byWordFolded = true)))\n byWord[byWordTo++] = i;\n else if (byWord.length)\n wordAdjacent = false;\n }\n prevType = type;\n i += codePointSize(next);\n }\n if (byWordTo == len && byWord[0] == 0 && wordAdjacent)\n return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0), byWord, word);\n if (adjacentTo == len && adjacentStart == 0)\n return this.ret(-200 /* Penalty.CaseFold */ - word.length + (adjacentEnd == word.length ? 0 : -100 /* Penalty.NotFull */), [0, adjacentEnd]);\n if (direct > -1)\n return this.ret(-700 /* Penalty.NotStart */ - word.length, [direct, direct + this.pattern.length]);\n if (adjacentTo == len)\n return this.ret(-200 /* Penalty.CaseFold */ + -700 /* Penalty.NotStart */ - word.length, [adjacentStart, adjacentEnd]);\n if (byWordTo == len)\n return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0) + -700 /* Penalty.NotStart */ +\n (wordAdjacent ? 0 : -1100 /* Penalty.Gap */), byWord, word);\n return chars.length == 2 ? null\n : this.result((any[0] ? -700 /* Penalty.NotStart */ : 0) + -200 /* Penalty.CaseFold */ + -1100 /* Penalty.Gap */, any, word);\n }\n result(score, positions, word) {\n let result = [], i = 0;\n for (let pos of positions) {\n let to = pos + (this.astral ? codePointSize(codePointAt(word, pos)) : 1);\n if (i && result[i - 1] == pos)\n result[i - 1] = to;\n else {\n result[i++] = pos;\n result[i++] = to;\n }\n }\n return this.ret(score - word.length, result);\n }\n}\nclass StrictMatcher {\n constructor(pattern) {\n this.pattern = pattern;\n this.matched = [];\n this.score = 0;\n this.folded = pattern.toLowerCase();\n }\n match(word) {\n if (word.length < this.pattern.length)\n return null;\n let start = word.slice(0, this.pattern.length);\n let match = start == this.pattern ? 0 : start.toLowerCase() == this.folded ? -200 /* Penalty.CaseFold */ : null;\n if (match == null)\n return null;\n this.matched = [0, start.length];\n this.score = match + (word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */);\n return this;\n }\n}\n\nconst completionConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n activateOnTyping: true,\n activateOnCompletion: () => false,\n activateOnTypingDelay: 100,\n selectOnOpen: true,\n override: null,\n closeOnBlur: true,\n maxRenderedOptions: 100,\n defaultKeymap: true,\n tooltipClass: () => \"\",\n optionClass: () => \"\",\n aboveCursor: false,\n icons: true,\n addToOptions: [],\n positionInfo: defaultPositionInfo,\n filterStrict: false,\n compareCompletions: (a, b) => a.label.localeCompare(b.label),\n interactionDelay: 75,\n updateSyncTime: 100\n }, {\n defaultKeymap: (a, b) => a && b,\n closeOnBlur: (a, b) => a && b,\n icons: (a, b) => a && b,\n tooltipClass: (a, b) => c => joinClass(a(c), b(c)),\n optionClass: (a, b) => c => joinClass(a(c), b(c)),\n addToOptions: (a, b) => a.concat(b),\n filterStrict: (a, b) => a || b,\n });\n }\n});\nfunction joinClass(a, b) {\n return a ? b ? a + \" \" + b : a : b;\n}\nfunction defaultPositionInfo(view, list, option, info, space, tooltip) {\n let rtl = view.textDirection == Direction.RTL, left = rtl, narrow = false;\n let side = \"top\", offset, maxWidth;\n let spaceLeft = list.left - space.left, spaceRight = space.right - list.right;\n let infoWidth = info.right - info.left, infoHeight = info.bottom - info.top;\n if (left && spaceLeft < Math.min(infoWidth, spaceRight))\n left = false;\n else if (!left && spaceRight < Math.min(infoWidth, spaceLeft))\n left = true;\n if (infoWidth <= (left ? spaceLeft : spaceRight)) {\n offset = Math.max(space.top, Math.min(option.top, space.bottom - infoHeight)) - list.top;\n maxWidth = Math.min(400 /* Info.Width */, left ? spaceLeft : spaceRight);\n }\n else {\n narrow = true;\n maxWidth = Math.min(400 /* Info.Width */, (rtl ? list.right : space.right - list.left) - 30 /* Info.Margin */);\n let spaceBelow = space.bottom - list.bottom;\n if (spaceBelow >= infoHeight || spaceBelow > list.top) { // Below the completion\n offset = option.bottom - list.top;\n }\n else { // Above it\n side = \"bottom\";\n offset = list.bottom - option.top;\n }\n }\n let scaleY = (list.bottom - list.top) / tooltip.offsetHeight;\n let scaleX = (list.right - list.left) / tooltip.offsetWidth;\n return {\n style: `${side}: ${offset / scaleY}px; max-width: ${maxWidth / scaleX}px`,\n class: \"cm-completionInfo-\" + (narrow ? (rtl ? \"left-narrow\" : \"right-narrow\") : left ? \"left\" : \"right\")\n };\n}\n\nfunction optionContent(config) {\n let content = config.addToOptions.slice();\n if (config.icons)\n content.push({\n render(completion) {\n let icon = document.createElement(\"div\");\n icon.classList.add(\"cm-completionIcon\");\n if (completion.type)\n icon.classList.add(...completion.type.split(/\\s+/g).map(cls => \"cm-completionIcon-\" + cls));\n icon.setAttribute(\"aria-hidden\", \"true\");\n return icon;\n },\n position: 20\n });\n content.push({\n render(completion, _s, _v, match) {\n let labelElt = document.createElement(\"span\");\n labelElt.className = \"cm-completionLabel\";\n let label = completion.displayLabel || completion.label, off = 0;\n for (let j = 0; j < match.length;) {\n let from = match[j++], to = match[j++];\n if (from > off)\n labelElt.appendChild(document.createTextNode(label.slice(off, from)));\n let span = labelElt.appendChild(document.createElement(\"span\"));\n span.appendChild(document.createTextNode(label.slice(from, to)));\n span.className = \"cm-completionMatchedText\";\n off = to;\n }\n if (off < label.length)\n labelElt.appendChild(document.createTextNode(label.slice(off)));\n return labelElt;\n },\n position: 50\n }, {\n render(completion) {\n if (!completion.detail)\n return null;\n let detailElt = document.createElement(\"span\");\n detailElt.className = \"cm-completionDetail\";\n detailElt.textContent = completion.detail;\n return detailElt;\n },\n position: 80\n });\n return content.sort((a, b) => a.position - b.position).map(a => a.render);\n}\nfunction rangeAroundSelected(total, selected, max) {\n if (total <= max)\n return { from: 0, to: total };\n if (selected < 0)\n selected = 0;\n if (selected <= (total >> 1)) {\n let off = Math.floor(selected / max);\n return { from: off * max, to: (off + 1) * max };\n }\n let off = Math.floor((total - selected) / max);\n return { from: total - (off + 1) * max, to: total - off * max };\n}\nclass CompletionTooltip {\n constructor(view, stateField, applyCompletion) {\n this.view = view;\n this.stateField = stateField;\n this.applyCompletion = applyCompletion;\n this.info = null;\n this.infoDestroy = null;\n this.placeInfoReq = {\n read: () => this.measureInfo(),\n write: (pos) => this.placeInfo(pos),\n key: this\n };\n this.space = null;\n this.currentClass = \"\";\n let cState = view.state.field(stateField);\n let { options, selected } = cState.open;\n let config = view.state.facet(completionConfig);\n this.optionContent = optionContent(config);\n this.optionClass = config.optionClass;\n this.tooltipClass = config.tooltipClass;\n this.range = rangeAroundSelected(options.length, selected, config.maxRenderedOptions);\n this.dom = document.createElement(\"div\");\n this.dom.className = \"cm-tooltip-autocomplete\";\n this.updateTooltipClass(view.state);\n this.dom.addEventListener(\"mousedown\", (e) => {\n let { options } = view.state.field(stateField).open;\n for (let dom = e.target, match; dom && dom != this.dom; dom = dom.parentNode) {\n if (dom.nodeName == \"LI\" && (match = /-(\\d+)$/.exec(dom.id)) && +match[1] < options.length) {\n this.applyCompletion(view, options[+match[1]]);\n e.preventDefault();\n return;\n }\n }\n });\n this.dom.addEventListener(\"focusout\", (e) => {\n let state = view.state.field(this.stateField, false);\n if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur &&\n e.relatedTarget != view.contentDOM)\n view.dispatch({ effects: closeCompletionEffect.of(null) });\n });\n this.showOptions(options, cState.id);\n }\n mount() { this.updateSel(); }\n showOptions(options, id) {\n if (this.list)\n this.list.remove();\n this.list = this.dom.appendChild(this.createListBox(options, id, this.range));\n this.list.addEventListener(\"scroll\", () => {\n if (this.info)\n this.view.requestMeasure(this.placeInfoReq);\n });\n }\n update(update) {\n var _a;\n let cState = update.state.field(this.stateField);\n let prevState = update.startState.field(this.stateField);\n this.updateTooltipClass(update.state);\n if (cState != prevState) {\n let { options, selected, disabled } = cState.open;\n if (!prevState.open || prevState.open.options != options) {\n this.range = rangeAroundSelected(options.length, selected, update.state.facet(completionConfig).maxRenderedOptions);\n this.showOptions(options, cState.id);\n }\n this.updateSel();\n if (disabled != ((_a = prevState.open) === null || _a === void 0 ? void 0 : _a.disabled))\n this.dom.classList.toggle(\"cm-tooltip-autocomplete-disabled\", !!disabled);\n }\n }\n updateTooltipClass(state) {\n let cls = this.tooltipClass(state);\n if (cls != this.currentClass) {\n for (let c of this.currentClass.split(\" \"))\n if (c)\n this.dom.classList.remove(c);\n for (let c of cls.split(\" \"))\n if (c)\n this.dom.classList.add(c);\n this.currentClass = cls;\n }\n }\n positioned(space) {\n this.space = space;\n if (this.info)\n this.view.requestMeasure(this.placeInfoReq);\n }\n updateSel() {\n let cState = this.view.state.field(this.stateField), open = cState.open;\n if (open.selected > -1 && open.selected < this.range.from || open.selected >= this.range.to) {\n this.range = rangeAroundSelected(open.options.length, open.selected, this.view.state.facet(completionConfig).maxRenderedOptions);\n this.showOptions(open.options, cState.id);\n }\n if (this.updateSelectedOption(open.selected)) {\n this.destroyInfo();\n let { completion } = open.options[open.selected];\n let { info } = completion;\n if (!info)\n return;\n let infoResult = typeof info === \"string\" ? document.createTextNode(info) : info(completion);\n if (!infoResult)\n return;\n if (\"then\" in infoResult) {\n infoResult.then(obj => {\n if (obj && this.view.state.field(this.stateField, false) == cState)\n this.addInfoPane(obj, completion);\n }).catch(e => logException(this.view.state, e, \"completion info\"));\n }\n else {\n this.addInfoPane(infoResult, completion);\n }\n }\n }\n addInfoPane(content, completion) {\n this.destroyInfo();\n let wrap = this.info = document.createElement(\"div\");\n wrap.className = \"cm-tooltip cm-completionInfo\";\n if (content.nodeType != null) {\n wrap.appendChild(content);\n this.infoDestroy = null;\n }\n else {\n let { dom, destroy } = content;\n wrap.appendChild(dom);\n this.infoDestroy = destroy || null;\n }\n this.dom.appendChild(wrap);\n this.view.requestMeasure(this.placeInfoReq);\n }\n updateSelectedOption(selected) {\n let set = null;\n for (let opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) {\n if (opt.nodeName != \"LI\" || !opt.id) {\n i--; // A section header\n }\n else if (i == selected) {\n if (!opt.hasAttribute(\"aria-selected\")) {\n opt.setAttribute(\"aria-selected\", \"true\");\n set = opt;\n }\n }\n else {\n if (opt.hasAttribute(\"aria-selected\"))\n opt.removeAttribute(\"aria-selected\");\n }\n }\n if (set)\n scrollIntoView(this.list, set);\n return set;\n }\n measureInfo() {\n let sel = this.dom.querySelector(\"[aria-selected]\");\n if (!sel || !this.info)\n return null;\n let listRect = this.dom.getBoundingClientRect();\n let infoRect = this.info.getBoundingClientRect();\n let selRect = sel.getBoundingClientRect();\n let space = this.space;\n if (!space) {\n let win = this.dom.ownerDocument.defaultView || window;\n space = { left: 0, top: 0, right: win.innerWidth, bottom: win.innerHeight };\n }\n if (selRect.top > Math.min(space.bottom, listRect.bottom) - 10 ||\n selRect.bottom < Math.max(space.top, listRect.top) + 10)\n return null;\n return this.view.state.facet(completionConfig).positionInfo(this.view, listRect, selRect, infoRect, space, this.dom);\n }\n placeInfo(pos) {\n if (this.info) {\n if (pos) {\n if (pos.style)\n this.info.style.cssText = pos.style;\n this.info.className = \"cm-tooltip cm-completionInfo \" + (pos.class || \"\");\n }\n else {\n this.info.style.cssText = \"top: -1e6px\";\n }\n }\n }\n createListBox(options, id, range) {\n const ul = document.createElement(\"ul\");\n ul.id = id;\n ul.setAttribute(\"role\", \"listbox\");\n ul.setAttribute(\"aria-expanded\", \"true\");\n ul.setAttribute(\"aria-label\", this.view.state.phrase(\"Completions\"));\n let curSection = null;\n for (let i = range.from; i < range.to; i++) {\n let { completion, match } = options[i], { section } = completion;\n if (section) {\n let name = typeof section == \"string\" ? section : section.name;\n if (name != curSection && (i > range.from || range.from == 0)) {\n curSection = name;\n if (typeof section != \"string\" && section.header) {\n ul.appendChild(section.header(section));\n }\n else {\n let header = ul.appendChild(document.createElement(\"completion-section\"));\n header.textContent = name;\n }\n }\n }\n const li = ul.appendChild(document.createElement(\"li\"));\n li.id = id + \"-\" + i;\n li.setAttribute(\"role\", \"option\");\n let cls = this.optionClass(completion);\n if (cls)\n li.className = cls;\n for (let source of this.optionContent) {\n let node = source(completion, this.view.state, this.view, match);\n if (node)\n li.appendChild(node);\n }\n }\n if (range.from)\n ul.classList.add(\"cm-completionListIncompleteTop\");\n if (range.to < options.length)\n ul.classList.add(\"cm-completionListIncompleteBottom\");\n return ul;\n }\n destroyInfo() {\n if (this.info) {\n if (this.infoDestroy)\n this.infoDestroy();\n this.info.remove();\n this.info = null;\n }\n }\n destroy() {\n this.destroyInfo();\n }\n}\nfunction completionTooltip(stateField, applyCompletion) {\n return (view) => new CompletionTooltip(view, stateField, applyCompletion);\n}\nfunction scrollIntoView(container, element) {\n let parent = container.getBoundingClientRect();\n let self = element.getBoundingClientRect();\n let scaleY = parent.height / container.offsetHeight;\n if (self.top < parent.top)\n container.scrollTop -= (parent.top - self.top) / scaleY;\n else if (self.bottom > parent.bottom)\n container.scrollTop += (self.bottom - parent.bottom) / scaleY;\n}\n\n// Used to pick a preferred option when two options with the same\n// label occur in the result.\nfunction score(option) {\n return (option.boost || 0) * 100 + (option.apply ? 10 : 0) + (option.info ? 5 : 0) +\n (option.type ? 1 : 0);\n}\nfunction sortOptions(active, state) {\n let options = [];\n let sections = null;\n let addOption = (option) => {\n options.push(option);\n let { section } = option.completion;\n if (section) {\n if (!sections)\n sections = [];\n let name = typeof section == \"string\" ? section : section.name;\n if (!sections.some(s => s.name == name))\n sections.push(typeof section == \"string\" ? { name } : section);\n }\n };\n let conf = state.facet(completionConfig);\n for (let a of active)\n if (a.hasResult()) {\n let getMatch = a.result.getMatch;\n if (a.result.filter === false) {\n for (let option of a.result.options) {\n addOption(new Option(option, a.source, getMatch ? getMatch(option) : [], 1e9 - options.length));\n }\n }\n else {\n let pattern = state.sliceDoc(a.from, a.to), match;\n let matcher = conf.filterStrict ? new StrictMatcher(pattern) : new FuzzyMatcher(pattern);\n for (let option of a.result.options)\n if (match = matcher.match(option.label)) {\n let matched = !option.displayLabel ? match.matched : getMatch ? getMatch(option, match.matched) : [];\n addOption(new Option(option, a.source, matched, match.score + (option.boost || 0)));\n }\n }\n }\n if (sections) {\n let sectionOrder = Object.create(null), pos = 0;\n let cmp = (a, b) => { var _a, _b; return ((_a = a.rank) !== null && _a !== void 0 ? _a : 1e9) - ((_b = b.rank) !== null && _b !== void 0 ? _b : 1e9) || (a.name < b.name ? -1 : 1); };\n for (let s of sections.sort(cmp)) {\n pos -= 1e5;\n sectionOrder[s.name] = pos;\n }\n for (let option of options) {\n let { section } = option.completion;\n if (section)\n option.score += sectionOrder[typeof section == \"string\" ? section : section.name];\n }\n }\n let result = [], prev = null;\n let compare = conf.compareCompletions;\n for (let opt of options.sort((a, b) => (b.score - a.score) || compare(a.completion, b.completion))) {\n let cur = opt.completion;\n if (!prev || prev.label != cur.label || prev.detail != cur.detail ||\n (prev.type != null && cur.type != null && prev.type != cur.type) ||\n prev.apply != cur.apply || prev.boost != cur.boost)\n result.push(opt);\n else if (score(opt.completion) > score(prev))\n result[result.length - 1] = opt;\n prev = opt.completion;\n }\n return result;\n}\nclass CompletionDialog {\n constructor(options, attrs, tooltip, timestamp, selected, disabled) {\n this.options = options;\n this.attrs = attrs;\n this.tooltip = tooltip;\n this.timestamp = timestamp;\n this.selected = selected;\n this.disabled = disabled;\n }\n setSelected(selected, id) {\n return selected == this.selected || selected >= this.options.length ? this\n : new CompletionDialog(this.options, makeAttrs(id, selected), this.tooltip, this.timestamp, selected, this.disabled);\n }\n static build(active, state, id, prev, conf) {\n let options = sortOptions(active, state);\n if (!options.length) {\n return prev && active.some(a => a.state == 1 /* State.Pending */) ?\n new CompletionDialog(prev.options, prev.attrs, prev.tooltip, prev.timestamp, prev.selected, true) : null;\n }\n let selected = state.facet(completionConfig).selectOnOpen ? 0 : -1;\n if (prev && prev.selected != selected && prev.selected != -1) {\n let selectedValue = prev.options[prev.selected].completion;\n for (let i = 0; i < options.length; i++)\n if (options[i].completion == selectedValue) {\n selected = i;\n break;\n }\n }\n return new CompletionDialog(options, makeAttrs(id, selected), {\n pos: active.reduce((a, b) => b.hasResult() ? Math.min(a, b.from) : a, 1e8),\n create: createTooltip,\n above: conf.aboveCursor,\n }, prev ? prev.timestamp : Date.now(), selected, false);\n }\n map(changes) {\n return new CompletionDialog(this.options, this.attrs, Object.assign(Object.assign({}, this.tooltip), { pos: changes.mapPos(this.tooltip.pos) }), this.timestamp, this.selected, this.disabled);\n }\n}\nclass CompletionState {\n constructor(active, id, open) {\n this.active = active;\n this.id = id;\n this.open = open;\n }\n static start() {\n return new CompletionState(none, \"cm-ac-\" + Math.floor(Math.random() * 2e6).toString(36), null);\n }\n update(tr) {\n let { state } = tr, conf = state.facet(completionConfig);\n let sources = conf.override ||\n state.languageDataAt(\"autocomplete\", cur(state)).map(asSource);\n let active = sources.map(source => {\n let value = this.active.find(s => s.source == source) ||\n new ActiveSource(source, this.active.some(a => a.state != 0 /* State.Inactive */) ? 1 /* State.Pending */ : 0 /* State.Inactive */);\n return value.update(tr, conf);\n });\n if (active.length == this.active.length && active.every((a, i) => a == this.active[i]))\n active = this.active;\n let open = this.open;\n if (open && tr.docChanged)\n open = open.map(tr.changes);\n if (tr.selection || active.some(a => a.hasResult() && tr.changes.touchesRange(a.from, a.to)) ||\n !sameResults(active, this.active))\n open = CompletionDialog.build(active, state, this.id, open, conf);\n else if (open && open.disabled && !active.some(a => a.state == 1 /* State.Pending */))\n open = null;\n if (!open && active.every(a => a.state != 1 /* State.Pending */) && active.some(a => a.hasResult()))\n active = active.map(a => a.hasResult() ? new ActiveSource(a.source, 0 /* State.Inactive */) : a);\n for (let effect of tr.effects)\n if (effect.is(setSelectedEffect))\n open = open && open.setSelected(effect.value, this.id);\n return active == this.active && open == this.open ? this : new CompletionState(active, this.id, open);\n }\n get tooltip() { return this.open ? this.open.tooltip : null; }\n get attrs() { return this.open ? this.open.attrs : baseAttrs; }\n}\nfunction sameResults(a, b) {\n if (a == b)\n return true;\n for (let iA = 0, iB = 0;;) {\n while (iA < a.length && !a[iA].hasResult)\n iA++;\n while (iB < b.length && !b[iB].hasResult)\n iB++;\n let endA = iA == a.length, endB = iB == b.length;\n if (endA || endB)\n return endA == endB;\n if (a[iA++].result != b[iB++].result)\n return false;\n }\n}\nconst baseAttrs = {\n \"aria-autocomplete\": \"list\"\n};\nfunction makeAttrs(id, selected) {\n let result = {\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": id\n };\n if (selected > -1)\n result[\"aria-activedescendant\"] = id + \"-\" + selected;\n return result;\n}\nconst none = [];\nfunction getUserEvent(tr, conf) {\n if (tr.isUserEvent(\"input.complete\")) {\n let completion = tr.annotation(pickedCompletion);\n if (completion && conf.activateOnCompletion(completion))\n return \"input\";\n }\n return tr.isUserEvent(\"input.type\") ? \"input\" : tr.isUserEvent(\"delete.backward\") ? \"delete\" : null;\n}\nclass ActiveSource {\n constructor(source, state, explicitPos = -1) {\n this.source = source;\n this.state = state;\n this.explicitPos = explicitPos;\n }\n hasResult() { return false; }\n update(tr, conf) {\n let event = getUserEvent(tr, conf), value = this;\n if (event)\n value = value.handleUserEvent(tr, event, conf);\n else if (tr.docChanged)\n value = value.handleChange(tr);\n else if (tr.selection && value.state != 0 /* State.Inactive */)\n value = new ActiveSource(value.source, 0 /* State.Inactive */);\n for (let effect of tr.effects) {\n if (effect.is(startCompletionEffect))\n value = new ActiveSource(value.source, 1 /* State.Pending */, effect.value ? cur(tr.state) : -1);\n else if (effect.is(closeCompletionEffect))\n value = new ActiveSource(value.source, 0 /* State.Inactive */);\n else if (effect.is(setActiveEffect))\n for (let active of effect.value)\n if (active.source == value.source)\n value = active;\n }\n return value;\n }\n handleUserEvent(tr, type, conf) {\n return type == \"delete\" || !conf.activateOnTyping ? this.map(tr.changes) : new ActiveSource(this.source, 1 /* State.Pending */);\n }\n handleChange(tr) {\n return tr.changes.touchesRange(cur(tr.startState)) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);\n }\n map(changes) {\n return changes.empty || this.explicitPos < 0 ? this : new ActiveSource(this.source, this.state, changes.mapPos(this.explicitPos));\n }\n}\nclass ActiveResult extends ActiveSource {\n constructor(source, explicitPos, result, from, to) {\n super(source, 2 /* State.Result */, explicitPos);\n this.result = result;\n this.from = from;\n this.to = to;\n }\n hasResult() { return true; }\n handleUserEvent(tr, type, conf) {\n var _a;\n let result = this.result;\n if (result.map && !tr.changes.empty)\n result = result.map(result, tr.changes);\n let from = tr.changes.mapPos(this.from), to = tr.changes.mapPos(this.to, 1);\n let pos = cur(tr.state);\n if ((this.explicitPos < 0 ? pos <= from : pos < this.from) ||\n pos > to || !result ||\n type == \"delete\" && cur(tr.startState) == this.from)\n return new ActiveSource(this.source, type == \"input\" && conf.activateOnTyping ? 1 /* State.Pending */ : 0 /* State.Inactive */);\n let explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos);\n if (checkValid(result.validFor, tr.state, from, to))\n return new ActiveResult(this.source, explicitPos, result, from, to);\n if (result.update &&\n (result = result.update(result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0))))\n return new ActiveResult(this.source, explicitPos, result, result.from, (_a = result.to) !== null && _a !== void 0 ? _a : cur(tr.state));\n return new ActiveSource(this.source, 1 /* State.Pending */, explicitPos);\n }\n handleChange(tr) {\n return tr.changes.touchesRange(this.from, this.to) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);\n }\n map(mapping) {\n if (mapping.empty)\n return this;\n let result = this.result.map ? this.result.map(this.result, mapping) : this.result;\n if (!result)\n return new ActiveSource(this.source, 0 /* State.Inactive */);\n return new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));\n }\n}\nfunction checkValid(validFor, state, from, to) {\n if (!validFor)\n return false;\n let text = state.sliceDoc(from, to);\n return typeof validFor == \"function\" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);\n}\nconst setActiveEffect = /*@__PURE__*/StateEffect.define({\n map(sources, mapping) { return sources.map(s => s.map(mapping)); }\n});\nconst setSelectedEffect = /*@__PURE__*/StateEffect.define();\nconst completionState = /*@__PURE__*/StateField.define({\n create() { return CompletionState.start(); },\n update(value, tr) { return value.update(tr); },\n provide: f => [\n showTooltip.from(f, val => val.tooltip),\n EditorView.contentAttributes.from(f, state => state.attrs)\n ]\n});\nfunction applyCompletion(view, option) {\n const apply = option.completion.apply || option.completion.label;\n let result = view.state.field(completionState).active.find(a => a.source == option.source);\n if (!(result instanceof ActiveResult))\n return false;\n if (typeof apply == \"string\")\n view.dispatch(Object.assign(Object.assign({}, insertCompletionText(view.state, apply, result.from, result.to)), { annotations: pickedCompletion.of(option.completion) }));\n else\n apply(view, option.completion, result.from, result.to);\n return true;\n}\nconst createTooltip = /*@__PURE__*/completionTooltip(completionState, applyCompletion);\n\n/**\nReturns a command that moves the completion selection forward or\nbackward by the given amount.\n*/\nfunction moveCompletionSelection(forward, by = \"option\") {\n return (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState || !cState.open || cState.open.disabled ||\n Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)\n return false;\n let step = 1, tooltip;\n if (by == \"page\" && (tooltip = getTooltip(view, cState.open.tooltip)))\n step = Math.max(2, Math.floor(tooltip.dom.offsetHeight /\n tooltip.dom.querySelector(\"li\").offsetHeight) - 1);\n let { length } = cState.open.options;\n let selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;\n if (selected < 0)\n selected = by == \"page\" ? 0 : length - 1;\n else if (selected >= length)\n selected = by == \"page\" ? length - 1 : 0;\n view.dispatch({ effects: setSelectedEffect.of(selected) });\n return true;\n };\n}\n/**\nAccept the current completion.\n*/\nconst acceptCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || cState.open.disabled ||\n Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)\n return false;\n return applyCompletion(view, cState.open.options[cState.open.selected]);\n};\n/**\nExplicitly start autocompletion.\n*/\nconst startCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState)\n return false;\n view.dispatch({ effects: startCompletionEffect.of(true) });\n return true;\n};\n/**\nClose the currently active completion.\n*/\nconst closeCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState || !cState.active.some(a => a.state != 0 /* State.Inactive */))\n return false;\n view.dispatch({ effects: closeCompletionEffect.of(null) });\n return true;\n};\nclass RunningQuery {\n constructor(active, context) {\n this.active = active;\n this.context = context;\n this.time = Date.now();\n this.updates = [];\n // Note that 'undefined' means 'not done yet', whereas 'null' means\n // 'query returned null'.\n this.done = undefined;\n }\n}\nconst MaxUpdateCount = 50, MinAbortTime = 1000;\nconst completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.debounceUpdate = -1;\n this.running = [];\n this.debounceAccept = -1;\n this.pendingStart = false;\n this.composing = 0 /* CompositionState.None */;\n for (let active of view.state.field(completionState).active)\n if (active.state == 1 /* State.Pending */)\n this.startQuery(active);\n }\n update(update) {\n let cState = update.state.field(completionState);\n let conf = update.state.facet(completionConfig);\n if (!update.selectionSet && !update.docChanged && update.startState.field(completionState) == cState)\n return;\n let doesReset = update.transactions.some(tr => {\n return (tr.selection || tr.docChanged) && !getUserEvent(tr, conf);\n });\n for (let i = 0; i < this.running.length; i++) {\n let query = this.running[i];\n if (doesReset ||\n query.updates.length + update.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) {\n for (let handler of query.context.abortListeners) {\n try {\n handler();\n }\n catch (e) {\n logException(this.view.state, e);\n }\n }\n query.context.abortListeners = null;\n this.running.splice(i--, 1);\n }\n else {\n query.updates.push(...update.transactions);\n }\n }\n if (this.debounceUpdate > -1)\n clearTimeout(this.debounceUpdate);\n if (update.transactions.some(tr => tr.effects.some(e => e.is(startCompletionEffect))))\n this.pendingStart = true;\n let delay = this.pendingStart ? 50 : conf.activateOnTypingDelay;\n this.debounceUpdate = cState.active.some(a => a.state == 1 /* State.Pending */ && !this.running.some(q => q.active.source == a.source))\n ? setTimeout(() => this.startUpdate(), delay) : -1;\n if (this.composing != 0 /* CompositionState.None */)\n for (let tr of update.transactions) {\n if (getUserEvent(tr, conf) == \"input\")\n this.composing = 2 /* CompositionState.Changed */;\n else if (this.composing == 2 /* CompositionState.Changed */ && tr.selection)\n this.composing = 3 /* CompositionState.ChangedAndMoved */;\n }\n }\n startUpdate() {\n this.debounceUpdate = -1;\n this.pendingStart = false;\n let { state } = this.view, cState = state.field(completionState);\n for (let active of cState.active) {\n if (active.state == 1 /* State.Pending */ && !this.running.some(r => r.active.source == active.source))\n this.startQuery(active);\n }\n }\n startQuery(active) {\n let { state } = this.view, pos = cur(state);\n let context = new CompletionContext(state, pos, active.explicitPos == pos);\n let pending = new RunningQuery(active, context);\n this.running.push(pending);\n Promise.resolve(active.source(context)).then(result => {\n if (!pending.context.aborted) {\n pending.done = result || null;\n this.scheduleAccept();\n }\n }, err => {\n this.view.dispatch({ effects: closeCompletionEffect.of(null) });\n logException(this.view.state, err);\n });\n }\n scheduleAccept() {\n if (this.running.every(q => q.done !== undefined))\n this.accept();\n else if (this.debounceAccept < 0)\n this.debounceAccept = setTimeout(() => this.accept(), this.view.state.facet(completionConfig).updateSyncTime);\n }\n // For each finished query in this.running, try to create a result\n // or, if appropriate, restart the query.\n accept() {\n var _a;\n if (this.debounceAccept > -1)\n clearTimeout(this.debounceAccept);\n this.debounceAccept = -1;\n let updated = [];\n let conf = this.view.state.facet(completionConfig);\n for (let i = 0; i < this.running.length; i++) {\n let query = this.running[i];\n if (query.done === undefined)\n continue;\n this.running.splice(i--, 1);\n if (query.done) {\n let active = new ActiveResult(query.active.source, query.active.explicitPos, query.done, query.done.from, (_a = query.done.to) !== null && _a !== void 0 ? _a : cur(query.updates.length ? query.updates[0].startState : this.view.state));\n // Replay the transactions that happened since the start of\n // the request and see if that preserves the result\n for (let tr of query.updates)\n active = active.update(tr, conf);\n if (active.hasResult()) {\n updated.push(active);\n continue;\n }\n }\n let current = this.view.state.field(completionState).active.find(a => a.source == query.active.source);\n if (current && current.state == 1 /* State.Pending */) {\n if (query.done == null) {\n // Explicitly failed. Should clear the pending status if it\n // hasn't been re-set in the meantime.\n let active = new ActiveSource(query.active.source, 0 /* State.Inactive */);\n for (let tr of query.updates)\n active = active.update(tr, conf);\n if (active.state != 1 /* State.Pending */)\n updated.push(active);\n }\n else {\n // Cleared by subsequent transactions. Restart.\n this.startQuery(current);\n }\n }\n }\n if (updated.length)\n this.view.dispatch({ effects: setActiveEffect.of(updated) });\n }\n}, {\n eventHandlers: {\n blur(event) {\n let state = this.view.state.field(completionState, false);\n if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) {\n let dialog = state.open && getTooltip(this.view, state.open.tooltip);\n if (!dialog || !dialog.dom.contains(event.relatedTarget))\n setTimeout(() => this.view.dispatch({ effects: closeCompletionEffect.of(null) }), 10);\n }\n },\n compositionstart() {\n this.composing = 1 /* CompositionState.Started */;\n },\n compositionend() {\n if (this.composing == 3 /* CompositionState.ChangedAndMoved */) {\n // Safari fires compositionend events synchronously, possibly\n // from inside an update, so dispatch asynchronously to avoid reentrancy\n setTimeout(() => this.view.dispatch({ effects: startCompletionEffect.of(false) }), 20);\n }\n this.composing = 0 /* CompositionState.None */;\n }\n }\n});\nconst windows = typeof navigator == \"object\" && /*@__PURE__*//Win/.test(navigator.platform);\nconst commitCharacters = /*@__PURE__*/Prec.highest(/*@__PURE__*/EditorView.domEventHandlers({\n keydown(event, view) {\n let field = view.state.field(completionState, false);\n if (!field || !field.open || field.open.disabled || field.open.selected < 0 ||\n event.key.length > 1 || event.ctrlKey && !(windows && event.altKey) || event.metaKey)\n return false;\n let option = field.open.options[field.open.selected];\n let result = field.active.find(a => a.source == option.source);\n let commitChars = option.completion.commitCharacters || result.result.commitCharacters;\n if (commitChars && commitChars.indexOf(event.key) > -1)\n applyCompletion(view, option);\n return false;\n }\n}));\n\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-tooltip.cm-tooltip-autocomplete\": {\n \"& > ul\": {\n fontFamily: \"monospace\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden auto\",\n maxWidth_fallback: \"700px\",\n maxWidth: \"min(700px, 95vw)\",\n minWidth: \"250px\",\n maxHeight: \"10em\",\n height: \"100%\",\n listStyle: \"none\",\n margin: 0,\n padding: 0,\n \"& > li, & > completion-section\": {\n padding: \"1px 3px\",\n lineHeight: 1.2\n },\n \"& > li\": {\n overflowX: \"hidden\",\n textOverflow: \"ellipsis\",\n cursor: \"pointer\"\n },\n \"& > completion-section\": {\n display: \"list-item\",\n borderBottom: \"1px solid silver\",\n paddingLeft: \"0.5em\",\n opacity: 0.7\n }\n }\n },\n \"&light .cm-tooltip-autocomplete ul li[aria-selected]\": {\n background: \"#17c\",\n color: \"white\",\n },\n \"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]\": {\n background: \"#777\",\n },\n \"&dark .cm-tooltip-autocomplete ul li[aria-selected]\": {\n background: \"#347\",\n color: \"white\",\n },\n \"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]\": {\n background: \"#444\",\n },\n \".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after\": {\n content: '\"···\"',\n opacity: 0.5,\n display: \"block\",\n textAlign: \"center\"\n },\n \".cm-tooltip.cm-completionInfo\": {\n position: \"absolute\",\n padding: \"3px 9px\",\n width: \"max-content\",\n maxWidth: `${400 /* Info.Width */}px`,\n boxSizing: \"border-box\"\n },\n \".cm-completionInfo.cm-completionInfo-left\": { right: \"100%\" },\n \".cm-completionInfo.cm-completionInfo-right\": { left: \"100%\" },\n \".cm-completionInfo.cm-completionInfo-left-narrow\": { right: `${30 /* Info.Margin */}px` },\n \".cm-completionInfo.cm-completionInfo-right-narrow\": { left: `${30 /* Info.Margin */}px` },\n \"&light .cm-snippetField\": { backgroundColor: \"#00000022\" },\n \"&dark .cm-snippetField\": { backgroundColor: \"#ffffff22\" },\n \".cm-snippetFieldPosition\": {\n verticalAlign: \"text-top\",\n width: 0,\n height: \"1.15em\",\n display: \"inline-block\",\n margin: \"0 -0.7px -.7em\",\n borderLeft: \"1.4px dotted #888\"\n },\n \".cm-completionMatchedText\": {\n textDecoration: \"underline\"\n },\n \".cm-completionDetail\": {\n marginLeft: \"0.5em\",\n fontStyle: \"italic\"\n },\n \".cm-completionIcon\": {\n fontSize: \"90%\",\n width: \".8em\",\n display: \"inline-block\",\n textAlign: \"center\",\n paddingRight: \".6em\",\n opacity: \"0.6\",\n boxSizing: \"content-box\"\n },\n \".cm-completionIcon-function, .cm-completionIcon-method\": {\n \"&:after\": { content: \"'ƒ'\" }\n },\n \".cm-completionIcon-class\": {\n \"&:after\": { content: \"'○'\" }\n },\n \".cm-completionIcon-interface\": {\n \"&:after\": { content: \"'◌'\" }\n },\n \".cm-completionIcon-variable\": {\n \"&:after\": { content: \"'𝑥'\" }\n },\n \".cm-completionIcon-constant\": {\n \"&:after\": { content: \"'𝐶'\" }\n },\n \".cm-completionIcon-type\": {\n \"&:after\": { content: \"'𝑡'\" }\n },\n \".cm-completionIcon-enum\": {\n \"&:after\": { content: \"'∪'\" }\n },\n \".cm-completionIcon-property\": {\n \"&:after\": { content: \"'□'\" }\n },\n \".cm-completionIcon-keyword\": {\n \"&:after\": { content: \"'🔑\\uFE0E'\" } // Disable emoji rendering\n },\n \".cm-completionIcon-namespace\": {\n \"&:after\": { content: \"'▢'\" }\n },\n \".cm-completionIcon-text\": {\n \"&:after\": { content: \"'abc'\", fontSize: \"50%\", verticalAlign: \"middle\" }\n }\n});\n\nclass FieldPos {\n constructor(field, line, from, to) {\n this.field = field;\n this.line = line;\n this.from = from;\n this.to = to;\n }\n}\nclass FieldRange {\n constructor(field, from, to) {\n this.field = field;\n this.from = from;\n this.to = to;\n }\n map(changes) {\n let from = changes.mapPos(this.from, -1, MapMode.TrackDel);\n let to = changes.mapPos(this.to, 1, MapMode.TrackDel);\n return from == null || to == null ? null : new FieldRange(this.field, from, to);\n }\n}\nclass Snippet {\n constructor(lines, fieldPositions) {\n this.lines = lines;\n this.fieldPositions = fieldPositions;\n }\n instantiate(state, pos) {\n let text = [], lineStart = [pos];\n let lineObj = state.doc.lineAt(pos), baseIndent = /^\\s*/.exec(lineObj.text)[0];\n for (let line of this.lines) {\n if (text.length) {\n let indent = baseIndent, tabs = /^\\t*/.exec(line)[0].length;\n for (let i = 0; i < tabs; i++)\n indent += state.facet(indentUnit);\n lineStart.push(pos + indent.length - tabs);\n line = indent + line.slice(tabs);\n }\n text.push(line);\n pos += line.length + 1;\n }\n let ranges = this.fieldPositions.map(pos => new FieldRange(pos.field, lineStart[pos.line] + pos.from, lineStart[pos.line] + pos.to));\n return { text, ranges };\n }\n static parse(template) {\n let fields = [];\n let lines = [], positions = [], m;\n for (let line of template.split(/\\r\\n?|\\n/)) {\n while (m = /[#$]\\{(?:(\\d+)(?::([^}]*))?|([^}]*))\\}/.exec(line)) {\n let seq = m[1] ? +m[1] : null, name = m[2] || m[3] || \"\", found = -1;\n for (let i = 0; i < fields.length; i++) {\n if (seq != null ? fields[i].seq == seq : name ? fields[i].name == name : false)\n found = i;\n }\n if (found < 0) {\n let i = 0;\n while (i < fields.length && (seq == null || (fields[i].seq != null && fields[i].seq < seq)))\n i++;\n fields.splice(i, 0, { seq, name });\n found = i;\n for (let pos of positions)\n if (pos.field >= found)\n pos.field++;\n }\n positions.push(new FieldPos(found, lines.length, m.index, m.index + name.length));\n line = line.slice(0, m.index) + name + line.slice(m.index + m[0].length);\n }\n for (let esc; esc = /\\\\([{}])/.exec(line);) {\n line = line.slice(0, esc.index) + esc[1] + line.slice(esc.index + esc[0].length);\n for (let pos of positions)\n if (pos.line == lines.length && pos.from > esc.index) {\n pos.from--;\n pos.to--;\n }\n }\n lines.push(line);\n }\n return new Snippet(lines, positions);\n }\n}\nlet fieldMarker = /*@__PURE__*/Decoration.widget({ widget: /*@__PURE__*/new class extends WidgetType {\n toDOM() {\n let span = document.createElement(\"span\");\n span.className = \"cm-snippetFieldPosition\";\n return span;\n }\n ignoreEvent() { return false; }\n } });\nlet fieldRange = /*@__PURE__*/Decoration.mark({ class: \"cm-snippetField\" });\nclass ActiveSnippet {\n constructor(ranges, active) {\n this.ranges = ranges;\n this.active = active;\n this.deco = Decoration.set(ranges.map(r => (r.from == r.to ? fieldMarker : fieldRange).range(r.from, r.to)));\n }\n map(changes) {\n let ranges = [];\n for (let r of this.ranges) {\n let mapped = r.map(changes);\n if (!mapped)\n return null;\n ranges.push(mapped);\n }\n return new ActiveSnippet(ranges, this.active);\n }\n selectionInsideField(sel) {\n return sel.ranges.every(range => this.ranges.some(r => r.field == this.active && r.from <= range.from && r.to >= range.to));\n }\n}\nconst setActive = /*@__PURE__*/StateEffect.define({\n map(value, changes) { return value && value.map(changes); }\n});\nconst moveToField = /*@__PURE__*/StateEffect.define();\nconst snippetState = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(value, tr) {\n for (let effect of tr.effects) {\n if (effect.is(setActive))\n return effect.value;\n if (effect.is(moveToField) && value)\n return new ActiveSnippet(value.ranges, effect.value);\n }\n if (value && tr.docChanged)\n value = value.map(tr.changes);\n if (value && tr.selection && !value.selectionInsideField(tr.selection))\n value = null;\n return value;\n },\n provide: f => EditorView.decorations.from(f, val => val ? val.deco : Decoration.none)\n});\nfunction fieldSelection(ranges, field) {\n return EditorSelection.create(ranges.filter(r => r.field == field).map(r => EditorSelection.range(r.from, r.to)));\n}\n/**\nConvert a snippet template to a function that can\n[apply](https://codemirror.net/6/docs/ref/#autocomplete.Completion.apply) it. Snippets are written\nusing syntax like this:\n\n \"for (let ${index} = 0; ${index} < ${end}; ${index}++) {\\n\\t${}\\n}\"\n\nEach `${}` placeholder (you may also use `#{}`) indicates a field\nthat the user can fill in. Its name, if any, will be the default\ncontent for the field.\n\nWhen the snippet is activated by calling the returned function,\nthe code is inserted at the given position. Newlines in the\ntemplate are indented by the indentation of the start line, plus\none [indent unit](https://codemirror.net/6/docs/ref/#language.indentUnit) per tab character after\nthe newline.\n\nOn activation, (all instances of) the first field are selected.\nThe user can move between fields with Tab and Shift-Tab as long as\nthe fields are active. Moving to the last field or moving the\ncursor out of the current field deactivates the fields.\n\nThe order of fields defaults to textual order, but you can add\nnumbers to placeholders (`${1}` or `${1:defaultText}`) to provide\na custom order.\n\nTo include a literal `{` or `}` in your template, put a backslash\nin front of it. This will be removed and the brace will not be\ninterpreted as indicating a placeholder.\n*/\nfunction snippet(template) {\n let snippet = Snippet.parse(template);\n return (editor, completion, from, to) => {\n let { text, ranges } = snippet.instantiate(editor.state, from);\n let spec = {\n changes: { from, to, insert: Text.of(text) },\n scrollIntoView: true,\n annotations: completion ? [pickedCompletion.of(completion), Transaction.userEvent.of(\"input.complete\")] : undefined\n };\n if (ranges.length)\n spec.selection = fieldSelection(ranges, 0);\n if (ranges.some(r => r.field > 0)) {\n let active = new ActiveSnippet(ranges, 0);\n let effects = spec.effects = [setActive.of(active)];\n if (editor.state.field(snippetState, false) === undefined)\n effects.push(StateEffect.appendConfig.of([snippetState, addSnippetKeymap, snippetPointerHandler, baseTheme]));\n }\n editor.dispatch(editor.state.update(spec));\n };\n}\nfunction moveField(dir) {\n return ({ state, dispatch }) => {\n let active = state.field(snippetState, false);\n if (!active || dir < 0 && active.active == 0)\n return false;\n let next = active.active + dir, last = dir > 0 && !active.ranges.some(r => r.field == next + dir);\n dispatch(state.update({\n selection: fieldSelection(active.ranges, next),\n effects: setActive.of(last ? null : new ActiveSnippet(active.ranges, next)),\n scrollIntoView: true\n }));\n return true;\n };\n}\n/**\nA command that clears the active snippet, if any.\n*/\nconst clearSnippet = ({ state, dispatch }) => {\n let active = state.field(snippetState, false);\n if (!active)\n return false;\n dispatch(state.update({ effects: setActive.of(null) }));\n return true;\n};\n/**\nMove to the next snippet field, if available.\n*/\nconst nextSnippetField = /*@__PURE__*/moveField(1);\n/**\nMove to the previous snippet field, if available.\n*/\nconst prevSnippetField = /*@__PURE__*/moveField(-1);\n/**\nCheck if there is an active snippet with a next field for\n`nextSnippetField` to move to.\n*/\nfunction hasNextSnippetField(state) {\n let active = state.field(snippetState, false);\n return !!(active && active.ranges.some(r => r.field == active.active + 1));\n}\n/**\nReturns true if there is an active snippet and a previous field\nfor `prevSnippetField` to move to.\n*/\nfunction hasPrevSnippetField(state) {\n let active = state.field(snippetState, false);\n return !!(active && active.active > 0);\n}\nconst defaultSnippetKeymap = [\n { key: \"Tab\", run: nextSnippetField, shift: prevSnippetField },\n { key: \"Escape\", run: clearSnippet }\n];\n/**\nA facet that can be used to configure the key bindings used by\nsnippets. The default binds Tab to\n[`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to\n[`prevSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.prevSnippetField), and Escape\nto [`clearSnippet`](https://codemirror.net/6/docs/ref/#autocomplete.clearSnippet).\n*/\nconst snippetKeymap = /*@__PURE__*/Facet.define({\n combine(maps) { return maps.length ? maps[0] : defaultSnippetKeymap; }\n});\nconst addSnippetKeymap = /*@__PURE__*/Prec.highest(/*@__PURE__*/keymap.compute([snippetKeymap], state => state.facet(snippetKeymap)));\n/**\nCreate a completion from a snippet. Returns an object with the\nproperties from `completion`, plus an `apply` function that\napplies the snippet.\n*/\nfunction snippetCompletion(template, completion) {\n return Object.assign(Object.assign({}, completion), { apply: snippet(template) });\n}\nconst snippetPointerHandler = /*@__PURE__*/EditorView.domEventHandlers({\n mousedown(event, view) {\n let active = view.state.field(snippetState, false), pos;\n if (!active || (pos = view.posAtCoords({ x: event.clientX, y: event.clientY })) == null)\n return false;\n let match = active.ranges.find(r => r.from <= pos && r.to >= pos);\n if (!match || match.field == active.active)\n return false;\n view.dispatch({\n selection: fieldSelection(active.ranges, match.field),\n effects: setActive.of(active.ranges.some(r => r.field > match.field)\n ? new ActiveSnippet(active.ranges, match.field) : null),\n scrollIntoView: true\n });\n return true;\n }\n});\n\nfunction wordRE(wordChars) {\n let escaped = wordChars.replace(/[\\]\\-\\\\]/g, \"\\\\$&\");\n try {\n return new RegExp(`[\\\\p{Alphabetic}\\\\p{Number}_${escaped}]+`, \"ug\");\n }\n catch (_a) {\n return new RegExp(`[\\w${escaped}]`, \"g\");\n }\n}\nfunction mapRE(re, f) {\n return new RegExp(f(re.source), re.unicode ? \"u\" : \"\");\n}\nconst wordCaches = /*@__PURE__*/Object.create(null);\nfunction wordCache(wordChars) {\n return wordCaches[wordChars] || (wordCaches[wordChars] = new WeakMap);\n}\nfunction storeWords(doc, wordRE, result, seen, ignoreAt) {\n for (let lines = doc.iterLines(), pos = 0; !lines.next().done;) {\n let { value } = lines, m;\n wordRE.lastIndex = 0;\n while (m = wordRE.exec(value)) {\n if (!seen[m[0]] && pos + m.index != ignoreAt) {\n result.push({ type: \"text\", label: m[0] });\n seen[m[0]] = true;\n if (result.length >= 2000 /* C.MaxList */)\n return;\n }\n }\n pos += value.length + 1;\n }\n}\nfunction collectWords(doc, cache, wordRE, to, ignoreAt) {\n let big = doc.length >= 1000 /* C.MinCacheLen */;\n let cached = big && cache.get(doc);\n if (cached)\n return cached;\n let result = [], seen = Object.create(null);\n if (doc.children) {\n let pos = 0;\n for (let ch of doc.children) {\n if (ch.length >= 1000 /* C.MinCacheLen */) {\n for (let c of collectWords(ch, cache, wordRE, to - pos, ignoreAt - pos)) {\n if (!seen[c.label]) {\n seen[c.label] = true;\n result.push(c);\n }\n }\n }\n else {\n storeWords(ch, wordRE, result, seen, ignoreAt - pos);\n }\n pos += ch.length + 1;\n }\n }\n else {\n storeWords(doc, wordRE, result, seen, ignoreAt);\n }\n if (big && result.length < 2000 /* C.MaxList */)\n cache.set(doc, result);\n return result;\n}\n/**\nA completion source that will scan the document for words (using a\n[character categorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer)), and\nreturn those as completions.\n*/\nconst completeAnyWord = context => {\n let wordChars = context.state.languageDataAt(\"wordChars\", context.pos).join(\"\");\n let re = wordRE(wordChars);\n let token = context.matchBefore(mapRE(re, s => s + \"$\"));\n if (!token && !context.explicit)\n return null;\n let from = token ? token.from : context.pos;\n let options = collectWords(context.state.doc, wordCache(wordChars), re, 50000 /* C.Range */, from);\n return { from, options, validFor: mapRE(re, s => \"^\" + s) };\n};\n\nconst defaults = {\n brackets: [\"(\", \"[\", \"{\", \"'\", '\"'],\n before: \")]}:;>\",\n stringPrefixes: []\n};\nconst closeBracketEffect = /*@__PURE__*/StateEffect.define({\n map(value, mapping) {\n let mapped = mapping.mapPos(value, -1, MapMode.TrackAfter);\n return mapped == null ? undefined : mapped;\n }\n});\nconst closedBracket = /*@__PURE__*/new class extends RangeValue {\n};\nclosedBracket.startSide = 1;\nclosedBracket.endSide = -1;\nconst bracketState = /*@__PURE__*/StateField.define({\n create() { return RangeSet.empty; },\n update(value, tr) {\n value = value.map(tr.changes);\n if (tr.selection) {\n let line = tr.state.doc.lineAt(tr.selection.main.head);\n value = value.update({ filter: from => from >= line.from && from <= line.to });\n }\n for (let effect of tr.effects)\n if (effect.is(closeBracketEffect))\n value = value.update({ add: [closedBracket.range(effect.value, effect.value + 1)] });\n return value;\n }\n});\n/**\nExtension to enable bracket-closing behavior. When a closeable\nbracket is typed, its closing bracket is immediately inserted\nafter the cursor. When closing a bracket directly in front of a\nclosing bracket inserted by the extension, the cursor moves over\nthat bracket.\n*/\nfunction closeBrackets() {\n return [inputHandler, bracketState];\n}\nconst definedClosing = \"()[]{}<>\";\nfunction closing(ch) {\n for (let i = 0; i < definedClosing.length; i += 2)\n if (definedClosing.charCodeAt(i) == ch)\n return definedClosing.charAt(i + 1);\n return fromCodePoint(ch < 128 ? ch : ch + 1);\n}\nfunction config(state, pos) {\n return state.languageDataAt(\"closeBrackets\", pos)[0] || defaults;\n}\nconst android = typeof navigator == \"object\" && /*@__PURE__*//Android\\b/.test(navigator.userAgent);\nconst inputHandler = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, insert) => {\n if ((android ? view.composing : view.compositionStarted) || view.state.readOnly)\n return false;\n let sel = view.state.selection.main;\n if (insert.length > 2 || insert.length == 2 && codePointSize(codePointAt(insert, 0)) == 1 ||\n from != sel.from || to != sel.to)\n return false;\n let tr = insertBracket(view.state, insert);\n if (!tr)\n return false;\n view.dispatch(tr);\n return true;\n});\n/**\nCommand that implements deleting a pair of matching brackets when\nthe cursor is between them.\n*/\nconst deleteBracketPair = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let conf = config(state, state.selection.main.head);\n let tokens = conf.brackets || defaults.brackets;\n let dont = null, changes = state.changeByRange(range => {\n if (range.empty) {\n let before = prevChar(state.doc, range.head);\n for (let token of tokens) {\n if (token == before && nextChar(state.doc, range.head) == closing(codePointAt(token, 0)))\n return { changes: { from: range.head - token.length, to: range.head + token.length },\n range: EditorSelection.cursor(range.head - token.length) };\n }\n }\n return { range: dont = range };\n });\n if (!dont)\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"delete.backward\" }));\n return !dont;\n};\n/**\nClose-brackets related key bindings. Binds Backspace to\n[`deleteBracketPair`](https://codemirror.net/6/docs/ref/#autocomplete.deleteBracketPair).\n*/\nconst closeBracketsKeymap = [\n { key: \"Backspace\", run: deleteBracketPair }\n];\n/**\nImplements the extension's behavior on text insertion. If the\ngiven string counts as a bracket in the language around the\nselection, and replacing the selection with it requires custom\nbehavior (inserting a closing version or skipping past a\npreviously-closed bracket), this function returns a transaction\nrepresenting that custom behavior. (You only need this if you want\nto programmatically insert brackets—the\n[`closeBrackets`](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets) extension will\ntake care of running this for user input.)\n*/\nfunction insertBracket(state, bracket) {\n let conf = config(state, state.selection.main.head);\n let tokens = conf.brackets || defaults.brackets;\n for (let tok of tokens) {\n let closed = closing(codePointAt(tok, 0));\n if (bracket == tok)\n return closed == tok ? handleSame(state, tok, tokens.indexOf(tok + tok + tok) > -1, conf)\n : handleOpen(state, tok, closed, conf.before || defaults.before);\n if (bracket == closed && closedBracketAt(state, state.selection.main.from))\n return handleClose(state, tok, closed);\n }\n return null;\n}\nfunction closedBracketAt(state, pos) {\n let found = false;\n state.field(bracketState).between(0, state.doc.length, from => {\n if (from == pos)\n found = true;\n });\n return found;\n}\nfunction nextChar(doc, pos) {\n let next = doc.sliceString(pos, pos + 2);\n return next.slice(0, codePointSize(codePointAt(next, 0)));\n}\nfunction prevChar(doc, pos) {\n let prev = doc.sliceString(pos - 2, pos);\n return codePointSize(codePointAt(prev, 0)) == prev.length ? prev : prev.slice(1);\n}\nfunction handleOpen(state, open, close, closeBefore) {\n let dont = null, changes = state.changeByRange(range => {\n if (!range.empty)\n return { changes: [{ insert: open, from: range.from }, { insert: close, from: range.to }],\n effects: closeBracketEffect.of(range.to + open.length),\n range: EditorSelection.range(range.anchor + open.length, range.head + open.length) };\n let next = nextChar(state.doc, range.head);\n if (!next || /\\s/.test(next) || closeBefore.indexOf(next) > -1)\n return { changes: { insert: open + close, from: range.head },\n effects: closeBracketEffect.of(range.head + open.length),\n range: EditorSelection.cursor(range.head + open.length) };\n return { range: dont = range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\nfunction handleClose(state, _open, close) {\n let dont = null, changes = state.changeByRange(range => {\n if (range.empty && nextChar(state.doc, range.head) == close)\n return { changes: { from: range.head, to: range.head + close.length, insert: close },\n range: EditorSelection.cursor(range.head + close.length) };\n return dont = { range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\n// Handles cases where the open and close token are the same, and\n// possibly triple quotes (as in `\"\"\"abc\"\"\"`-style quoting).\nfunction handleSame(state, token, allowTriple, config) {\n let stringPrefixes = config.stringPrefixes || defaults.stringPrefixes;\n let dont = null, changes = state.changeByRange(range => {\n if (!range.empty)\n return { changes: [{ insert: token, from: range.from }, { insert: token, from: range.to }],\n effects: closeBracketEffect.of(range.to + token.length),\n range: EditorSelection.range(range.anchor + token.length, range.head + token.length) };\n let pos = range.head, next = nextChar(state.doc, pos), start;\n if (next == token) {\n if (nodeStart(state, pos)) {\n return { changes: { insert: token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n else if (closedBracketAt(state, pos)) {\n let isTriple = allowTriple && state.sliceDoc(pos, pos + token.length * 3) == token + token + token;\n let content = isTriple ? token + token + token : token;\n return { changes: { from: pos, to: pos + content.length, insert: content },\n range: EditorSelection.cursor(pos + content.length) };\n }\n }\n else if (allowTriple && state.sliceDoc(pos - 2 * token.length, pos) == token + token &&\n (start = canStartStringAt(state, pos - 2 * token.length, stringPrefixes)) > -1 &&\n nodeStart(state, start)) {\n return { changes: { insert: token + token + token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n else if (state.charCategorizer(pos)(next) != CharCategory.Word) {\n if (canStartStringAt(state, pos, stringPrefixes) > -1 && !probablyInString(state, pos, token, stringPrefixes))\n return { changes: { insert: token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n return { range: dont = range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\nfunction nodeStart(state, pos) {\n let tree = syntaxTree(state).resolveInner(pos + 1);\n return tree.parent && tree.from == pos;\n}\nfunction probablyInString(state, pos, quoteToken, prefixes) {\n let node = syntaxTree(state).resolveInner(pos, -1);\n let maxPrefix = prefixes.reduce((m, p) => Math.max(m, p.length), 0);\n for (let i = 0; i < 5; i++) {\n let start = state.sliceDoc(node.from, Math.min(node.to, node.from + quoteToken.length + maxPrefix));\n let quotePos = start.indexOf(quoteToken);\n if (!quotePos || quotePos > -1 && prefixes.indexOf(start.slice(0, quotePos)) > -1) {\n let first = node.firstChild;\n while (first && first.from == node.from && first.to - first.from > quoteToken.length + quotePos) {\n if (state.sliceDoc(first.to - quoteToken.length, first.to) == quoteToken)\n return false;\n first = first.firstChild;\n }\n return true;\n }\n let parent = node.to == pos && node.parent;\n if (!parent)\n break;\n node = parent;\n }\n return false;\n}\nfunction canStartStringAt(state, pos, prefixes) {\n let charCat = state.charCategorizer(pos);\n if (charCat(state.sliceDoc(pos - 1, pos)) != CharCategory.Word)\n return pos;\n for (let prefix of prefixes) {\n let start = pos - prefix.length;\n if (state.sliceDoc(start, pos) == prefix && charCat(state.sliceDoc(start - 1, start)) != CharCategory.Word)\n return start;\n }\n return -1;\n}\n\n/**\nReturns an extension that enables autocompletion.\n*/\nfunction autocompletion(config = {}) {\n return [\n commitCharacters,\n completionState,\n completionConfig.of(config),\n completionPlugin,\n completionKeymapExt,\n baseTheme\n ];\n}\n/**\nBasic keybindings for autocompletion.\n\n - Ctrl-Space: [`startCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.startCompletion)\n - Escape: [`closeCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.closeCompletion)\n - ArrowDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true)`\n - ArrowUp: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(false)`\n - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, \"page\")`\n - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, \"page\")`\n - Enter: [`acceptCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.acceptCompletion)\n*/\nconst completionKeymap = [\n { key: \"Ctrl-Space\", run: startCompletion },\n { key: \"Escape\", run: closeCompletion },\n { key: \"ArrowDown\", run: /*@__PURE__*/moveCompletionSelection(true) },\n { key: \"ArrowUp\", run: /*@__PURE__*/moveCompletionSelection(false) },\n { key: \"PageDown\", run: /*@__PURE__*/moveCompletionSelection(true, \"page\") },\n { key: \"PageUp\", run: /*@__PURE__*/moveCompletionSelection(false, \"page\") },\n { key: \"Enter\", run: acceptCompletion }\n];\nconst completionKeymapExt = /*@__PURE__*/Prec.highest(/*@__PURE__*/keymap.computeN([completionConfig], state => state.facet(completionConfig).defaultKeymap ? [completionKeymap] : []));\n/**\nGet the current completion status. When completions are available,\nthis will return `\"active\"`. When completions are pending (in the\nprocess of being queried), this returns `\"pending\"`. Otherwise, it\nreturns `null`.\n*/\nfunction completionStatus(state) {\n let cState = state.field(completionState, false);\n return cState && cState.active.some(a => a.state == 1 /* State.Pending */) ? \"pending\"\n : cState && cState.active.some(a => a.state != 0 /* State.Inactive */) ? \"active\" : null;\n}\nconst completionArrayCache = /*@__PURE__*/new WeakMap;\n/**\nReturns the available completions as an array.\n*/\nfunction currentCompletions(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n if (!open || open.disabled)\n return [];\n let completions = completionArrayCache.get(open.options);\n if (!completions)\n completionArrayCache.set(open.options, completions = open.options.map(o => o.completion));\n return completions;\n}\n/**\nReturn the currently selected completion, if any.\n*/\nfunction selectedCompletion(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n return open && !open.disabled && open.selected >= 0 ? open.options[open.selected].completion : null;\n}\n/**\nReturns the currently selected position in the active completion\nlist, or null if no completions are active.\n*/\nfunction selectedCompletionIndex(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n return open && !open.disabled && open.selected >= 0 ? open.selected : null;\n}\n/**\nCreate an effect that can be attached to a transaction to change\nthe currently selected completion.\n*/\nfunction setSelectedCompletion(index) {\n return setSelectedEffect.of(index);\n}\n\nexport { CompletionContext, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, hasNextSnippetField, hasPrevSnippetField, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };\n"],"names":["CompletionContext","constructor","state","pos","explicit","this","abortListeners","tokenBefore","types","token","syntaxTree","resolveInner","indexOf","name","parent","from","to","text","sliceDoc","type","matchBefore","expr","line","doc","lineAt","start","Math","max","str","slice","found","search","ensureAnchor","aborted","addEventListener","listener","push","toSet","chars","flat","Object","keys","join","words","test","replace","completeFromList","list","options","map","o","label","validFor","match","every","first","create","rest","i","length","source","RegExp","prefixMatch","context","ifNotIn","nodes","isTop","Option","completion","score","cur","selection","main","_a","addStart","addEnd","flags","ignoreCase","pickedCompletion","Annotation","define","SourceCache","WeakMap","asSource","Array","isArray","known","get","set","startCompletionEffect","StateEffect","closeCompletionEffect","FuzzyMatcher","pattern","folded","any","precise","byWord","matched","p","char","codePointAt","size","codePointSize","part","upper","toUpperCase","toLowerCase","astral","ret","word","firstSize","direct","len","anyTo","e","min","next","preciseTo","byWordTo","byWordFolded","adjacentTo","adjacentStart","adjacentEnd","hasLower","wordAdjacent","prevType","ch","fromCodePoint","result","positions","StrictMatcher","completionConfig","Facet","combine","configs","combineConfig","activateOnTyping","activateOnCompletion","activateOnTypingDelay","selectOnOpen","override","closeOnBlur","maxRenderedOptions","defaultKeymap","tooltipClass","optionClass","aboveCursor","icons","addToOptions","positionInfo","defaultPositionInfo","filterStrict","compareCompletions","a","b","localeCompare","interactionDelay","updateSyncTime","c","joinClass","concat","view","option","info","space","tooltip","offset","maxWidth","rtl","textDirection","Direction","RTL","left","narrow","side","spaceLeft","spaceRight","right","infoWidth","infoHeight","bottom","top","spaceBelow","style","offsetHeight","offsetWidth","class","rangeAroundSelected","total","selected","off","floor","CompletionTooltip","stateField","applyCompletion","infoDestroy","placeInfoReq","read","measureInfo","write","placeInfo","key","currentClass","cState","field","open","config","facet","optionContent","content","render","icon","document","createElement","classList","add","split","cls","setAttribute","position","_s","_v","labelElt","className","displayLabel","j","appendChild","createTextNode","span","detail","detailElt","textContent","sort","range","dom","updateTooltipClass","target","parentNode","nodeName","exec","id","preventDefault","relatedTarget","contentDOM","dispatch","effects","of","showOptions","mount","updateSel","remove","createListBox","requestMeasure","update","prevState","startState","disabled","toggle","positioned","updateSelectedOption","destroyInfo","infoResult","then","obj","addInfoPane","catch","logException","wrap","nodeType","destroy","opt","firstChild","nextSibling","hasAttribute","removeAttribute","container","element","getBoundingClientRect","self","scaleY","height","scrollTop","scrollIntoView","sel","querySelector","listRect","infoRect","selRect","win","ownerDocument","defaultView","window","innerWidth","innerHeight","cssText","ul","phrase","curSection","section","header","li","node","completionTooltip","boost","apply","CompletionDialog","attrs","timestamp","setSelected","makeAttrs","build","active","prev","conf","sections","addOption","some","s","hasResult","getMatch","filter","matcher","sectionOrder","cmp","_b","rank","compare","sortOptions","selectedValue","reduce","createTooltip","above","Date","now","changes","assign","mapPos","CompletionState","none","random","toString","tr","languageDataAt","find","ActiveSource","docChanged","touchesRange","iA","iB","endA","endB","sameResults","effect","is","setSelectedEffect","value","baseAttrs","getUserEvent","isUserEvent","annotation","explicitPos","event","handleUserEvent","handleChange","setActiveEffect","empty","ActiveResult","super","checkValid","mapping","sources","completionState","StateField","provide","f","showTooltip","val","EditorView","contentAttributes","fromOff","toOff","changeByRange","insert","EditorSelection","cursor","userEvent","insertCompletionText","annotations","moveCompletionSelection","forward","by","step","getTooltip","RunningQuery","time","updates","done","undefined","completionPlugin","ViewPlugin","fromClass","debounceUpdate","running","debounceAccept","pendingStart","composing","startQuery","selectionSet","doesReset","transactions","query","handler","splice","clearTimeout","delay","q","setTimeout","startUpdate","r","pending","Promise","resolve","scheduleAccept","err","accept","updated","current","eventHandlers","blur","dialog","contains","compositionstart","compositionend","windows","navigator","platform","commitCharacters","Prec","highest","domEventHandlers","keydown","ctrlKey","altKey","metaKey","commitChars","baseTheme","fontFamily","whiteSpace","overflow","maxWidth_fallback","minWidth","maxHeight","listStyle","margin","padding","lineHeight","overflowX","textOverflow","display","borderBottom","paddingLeft","opacity","background","color","textAlign","width","boxSizing","backgroundColor","verticalAlign","borderLeft","textDecoration","marginLeft","fontStyle","fontSize","paddingRight","FieldPos","FieldRange","MapMode","TrackDel","Snippet","lines","fieldPositions","instantiate","lineStart","lineObj","baseIndent","indent","tabs","indentUnit","ranges","parse","template","m","fields","seq","index","esc","fieldMarker","Decoration","widget","WidgetType","toDOM","ignoreEvent","fieldRange","mark","ActiveSnippet","deco","mapped","selectionInsideField","setActive","moveToField","snippetState","decorations","fieldSelection","snippet","editor","spec","Text","Transaction","appendConfig","addSnippetKeymap","snippetPointerHandler","moveField","dir","last","defaultSnippetKeymap","run","shift","snippetKeymap","maps","keymap","compute","snippetCompletion","mousedown","posAtCoords","x","clientX","y","clientY","defaults","brackets","before","stringPrefixes","closeBracketEffect","TrackAfter","closedBracket","RangeValue","startSide","endSide","bracketState","RangeSet","head","closeBrackets","inputHandler","definedClosing","closing","charCodeAt","charAt","android","userAgent","compositionStarted","readOnly","bracket","tokens","tok","closed","handleSame","handleOpen","closedBracketAt","handleClose","insertBracket","closeBracketsKeymap","dont","sliceString","prevChar","nextChar","between","close","closeBefore","anchor","_open","allowTriple","nodeStart","canStartStringAt","charCategorizer","CharCategory","Word","quoteToken","prefixes","maxPrefix","quotePos","probablyInString","tree","charCat","prefix","autocompletion","completionKeymapExt","completionKeymap","computeN"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
function D(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var u={exports:{}};const t=({onlyFirst:D=!1}={})=>{const u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,D?void 0:"g")};var e={exports:{}};const s=D=>!Number.isNaN(D)&&(D>=4352&&(D<=4447||9001===D||9002===D||11904<=D&&D<=12871&&12351!==D||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141));e.exports=s,e.exports.default=s;var i=e.exports;const r=D=>"string"==typeof D?D.replace(t(),""):D,F=i,o=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},n=D=>{if("string"!=typeof D||0===D.length)return 0;if(0===(D=r(D)).length)return 0;D=D.replace(o()," ");let u=0;for(let t=0;t<D.length;t++){const e=D.codePointAt(t);e<=31||e>=127&&e<=159||(e>=768&&e<=879||(e>65535&&t++,u+=F(e)?2:1))}return u};u.exports=n,u.exports.default=n;var C,h,a=D(u.exports),E="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},l={},c={};C=c,Object.defineProperty(C,"__esModule",{value:!0}),C.parseInput=C.InputType=void 0,function(D){D[D.Text=0]="Text",D[D.AltEnter=1]="AltEnter",D[D.ArrowUp=2]="ArrowUp",D[D.ArrowDown=3]="ArrowDown",D[D.ArrowLeft=4]="ArrowLeft",D[D.ArrowRight=5]="ArrowRight",D[D.Delete=6]="Delete",D[D.Backspace=7]="Backspace",D[D.CtrlA=8]="CtrlA",D[D.CtrlC=9]="CtrlC",D[D.CtrlD=10]="CtrlD",D[D.CtrlE=11]="CtrlE",D[D.CtrlK=12]="CtrlK",D[D.CtrlL=13]="CtrlL",D[D.CtrlQ=14]="CtrlQ",D[D.CtrlS=15]="CtrlS",D[D.CtrlU=16]="CtrlU",D[D.End=17]="End",D[D.Enter=18]="Enter",D[D.Home=19]="Home",D[D.ShiftEnter=20]="ShiftEnter",D[D.UnsupportedControlChar=21]="UnsupportedControlChar",D[D.UnsupportedEscape=22]="UnsupportedEscape"}(h=C.InputType||(C.InputType={})),C.parseInput=function(D){return Array.from(function*(D){let u=[];const t=D[Symbol.iterator]();for(let D=t.next();!D.done;D=t.next()){const e=D.value;if(e.length>1){u.push(e);continue}const s=e.charCodeAt(0);if(u.length>0&&(s<32||127===s)&&(yield{inputType:h.Text,data:u},u=[]),27!==s)if(s<32||127===s){let D=h.UnsupportedControlChar;switch(s){case 1:D=h.CtrlA;break;case 3:D=h.CtrlC;break;case 4:D=h.CtrlD;break;case 5:D=h.CtrlE;break;case 11:D=h.CtrlK;break;case 17:D=h.CtrlQ;break;case 19:D=h.CtrlS;break;case 21:D=h.CtrlU;break;case 13:D=h.Enter;break;case 127:D=h.Backspace;break;case 12:D=h.CtrlL}yield{inputType:D,data:[e]}}else u.push(e);else{const D=t.next();if(D.done){u.push("");continue}let e=h.UnsupportedEscape;if("["!==D.value){"\r"===D.value&&(e=h.AltEnter),yield{inputType:e,data:["",D.value]};continue}const s=t.next();if(s.done)continue;if(s.value>="0"&&s.value<="9"){let D=s.value;const u=t.next();if(u.done)return;if(u.value>="0"&&u.value<="9")D+=u.value;else if("~"!==u.value)continue;"3"===D&&(e=h.Delete),yield{inputType:e,data:["","[",D,"~"]};continue}switch(s.value){case"A":e=h.ArrowUp;break;case"B":e=h.ArrowDown;break;case"C":e=h.ArrowRight;break;case"D":e=h.ArrowLeft;break;case"F":e=h.End;break;case"H":e=h.Home;break;case"\r":e=h.AltEnter}yield{inputType:e,data:["","[",s.value]}}}u.length>0&&(yield{inputType:h.Text,data:u})}(D))};var p={},d={};Object.defineProperty(d,"__esModule",{value:!0}),d.LineBuffer=void 0,d.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(D,u){this.buf=D,this.pos=u}insert(D){const u=D.length,t=this.pos===this.buf.length;return this.buf=t?this.buf+D:this.buf.slice(0,this.pos)+D+this.buf.slice(this.pos),this.pos+=u,t}moveBack(D){const u=this.prevPos(D);return void 0!==u&&(this.pos=u,!0)}moveForward(D){const u=this.nextPos(D);return void 0!==u&&(this.pos=u,!0)}moveHome(){const D=this.startOfLine();return this.pos>D&&(this.pos=D,!0)}moveEnd(){const D=this.endOfLine();return this.pos!==D&&(this.pos=D,!0)}startOfLine(){const D=this.buf.slice(0,this.pos).lastIndexOf("\n");return-1!==D?D+1:0}endOfLine(){const D=this.buf.slice(this.pos).indexOf("\n");return-1!==D?this.pos+D:this.buf.length}moveLineUp(D){const u=this.buf.slice(0,this.pos).lastIndexOf("\n");if(-1===u)return!1;const t=[...this.buf.slice(u+1,this.pos)].length;let e=this.buf.slice(0,u).lastIndexOf("\n");-1===e?e=0:e+=1;let s=u;for(let u=1;u<D&&0!==e;u++)s=e-1,e=this.buf.slice(0,s).lastIndexOf("\n"),-1===e?e=0:e+=1;const i=[...this.buf.slice(e,s)].slice(0,t);let r=u;return i.length>0&&(r=i.map((D=>D.length)).reduce(((D,u)=>D+u),0),r=e+r),this.pos=r,!0}moveLineDown(D){const u=this.buf.slice(this.pos).indexOf("\n");if(-1===u)return!1;let t=this.buf.slice(0,this.pos).lastIndexOf("\n");-1===t?t=0:t+=1;const e=[...this.buf.slice(t,this.pos)].length;let s=this.pos+u+1,i=this.buf.slice(s).indexOf("\n");i=-1===i?this.buf.length:s+i;for(let u=1;u<D&&i!==this.buf.length;u++)s=i+1,i=this.buf.slice(s).indexOf("\n"),i=-1===i?this.buf.length:s+i;const r=[...this.buf.slice(s,i)];return e<r.length?this.pos=r.slice(0,e).map((D=>D.length)).reduce(((D,u)=>D+u),0)+s:this.pos=i,!0}set_pos(D){this.pos=D}prevPos(D){if(0===this.pos)return;const u=this.buf.slice(0,this.pos);return this.pos-[...u].slice(-D).map((D=>D.length)).reduce(((D,u)=>D+u),0)}nextPos(D){if(this.pos===this.buf.length)return;const u=this.buf.slice(this.pos);return this.pos+[...u].slice(0,D).map((D=>D.length)).reduce(((D,u)=>D+u),0)}backspace(D){const u=this.prevPos(D);return void 0!==u&&(this.buf=this.buf.slice(0,u)+this.buf.slice(this.pos),this.pos=u,!0)}delete(D){const u=this.nextPos(D);return void 0!==u&&(this.buf=this.buf.slice(0,this.pos)+this.buf.slice(u),!0)}deleteEndOfLine(){if(0==this.buf.length||this.pos==this.buf.length)return!1;const D=this.pos,u=this.endOfLine();return D==u?this.delete(1):this.buf=this.buf.slice(0,D)+this.buf.slice(u),!0}};var B=E&&E.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(p,"__esModule",{value:!0}),p.State=p.Layout=p.Position=void 0;const f=d,A=B(a);class y{constructor(D,u){this.row=void 0!==D?D:0,this.col=void 0!==u?u:0}}p.Position=y;class g{constructor(D){this.promptSize=D,this.cursor=new y,this.end=new y}}p.Layout=g,p.State=class{constructor(D,u,t,e){this.line=new f.LineBuffer,this.highlighting=!1,this.prompt=D,this.tty=u,this.highlighter=t,this.history=e,this.promptSize=u.calculatePosition(D,new y),this.layout=new g(this.promptSize)}buffer(){return this.line.buffer()}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.layout.cursor=new y,this.layout.end=new y,this.refresh()}editInsert(D){const u=this.line.insert(D),t=D.includes("\n");if(u&&!t){const u=(0,A.default)(D);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(D)):this.refresh()}else this.refresh()}update(D){this.line.update(D,D.length),this.refresh()}editBackspace(D){this.line.backspace(D)&&this.refresh()}editDelete(D){this.line.delete(D)&&this.refresh()}editDeleteEndOfLine(){this.line.deleteEndOfLine()&&this.refresh()}refresh(){const D=this.tty.computeLayout(this.promptSize,this.line);this.tty.refreshLine(this.prompt,this.line,this.layout,D,this.highlighter),this.layout=D}moveCursorBack(D){this.line.moveBack(D)&&this.moveCursor()}moveCursorForward(D){this.line.moveForward(D)&&this.moveCursor()}moveCursorUp(D){this.line.moveLineUp(D)?this.moveCursor():this.previousHistory()}moveCursorDown(D){this.line.moveLineDown(D)?this.moveCursor():this.nextHistory()}moveCursorHome(){this.line.moveHome()&&this.moveCursor()}moveCursorEnd(){this.line.moveEnd()&&this.moveCursor()}moveCursorToEnd(){this.layout.cursor!==this.layout.end&&(this.tty.moveCursor(this.layout.cursor,this.layout.end),this.layout.cursor=Object.assign({},this.layout.end))}previousHistory(){if(-1===this.history.cursor&&this.line.length()>0)return;const D=this.history.prev();void 0!==D&&this.update(D)}nextHistory(){if(-1===this.history.cursor)return;const D=this.history.next();void 0!==D?this.update(D):this.update("")}moveCursor(){const D=this.tty.calculatePosition(this.line.pos_buffer(),this.promptSize);D!==this.layout.cursor&&(this.shouldHighlight()?this.refresh():(this.tty.moveCursor(this.layout.cursor,D),this.layout.promptSize=Object.assign({},this.promptSize),this.layout.cursor=Object.assign({},D)))}};var v={};Object.defineProperty(v,"__esModule",{value:!0}),v.History=void 0,v.History=class{constructor(D){this.entries=[],this.cursor=-1,this.maxEntries=D}saveToLocalStorage(){const D=null===window||void 0===window?void 0:window.localStorage;void 0!==D&&D.setItem("history",JSON.stringify(this.entries))}restoreFromLocalStorage(){const D=null===window||void 0===window?void 0:window.localStorage;if(void 0!==D){const u=D.getItem("history");if(null==u)return;try{const t=JSON.parse(u);Array.isArray(t)&&void 0===t.find((D=>"string"!=typeof D))?this.entries=t:(this.entries=[],D.setItem("history","[]"))}catch(u){this.entries=[],D.setItem("history","[]")}}}append(D){this.resetCursor(),this.entries.includes(D)?(this.entries.splice(this.entries.indexOf(D),1),this.entries.unshift(D)):this.entries.unshift(D),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={},b=E&&E.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(w,"__esModule",{value:!0}),w.Tty=void 0;const m=b(a);w.Tty=class{constructor(D,u,t,e){this.tabWidth=t,this.col=D,this.row=u,this.out=e}write(D){return this.out.write(D)}print(D){return this.out.print(D)}println(D){return this.out.println(D)}clearScreen(){this.out.write("[H[2J")}calculatePosition(D,u){const t=Object.assign({},u);let e=0;return[...D].forEach((D=>{if("\n"===D)return t.row+=1,void(t.col=0);let u=0;if("\t"===D)u=this.tabWidth-t.col%this.tabWidth;else{let t;[t,e]=function(D,u){return 1===u?"["===D?[0,2]:[0,0]:2===u?";"===D||D[0]>="0"&&D[0]<="9"?[0,u]:[0,0]:""===D?[0,1]:"\n"===D?[0,u]:[(0,m.default)(D),u]}(D,e),u=t}t.col+=u,t.col>this.col&&(t.row+=1,t.col=u)})),t.col===this.col&&(t.col=0,t.row+=1),t}computeLayout(D,u){const t=Object.assign({},D),e=u.pos,s=this.calculatePosition(u.buf.slice(0,u.pos),D);return{promptSize:t,cursor:s,end:e===u.buf.length?Object.assign({},s):this.calculatePosition(u.buf.slice(e),s)}}refreshLine(D,u,t,e,s){const i=e.cursor,r=e.end;this.clearOldRows(t),this.write(s.highlightPrompt(D)),this.write(s.highlight(u.buf,u.pos)),0===r.col&&r.row>0&&"\n"!==u.buf[u.buf.length-1]&&this.write("\n");const F=r.row-i.row;F>0&&this.write(`[${F}A`),i.col>0?this.write(`\r[${i.col}C`):this.write("\r")}clearOldRows(D){const u=D.cursor.row,t=D.end.row,e=Math.max(t-u,0);e>0&&this.write(`[${e}B`);for(let D=0;D<t;D++)this.write("\r[0K[A");this.write("\r[0K")}moveCursor(D,u){if(u.row>D.row){const t=u.row-D.row;1===t?this.write("[B"):this.write(`[${t}B`)}else if(u.row<D.row){const t=D.row-u.row;1===t?this.write("[A"):this.write(`[${t}A`)}if(u.col>D.col){const t=u.col-D.col;1===t?this.write("[C"):this.write(`[${t}C`)}else if(u.col<D.col){const t=D.col-u.col;1===t?this.write("[D"):this.write(`[${t}D`)}}};var T={};Object.defineProperty(T,"__esModule",{value:!0}),T.IdentityHighlighter=void 0,T.IdentityHighlighter=class{highlight(D,u){return D}highlightPrompt(D){return D}highlightChar(D,u){return!1}},Object.defineProperty(l,"__esModule",{value:!0});var k=l.Readline=void 0;const I=c,x=p,H=v,O=w,S=T;k=l.Readline=class{constructor(){this.highlighter=new S.IdentityHighlighter,this.history=new H.History(50),this.disposables=[],this.watermark=0,this.highWatermark=1e4,this.lowWatermark=1e3,this.highWater=!1,this.state=new x.State(">",this.tty(),this.highlighter,this.history),this.checkHandler=()=>!0,this.ctrlCHandler=()=>{},this.pauseHandler=D=>{},this.history.restoreFromLocalStorage()}activate(D){this.term=D,this.term.onData(this.readData.bind(this)),this.term.attachCustomKeyEventHandler(this.handleKeyEvent.bind(this))}dispose(){this.disposables.forEach((D=>D.dispose()))}appendHistory(D){this.history.append(D)}setHighlighter(D){this.highlighter=D}setCheckHandler(D){this.checkHandler=D}setCtrlCHandler(D){this.ctrlCHandler=D}setPauseHandler(D){this.pauseHandler=D}writeReady(){return!this.highWater}write(D){const u=(D="\n"===D?"\r\n":(D=D.replace(/^\n/,"\r\n")).replace(/([^\r])\n/g,"$1\r\n")).length;this.watermark+=u,this.watermark>this.highWatermark&&(this.highWater=!0),this.term&&this.term.write(D,(()=>{this.watermark=Math.max(this.watermark-u,0),this.highWater&&this.watermark<this.lowWatermark&&(this.highWater=!1)}))}print(D){return this.write(D)}println(D){return this.write(D+"\r\n")}output(){return this}tty(){var D,u;return void 0!==(null===(u=null===(D=this.term)||void 0===D?void 0:D.options)||void 0===u?void 0:u.tabStopWidth)?new O.Tty(this.term.cols,this.term.rows,this.term.options.tabStopWidth,this.output()):new O.Tty(0,0,8,this.output())}read(D){return new Promise(((u,t)=>{void 0!==this.term?(this.state=new x.State(D,this.tty(),this.highlighter,this.history),this.state.refresh(),this.activeRead={prompt:D,resolve:u,reject:t}):t("addon is not active")}))}handleKeyEvent(D){return"Enter"!==D.key||!D.shiftKey||("keydown"===D.type&&this.readKey({inputType:I.InputType.ShiftEnter,data:["\r"]}),!1)}readData(D){const u=(0,I.parseInput)(D);u.length>1||u[0].inputType===I.InputType.Text&&u[0].data.length>1?this.readPaste(u):this.readKey(u[0])}readPaste(D){const u=D.map((D=>D.inputType===I.InputType.Enter?{inputType:I.InputType.Text,data:["\n"]}:D));for(const D of u)D.inputType===I.InputType.Text?this.state.editInsert(D.data.join("")):this.readKey(D)}readKey(D){var u,t,e;if(void 0!==this.activeRead)switch(D.inputType){case I.InputType.Text:this.state.editInsert(D.data.join(""));break;case I.InputType.AltEnter:case I.InputType.ShiftEnter:this.state.editInsert("\n");break;case I.InputType.Enter:this.checkHandler(this.state.buffer())?(this.state.moveCursorToEnd(),null===(u=this.term)||void 0===u||u.write("\r\n"),this.history.append(this.state.buffer()),null===(t=this.activeRead)||void 0===t||t.resolve(this.state.buffer()),this.activeRead=void 0):this.state.editInsert("\n");break;case I.InputType.CtrlC:this.state.moveCursorToEnd(),null===(e=this.term)||void 0===e||e.write("^C\r\n"),this.state=new x.State(this.activeRead.prompt,this.tty(),this.highlighter,this.history),this.state.refresh();break;case I.InputType.CtrlS:this.pauseHandler(!1);break;case I.InputType.CtrlU:this.state.update("");break;case I.InputType.CtrlK:this.state.editDeleteEndOfLine();break;case I.InputType.CtrlQ:this.pauseHandler(!0);break;case I.InputType.CtrlL:this.state.clearScreen();break;case I.InputType.Home:case I.InputType.CtrlA:this.state.moveCursorHome();break;case I.InputType.End:case I.InputType.CtrlE:this.state.moveCursorEnd();break;case I.InputType.Backspace:this.state.editBackspace(1);break;case I.InputType.Delete:case I.InputType.CtrlD:this.state.editDelete(1);break;case I.InputType.ArrowLeft:this.state.moveCursorBack(1);break;case I.InputType.ArrowRight:this.state.moveCursorForward(1);break;case I.InputType.ArrowUp:this.state.moveCursorUp(1);break;case I.InputType.ArrowDown:this.state.moveCursorDown(1);case I.InputType.UnsupportedControlChar:case I.InputType.UnsupportedEscape:}else switch(D.inputType){case I.InputType.CtrlC:this.ctrlCHandler();break;case I.InputType.CtrlL:this.write("[H[2J")}}};var L=l.__esModule;export{k as Readline,L as __esModule,l as default};
|
2
|
-
//# sourceMappingURL=xterm-readline-D247p8vq.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"xterm-readline-D247p8vq.js","sources":["../node_modules/strip-ansi/index.js","../node_modules/ansi-regex/index.js","../node_modules/is-fullwidth-code-point/index.js","../node_modules/string-width/index.js","../node_modules/emoji-regex/index.js","../src/3rd-party/xterm-readline.js"],"sourcesContent":["'use strict';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","/* eslint-disable yoda */\n'use strict';\n\nconst isFullwidthCodePoint = codePoint => {\n\tif (Number.isNaN(codePoint)) {\n\t\treturn false;\n\t}\n\n\t// Code points are derived from:\n\t// http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt\n\tif (\n\t\tcodePoint >= 0x1100 && (\n\t\t\tcodePoint <= 0x115F || // Hangul Jamo\n\t\t\tcodePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET\n\t\t\tcodePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET\n\t\t\t// CJK Radicals Supplement .. Enclosed CJK Letters and Months\n\t\t\t(0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||\n\t\t\t// Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A\n\t\t\t(0x3250 <= codePoint && codePoint <= 0x4DBF) ||\n\t\t\t// CJK Unified Ideographs .. Yi Radicals\n\t\t\t(0x4E00 <= codePoint && codePoint <= 0xA4C6) ||\n\t\t\t// Hangul Jamo Extended-A\n\t\t\t(0xA960 <= codePoint && codePoint <= 0xA97C) ||\n\t\t\t// Hangul Syllables\n\t\t\t(0xAC00 <= codePoint && codePoint <= 0xD7A3) ||\n\t\t\t// CJK Compatibility Ideographs\n\t\t\t(0xF900 <= codePoint && codePoint <= 0xFAFF) ||\n\t\t\t// Vertical Forms\n\t\t\t(0xFE10 <= codePoint && codePoint <= 0xFE19) ||\n\t\t\t// CJK Compatibility Forms .. Small Form Variants\n\t\t\t(0xFE30 <= codePoint && codePoint <= 0xFE6B) ||\n\t\t\t// Halfwidth and Fullwidth Forms\n\t\t\t(0xFF01 <= codePoint && codePoint <= 0xFF60) ||\n\t\t\t(0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||\n\t\t\t// Kana Supplement\n\t\t\t(0x1B000 <= codePoint && codePoint <= 0x1B001) ||\n\t\t\t// Enclosed Ideographic Supplement\n\t\t\t(0x1F200 <= codePoint && codePoint <= 0x1F251) ||\n\t\t\t// CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane\n\t\t\t(0x20000 <= codePoint && codePoint <= 0x3FFFD)\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nmodule.exports = isFullwidthCodePoint;\nmodule.exports.default = isFullwidthCodePoint;\n","'use strict';\nconst stripAnsi = require('strip-ansi');\nconst isFullwidthCodePoint = require('is-fullwidth-code-point');\nconst emojiRegex = require('emoji-regex');\n\nconst stringWidth = string => {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tstring = stripAnsi(string);\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tstring = string.replace(emojiRegex(), ' ');\n\n\tlet width = 0;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst code = string.codePointAt(i);\n\n\t\t// Ignore control characters\n\t\tif (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (code >= 0x300 && code <= 0x36F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Surrogates\n\t\tif (code > 0xFFFF) {\n\t\t\ti++;\n\t\t}\n\n\t\twidth += isFullwidthCodePoint(code) ? 2 : 1;\n\t}\n\n\treturn width;\n};\n\nmodule.exports = stringWidth;\n// TODO: remove this in the next major version\nmodule.exports.default = stringWidth;\n","\"use strict\";\n\nmodule.exports = function () {\n // https://mths.be/emoji\n return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g;\n};\n","/**\n * Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.\n * Original file: /npm/xterm-readline@1.1.1/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 t from\"string-width\";var e,s,i=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},r={},o={};e=o,Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseInput=e.InputType=void 0,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\"}(s=e.InputType||(e.InputType={})),e.parseInput=function(t){return Array.from(function*(t){let e=[];const i=t[Symbol.iterator]();for(let t=i.next();!t.done;t=i.next()){const r=t.value;if(r.length>1){e.push(r);continue}const o=r.charCodeAt(0);if(e.length>0&&(o<32||127===o)&&(yield{inputType:s.Text,data:e},e=[]),27!==o)if(o<32||127===o){let t=s.UnsupportedControlChar;switch(o){case 1:t=s.CtrlA;break;case 3:t=s.CtrlC;break;case 4:t=s.CtrlD;break;case 5:t=s.CtrlE;break;case 11:t=s.CtrlK;break;case 17:t=s.CtrlQ;break;case 19:t=s.CtrlS;break;case 21:t=s.CtrlU;break;case 13:t=s.Enter;break;case 127:t=s.Backspace;break;case 12:t=s.CtrlL}yield{inputType:t,data:[r]}}else e.push(r);else{const t=i.next();if(t.done){e.push(\"\u001b\");continue}let r=s.UnsupportedEscape;if(\"[\"!==t.value){\"\\r\"===t.value&&(r=s.AltEnter),yield{inputType:r,data:[\"\u001b\",t.value]};continue}const o=i.next();if(o.done)continue;if(o.value>=\"0\"&&o.value<=\"9\"){let t=o.value;const e=i.next();if(e.done)return;if(e.value>=\"0\"&&e.value<=\"9\")t+=e.value;else if(\"~\"!==e.value)continue;\"3\"===t&&(r=s.Delete),yield{inputType:r,data:[\"\u001b\",\"[\",t,\"~\"]};continue}switch(o.value){case\"A\":r=s.ArrowUp;break;case\"B\":r=s.ArrowDown;break;case\"C\":r=s.ArrowRight;break;case\"D\":r=s.ArrowLeft;break;case\"F\":r=s.End;break;case\"H\":r=s.Home;break;case\"\\r\":r=s.AltEnter}yield{inputType:r,data:[\"\u001b\",\"[\",o.value]}}}e.length>0&&(yield{inputType:s.Text,data:e})}(t))};var h={},n={};Object.defineProperty(n,\"__esModule\",{value:!0}),n.LineBuffer=void 0;n.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){const e=this.buf.slice(0,this.pos).lastIndexOf(\"\\n\");if(-1===e)return!1;const s=[...this.buf.slice(e+1,this.pos)].length;let i=this.buf.slice(0,e).lastIndexOf(\"\\n\");-1===i?i=0:i+=1;let r=e;for(let e=1;e<t&&0!==i;e++)r=i-1,i=this.buf.slice(0,r).lastIndexOf(\"\\n\"),-1===i?i=0:i+=1;const o=[...this.buf.slice(i,r)].slice(0,s);let h=e;return o.length>0&&(h=o.map((t=>t.length)).reduce(((t,e)=>t+e),0),h=i+h),this.pos=h,!0}moveLineDown(t){const e=this.buf.slice(this.pos).indexOf(\"\\n\");if(-1===e)return!1;let s=this.buf.slice(0,this.pos).lastIndexOf(\"\\n\");-1===s?s=0:s+=1;const i=[...this.buf.slice(s,this.pos)].length;let r=this.pos+e+1,o=this.buf.slice(r).indexOf(\"\\n\");o=-1===o?this.buf.length:r+o;for(let e=1;e<t&&o!==this.buf.length;e++)r=o+1,o=this.buf.slice(r).indexOf(\"\\n\"),o=-1===o?this.buf.length:r+o;const h=[...this.buf.slice(r,o)];return i<h.length?this.pos=h.slice(0,i).map((t=>t.length)).reduce(((t,e)=>t+e),0)+r:this.pos=o,!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 a=i&&i.__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=n,u=a(t);class c{constructor(t,e){this.row=void 0!==t?t:0,this.col=void 0!==e?e:0}}h.Position=c;class p{constructor(t){this.promptSize=t,this.cursor=new c,this.end=new c}}h.Layout=p;h.State=class{constructor(t,e,s,i){this.line=new l.LineBuffer,this.highlighting=!1,this.prompt=t,this.tty=e,this.highlighter=s,this.history=i,this.promptSize=e.calculatePosition(t,new c),this.layout=new p(this.promptSize)}buffer(){return this.line.buffer()}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.layout.cursor=new c,this.layout.end=new c,this.refresh()}editInsert(t){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.refresh()}editBackspace(t){this.line.backspace(t)&&this.refresh()}editDelete(t){this.line.delete(t)&&this.refresh()}editDeleteEndOfLine(){this.line.deleteEndOfLine()&&this.refresh()}refresh(){const t=this.tty.computeLayout(this.promptSize,this.line);this.tty.refreshLine(this.prompt,this.line,this.layout,t,this.highlighter),this.layout=t}moveCursorBack(t){this.line.moveBack(t)&&this.moveCursor()}moveCursorForward(t){this.line.moveForward(t)&&this.moveCursor()}moveCursorUp(t){this.line.moveLineUp(t)?this.moveCursor():this.previousHistory()}moveCursorDown(t){this.line.moveLineDown(t)?this.moveCursor():this.nextHistory()}moveCursorHome(){this.line.moveHome()&&this.moveCursor()}moveCursorEnd(){this.line.moveEnd()&&this.moveCursor()}moveCursorToEnd(){this.layout.cursor!==this.layout.end&&(this.tty.moveCursor(this.layout.cursor,this.layout.end),this.layout.cursor=Object.assign({},this.layout.end))}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);t!==this.layout.cursor&&(this.shouldHighlight()?this.refresh():(this.tty.moveCursor(this.layout.cursor,t),this.layout.promptSize=Object.assign({},this.promptSize),this.layout.cursor=Object.assign({},t)))}};var d={};Object.defineProperty(d,\"__esModule\",{value:!0}),d.History=void 0;d.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 f={},y=i&&i.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(f,\"__esModule\",{value:!0}),f.Tty=void 0;const w=y(t);f.Tty=class{constructor(t,e,s,i){this.tabWidth=s,this.col=t,this.row=e,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(\"\u001b[H\u001b[2J\")}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]=function(t,e){return 1===e?\"[\"===t?[0,2]:[0,0]:2===e?\";\"===t||t[0]>=\"0\"&&t[0]<=\"9\"?[0,e]:[0,0]:\"\u001b\"===t?[0,1]:\"\\n\"===t?[0,e]:[(0,w.default)(t),e]}(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)}}refreshLine(t,e,s,i,r){const o=i.cursor,h=i.end;this.clearOldRows(s),this.write(r.highlightPrompt(t)),this.write(r.highlight(e.buf,e.pos)),0===h.col&&h.row>0&&\"\\n\"!==e.buf[e.buf.length-1]&&this.write(\"\\n\");const n=h.row-o.row;n>0&&this.write(`\u001b[${n}A`),o.col>0?this.write(`\\r\u001b[${o.col}C`):this.write(\"\\r\")}clearOldRows(t){const e=t.cursor.row,s=t.end.row,i=Math.max(s-e,0);i>0&&this.write(`\u001b[${i}B`);for(let t=0;t<s;t++)this.write(\"\\r\u001b[0K\u001b[A\");this.write(\"\\r\u001b[0K\")}moveCursor(t,e){if(e.row>t.row){const s=e.row-t.row;1===s?this.write(\"\u001b[B\"):this.write(`\u001b[${s}B`)}else if(e.row<t.row){const s=t.row-e.row;1===s?this.write(\"\u001b[A\"):this.write(`\u001b[${s}A`)}if(e.col>t.col){const s=e.col-t.col;1===s?this.write(\"\u001b[C\"):this.write(`\u001b[${s}C`)}else if(e.col<t.col){const s=t.col-e.col;1===s?this.write(\"\u001b[D\"):this.write(`\u001b[${s}D`)}}};var v={};Object.defineProperty(v,\"__esModule\",{value:!0}),v.IdentityHighlighter=void 0;v.IdentityHighlighter=class{highlight(t,e){return t}highlightPrompt(t){return t}highlightChar(t,e){return!1}},Object.defineProperty(r,\"__esModule\",{value:!0});var b=r.Readline=void 0;const g=o,m=h,C=d,T=f,k=v;b=r.Readline=class{constructor(){this.highlighter=new k.IdentityHighlighter,this.history=new C.History(50),this.disposables=[],this.watermark=0,this.highWatermark=1e4,this.lowWatermark=1e3,this.highWater=!1,this.state=new m.State(\">\",this.tty(),this.highlighter,this.history),this.checkHandler=()=>!0,this.ctrlCHandler=()=>{},this.pauseHandler=t=>{},this.history.restoreFromLocalStorage()}activate(t){this.term=t,this.term.onData(this.readData.bind(this)),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\")}output(){return this}tty(){var t,e;return void 0!==(null===(e=null===(t=this.term)||void 0===t?void 0:t.options)||void 0===e?void 0:e.tabStopWidth)?new T.Tty(this.term.cols,this.term.rows,this.term.options.tabStopWidth,this.output()):new T.Tty(0,0,8,this.output())}read(t){return new Promise(((e,s)=>{void 0!==this.term?(this.state=new m.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:g.InputType.ShiftEnter,data:[\"\\r\"]}),!1)}readData(t){const e=(0,g.parseInput)(t);e.length>1||e[0].inputType===g.InputType.Text&&e[0].data.length>1?this.readPaste(e):this.readKey(e[0])}readPaste(t){const e=t.map((t=>t.inputType===g.InputType.Enter?{inputType:g.InputType.Text,data:[\"\\n\"]}:t));for(const t of e)t.inputType===g.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 g.InputType.Text:this.state.editInsert(t.data.join(\"\"));break;case g.InputType.AltEnter:case g.InputType.ShiftEnter:this.state.editInsert(\"\\n\");break;case g.InputType.Enter:this.checkHandler(this.state.buffer())?(this.state.moveCursorToEnd(),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 g.InputType.CtrlC:this.state.moveCursorToEnd(),null===(i=this.term)||void 0===i||i.write(\"^C\\r\\n\"),this.state=new m.State(this.activeRead.prompt,this.tty(),this.highlighter,this.history),this.state.refresh();break;case g.InputType.CtrlS:this.pauseHandler(!1);break;case g.InputType.CtrlU:this.state.update(\"\");break;case g.InputType.CtrlK:this.state.editDeleteEndOfLine();break;case g.InputType.CtrlQ:this.pauseHandler(!0);break;case g.InputType.CtrlL:this.state.clearScreen();break;case g.InputType.Home:case g.InputType.CtrlA:this.state.moveCursorHome();break;case g.InputType.End:case g.InputType.CtrlE:this.state.moveCursorEnd();break;case g.InputType.Backspace:this.state.editBackspace(1);break;case g.InputType.Delete:case g.InputType.CtrlD:this.state.editDelete(1);break;case g.InputType.ArrowLeft:this.state.moveCursorBack(1);break;case g.InputType.ArrowRight:this.state.moveCursorForward(1);break;case g.InputType.ArrowUp:this.state.moveCursorUp(1);break;case g.InputType.ArrowDown:this.state.moveCursorDown(1);case g.InputType.UnsupportedControlChar:case g.InputType.UnsupportedEscape:}else switch(t.inputType){case g.InputType.CtrlC:this.ctrlCHandler();break;case g.InputType.CtrlL:this.write(\"\u001b[H\u001b[2J\")}}};var I=r.__esModule;export{b as Readline,I as __esModule,r as default};\n"],"names":["ansiRegex","onlyFirst","pattern","join","RegExp","undefined","isFullwidthCodePoint","codePoint","Number","isNaN","isFullwidthCodePointModule","exports","default","stripAnsi","string","replace","require$$1","emojiRegex","stringWidth","length","width","i","code","codePointAt","stringWidthModule","e","s","globalThis","window","global","self","r","o","Object","defineProperty","value","parseInput","InputType","t","Text","AltEnter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Delete","Backspace","CtrlA","CtrlC","CtrlD","CtrlE","CtrlK","CtrlL","CtrlQ","CtrlS","CtrlU","End","Enter","Home","ShiftEnter","UnsupportedControlChar","UnsupportedEscape","Array","from","Symbol","iterator","next","done","push","charCodeAt","inputType","data","h","n","LineBuffer","constructor","this","buf","pos","buffer","pos_buffer","slice","char_length","update","insert","moveBack","prevPos","moveForward","nextPos","moveHome","startOfLine","moveEnd","endOfLine","lastIndexOf","indexOf","moveLineUp","map","reduce","moveLineDown","set_pos","backspace","deleteEndOfLine","delete","a","__importDefault","__esModule","State","Layout","Position","l","u","c","row","col","p","promptSize","cursor","end","line","highlighting","prompt","tty","highlighter","history","calculatePosition","layout","shouldHighlight","highlightChar","clearScreen","refresh","editInsert","includes","write","editBackspace","editDelete","editDeleteEndOfLine","computeLayout","refreshLine","moveCursorBack","moveCursor","moveCursorForward","moveCursorUp","previousHistory","moveCursorDown","nextHistory","moveCursorHome","moveCursorEnd","moveCursorToEnd","assign","prev","d","History","entries","maxEntries","saveToLocalStorage","localStorage","setItem","JSON","stringify","restoreFromLocalStorage","getItem","parse","isArray","find","append","resetCursor","splice","unshift","pop","f","y","Tty","w","tabWidth","out","print","println","forEach","clearOldRows","highlightPrompt","highlight","Math","max","v","IdentityHighlighter","b","Readline","g","m","C","T","k","disposables","watermark","highWatermark","lowWatermark","highWater","state","checkHandler","ctrlCHandler","pauseHandler","activate","term","onData","readData","bind","attachCustomKeyEventHandler","handleKeyEvent","dispose","appendHistory","setHighlighter","setCheckHandler","setCtrlCHandler","setPauseHandler","writeReady","output","options","tabStopWidth","cols","rows","read","Promise","activeRead","resolve","reject","key","shiftKey","type","readKey","readPaste","I"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
package/dist.zip
DELETED
Binary file
|