poe-code 15.0.4 → 15.0.5
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/metafile.json +1 -1
- package/package.json +8 -2
- package/packages/safe-bash/dist/chunks/chunk-2GV4WO7O.js +136 -0
- package/packages/safe-bash/dist/chunks/chunk-2GV4WO7O.js.map +7 -0
- package/packages/safe-bash/dist/chunks/chunk-54Z5EUCW.js +340 -0
- package/packages/safe-bash/dist/chunks/chunk-54Z5EUCW.js.map +7 -0
- package/packages/safe-bash/dist/chunks/{chunk-NYHAKXQ7.js → chunk-6MHYEBAJ.js} +16 -140
- package/packages/safe-bash/dist/chunks/chunk-6MHYEBAJ.js.map +7 -0
- package/packages/safe-bash/dist/chunks/{chunk-5MSOBYRG.js → chunk-IKATLB4I.js} +5 -3
- package/packages/safe-bash/dist/chunks/{chunk-5MSOBYRG.js.map → chunk-IKATLB4I.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-5OCQTFXT.js → chunk-LUJYX5H5.js} +6 -332
- package/packages/safe-bash/dist/chunks/{chunk-5OCQTFXT.js.map → chunk-LUJYX5H5.js.map} +4 -4
- package/packages/safe-bash/dist/chunks/chunk-UGMUVHIY.js +1603 -0
- package/packages/safe-bash/dist/chunks/chunk-UGMUVHIY.js.map +7 -0
- package/packages/safe-bash/dist/commands/network/args.d.ts +3 -0
- package/packages/safe-bash/dist/commands/network/args.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/network/args.js +1 -1
- package/packages/safe-bash/dist/commands/network/args.js.map +1 -1
- package/packages/safe-bash/dist/commands/network/body.js +2 -2
- package/packages/safe-bash/dist/commands/network/body.js.map +1 -1
- package/packages/safe-bash/dist/commands/network/curl.d.ts +12 -2
- package/packages/safe-bash/dist/commands/network/curl.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/network/curl.js +46 -27
- package/packages/safe-bash/dist/commands/network/curl.js.map +1 -1
- package/packages/safe-bash/dist/commands/network/index.browser.js +29 -0
- package/packages/safe-bash/dist/commands/network/index.browser.js.map +7 -0
- package/packages/safe-bash/dist/commands/network/index.d.ts +1 -10
- package/packages/safe-bash/dist/commands/network/index.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/network/index.js +1 -22
- package/packages/safe-bash/dist/commands/network/index.js.map +1 -1
- package/packages/safe-bash/dist/commands/network/platform.d.ts +4 -0
- package/packages/safe-bash/dist/commands/network/platform.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/network/platform.js +4 -0
- package/packages/safe-bash/dist/commands/network/platform.js.map +1 -0
- package/packages/safe-bash/dist/commands/network/public.d.ts +12 -0
- package/packages/safe-bash/dist/commands/network/public.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/network/public.js +27 -0
- package/packages/safe-bash/dist/commands/network/public.js.map +1 -0
- package/packages/safe-bash/dist/commands/network/shared.js +1 -1
- package/packages/safe-bash/dist/commands/network/shared.js.map +1 -1
- package/packages/safe-bash/dist/commands/network/wget.d.ts +4 -0
- package/packages/safe-bash/dist/commands/network/wget.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/network/wget.js +155 -0
- package/packages/safe-bash/dist/commands/network/wget.js.map +1 -0
- package/packages/safe-bash/dist/commands/xml/index.browser.js +3 -2
- package/packages/safe-bash/dist/commands/yq/index.browser.js +4 -2
- package/packages/safe-bash/dist/core.browser.js +1054 -459
- package/packages/safe-bash/dist/core.browser.js.map +4 -4
- package/packages/safe-bash/dist/core.d.ts +1 -5
- package/packages/safe-bash/dist/core.d.ts.map +1 -1
- package/packages/safe-bash/dist/core.js +1 -3
- package/packages/safe-bash/dist/core.js.map +1 -1
- package/packages/safe-bash/dist/shell/arrays/bindings.d.ts +15 -2
- package/packages/safe-bash/dist/shell/arrays/bindings.d.ts.map +1 -1
- package/packages/safe-bash/dist/shell/arrays/bindings.js +118 -5
- package/packages/safe-bash/dist/shell/arrays/bindings.js.map +1 -1
- package/packages/safe-bash/dist/shell/arrays/syntax.d.ts +5 -2
- package/packages/safe-bash/dist/shell/arrays/syntax.d.ts.map +1 -1
- package/packages/safe-bash/dist/shell/arrays/syntax.js +19 -6
- package/packages/safe-bash/dist/shell/arrays/syntax.js.map +1 -1
- package/packages/safe-bash/dist/shell/display.d.ts.map +1 -1
- package/packages/safe-bash/dist/shell/display.js +5 -1
- package/packages/safe-bash/dist/shell/display.js.map +1 -1
- package/packages/safe-bash/dist/shell/input.d.ts +10 -0
- package/packages/safe-bash/dist/shell/input.d.ts.map +1 -1
- package/packages/safe-bash/dist/shell/input.js +110 -0
- package/packages/safe-bash/dist/shell/input.js.map +1 -1
- package/packages/safe-bash/dist/shell/mapfile.d.ts +29 -0
- package/packages/safe-bash/dist/shell/mapfile.d.ts.map +1 -0
- package/packages/safe-bash/dist/shell/mapfile.js +134 -0
- package/packages/safe-bash/dist/shell/mapfile.js.map +1 -0
- package/packages/safe-bash/dist/shell/parameter-transforms.d.ts +12 -0
- package/packages/safe-bash/dist/shell/parameter-transforms.d.ts.map +1 -0
- package/packages/safe-bash/dist/shell/parameter-transforms.js +166 -0
- package/packages/safe-bash/dist/shell/parameter-transforms.js.map +1 -0
- package/packages/safe-bash/dist/shell/parser.d.ts +12 -0
- package/packages/safe-bash/dist/shell/parser.d.ts.map +1 -1
- package/packages/safe-bash/dist/shell/parser.js +75 -14
- package/packages/safe-bash/dist/shell/parser.js.map +1 -1
- package/packages/safe-bash/dist/shell/runtime.d.ts +7 -3
- package/packages/safe-bash/dist/shell/runtime.d.ts.map +1 -1
- package/packages/safe-bash/dist/shell/runtime.js +440 -63
- package/packages/safe-bash/dist/shell/runtime.js.map +1 -1
- package/packages/safe-bash/dist/shell/select-menu.d.ts +6 -0
- package/packages/safe-bash/dist/shell/select-menu.d.ts.map +1 -0
- package/packages/safe-bash/dist/shell/select-menu.js +103 -0
- package/packages/safe-bash/dist/shell/select-menu.js.map +1 -0
- package/packages/safe-bash/dist/chunks/chunk-NYHAKXQ7.js.map +0 -7
|
@@ -22,6 +22,8 @@ export type WordPart = {
|
|
|
22
22
|
quoted: boolean;
|
|
23
23
|
line?: number;
|
|
24
24
|
prefixNames?: "*" | "@";
|
|
25
|
+
keys?: boolean;
|
|
26
|
+
transform?: "Q" | "E";
|
|
25
27
|
length?: boolean;
|
|
26
28
|
operator?: string;
|
|
27
29
|
alternate?: Word;
|
|
@@ -125,6 +127,15 @@ export type Command = ({
|
|
|
125
127
|
name: string;
|
|
126
128
|
words?: Word[];
|
|
127
129
|
body: Script;
|
|
130
|
+
} | {
|
|
131
|
+
kind: "select";
|
|
132
|
+
name: string;
|
|
133
|
+
words?: Word[];
|
|
134
|
+
body: Script;
|
|
135
|
+
} | {
|
|
136
|
+
kind: "arithmetic-for";
|
|
137
|
+
expressions: readonly [ArithmeticProgram | undefined, ArithmeticProgram | undefined, ArithmeticProgram | undefined];
|
|
138
|
+
body: Script;
|
|
128
139
|
} | {
|
|
129
140
|
kind: "function";
|
|
130
141
|
name: string;
|
|
@@ -158,6 +169,7 @@ export interface Script {
|
|
|
158
169
|
readonly printedNewlines?: number;
|
|
159
170
|
}
|
|
160
171
|
export declare function parseShell(source: string, depth?: number, options?: ShellParseOptions): Script;
|
|
172
|
+
export declare function parseArraySubscript(source: string, budget: ParseBudget, byteLocale?: boolean, depth?: number): Word;
|
|
161
173
|
export declare function parseBraceWord(source: string, opaque: ReadonlyMap<number, ShellValue>, budget: ParseBudget): Word;
|
|
162
174
|
export declare function hereDocumentWords(document: HereDocument, line: number, byteLocale: boolean, warnings: string[], budget?: ParseBudget): Generator<Word>;
|
|
163
175
|
export declare function parseShellUnit(source: string, position?: number, byteLocale?: boolean, budget?: ParseBudget, lineIndex?: SourceLineIndex): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/shell/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/shell/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { ShellSyntaxError } from "./types.js";
|
|
|
2
2
|
import { ParseBudget } from "./parse-budget.js";
|
|
3
3
|
import { SourceLineIndex } from "./source-line-index.js";
|
|
4
4
|
import { arithmeticEnd, prepareArithmetic } from "./arithmetic.js";
|
|
5
|
-
import { arraySelector, compoundEntry, compoundHead, elementAssignment, getArrayAssignment, isQuoteMarker, prefixNameQuoteGroups, scalarAssignmentName, setArrayAssignment, setArraySelector, setQuoteMarker } from "./arrays/syntax.js";
|
|
5
|
+
import { arraySelector, compoundEntry, compoundHead, elementAssignment, getArrayAssignment, getArraySelector, isQuoteMarker, prefixNameQuoteGroups, scalarAssignmentName, setArrayAssignment, setArraySelector, setQuoteMarker } from "./arrays/syntax.js";
|
|
6
6
|
import { conditionalBinary, conditionalUnary } from "./conditional.js";
|
|
7
7
|
import { shellValueFromBytes, shellValueText } from "../contracts/value.js";
|
|
8
8
|
export const compoundEntryWords = new WeakMap();
|
|
@@ -415,7 +415,8 @@ class Lexer {
|
|
|
415
415
|
else if (!literal && (inner === "$" || inner === "`")) {
|
|
416
416
|
this.expansion(parts, true);
|
|
417
417
|
const part = parts.at(-1);
|
|
418
|
-
|
|
418
|
+
const selector = getArraySelector(part);
|
|
419
|
+
nameListing ||= part.kind === "variable" && (part.prefixNames === "@" || !!part.transform && (part.name === "@" || selector?.kind === "members" && selector.separator === "@"));
|
|
419
420
|
}
|
|
420
421
|
else if (inner === "\\" && /[$`"\\\n]/u.test(this.source[this.position + 1] ?? "")) {
|
|
421
422
|
const escaped = this.source[this.position + 1];
|
|
@@ -658,7 +659,7 @@ class Lexer {
|
|
|
658
659
|
this.error("Unsupported parameter expansion");
|
|
659
660
|
this.position += name.length;
|
|
660
661
|
let prefixNames;
|
|
661
|
-
if (listing) {
|
|
662
|
+
if (listing && this.source[this.position] !== "[") {
|
|
662
663
|
const separator = this.source[this.position];
|
|
663
664
|
if (!/^[a-zA-Z_][a-zA-Z_0-9]*$/u.test(name) || (separator !== "*" && separator !== "@") || this.source[this.position + 1] !== "}")
|
|
664
665
|
this.error("Unsupported indirect parameter expansion");
|
|
@@ -670,14 +671,25 @@ class Lexer {
|
|
|
670
671
|
if (!/^[a-zA-Z_][a-zA-Z_0-9]*$/u.test(name))
|
|
671
672
|
this.error("Unsupported indexed-array parameter");
|
|
672
673
|
const start = ++this.position;
|
|
673
|
-
const
|
|
674
|
-
|
|
674
|
+
const keyWord = this.word("]");
|
|
675
|
+
const end = this.position;
|
|
676
|
+
if (this.source[end] !== "]")
|
|
675
677
|
this.error("Unterminated indexed-array subscript");
|
|
676
|
-
selector = arraySelector(this.source.slice(start, end), start, this.budget);
|
|
678
|
+
selector = arraySelector(this.source.slice(start, end), start, this.budget, keyWord);
|
|
677
679
|
this.position = end + 1;
|
|
678
|
-
if (this.source[this.position] !== "}")
|
|
680
|
+
if (this.source[this.position] !== "}" && this.source[this.position] !== "@")
|
|
679
681
|
this.error("Unsupported indexed-array operator");
|
|
680
682
|
}
|
|
683
|
+
if (listing && selector?.kind === "element")
|
|
684
|
+
this.error("Unsupported indirect parameter expansion");
|
|
685
|
+
let transform;
|
|
686
|
+
if (this.source[this.position] === "@") {
|
|
687
|
+
const operation = this.source[this.position + 1];
|
|
688
|
+
if (length || prefixNames || (operation !== "Q" && operation !== "E") || this.source[this.position + 2] !== "}")
|
|
689
|
+
this.error("Unsupported parameter transform");
|
|
690
|
+
transform = operation;
|
|
691
|
+
this.position += 2;
|
|
692
|
+
}
|
|
681
693
|
const operator = /^(?::[-=+?]|##|%%|\/\/|\/[#%]?|[-=+?#%])/u.exec(this.source.slice(this.position))?.[0];
|
|
682
694
|
let alternate;
|
|
683
695
|
let replacement;
|
|
@@ -729,7 +741,9 @@ class Lexer {
|
|
|
729
741
|
}
|
|
730
742
|
else {
|
|
731
743
|
this.position++;
|
|
732
|
-
const part = { kind: "variable", name, quoted, line, ...(prefixNames ? { prefixNames } : {}), ...(length ? { length } : {}), ...(operator ? { operator, alternate: alternate } : {}), ...(replacement ? { replacement } : {}), ...(substring ? { substring } : {}) };
|
|
744
|
+
const part = { kind: "variable", name, quoted, line, ...(prefixNames ? { prefixNames } : {}), ...(transform ? { transform } : {}), ...(length ? { length } : {}), ...(operator ? { operator, alternate: alternate } : {}), ...(replacement ? { replacement } : {}), ...(substring ? { substring } : {}) };
|
|
745
|
+
if (listing && selector)
|
|
746
|
+
part.keys = true;
|
|
733
747
|
if (selector)
|
|
734
748
|
setArraySelector(part, selector);
|
|
735
749
|
parts.push(part);
|
|
@@ -1026,11 +1040,54 @@ class Parser {
|
|
|
1026
1040
|
this.expect("done", true);
|
|
1027
1041
|
command = { kind, condition, body, redirects: [] };
|
|
1028
1042
|
}
|
|
1029
|
-
else if (this.is("for")) {
|
|
1043
|
+
else if (this.is("for") && this.peek().value === "(" && this.lexer.source.startsWith("((", this.peek().offset)) {
|
|
1030
1044
|
this.advance();
|
|
1045
|
+
const start = this.current.offset + 2;
|
|
1046
|
+
let partStart = start;
|
|
1047
|
+
let depth = 0;
|
|
1048
|
+
let end = start;
|
|
1049
|
+
this.budget.admit(4);
|
|
1050
|
+
const sources = [];
|
|
1051
|
+
for (; end < this.lexer.source.length; end++) {
|
|
1052
|
+
this.budget.admit();
|
|
1053
|
+
const character = this.lexer.source[end];
|
|
1054
|
+
if (character === "(")
|
|
1055
|
+
depth++;
|
|
1056
|
+
else if (character === ")") {
|
|
1057
|
+
if (!depth && this.lexer.source[end + 1] === ")")
|
|
1058
|
+
break;
|
|
1059
|
+
if (--depth < 0)
|
|
1060
|
+
this.error("Unterminated arithmetic for", true);
|
|
1061
|
+
}
|
|
1062
|
+
else if (character === ";" && !depth) {
|
|
1063
|
+
if (sources.length === 2)
|
|
1064
|
+
this.error("Arithmetic for requires three expressions");
|
|
1065
|
+
sources.push(this.lexer.source.slice(partStart, end));
|
|
1066
|
+
partStart = end + 1;
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
if (end === this.lexer.source.length)
|
|
1070
|
+
this.error("Unterminated arithmetic for", true);
|
|
1071
|
+
if (sources.length !== 2)
|
|
1072
|
+
this.error("Arithmetic for requires three expressions");
|
|
1073
|
+
sources.push(this.lexer.source.slice(partStart, end));
|
|
1074
|
+
const expressions = sources.map(source => source.trim() ? prepareArithmetic(source, this.budget) : undefined);
|
|
1075
|
+
this.lexer.position = end + 2;
|
|
1076
|
+
this.lookahead = undefined;
|
|
1077
|
+
this.current = this.lexer.next();
|
|
1078
|
+
if (this.is(";"))
|
|
1079
|
+
this.advance();
|
|
1080
|
+
this.newlines();
|
|
1081
|
+
this.expect("do", true);
|
|
1082
|
+
const body = this.nonemptyScript(new Set(["done"]));
|
|
1083
|
+
this.expect("done", true);
|
|
1084
|
+
command = { kind: "arithmetic-for", expressions, body, redirects: [] };
|
|
1085
|
+
}
|
|
1086
|
+
else if (this.is("for") || this.is("select")) {
|
|
1087
|
+
const kind = this.advance().value;
|
|
1031
1088
|
const name = this.advance().value;
|
|
1032
1089
|
if (!/^[a-zA-Z_][a-zA-Z_0-9]*$/u.test(name))
|
|
1033
|
-
this.error(
|
|
1090
|
+
this.error(`Invalid ${kind} variable`);
|
|
1034
1091
|
this.newlines();
|
|
1035
1092
|
let words;
|
|
1036
1093
|
if (this.is("in")) {
|
|
@@ -1042,12 +1099,12 @@ class Parser {
|
|
|
1042
1099
|
if (this.is(";") || this.is("\n"))
|
|
1043
1100
|
this.advance();
|
|
1044
1101
|
else if (words)
|
|
1045
|
-
this.error(
|
|
1102
|
+
this.error(`Expected ${kind} separator`, true);
|
|
1046
1103
|
this.newlines();
|
|
1047
1104
|
this.expect("do", true);
|
|
1048
1105
|
const body = this.nonemptyScript(new Set(["done"]));
|
|
1049
1106
|
this.expect("done", true);
|
|
1050
|
-
command = { kind
|
|
1107
|
+
command = { kind, name, ...(words ? { words } : {}), body, redirects: [] };
|
|
1051
1108
|
}
|
|
1052
1109
|
else if (this.is("function")) {
|
|
1053
1110
|
this.advance();
|
|
@@ -1070,7 +1127,7 @@ class Parser {
|
|
|
1070
1127
|
this.expect("(");
|
|
1071
1128
|
this.expect(")");
|
|
1072
1129
|
this.newlines();
|
|
1073
|
-
if (!["{", "(", "if", "case", "while", "until", "for", "[["].includes(this.current.value))
|
|
1130
|
+
if (!["{", "(", "if", "case", "while", "until", "for", "select", "[["].includes(this.current.value))
|
|
1074
1131
|
this.error("Expected function body");
|
|
1075
1132
|
command = { kind: "function", name, body: this.command(), redirects: [] };
|
|
1076
1133
|
}
|
|
@@ -1113,7 +1170,7 @@ class Parser {
|
|
|
1113
1170
|
setArrayAssignment(word, { kind: "compound", ...head, entries });
|
|
1114
1171
|
}
|
|
1115
1172
|
else {
|
|
1116
|
-
const assignment = words.every(previous => getArrayAssignment(previous) || scalarAssignmentName(previous)) ? elementAssignment(word, this.budget) : undefined;
|
|
1173
|
+
const assignment = words.every(previous => getArrayAssignment(previous) || scalarAssignmentName(previous)) ? elementAssignment(word, this.budget, source => parseArraySubscript(source, this.budget, this.lexer.byteLocale, this.lexer.depth), (source, start) => { const lexer = new Lexer(this.budget, source, this.lexer.depth, [], 0, this.lexer.byteLocale); lexer.position = start; lexer.word("]"); return lexer.source[lexer.position] === "]" ? lexer.position : -1; }) : undefined;
|
|
1117
1174
|
if (assignment)
|
|
1118
1175
|
setArrayAssignment(word, assignment);
|
|
1119
1176
|
}
|
|
@@ -1166,6 +1223,10 @@ export function parseShell(source, depth = 0, options = {}) {
|
|
|
1166
1223
|
budget.admit();
|
|
1167
1224
|
return { ...script, ...(warnings.length ? { warnings } : {}) };
|
|
1168
1225
|
}
|
|
1226
|
+
export function parseArraySubscript(source, budget, byteLocale = false, depth = 0) {
|
|
1227
|
+
const lexer = new Lexer(budget, source, depth, [], 0, byteLocale);
|
|
1228
|
+
return lexer.word("\0");
|
|
1229
|
+
}
|
|
1169
1230
|
export function parseBraceWord(source, opaque, budget) {
|
|
1170
1231
|
budget.admit(source.length + 1);
|
|
1171
1232
|
const lexer = new Lexer(budget, source, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/shell/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/shell/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -201,6 +201,7 @@ export declare class Runtime {
|
|
|
201
201
|
private reconcileGetopts;
|
|
202
202
|
private unsetVariable;
|
|
203
203
|
private rethrowArithmeticControl;
|
|
204
|
+
private arithmeticValue;
|
|
204
205
|
arithmeticVariables(state: State, line?: number): Record<string, string>;
|
|
205
206
|
variable(state: State, name: string): string | undefined;
|
|
206
207
|
private requireParameter;
|
|
@@ -210,8 +211,9 @@ export declare class Runtime {
|
|
|
210
211
|
discardVariable(saved: SavedVariable): Promise<void>;
|
|
211
212
|
indexedEnvironment(state: State, env: Readonly<Record<string, string>>): Promise<void>;
|
|
212
213
|
unsetIndexed(state: State, name: string, index?: number | "members"): Promise<void>;
|
|
213
|
-
arrayZero(state: State, name: string, expand: () => Promise<
|
|
214
|
+
arrayZero(state: State, name: string, expand: () => Promise<ShellValue>, append?: boolean, freeze?: boolean): Promise<void>;
|
|
214
215
|
arrayJoin(owner: ArrayOwner, values: readonly string[], separator: string): Promise<string>;
|
|
216
|
+
private arrayIndex;
|
|
215
217
|
arrayAssignment(assignment: ArrayAssignment, state: State, io: IO): Promise<void>;
|
|
216
218
|
run(script: Script, state: State, io: IO): Promise<number>;
|
|
217
219
|
runUnit(script: Script, state: State, io: IO): Promise<{
|
|
@@ -229,7 +231,7 @@ export declare class Runtime {
|
|
|
229
231
|
status: number;
|
|
230
232
|
stop: boolean;
|
|
231
233
|
}>;
|
|
232
|
-
document(document: HereDocument, state: State, io: IO, line?: number): Promise<
|
|
234
|
+
document(document: HereDocument, state: State, io: IO, line?: number): Promise<ShellValue>;
|
|
233
235
|
redirect(redirects: readonly Redirect[], state: State, io: IO, inputs: Set<ShellInput>, outputs: Set<(completion: OutputCompletion) => void | Promise<void>>, isolatedInlineInput?: boolean, persistMoves?: boolean, fileShortcut?: boolean, line?: number): Promise<IO>;
|
|
234
236
|
fileOperation(path: string, operation: () => Promise<void>): Promise<void>;
|
|
235
237
|
assignment(word: Word): {
|
|
@@ -279,6 +281,7 @@ export declare class Runtime {
|
|
|
279
281
|
private directoryStackBuiltin;
|
|
280
282
|
private shoptBuiltin;
|
|
281
283
|
private printfVariable;
|
|
284
|
+
private mapfileBuiltin;
|
|
282
285
|
builtin(context: CommandContext & IO, state: State, assignments: Map<string, SavedVariable>, diagnose?: (error: unknown, diagnostic: string) => void, suppressSpecial?: boolean): Promise<number | undefined>;
|
|
283
286
|
words(words: readonly Word[], state: State, io: IO, declaration?: boolean): Promise<string[]>;
|
|
284
287
|
private valueWords;
|
|
@@ -288,6 +291,7 @@ export declare class Runtime {
|
|
|
288
291
|
private prefixNames;
|
|
289
292
|
private valuePart;
|
|
290
293
|
private parameterOperandIO;
|
|
294
|
+
private transformValue;
|
|
291
295
|
private partValue;
|
|
292
296
|
private parameterLength;
|
|
293
297
|
substring(part: Extract<WordPart, {
|
|
@@ -303,7 +307,7 @@ export declare class Runtime {
|
|
|
303
307
|
private positionalValues;
|
|
304
308
|
private replacePositionals;
|
|
305
309
|
private admitArguments;
|
|
306
|
-
arrayMembers(name: string, state: State): Promise<
|
|
310
|
+
arrayMembers(name: string, state: State, io: IO, keys?: boolean): Promise<ShellValue[]>;
|
|
307
311
|
private recursiveGlob;
|
|
308
312
|
glob(value: string, pattern: string, state: State): Promise<string[]>;
|
|
309
313
|
}
|