sh-ast 0.6.1 → 0.8.0
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/README.md +147 -15
- package/dist/analyze/enumerate-commands.d.ts +5 -1
- package/dist/analyze/enumerate-commands.d.ts.map +1 -1
- package/dist/analyze/enumerate-commands.js.map +1 -1
- package/dist/analyze/index.d.ts +10 -2
- package/dist/analyze/index.d.ts.map +1 -1
- package/dist/analyze/index.js +11 -1
- package/dist/analyze/index.js.map +1 -1
- package/dist/analyze/resolve-argv0.d.ts +225 -16
- package/dist/analyze/resolve-argv0.d.ts.map +1 -1
- package/dist/analyze/resolve-argv0.js +372 -11
- package/dist/analyze/resolve-argv0.js.map +1 -1
- package/dist/analyze.d.ts +380 -157
- package/dist/errors.d.ts +14 -27
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +15 -28
- package/dist/errors.js.map +1 -1
- package/dist/sh-ast.d.ts +28 -32
- package/dist/syntax-operator.d.ts +9 -0
- package/dist/syntax-operator.d.ts.map +1 -0
- package/dist/syntax-operator.js +22 -0
- package/dist/syntax-operator.js.map +1 -0
- package/dist/syntax-print.d.ts +3 -1
- package/dist/syntax-print.d.ts.map +1 -1
- package/dist/syntax-print.js +3 -1
- package/dist/syntax-print.js.map +1 -1
- package/dist/syntax-snapshot.d.ts +4 -1
- package/dist/syntax-snapshot.d.ts.map +1 -1
- package/dist/syntax-snapshot.js +18 -3
- package/dist/syntax-snapshot.js.map +1 -1
- package/dist/syntax-wire.d.ts +12 -0
- package/dist/syntax-wire.d.ts.map +1 -1
- package/dist/syntax-wire.js +99 -15
- package/dist/syntax-wire.js.map +1 -1
- package/dist/syntax.d.ts +12 -10
- package/dist/syntax.d.ts.map +1 -1
- package/dist/syntax.js +46 -33
- package/dist/syntax.js.map +1 -1
- package/dist/wasm-instance.d.ts +8 -0
- package/dist/wasm-instance.d.ts.map +1 -1
- package/dist/wasm-instance.js +36 -8
- package/dist/wasm-instance.js.map +1 -1
- package/package.json +1 -1
- package/shim/sh-ast.wasm +0 -0
- package/dist/parse-depth-guard.d.ts +0 -11
- package/dist/parse-depth-guard.d.ts.map +0 -1
- package/dist/parse-depth-guard.js +0 -633
- package/dist/parse-depth-guard.js.map +0 -1
package/dist/analyze.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
|
-
declare const Add: 81;
|
|
8
|
+
export declare const Add: 81;
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Upstream BinAritOperator constant AddAssgn. Its numeric value is preserved exactly.
|
|
@@ -14,7 +14,7 @@ declare const Add: 81;
|
|
|
14
14
|
*
|
|
15
15
|
* @public
|
|
16
16
|
*/
|
|
17
|
-
declare const AddAssgn: 49;
|
|
17
|
+
export declare const AddAssgn: 49;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Upstream ParExpOperator constant AlternateUnset. Its numeric value is preserved exactly.
|
|
@@ -23,7 +23,7 @@ declare const AddAssgn: 49;
|
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
*/
|
|
26
|
-
declare const AlternateUnset: 81;
|
|
26
|
+
export declare const AlternateUnset: 81;
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Upstream ParExpOperator constant AlternateUnsetOrNull. Its numeric value is preserved exactly.
|
|
@@ -32,7 +32,7 @@ declare const AlternateUnset: 81;
|
|
|
32
32
|
*
|
|
33
33
|
* @public
|
|
34
34
|
*/
|
|
35
|
-
declare const AlternateUnsetOrNull: 82;
|
|
35
|
+
export declare const AlternateUnsetOrNull: 82;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Upstream BinAritOperator constant And. Its numeric value is preserved exactly.
|
|
@@ -41,7 +41,7 @@ declare const AlternateUnsetOrNull: 82;
|
|
|
41
41
|
*
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
|
-
declare const And: 10;
|
|
44
|
+
export declare const And: 10;
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* Upstream BinAritOperator constant AndArit. Its numeric value is preserved exactly.
|
|
@@ -50,7 +50,7 @@ declare const And: 10;
|
|
|
50
50
|
*
|
|
51
51
|
* @public
|
|
52
52
|
*/
|
|
53
|
-
declare const AndArit: 11;
|
|
53
|
+
export declare const AndArit: 11;
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Upstream BinAritOperator constant AndAssgn. Its numeric value is preserved exactly.
|
|
@@ -59,7 +59,7 @@ declare const AndArit: 11;
|
|
|
59
59
|
*
|
|
60
60
|
* @public
|
|
61
61
|
*/
|
|
62
|
-
declare const AndAssgn: 54;
|
|
62
|
+
export declare const AndAssgn: 54;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Upstream BinAritOperator constant AndBoolAssgn. Its numeric value is preserved exactly.
|
|
@@ -68,7 +68,7 @@ declare const AndAssgn: 54;
|
|
|
68
68
|
*
|
|
69
69
|
* @public
|
|
70
70
|
*/
|
|
71
|
-
declare const AndBoolAssgn: 59;
|
|
71
|
+
export declare const AndBoolAssgn: 59;
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Upstream BinCmdOperator constant AndStmt. Its numeric value is preserved exactly.
|
|
@@ -77,7 +77,7 @@ declare const AndBoolAssgn: 59;
|
|
|
77
77
|
*
|
|
78
78
|
* @public
|
|
79
79
|
*/
|
|
80
|
-
declare const AndStmt: 11;
|
|
80
|
+
export declare const AndStmt: 11;
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
83
|
* Upstream BinTestOperator constant AndTest. Its numeric value is preserved exactly.
|
|
@@ -86,7 +86,7 @@ declare const AndStmt: 11;
|
|
|
86
86
|
*
|
|
87
87
|
* @public
|
|
88
88
|
*/
|
|
89
|
-
declare const AndTest: 11;
|
|
89
|
+
export declare const AndTest: 11;
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* Upstream RedirOperator constant AppAll. Its numeric value is preserved exactly.
|
|
@@ -95,7 +95,7 @@ declare const AndTest: 11;
|
|
|
95
95
|
*
|
|
96
96
|
* @public
|
|
97
97
|
*/
|
|
98
|
-
declare const AppAll: 76;
|
|
98
|
+
export declare const AppAll: 76;
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
101
|
* Upstream RedirOperator constant AppAllClob. Its numeric value is preserved exactly.
|
|
@@ -104,7 +104,7 @@ declare const AppAll: 76;
|
|
|
104
104
|
*
|
|
105
105
|
* @public
|
|
106
106
|
*/
|
|
107
|
-
declare const AppAllClob: 77;
|
|
107
|
+
export declare const AppAllClob: 77;
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
110
|
* Upstream RedirOperator constant AppClob. Its numeric value is preserved exactly.
|
|
@@ -113,7 +113,7 @@ declare const AppAllClob: 77;
|
|
|
113
113
|
*
|
|
114
114
|
* @public
|
|
115
115
|
*/
|
|
116
|
-
declare const AppClob: 70;
|
|
116
|
+
export declare const AppClob: 70;
|
|
117
117
|
|
|
118
118
|
/**
|
|
119
119
|
* Upstream RedirOperator constant AppOut. Its numeric value is preserved exactly.
|
|
@@ -122,7 +122,7 @@ declare const AppClob: 70;
|
|
|
122
122
|
*
|
|
123
123
|
* @public
|
|
124
124
|
*/
|
|
125
|
-
declare const AppOut: 64;
|
|
125
|
+
export declare const AppOut: 64;
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* The result of statically resolving one position in an
|
|
@@ -151,6 +151,22 @@ export declare interface Argv0Resolution {
|
|
|
151
151
|
* one element.
|
|
152
152
|
*/
|
|
153
153
|
readonly chain: readonly Argv0ChainWord[];
|
|
154
|
+
/**
|
|
155
|
+
* Indices into the input {@link CommandSite.argv}, one for each corresponding
|
|
156
|
+
* {@link Argv0Resolution.chain} entry. The arrays always have the same nonzero
|
|
157
|
+
* length. Ordinary entries identify their original word; synthesized failures
|
|
158
|
+
* identify the triggering flag or ambiguous assignment operand instead.
|
|
159
|
+
* Repeated word text does not collapse distinct argument positions.
|
|
160
|
+
*
|
|
161
|
+
* For a resolved effective command, its arguments are
|
|
162
|
+
* `site.argv.slice(chainIndices.at(-1)! + 1)`. Sites from
|
|
163
|
+
* {@link enumerateCommands} align argv directly with `site.node.Args`, retaining
|
|
164
|
+
* null slots as unsupported word resolutions, so the same indices select syntax
|
|
165
|
+
* Words. A synthetic failure does not identify a command or its arguments.
|
|
166
|
+
* When wrapper scanning stops or runs out of operands, the existing result
|
|
167
|
+
* remains the wrapper word and its index; no missing command is invented.
|
|
168
|
+
*/
|
|
169
|
+
readonly chainIndices: readonly number[];
|
|
154
170
|
/**
|
|
155
171
|
* The last element of {@link Argv0Resolution.chain} — the effective
|
|
156
172
|
* command, or, if resolution hit a statically-unknowable word anywhere
|
|
@@ -194,7 +210,10 @@ export declare interface Argv0Resolution {
|
|
|
194
210
|
* - `'embedded-command'` — a wrapper flag whose value structurally embeds
|
|
195
211
|
* the real command rather than naming it as a separate word (e.g.
|
|
196
212
|
* `env -S 'rm -rf /'` — see {@link WrapperSpec.unresolvableFlags}'s doc
|
|
197
|
-
* comment)
|
|
213
|
+
* comment), or a shell interpreter's `-c` option (`bash -c 'rm x'`, see
|
|
214
|
+
* {@link EmbeddedCommandInterpreterSpec}). In both cases the chain's
|
|
215
|
+
* second-to-last element is the wrapper or interpreter word, so its name
|
|
216
|
+
* stays available.
|
|
198
217
|
* - `'ambiguous-assignment'` — a statically known assignment operand whose
|
|
199
218
|
* acceptance differs across supported utility implementations, such as
|
|
200
219
|
* `env =value cmd` (GNU/glibc accepts an empty name; BSD rejects it).
|
|
@@ -348,7 +367,7 @@ export declare interface ArrayElem {
|
|
|
348
367
|
*
|
|
349
368
|
* @public
|
|
350
369
|
*/
|
|
351
|
-
declare const ArrayExclude: 94;
|
|
370
|
+
export declare const ArrayExclude: 94;
|
|
352
371
|
|
|
353
372
|
/**
|
|
354
373
|
* ArrayExpr represents a Bash array expression.
|
|
@@ -389,7 +408,7 @@ export declare interface ArrayExpr {
|
|
|
389
408
|
*
|
|
390
409
|
* @public
|
|
391
410
|
*/
|
|
392
|
-
declare const ArrayIntersect: 95;
|
|
411
|
+
export declare const ArrayIntersect: 95;
|
|
393
412
|
|
|
394
413
|
/**
|
|
395
414
|
* Upstream BinAritOperator constant Assgn. Its numeric value is preserved exactly.
|
|
@@ -398,7 +417,7 @@ declare const ArrayIntersect: 95;
|
|
|
398
417
|
*
|
|
399
418
|
* @public
|
|
400
419
|
*/
|
|
401
|
-
declare const Assgn: 87;
|
|
420
|
+
export declare const Assgn: 87;
|
|
402
421
|
|
|
403
422
|
/**
|
|
404
423
|
* Assign represents an assignment to a variable.
|
|
@@ -467,7 +486,7 @@ export declare interface Assign {
|
|
|
467
486
|
*
|
|
468
487
|
* @public
|
|
469
488
|
*/
|
|
470
|
-
declare const AssignUnset: 87;
|
|
489
|
+
export declare const AssignUnset: 87;
|
|
471
490
|
|
|
472
491
|
/**
|
|
473
492
|
* Upstream ParExpOperator constant AssignUnsetOrNull. Its numeric value is preserved exactly.
|
|
@@ -476,7 +495,7 @@ declare const AssignUnset: 87;
|
|
|
476
495
|
*
|
|
477
496
|
* @public
|
|
478
497
|
*/
|
|
479
|
-
declare const AssignUnsetOrNull: 88;
|
|
498
|
+
export declare const AssignUnsetOrNull: 88;
|
|
480
499
|
|
|
481
500
|
/**
|
|
482
501
|
* The upstream BinAritOperator domain: exact named tokens, the Go zero value, and explicitly validated unnamed uint32 values. Constants shared by upstream families retain their shared numeric identity.
|
|
@@ -663,7 +682,7 @@ export declare type BinTestOperator =
|
|
|
663
682
|
*
|
|
664
683
|
* @public
|
|
665
684
|
*/
|
|
666
|
-
declare const BitNegation: 40;
|
|
685
|
+
export declare const BitNegation: 40;
|
|
667
686
|
|
|
668
687
|
/**
|
|
669
688
|
* Block represents a series of commands that should be executed in a nested
|
|
@@ -729,7 +748,7 @@ export declare interface BraceExp {
|
|
|
729
748
|
*
|
|
730
749
|
* @public
|
|
731
750
|
*/
|
|
732
|
-
declare const Break: 35;
|
|
751
|
+
export declare const Break: 35;
|
|
733
752
|
|
|
734
753
|
/**
|
|
735
754
|
* CallExpr represents a command execution or function call, otherwise known as
|
|
@@ -863,7 +882,7 @@ export declare type CaseOperator =
|
|
|
863
882
|
*
|
|
864
883
|
* @public
|
|
865
884
|
*/
|
|
866
|
-
declare const CmdIn: 78;
|
|
885
|
+
export declare const CmdIn: 78;
|
|
867
886
|
|
|
868
887
|
/**
|
|
869
888
|
* Upstream ProcOperator constant CmdInTemp. Its numeric value is preserved exactly.
|
|
@@ -872,7 +891,7 @@ declare const CmdIn: 78;
|
|
|
872
891
|
*
|
|
873
892
|
* @public
|
|
874
893
|
*/
|
|
875
|
-
declare const CmdInTemp: 79;
|
|
894
|
+
export declare const CmdInTemp: 79;
|
|
876
895
|
|
|
877
896
|
/**
|
|
878
897
|
* Upstream ProcOperator constant CmdOut. Its numeric value is preserved exactly.
|
|
@@ -881,7 +900,7 @@ declare const CmdInTemp: 79;
|
|
|
881
900
|
*
|
|
882
901
|
* @public
|
|
883
902
|
*/
|
|
884
|
-
declare const CmdOut: 80;
|
|
903
|
+
export declare const CmdOut: 80;
|
|
885
904
|
|
|
886
905
|
/**
|
|
887
906
|
* CmdSubst represents a command substitution.
|
|
@@ -938,7 +957,7 @@ export declare interface CmdSubst {
|
|
|
938
957
|
*
|
|
939
958
|
* @public
|
|
940
959
|
*/
|
|
941
|
-
declare const Comma: 98;
|
|
960
|
+
export declare const Comma: 98;
|
|
942
961
|
|
|
943
962
|
/**
|
|
944
963
|
* The concrete records and typed nil pointers accepted by upstream syntax.Command. Typed nil kinds are limited to this interface's actual implementers; auxiliary records are excluded.
|
|
@@ -1092,7 +1111,11 @@ export declare interface CommandSite {
|
|
|
1092
1111
|
* `ResolveWordOptions.context`'s doc comment).
|
|
1093
1112
|
*/
|
|
1094
1113
|
readonly argv0: WordResolution;
|
|
1095
|
-
/**
|
|
1114
|
+
/**
|
|
1115
|
+
* `resolveWord` applied in argument order (same `{ context: 'command-argument' }`
|
|
1116
|
+
* as {@link CommandSite.argv0}). Indices align directly with {@link CommandSite.node}'s
|
|
1117
|
+
* Args array: a null slot is retained as an unsupported resolution, never skipped.
|
|
1118
|
+
*/
|
|
1096
1119
|
readonly argv: readonly WordResolution[];
|
|
1097
1120
|
/** The path from the tree root to this site, outermost frame first. */
|
|
1098
1121
|
readonly context: readonly CommandContext[];
|
|
@@ -1199,7 +1222,7 @@ export declare interface CStyleLoop {
|
|
|
1199
1222
|
*
|
|
1200
1223
|
* @public
|
|
1201
1224
|
*/
|
|
1202
|
-
declare const DashHdoc: 72;
|
|
1225
|
+
export declare const DashHdoc: 72;
|
|
1203
1226
|
|
|
1204
1227
|
/**
|
|
1205
1228
|
* DblQuoted represents a list of nodes within double quotes.
|
|
@@ -1240,7 +1263,7 @@ export declare interface DblQuoted {
|
|
|
1240
1263
|
*
|
|
1241
1264
|
* @public
|
|
1242
1265
|
*/
|
|
1243
|
-
declare const Dec: 42;
|
|
1266
|
+
export declare const Dec: 42;
|
|
1244
1267
|
|
|
1245
1268
|
/**
|
|
1246
1269
|
* DeclClause represents a Bash declare clause.
|
|
@@ -1272,6 +1295,38 @@ export declare interface DeclClause {
|
|
|
1272
1295
|
Variant: Lit | null;
|
|
1273
1296
|
}
|
|
1274
1297
|
|
|
1298
|
+
/**
|
|
1299
|
+
* `sh-ast/analyze`'s default {@link EmbeddedCommandInterpreterSpec} table:
|
|
1300
|
+
* the shells whose `-c` option makes {@link resolveArgv0} report
|
|
1301
|
+
* `'embedded-command'`. Each entry's option grammar is hand-derived from the
|
|
1302
|
+
* cited manual. Basic clusters and required operands were cross-checked on
|
|
1303
|
+
* Linux bash 5.2.21, dash 0.5.12, zsh 5.9, ksh93u+m 1.0.8 and mksh R59.
|
|
1304
|
+
* Long-option, termination and omitted-operand cases were checked on macOS
|
|
1305
|
+
* bash 5.3.9 and 3.2.57 (also `/bin/sh`), Apple dash-16, zsh 5.9 and ksh93u+
|
|
1306
|
+
* AJM 2012-08-01. Omitted `-o`/`+o` operands before another signed option
|
|
1307
|
+
* were confirmed only on that ksh93u+ build, not ksh93u+m or mksh. Builds can
|
|
1308
|
+
* differ: macOS's ksh93u+ differs from the cited 93u+m for `ksh -o c "echo X"`.
|
|
1309
|
+
* The `sh` entry also models bash's long options because `sh` can be bash.
|
|
1310
|
+
* Named options that change the option grammar itself (such as zsh's
|
|
1311
|
+
* `shoptionletters`) are not interpreted; a custom table is needed for that
|
|
1312
|
+
* grammar. It is data, not policy:
|
|
1313
|
+
* it names no dangerous commands and a caller can replace or extend it via
|
|
1314
|
+
* {@link ResolveArgv0Options.embeddedCommandInterpreters}; an empty array
|
|
1315
|
+
* restores the behavior in which an interpreter is an ordinary effective
|
|
1316
|
+
* command.
|
|
1317
|
+
*
|
|
1318
|
+
* Frozen, including each entry and its arrays.
|
|
1319
|
+
*
|
|
1320
|
+
* @see https://www.gnu.org/software/bash/manual/bash.html#Invoking-Bash — bash
|
|
1321
|
+
* @see https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html — POSIX `sh`
|
|
1322
|
+
* @see https://man7.org/linux/man-pages/man1/dash.1.html — dash(1)
|
|
1323
|
+
* @see https://zsh.sourceforge.io/Doc/Release/Invocation-and-Startup.html — zsh
|
|
1324
|
+
* @see https://github.com/ksh93/ksh — ksh93u+m `sh(1)`
|
|
1325
|
+
* @see https://man.mirbsd.org/mksh.1 — mksh(1)
|
|
1326
|
+
* @public
|
|
1327
|
+
*/
|
|
1328
|
+
export declare const DEFAULT_EMBEDDED_COMMAND_INTERPRETERS: readonly EmbeddedCommandInterpreterSpec[];
|
|
1329
|
+
|
|
1275
1330
|
/**
|
|
1276
1331
|
* `sh-ast/analyze`'s default {@link WrapperSpec} table — every entry's
|
|
1277
1332
|
* flag/operand handling is hand-derived from that wrapper's own manual
|
|
@@ -1325,7 +1380,7 @@ export declare const DEFAULT_TRANSPARENT_WRAPPERS: readonly WrapperSpec[];
|
|
|
1325
1380
|
*
|
|
1326
1381
|
* @public
|
|
1327
1382
|
*/
|
|
1328
|
-
declare const DefaultUnset: 83;
|
|
1383
|
+
export declare const DefaultUnset: 83;
|
|
1329
1384
|
|
|
1330
1385
|
/**
|
|
1331
1386
|
* Upstream ParExpOperator constant DefaultUnsetOrNull. Its numeric value is preserved exactly.
|
|
@@ -1334,7 +1389,7 @@ declare const DefaultUnset: 83;
|
|
|
1334
1389
|
*
|
|
1335
1390
|
* @public
|
|
1336
1391
|
*/
|
|
1337
|
-
declare const DefaultUnsetOrNull: 84;
|
|
1392
|
+
export declare const DefaultUnsetOrNull: 84;
|
|
1338
1393
|
|
|
1339
1394
|
/**
|
|
1340
1395
|
* Upstream RedirOperator constant DplIn. Its numeric value is preserved exactly.
|
|
@@ -1343,7 +1398,7 @@ declare const DefaultUnsetOrNull: 84;
|
|
|
1343
1398
|
*
|
|
1344
1399
|
* @public
|
|
1345
1400
|
*/
|
|
1346
|
-
declare const DplIn: 67;
|
|
1401
|
+
export declare const DplIn: 67;
|
|
1347
1402
|
|
|
1348
1403
|
/**
|
|
1349
1404
|
* Upstream RedirOperator constant DplOut. Its numeric value is preserved exactly.
|
|
@@ -1352,7 +1407,116 @@ declare const DplIn: 67;
|
|
|
1352
1407
|
*
|
|
1353
1408
|
* @public
|
|
1354
1409
|
*/
|
|
1355
|
-
declare const DplOut: 68;
|
|
1410
|
+
export declare const DplOut: 68;
|
|
1411
|
+
|
|
1412
|
+
/**
|
|
1413
|
+
* A data-only description of one shell interpreter whose `-c` option makes the
|
|
1414
|
+
* next operand a command string run by that shell (`bash -c 'rm x'`). Like
|
|
1415
|
+
* `env -S`, the command that runs lives *inside* an operand, so
|
|
1416
|
+
* {@link resolveArgv0} reports `'embedded-command'` instead of the
|
|
1417
|
+
* interpreter's own name as the effective command.
|
|
1418
|
+
* The selector `c` is reserved: exact-token fields (`noOperandLongOptions`,
|
|
1419
|
+
* `operandLongOptions`, `optionTerminatorWords`) cannot contain `-c`.
|
|
1420
|
+
*
|
|
1421
|
+
* Only the option grammar needed to decide *whether `-c` is an option* is
|
|
1422
|
+
* described: which options consume an operand word (so that `-o c` or
|
|
1423
|
+
* `-o pipefail -c` are not misread) and where option parsing ends. Everything
|
|
1424
|
+
* else about the interpreter — what its other options mean, whether a given
|
|
1425
|
+
* option name is valid — is irrelevant to that decision and unmodeled; an
|
|
1426
|
+
* invalid invocation that a real shell would reject is still reported
|
|
1427
|
+
* conservatively, since nothing is guessed about what it would run.
|
|
1428
|
+
*
|
|
1429
|
+
* Option parsing ends at the first statically known word that is not an
|
|
1430
|
+
* option, at `--`, at a lone `-`, or at a table-defined terminator; afterwards
|
|
1431
|
+
* a word shaped like `-c` is an ordinary script operand. A dynamic word in
|
|
1432
|
+
* option position leaves the question undecidable, so scanning stops and the interpreter is reported
|
|
1433
|
+
* exactly as before (its own static name). In that case `static: true` means
|
|
1434
|
+
* only that the interpreter's name is known; it does not mean the command is a
|
|
1435
|
+
* plain shell invocation, because `bash "$f" -c x` runs `x` when `$f` is `-x`.
|
|
1436
|
+
*
|
|
1437
|
+
* This shape may grow new optional fields in a **minor** release; existing
|
|
1438
|
+
* fields' meaning never changes.
|
|
1439
|
+
*
|
|
1440
|
+
* @public
|
|
1441
|
+
*/
|
|
1442
|
+
export declare interface EmbeddedCommandInterpreterSpec {
|
|
1443
|
+
/**
|
|
1444
|
+
* The interpreter's name, matched against a static command word's final
|
|
1445
|
+
* path segment: `bash`, `/bin/bash` and `/usr/local/bin/bash` all match
|
|
1446
|
+
* `['bash']`. Only the command word is reduced to its final segment;
|
|
1447
|
+
* entries containing `/` (such as `['/bin/bash']`) are rejected with
|
|
1448
|
+
* {@link ShAnalyzeInvalidWrapperSpecError}. Use `['bash']` to recognize
|
|
1449
|
+
* path-qualified invocations. The first entry containing the segment wins.
|
|
1450
|
+
*
|
|
1451
|
+
* Unlike {@link WrapperSpec.names}, which tries exact names first and
|
|
1452
|
+
* falls back to the final segment only for absolute paths, interpreter
|
|
1453
|
+
* matching uses only the final segment, including for relative paths
|
|
1454
|
+
* such as `./bash`. The question here is whether a command string is
|
|
1455
|
+
* embedded, not which executable would be located.
|
|
1456
|
+
*/
|
|
1457
|
+
readonly names: readonly string[];
|
|
1458
|
+
/**
|
|
1459
|
+
* Single option letters (without a sign) that take a name or value operand
|
|
1460
|
+
* under both `-` and `+`, e.g. `['o']` for `-o pipefail` / `+o pipefail`.
|
|
1461
|
+
* A letter listed here never selects the command string itself, so
|
|
1462
|
+
* `bash -o c script` keeps `c` as an option *name*.
|
|
1463
|
+
* The selector `c` is reserved and cannot be listed as an operand option;
|
|
1464
|
+
* conflicting entries throw {@link ShAnalyzeInvalidWrapperSpecError}.
|
|
1465
|
+
*/
|
|
1466
|
+
readonly operandOptions: readonly string[];
|
|
1467
|
+
/**
|
|
1468
|
+
* How an {@link EmbeddedCommandInterpreterSpec.operandOptions} letter
|
|
1469
|
+
* receives its operand inside a clustered word:
|
|
1470
|
+
*
|
|
1471
|
+
* - `'separate-word'` — always the next word; remaining letters in the
|
|
1472
|
+
* cluster are still options (`bash -oc errexit 'cmd'` is `-o errexit -c`).
|
|
1473
|
+
* - `'rest-of-cluster'` — the remainder of the word if any, else the next
|
|
1474
|
+
* word; later letters in the same word are part of the operand
|
|
1475
|
+
* (`zsh -oc` names an option `c`).
|
|
1476
|
+
*/
|
|
1477
|
+
readonly operandAttachment: 'separate-word' | 'rest-of-cluster';
|
|
1478
|
+
/**
|
|
1479
|
+
* Letters from {@link EmbeddedCommandInterpreterSpec.operandOptions} whose
|
|
1480
|
+
* separate operand may be omitted before a word beginning with `-` or `+`.
|
|
1481
|
+
* An attached operand still belongs to the option. For example, ksh93u+
|
|
1482
|
+
* treats `-o -c cmd` and `+o -c cmd` as an operand-free option listing
|
|
1483
|
+
* followed by `-c`; bash, dash and zsh consume `-c` as the option name.
|
|
1484
|
+
* A dynamic potential operand makes this distinction undecidable.
|
|
1485
|
+
*/
|
|
1486
|
+
readonly optionalOperandOptions?: readonly string[];
|
|
1487
|
+
/**
|
|
1488
|
+
* No-operand letters that end option scanning after the current cluster,
|
|
1489
|
+
* under either sign. Remaining letters in that cluster still take effect:
|
|
1490
|
+
* zsh's `-b -c script` runs the file `-c`, but `-bc cmd` selects a string.
|
|
1491
|
+
* These letters must not include `c` or an operand-taking letter.
|
|
1492
|
+
*/
|
|
1493
|
+
readonly optionTerminatorLetters?: readonly string[];
|
|
1494
|
+
/**
|
|
1495
|
+
* Additional whole words that end option scanning, like zsh's `+` and `+-`.
|
|
1496
|
+
* The terminator is not a command string; an already-selected `-c` needs
|
|
1497
|
+
* a following word. `--` and a lone `-` are always terminators.
|
|
1498
|
+
*/
|
|
1499
|
+
readonly optionTerminatorWords?: readonly string[];
|
|
1500
|
+
/**
|
|
1501
|
+
* Exact long-option words that take a separate operand, recognized before
|
|
1502
|
+
* short-option clusters regardless of prefix: bash's `--rcfile FILE` and
|
|
1503
|
+
* `-rcfile FILE`, or zsh's `--emulate sh`. A dynamic operand stops scanning
|
|
1504
|
+
* because its expansion may produce multiple actual arguments.
|
|
1505
|
+
*/
|
|
1506
|
+
readonly operandLongOptions?: readonly string[];
|
|
1507
|
+
/**
|
|
1508
|
+
* Exact long-option words with no operand, recognized before short-option
|
|
1509
|
+
* clusters. Bash's `-restricted` and `-noprofile` are whole long options,
|
|
1510
|
+
* not clusters containing `c` or `o`. Unlisted `--name` / `+-name` words
|
|
1511
|
+
* are also treated as operand-free; option validity is not checked.
|
|
1512
|
+
*/
|
|
1513
|
+
readonly noOperandLongOptions?: readonly string[];
|
|
1514
|
+
/**
|
|
1515
|
+
* `true` if the interpreter also treats `+c` as selecting the command
|
|
1516
|
+
* string. Other shells do not select command mode with `+c`.
|
|
1517
|
+
*/
|
|
1518
|
+
readonly plusCSelectsCommand?: boolean;
|
|
1519
|
+
}
|
|
1356
1520
|
|
|
1357
1521
|
/**
|
|
1358
1522
|
* Enumerates every command invocation (`CallExpr`) reachable from `root`,
|
|
@@ -1404,7 +1568,7 @@ declare const DplOut: 68;
|
|
|
1404
1568
|
*
|
|
1405
1569
|
* @public
|
|
1406
1570
|
*/
|
|
1407
|
-
declare const Eql: 45;
|
|
1571
|
+
export declare const Eql: 45;
|
|
1408
1572
|
|
|
1409
1573
|
/**
|
|
1410
1574
|
* Upstream ParExpOperator constant ErrorUnset. Its numeric value is preserved exactly.
|
|
@@ -1413,7 +1577,7 @@ declare const DplOut: 68;
|
|
|
1413
1577
|
*
|
|
1414
1578
|
* @public
|
|
1415
1579
|
*/
|
|
1416
|
-
declare const ErrorUnset: 85;
|
|
1580
|
+
export declare const ErrorUnset: 85;
|
|
1417
1581
|
|
|
1418
1582
|
/**
|
|
1419
1583
|
* Upstream ParExpOperator constant ErrorUnsetOrNull. Its numeric value is preserved exactly.
|
|
@@ -1422,7 +1586,7 @@ declare const DplOut: 68;
|
|
|
1422
1586
|
*
|
|
1423
1587
|
* @public
|
|
1424
1588
|
*/
|
|
1425
|
-
declare const ErrorUnsetOrNull: 86;
|
|
1589
|
+
export declare const ErrorUnsetOrNull: 86;
|
|
1426
1590
|
|
|
1427
1591
|
/**
|
|
1428
1592
|
* Expansion represents string manipulation in a `ParamExp` other than those
|
|
@@ -1484,7 +1648,7 @@ declare const DplOut: 68;
|
|
|
1484
1648
|
*
|
|
1485
1649
|
* @public
|
|
1486
1650
|
*/
|
|
1487
|
-
declare const Fallthrough: 36;
|
|
1651
|
+
export declare const Fallthrough: 36;
|
|
1488
1652
|
|
|
1489
1653
|
/**
|
|
1490
1654
|
* File represents a shell source file.
|
|
@@ -1641,7 +1805,7 @@ declare const DplOut: 68;
|
|
|
1641
1805
|
*
|
|
1642
1806
|
* @public
|
|
1643
1807
|
*/
|
|
1644
|
-
declare const Geq: 48;
|
|
1808
|
+
export declare const Geq: 48;
|
|
1645
1809
|
|
|
1646
1810
|
/**
|
|
1647
1811
|
* Upstream GlobOperator constant GlobExcept. Its numeric value is preserved exactly.
|
|
@@ -1650,7 +1814,7 @@ declare const DplOut: 68;
|
|
|
1650
1814
|
*
|
|
1651
1815
|
* @public
|
|
1652
1816
|
*/
|
|
1653
|
-
declare const GlobExcept: 143;
|
|
1817
|
+
export declare const GlobExcept: 143;
|
|
1654
1818
|
|
|
1655
1819
|
/**
|
|
1656
1820
|
* Upstream GlobOperator constant GlobOne. Its numeric value is preserved exactly.
|
|
@@ -1659,7 +1823,7 @@ declare const DplOut: 68;
|
|
|
1659
1823
|
*
|
|
1660
1824
|
* @public
|
|
1661
1825
|
*/
|
|
1662
|
-
declare const GlobOne: 142;
|
|
1826
|
+
export declare const GlobOne: 142;
|
|
1663
1827
|
|
|
1664
1828
|
/**
|
|
1665
1829
|
* Upstream GlobOperator constant GlobOneOrMore. Its numeric value is preserved exactly.
|
|
@@ -1668,7 +1832,7 @@ declare const DplOut: 68;
|
|
|
1668
1832
|
*
|
|
1669
1833
|
* @public
|
|
1670
1834
|
*/
|
|
1671
|
-
declare const GlobOneOrMore: 141;
|
|
1835
|
+
export declare const GlobOneOrMore: 141;
|
|
1672
1836
|
|
|
1673
1837
|
/**
|
|
1674
1838
|
* The upstream GlobOperator domain: exact named tokens, the Go zero value, and explicitly validated unnamed uint32 values. Constants shared by upstream families retain their shared numeric identity.
|
|
@@ -1691,7 +1855,7 @@ declare const DplOut: 68;
|
|
|
1691
1855
|
*
|
|
1692
1856
|
* @public
|
|
1693
1857
|
*/
|
|
1694
|
-
declare const GlobZeroOrMore: 140;
|
|
1858
|
+
export declare const GlobZeroOrMore: 140;
|
|
1695
1859
|
|
|
1696
1860
|
/**
|
|
1697
1861
|
* Upstream GlobOperator constant GlobZeroOrOne. Its numeric value is preserved exactly.
|
|
@@ -1700,7 +1864,7 @@ declare const DplOut: 68;
|
|
|
1700
1864
|
*
|
|
1701
1865
|
* @public
|
|
1702
1866
|
*/
|
|
1703
|
-
declare const GlobZeroOrOne: 139;
|
|
1867
|
+
export declare const GlobZeroOrOne: 139;
|
|
1704
1868
|
|
|
1705
1869
|
/**
|
|
1706
1870
|
* A Go string's exact bytes. Valid UTF-8 is represented as a JavaScript string; other bytes use Uint8Array. String inputs must not contain unpaired surrogates, which have no faithful UTF-8 representation.
|
|
@@ -1716,7 +1880,7 @@ declare const DplOut: 68;
|
|
|
1716
1880
|
*
|
|
1717
1881
|
* @public
|
|
1718
1882
|
*/
|
|
1719
|
-
declare const Gtr: 63;
|
|
1883
|
+
export declare const Gtr: 63;
|
|
1720
1884
|
|
|
1721
1885
|
/**
|
|
1722
1886
|
* Upstream RedirOperator constant Hdoc. Its numeric value is preserved exactly.
|
|
@@ -1725,7 +1889,7 @@ declare const DplOut: 68;
|
|
|
1725
1889
|
*
|
|
1726
1890
|
* @public
|
|
1727
1891
|
*/
|
|
1728
|
-
declare const Hdoc: 71;
|
|
1892
|
+
export declare const Hdoc: 71;
|
|
1729
1893
|
|
|
1730
1894
|
/**
|
|
1731
1895
|
* IfClause represents an if statement.
|
|
@@ -1794,7 +1958,7 @@ declare const DplOut: 68;
|
|
|
1794
1958
|
*
|
|
1795
1959
|
* @public
|
|
1796
1960
|
*/
|
|
1797
|
-
declare const Inc: 41;
|
|
1961
|
+
export declare const Inc: 41;
|
|
1798
1962
|
|
|
1799
1963
|
/**
|
|
1800
1964
|
* Upstream BinAritOperator constant Leq. Its numeric value is preserved exactly.
|
|
@@ -1803,7 +1967,7 @@ declare const DplOut: 68;
|
|
|
1803
1967
|
*
|
|
1804
1968
|
* @public
|
|
1805
1969
|
*/
|
|
1806
|
-
declare const Leq: 47;
|
|
1970
|
+
export declare const Leq: 47;
|
|
1807
1971
|
|
|
1808
1972
|
/**
|
|
1809
1973
|
* LetClause represents a Bash let clause.
|
|
@@ -1873,7 +2037,7 @@ declare const DplOut: 68;
|
|
|
1873
2037
|
*
|
|
1874
2038
|
* @public
|
|
1875
2039
|
*/
|
|
1876
|
-
declare const LowerAll: 99;
|
|
2040
|
+
export declare const LowerAll: 99;
|
|
1877
2041
|
|
|
1878
2042
|
/**
|
|
1879
2043
|
* Upstream ParExpOperator constant LowerFirst. Its numeric value is preserved exactly.
|
|
@@ -1882,7 +2046,7 @@ declare const DplOut: 68;
|
|
|
1882
2046
|
*
|
|
1883
2047
|
* @public
|
|
1884
2048
|
*/
|
|
1885
|
-
declare const LowerFirst: 98;
|
|
2049
|
+
export declare const LowerFirst: 98;
|
|
1886
2050
|
|
|
1887
2051
|
/**
|
|
1888
2052
|
* Upstream BinAritOperator constant Lss. Its numeric value is preserved exactly.
|
|
@@ -1891,7 +2055,7 @@ declare const DplOut: 68;
|
|
|
1891
2055
|
*
|
|
1892
2056
|
* @public
|
|
1893
2057
|
*/
|
|
1894
|
-
declare const Lss: 65;
|
|
2058
|
+
export declare const Lss: 65;
|
|
1895
2059
|
|
|
1896
2060
|
/**
|
|
1897
2061
|
* Upstream ParExpOperator constant MatchEmpty. Its numeric value is preserved exactly.
|
|
@@ -1900,7 +2064,7 @@ declare const DplOut: 68;
|
|
|
1900
2064
|
*
|
|
1901
2065
|
* @public
|
|
1902
2066
|
*/
|
|
1903
|
-
declare const MatchEmpty: 93;
|
|
2067
|
+
export declare const MatchEmpty: 93;
|
|
1904
2068
|
|
|
1905
2069
|
/**
|
|
1906
2070
|
* Upstream UnAritOperator constant Minus. Its numeric value is preserved exactly.
|
|
@@ -1909,7 +2073,7 @@ declare const DplOut: 68;
|
|
|
1909
2073
|
*
|
|
1910
2074
|
* @public
|
|
1911
2075
|
*/
|
|
1912
|
-
declare const Minus: 83;
|
|
2076
|
+
export declare const Minus: 83;
|
|
1913
2077
|
|
|
1914
2078
|
/**
|
|
1915
2079
|
* Upstream BinAritOperator constant Mul. Its numeric value is preserved exactly.
|
|
@@ -1918,7 +2082,7 @@ declare const DplOut: 68;
|
|
|
1918
2082
|
*
|
|
1919
2083
|
* @public
|
|
1920
2084
|
*/
|
|
1921
|
-
declare const Mul: 43;
|
|
2085
|
+
export declare const Mul: 43;
|
|
1922
2086
|
|
|
1923
2087
|
/**
|
|
1924
2088
|
* Upstream BinAritOperator constant MulAssgn. Its numeric value is preserved exactly.
|
|
@@ -1927,7 +2091,7 @@ declare const DplOut: 68;
|
|
|
1927
2091
|
*
|
|
1928
2092
|
* @public
|
|
1929
2093
|
*/
|
|
1930
|
-
declare const MulAssgn: 51;
|
|
2094
|
+
export declare const MulAssgn: 51;
|
|
1931
2095
|
|
|
1932
2096
|
/**
|
|
1933
2097
|
* Upstream ParNamesOperator constant NamesPrefix. Its numeric value is preserved exactly.
|
|
@@ -1936,7 +2100,7 @@ declare const DplOut: 68;
|
|
|
1936
2100
|
*
|
|
1937
2101
|
* @public
|
|
1938
2102
|
*/
|
|
1939
|
-
declare const NamesPrefix: 43;
|
|
2103
|
+
export declare const NamesPrefix: 43;
|
|
1940
2104
|
|
|
1941
2105
|
/**
|
|
1942
2106
|
* Upstream ParNamesOperator constant NamesPrefixWords. Its numeric value is preserved exactly.
|
|
@@ -1945,7 +2109,7 @@ declare const DplOut: 68;
|
|
|
1945
2109
|
*
|
|
1946
2110
|
* @public
|
|
1947
2111
|
*/
|
|
1948
|
-
declare const NamesPrefixWords: 100;
|
|
2112
|
+
export declare const NamesPrefixWords: 100;
|
|
1949
2113
|
|
|
1950
2114
|
/**
|
|
1951
2115
|
* Upstream BinAritOperator constant Neq. Its numeric value is preserved exactly.
|
|
@@ -1954,7 +2118,7 @@ declare const DplOut: 68;
|
|
|
1954
2118
|
*
|
|
1955
2119
|
* @public
|
|
1956
2120
|
*/
|
|
1957
|
-
declare const Neq: 46;
|
|
2121
|
+
export declare const Neq: 46;
|
|
1958
2122
|
|
|
1959
2123
|
/**
|
|
1960
2124
|
* The concrete records and typed nil pointers accepted by upstream syntax.Node. Typed nil kinds are limited to this interface's actual implementers; auxiliary records are excluded.
|
|
@@ -2059,7 +2223,7 @@ declare const DplOut: 68;
|
|
|
2059
2223
|
*
|
|
2060
2224
|
* @public
|
|
2061
2225
|
*/
|
|
2062
|
-
declare const Not: 39;
|
|
2226
|
+
export declare const Not: 39;
|
|
2063
2227
|
|
|
2064
2228
|
/**
|
|
2065
2229
|
* The upstream uint32 operator families. A family name identifies the Go named type, not the spelling of one token.
|
|
@@ -2086,7 +2250,7 @@ declare const DplOut: 68;
|
|
|
2086
2250
|
*
|
|
2087
2251
|
* @public
|
|
2088
2252
|
*/
|
|
2089
|
-
declare const Or: 13;
|
|
2253
|
+
export declare const Or: 13;
|
|
2090
2254
|
|
|
2091
2255
|
/**
|
|
2092
2256
|
* Upstream BinAritOperator constant OrArit. Its numeric value is preserved exactly.
|
|
@@ -2095,7 +2259,7 @@ declare const DplOut: 68;
|
|
|
2095
2259
|
*
|
|
2096
2260
|
* @public
|
|
2097
2261
|
*/
|
|
2098
|
-
declare const OrArit: 12;
|
|
2262
|
+
export declare const OrArit: 12;
|
|
2099
2263
|
|
|
2100
2264
|
/**
|
|
2101
2265
|
* Upstream BinAritOperator constant OrAssgn. Its numeric value is preserved exactly.
|
|
@@ -2104,7 +2268,7 @@ declare const DplOut: 68;
|
|
|
2104
2268
|
*
|
|
2105
2269
|
* @public
|
|
2106
2270
|
*/
|
|
2107
|
-
declare const OrAssgn: 55;
|
|
2271
|
+
export declare const OrAssgn: 55;
|
|
2108
2272
|
|
|
2109
2273
|
/**
|
|
2110
2274
|
* Upstream BinAritOperator constant OrBoolAssgn. Its numeric value is preserved exactly.
|
|
@@ -2113,7 +2277,7 @@ declare const DplOut: 68;
|
|
|
2113
2277
|
*
|
|
2114
2278
|
* @public
|
|
2115
2279
|
*/
|
|
2116
|
-
declare const OrBoolAssgn: 60;
|
|
2280
|
+
export declare const OrBoolAssgn: 60;
|
|
2117
2281
|
|
|
2118
2282
|
/**
|
|
2119
2283
|
* Upstream BinCmdOperator constant OrStmt. Its numeric value is preserved exactly.
|
|
@@ -2122,7 +2286,7 @@ declare const DplOut: 68;
|
|
|
2122
2286
|
*
|
|
2123
2287
|
* @public
|
|
2124
2288
|
*/
|
|
2125
|
-
declare const OrStmt: 12;
|
|
2289
|
+
export declare const OrStmt: 12;
|
|
2126
2290
|
|
|
2127
2291
|
/**
|
|
2128
2292
|
* Upstream BinTestOperator constant OrTest. Its numeric value is preserved exactly.
|
|
@@ -2131,7 +2295,7 @@ declare const DplOut: 68;
|
|
|
2131
2295
|
*
|
|
2132
2296
|
* @public
|
|
2133
2297
|
*/
|
|
2134
|
-
declare const OrTest: 12;
|
|
2298
|
+
export declare const OrTest: 12;
|
|
2135
2299
|
|
|
2136
2300
|
/**
|
|
2137
2301
|
* Upstream ParExpOperator constant OtherParamOps. Its numeric value is preserved exactly.
|
|
@@ -2140,7 +2304,7 @@ declare const DplOut: 68;
|
|
|
2140
2304
|
*
|
|
2141
2305
|
* @public
|
|
2142
2306
|
*/
|
|
2143
|
-
declare const OtherParamOps: 100;
|
|
2307
|
+
export declare const OtherParamOps: 100;
|
|
2144
2308
|
|
|
2145
2309
|
/**
|
|
2146
2310
|
* ParamExp represents a parameter expansion.
|
|
@@ -2352,7 +2516,7 @@ declare const DplOut: 68;
|
|
|
2352
2516
|
*
|
|
2353
2517
|
* @public
|
|
2354
2518
|
*/
|
|
2355
|
-
declare const Pipe: 13;
|
|
2519
|
+
export declare const Pipe: 13;
|
|
2356
2520
|
|
|
2357
2521
|
/**
|
|
2358
2522
|
* Upstream BinCmdOperator constant PipeAll. Its numeric value is preserved exactly.
|
|
@@ -2361,7 +2525,7 @@ declare const DplOut: 68;
|
|
|
2361
2525
|
*
|
|
2362
2526
|
* @public
|
|
2363
2527
|
*/
|
|
2364
|
-
declare const PipeAll: 14;
|
|
2528
|
+
export declare const PipeAll: 14;
|
|
2365
2529
|
|
|
2366
2530
|
/**
|
|
2367
2531
|
* Upstream UnAritOperator constant Plus. Its numeric value is preserved exactly.
|
|
@@ -2370,7 +2534,7 @@ declare const DplOut: 68;
|
|
|
2370
2534
|
*
|
|
2371
2535
|
* @public
|
|
2372
2536
|
*/
|
|
2373
|
-
declare const Plus: 81;
|
|
2537
|
+
export declare const Plus: 81;
|
|
2374
2538
|
|
|
2375
2539
|
/**
|
|
2376
2540
|
* Upstream BinAritOperator constant Pow. Its numeric value is preserved exactly.
|
|
@@ -2379,7 +2543,7 @@ declare const DplOut: 68;
|
|
|
2379
2543
|
*
|
|
2380
2544
|
* @public
|
|
2381
2545
|
*/
|
|
2382
|
-
declare const Pow: 44;
|
|
2546
|
+
export declare const Pow: 44;
|
|
2383
2547
|
|
|
2384
2548
|
/**
|
|
2385
2549
|
* Upstream BinAritOperator constant PowAssgn. Its numeric value is preserved exactly.
|
|
@@ -2388,7 +2552,7 @@ declare const DplOut: 68;
|
|
|
2388
2552
|
*
|
|
2389
2553
|
* @public
|
|
2390
2554
|
*/
|
|
2391
|
-
declare const PowAssgn: 62;
|
|
2555
|
+
export declare const PowAssgn: 62;
|
|
2392
2556
|
|
|
2393
2557
|
/**
|
|
2394
2558
|
* The upstream ProcOperator domain: exact named tokens, the Go zero value, and explicitly validated unnamed uint32 values. Constants shared by upstream families retain their shared numeric identity.
|
|
@@ -2441,7 +2605,7 @@ declare const DplOut: 68;
|
|
|
2441
2605
|
*
|
|
2442
2606
|
* @public
|
|
2443
2607
|
*/
|
|
2444
|
-
declare const Quo: 101;
|
|
2608
|
+
export declare const Quo: 101;
|
|
2445
2609
|
|
|
2446
2610
|
/**
|
|
2447
2611
|
* Upstream BinAritOperator constant QuoAssgn. Its numeric value is preserved exactly.
|
|
@@ -2450,7 +2614,7 @@ declare const DplOut: 68;
|
|
|
2450
2614
|
*
|
|
2451
2615
|
* @public
|
|
2452
2616
|
*/
|
|
2453
|
-
declare const QuoAssgn: 52;
|
|
2617
|
+
export declare const QuoAssgn: 52;
|
|
2454
2618
|
|
|
2455
2619
|
/**
|
|
2456
2620
|
* An explicitly represented unnamed uint32 value in one upstream operator family. The runtime constructor checks integer range; this type does not claim that every value is meaningful to every parser or printer operation. The structural family marker remains interoperable across package entry points while preventing accidental cross-family assignment.
|
|
@@ -2461,6 +2625,14 @@ declare const DplOut: 68;
|
|
|
2461
2625
|
readonly __shAstOperatorFamily: Family;
|
|
2462
2626
|
};
|
|
2463
2627
|
|
|
2628
|
+
/**
|
|
2629
|
+
* Represents an unnamed value in an upstream uint32 operator family. Named
|
|
2630
|
+
* constants remain precise literal unions; this explicit path preserves other Go
|
|
2631
|
+
* values without claiming an operation such as Print accepts them.
|
|
2632
|
+
* @public
|
|
2633
|
+
*/
|
|
2634
|
+
export declare function rawOperator<Family extends OperatorFamily>(family: Family, value: number): RawOperator<Family>;
|
|
2635
|
+
|
|
2464
2636
|
/**
|
|
2465
2637
|
* Upstream RedirOperator constant RdrAll. Its numeric value is preserved exactly.
|
|
2466
2638
|
*
|
|
@@ -2468,7 +2640,7 @@ declare const DplOut: 68;
|
|
|
2468
2640
|
*
|
|
2469
2641
|
* @public
|
|
2470
2642
|
*/
|
|
2471
|
-
declare const RdrAll: 74;
|
|
2643
|
+
export declare const RdrAll: 74;
|
|
2472
2644
|
|
|
2473
2645
|
/**
|
|
2474
2646
|
* Upstream RedirOperator constant RdrAllClob. Its numeric value is preserved exactly.
|
|
@@ -2477,7 +2649,7 @@ declare const DplOut: 68;
|
|
|
2477
2649
|
*
|
|
2478
2650
|
* @public
|
|
2479
2651
|
*/
|
|
2480
|
-
declare const RdrAllClob: 75;
|
|
2652
|
+
export declare const RdrAllClob: 75;
|
|
2481
2653
|
|
|
2482
2654
|
/**
|
|
2483
2655
|
* Upstream RedirOperator constant RdrClob. Its numeric value is preserved exactly.
|
|
@@ -2486,7 +2658,7 @@ declare const DplOut: 68;
|
|
|
2486
2658
|
*
|
|
2487
2659
|
* @public
|
|
2488
2660
|
*/
|
|
2489
|
-
declare const RdrClob: 69;
|
|
2661
|
+
export declare const RdrClob: 69;
|
|
2490
2662
|
|
|
2491
2663
|
/**
|
|
2492
2664
|
* Upstream RedirOperator constant RdrIn. Its numeric value is preserved exactly.
|
|
@@ -2495,7 +2667,7 @@ declare const DplOut: 68;
|
|
|
2495
2667
|
*
|
|
2496
2668
|
* @public
|
|
2497
2669
|
*/
|
|
2498
|
-
declare const RdrIn: 65;
|
|
2670
|
+
export declare const RdrIn: 65;
|
|
2499
2671
|
|
|
2500
2672
|
/**
|
|
2501
2673
|
* Upstream RedirOperator constant RdrInOut. Its numeric value is preserved exactly.
|
|
@@ -2504,7 +2676,7 @@ declare const DplOut: 68;
|
|
|
2504
2676
|
*
|
|
2505
2677
|
* @public
|
|
2506
2678
|
*/
|
|
2507
|
-
declare const RdrInOut: 66;
|
|
2679
|
+
export declare const RdrInOut: 66;
|
|
2508
2680
|
|
|
2509
2681
|
/**
|
|
2510
2682
|
* Upstream RedirOperator constant RdrOut. Its numeric value is preserved exactly.
|
|
@@ -2513,7 +2685,7 @@ declare const DplOut: 68;
|
|
|
2513
2685
|
*
|
|
2514
2686
|
* @public
|
|
2515
2687
|
*/
|
|
2516
|
-
declare const RdrOut: 63;
|
|
2688
|
+
export declare const RdrOut: 63;
|
|
2517
2689
|
|
|
2518
2690
|
/**
|
|
2519
2691
|
* Redirect represents an input/output redirection.
|
|
@@ -2586,7 +2758,7 @@ declare const DplOut: 68;
|
|
|
2586
2758
|
*
|
|
2587
2759
|
* @public
|
|
2588
2760
|
*/
|
|
2589
|
-
declare const Rem: 89;
|
|
2761
|
+
export declare const Rem: 89;
|
|
2590
2762
|
|
|
2591
2763
|
/**
|
|
2592
2764
|
* Upstream BinAritOperator constant RemAssgn. Its numeric value is preserved exactly.
|
|
@@ -2595,7 +2767,7 @@ declare const DplOut: 68;
|
|
|
2595
2767
|
*
|
|
2596
2768
|
* @public
|
|
2597
2769
|
*/
|
|
2598
|
-
declare const RemAssgn: 53;
|
|
2770
|
+
export declare const RemAssgn: 53;
|
|
2599
2771
|
|
|
2600
2772
|
/**
|
|
2601
2773
|
* Upstream ParExpOperator constant RemLargePrefix. Its numeric value is preserved exactly.
|
|
@@ -2604,7 +2776,7 @@ declare const DplOut: 68;
|
|
|
2604
2776
|
*
|
|
2605
2777
|
* @public
|
|
2606
2778
|
*/
|
|
2607
|
-
declare const RemLargePrefix: 92;
|
|
2779
|
+
export declare const RemLargePrefix: 92;
|
|
2608
2780
|
|
|
2609
2781
|
/**
|
|
2610
2782
|
* Upstream ParExpOperator constant RemLargeSuffix. Its numeric value is preserved exactly.
|
|
@@ -2613,7 +2785,7 @@ declare const DplOut: 68;
|
|
|
2613
2785
|
*
|
|
2614
2786
|
* @public
|
|
2615
2787
|
*/
|
|
2616
|
-
declare const RemLargeSuffix: 90;
|
|
2788
|
+
export declare const RemLargeSuffix: 90;
|
|
2617
2789
|
|
|
2618
2790
|
/**
|
|
2619
2791
|
* Upstream ParExpOperator constant RemSmallPrefix. Its numeric value is preserved exactly.
|
|
@@ -2622,7 +2794,7 @@ declare const DplOut: 68;
|
|
|
2622
2794
|
*
|
|
2623
2795
|
* @public
|
|
2624
2796
|
*/
|
|
2625
|
-
declare const RemSmallPrefix: 91;
|
|
2797
|
+
export declare const RemSmallPrefix: 91;
|
|
2626
2798
|
|
|
2627
2799
|
/**
|
|
2628
2800
|
* Upstream ParExpOperator constant RemSmallSuffix. Its numeric value is preserved exactly.
|
|
@@ -2631,7 +2803,7 @@ declare const DplOut: 68;
|
|
|
2631
2803
|
*
|
|
2632
2804
|
* @public
|
|
2633
2805
|
*/
|
|
2634
|
-
declare const RemSmallSuffix: 89;
|
|
2806
|
+
export declare const RemSmallSuffix: 89;
|
|
2635
2807
|
|
|
2636
2808
|
/**
|
|
2637
2809
|
* Replace represents a search and replace expression inside a `ParamExp`.
|
|
@@ -2677,7 +2849,7 @@ declare const DplOut: 68;
|
|
|
2677
2849
|
* command) or add their own (e.g. a project's `with-retry` helper) and
|
|
2678
2850
|
* both directions are followed identically to any built-in entry.
|
|
2679
2851
|
*
|
|
2680
|
-
* **A statically-unknowable word is never guessed through** —
|
|
2852
|
+
* **A statically-unknowable word is never guessed through** — four
|
|
2681
2853
|
* distinct cases all stop the chain immediately at that word rather than
|
|
2682
2854
|
* falling back to any other guess:
|
|
2683
2855
|
*
|
|
@@ -2698,6 +2870,30 @@ declare const DplOut: 68;
|
|
|
2698
2870
|
* reports `effective: { static: false, reason: 'embedded-command' }`
|
|
2699
2871
|
* (see {@link WrapperSpec.unresolvableFlags}'s doc comment).
|
|
2700
2872
|
*
|
|
2873
|
+
* 4. The effective command is a shell interpreter
|
|
2874
|
+
* ({@link DEFAULT_EMBEDDED_COMMAND_INTERPRETERS}) invoked with `-c` —
|
|
2875
|
+
* `bash -c "$x"`, `sudo sh -ec ls` — and the command that runs is
|
|
2876
|
+
* inside the string operand. The result is the same
|
|
2877
|
+
* `'embedded-command'` shape `env -S` produces: the interpreter word is
|
|
2878
|
+
* `chain.at(-2)` and `chainIndices.at(-1)` is the option word that
|
|
2879
|
+
* selected `-c`. `bash script.sh`, `bash -e script.sh`, `bash -- -c`
|
|
2880
|
+
* and `bash -o c` are not `-c` invocations and resolve to `bash` as
|
|
2881
|
+
* before. A dynamic word in option position (`bash "$f" -c x`,
|
|
2882
|
+
* `bash -c"$y" x`) is undecidable, so the interpreter stays a static
|
|
2883
|
+
* `bash`: `static: true` then means only that the name is known, not that
|
|
2884
|
+
* the command is a plain shell invocation. The `-c` string itself is never
|
|
2885
|
+
* parsed.
|
|
2886
|
+
*
|
|
2887
|
+
* Known limits: the table models common option spellings, not a full
|
|
2888
|
+
* emulation of each shell's option parser. Unusual spellings can be
|
|
2889
|
+
* misclassified in either direction:
|
|
2890
|
+
*
|
|
2891
|
+
* - Bash/sh single-dash long options after a short option, e.g. `bash -e -rcfile M`.
|
|
2892
|
+
* - `ksh -c +c M`, or a dynamic word after `-c` that expands to an option.
|
|
2893
|
+
* - mksh's selector-bearing operands in `mksh -o -c M` and `mksh -o +c M`.
|
|
2894
|
+
* - A lone `+` before `-c`, e.g. `bash + -c M`.
|
|
2895
|
+
* - Zsh grammar switches, e.g. `zsh -o shoptionletters -b -c M`.
|
|
2896
|
+
*
|
|
2701
2897
|
* `VAR=val` shell-assignment prefixes on the `CallExpr` itself
|
|
2702
2898
|
* (`CommandSite.node.Assigns`, e.g. `FOO=bar rm x`) are always skipped and
|
|
2703
2899
|
* counted in {@link Argv0Resolution.assignmentsSkipped} — a mechanism
|
|
@@ -2712,7 +2908,8 @@ declare const DplOut: 68;
|
|
|
2712
2908
|
* least one argv word; see its doc comment), not a "malformed shell
|
|
2713
2909
|
* source" case.
|
|
2714
2910
|
* @throws {@link ShAnalyzeInvalidWrapperSpecError} if
|
|
2715
|
-
* `options.transparentWrappers`
|
|
2911
|
+
* `options.transparentWrappers` or `options.embeddedCommandInterpreters`
|
|
2912
|
+
* contains a malformed entry (see
|
|
2716
2913
|
* {@link ResolveArgv0Options.transparentWrappers}'s doc comment).
|
|
2717
2914
|
* @public
|
|
2718
2915
|
*/
|
|
@@ -2739,6 +2936,19 @@ declare const DplOut: 68;
|
|
|
2739
2936
|
* flag matching.
|
|
2740
2937
|
*/
|
|
2741
2938
|
readonly transparentWrappers?: readonly WrapperSpec[];
|
|
2939
|
+
/**
|
|
2940
|
+
* The shell interpreters whose `-c` operand is reported as an
|
|
2941
|
+
* `'embedded-command'`. Defaults to
|
|
2942
|
+
* {@link DEFAULT_EMBEDDED_COMMAND_INTERPRETERS}. Pass a replacement array to
|
|
2943
|
+
* add or drop interpreters; an empty array disables the behavior, so every
|
|
2944
|
+
* interpreter resolves as an ordinary effective command.
|
|
2945
|
+
*
|
|
2946
|
+
* Validated at the {@link resolveArgv0} boundary like
|
|
2947
|
+
* {@link ResolveArgv0Options.transparentWrappers}: the table must be an
|
|
2948
|
+
* array. A non-array value (including `null`) or malformed entry throws
|
|
2949
|
+
* {@link ShAnalyzeInvalidWrapperSpecError}; only `undefined` uses defaults.
|
|
2950
|
+
*/
|
|
2951
|
+
readonly embeddedCommandInterpreters?: readonly EmbeddedCommandInterpreterSpec[];
|
|
2742
2952
|
}
|
|
2743
2953
|
|
|
2744
2954
|
/**
|
|
@@ -2812,7 +3022,7 @@ declare const DplOut: 68;
|
|
|
2812
3022
|
*
|
|
2813
3023
|
* @public
|
|
2814
3024
|
*/
|
|
2815
|
-
declare const Resume: 37;
|
|
3025
|
+
export declare const Resume: 37;
|
|
2816
3026
|
|
|
2817
3027
|
/**
|
|
2818
3028
|
* Upstream CaseOperator constant ResumeKorn. Its numeric value is preserved exactly.
|
|
@@ -2821,7 +3031,7 @@ declare const DplOut: 68;
|
|
|
2821
3031
|
*
|
|
2822
3032
|
* @public
|
|
2823
3033
|
*/
|
|
2824
|
-
declare const ResumeKorn: 38;
|
|
3034
|
+
export declare const ResumeKorn: 38;
|
|
2825
3035
|
|
|
2826
3036
|
/**
|
|
2827
3037
|
* SglQuoted represents a string within single quotes.
|
|
@@ -2917,7 +3127,7 @@ declare const DplOut: 68;
|
|
|
2917
3127
|
*
|
|
2918
3128
|
* @public
|
|
2919
3129
|
*/
|
|
2920
|
-
declare const Shl: 71;
|
|
3130
|
+
export declare const Shl: 71;
|
|
2921
3131
|
|
|
2922
3132
|
/**
|
|
2923
3133
|
* Upstream BinAritOperator constant ShlAssgn. Its numeric value is preserved exactly.
|
|
@@ -2926,7 +3136,7 @@ declare const DplOut: 68;
|
|
|
2926
3136
|
*
|
|
2927
3137
|
* @public
|
|
2928
3138
|
*/
|
|
2929
|
-
declare const ShlAssgn: 57;
|
|
3139
|
+
export declare const ShlAssgn: 57;
|
|
2930
3140
|
|
|
2931
3141
|
/**
|
|
2932
3142
|
* Upstream BinAritOperator constant Shr. Its numeric value is preserved exactly.
|
|
@@ -2935,7 +3145,7 @@ declare const DplOut: 68;
|
|
|
2935
3145
|
*
|
|
2936
3146
|
* @public
|
|
2937
3147
|
*/
|
|
2938
|
-
declare const Shr: 64;
|
|
3148
|
+
export declare const Shr: 64;
|
|
2939
3149
|
|
|
2940
3150
|
/**
|
|
2941
3151
|
* Upstream BinAritOperator constant ShrAssgn. Its numeric value is preserved exactly.
|
|
@@ -2944,7 +3154,7 @@ declare const DplOut: 68;
|
|
|
2944
3154
|
*
|
|
2945
3155
|
* @public
|
|
2946
3156
|
*/
|
|
2947
|
-
declare const ShrAssgn: 58;
|
|
3157
|
+
export declare const ShrAssgn: 58;
|
|
2948
3158
|
|
|
2949
3159
|
/**
|
|
2950
3160
|
* Slice represents a character slicing expression inside a `ParamExp`.
|
|
@@ -3042,7 +3252,7 @@ declare const DplOut: 68;
|
|
|
3042
3252
|
*
|
|
3043
3253
|
* @public
|
|
3044
3254
|
*/
|
|
3045
|
-
declare const Sub: 83;
|
|
3255
|
+
export declare const Sub: 83;
|
|
3046
3256
|
|
|
3047
3257
|
/**
|
|
3048
3258
|
* Upstream BinAritOperator constant SubAssgn. Its numeric value is preserved exactly.
|
|
@@ -3051,7 +3261,7 @@ declare const DplOut: 68;
|
|
|
3051
3261
|
*
|
|
3052
3262
|
* @public
|
|
3053
3263
|
*/
|
|
3054
|
-
declare const SubAssgn: 50;
|
|
3264
|
+
export declare const SubAssgn: 50;
|
|
3055
3265
|
|
|
3056
3266
|
/**
|
|
3057
3267
|
* Subshell represents a series of commands that should be executed in a nested
|
|
@@ -3123,7 +3333,7 @@ declare const DplOut: 68;
|
|
|
3123
3333
|
*
|
|
3124
3334
|
* @public
|
|
3125
3335
|
*/
|
|
3126
|
-
declare const TernColon: 104;
|
|
3336
|
+
export declare const TernColon: 104;
|
|
3127
3337
|
|
|
3128
3338
|
/**
|
|
3129
3339
|
* Upstream BinAritOperator constant TernQuest. Its numeric value is preserved exactly.
|
|
@@ -3132,7 +3342,7 @@ declare const DplOut: 68;
|
|
|
3132
3342
|
*
|
|
3133
3343
|
* @public
|
|
3134
3344
|
*/
|
|
3135
|
-
declare const TernQuest: 85;
|
|
3345
|
+
export declare const TernQuest: 85;
|
|
3136
3346
|
|
|
3137
3347
|
/**
|
|
3138
3348
|
* TestClause represents a Bash extended test clause.
|
|
@@ -3236,7 +3446,7 @@ declare const DplOut: 68;
|
|
|
3236
3446
|
*
|
|
3237
3447
|
* @public
|
|
3238
3448
|
*/
|
|
3239
|
-
declare const TsAfter: 63;
|
|
3449
|
+
export declare const TsAfter: 63;
|
|
3240
3450
|
|
|
3241
3451
|
/**
|
|
3242
3452
|
* Upstream BinTestOperator constant TsBefore. Its numeric value is preserved exactly.
|
|
@@ -3245,7 +3455,7 @@ declare const DplOut: 68;
|
|
|
3245
3455
|
*
|
|
3246
3456
|
* @public
|
|
3247
3457
|
*/
|
|
3248
|
-
declare const TsBefore: 65;
|
|
3458
|
+
export declare const TsBefore: 65;
|
|
3249
3459
|
|
|
3250
3460
|
/**
|
|
3251
3461
|
* Upstream UnTestOperator constant TsBlckSp. Its numeric value is preserved exactly.
|
|
@@ -3254,7 +3464,7 @@ declare const DplOut: 68;
|
|
|
3254
3464
|
*
|
|
3255
3465
|
* @public
|
|
3256
3466
|
*/
|
|
3257
|
-
declare const TsBlckSp: 109;
|
|
3467
|
+
export declare const TsBlckSp: 109;
|
|
3258
3468
|
|
|
3259
3469
|
/**
|
|
3260
3470
|
* Upstream UnTestOperator constant TsCharSp. Its numeric value is preserved exactly.
|
|
@@ -3263,7 +3473,7 @@ declare const DplOut: 68;
|
|
|
3263
3473
|
*
|
|
3264
3474
|
* @public
|
|
3265
3475
|
*/
|
|
3266
|
-
declare const TsCharSp: 108;
|
|
3476
|
+
export declare const TsCharSp: 108;
|
|
3267
3477
|
|
|
3268
3478
|
/**
|
|
3269
3479
|
* Upstream BinTestOperator constant TsDevIno. Its numeric value is preserved exactly.
|
|
@@ -3272,7 +3482,7 @@ declare const DplOut: 68;
|
|
|
3272
3482
|
*
|
|
3273
3483
|
* @public
|
|
3274
3484
|
*/
|
|
3275
|
-
declare const TsDevIno: 132;
|
|
3485
|
+
export declare const TsDevIno: 132;
|
|
3276
3486
|
|
|
3277
3487
|
/**
|
|
3278
3488
|
* Upstream UnTestOperator constant TsDirect. Its numeric value is preserved exactly.
|
|
@@ -3281,7 +3491,7 @@ declare const DplOut: 68;
|
|
|
3281
3491
|
*
|
|
3282
3492
|
* @public
|
|
3283
3493
|
*/
|
|
3284
|
-
declare const TsDirect: 107;
|
|
3494
|
+
export declare const TsDirect: 107;
|
|
3285
3495
|
|
|
3286
3496
|
/**
|
|
3287
3497
|
* Upstream UnTestOperator constant TsEmpStr. Its numeric value is preserved exactly.
|
|
@@ -3290,7 +3500,7 @@ declare const DplOut: 68;
|
|
|
3290
3500
|
*
|
|
3291
3501
|
* @public
|
|
3292
3502
|
*/
|
|
3293
|
-
declare const TsEmpStr: 124;
|
|
3503
|
+
export declare const TsEmpStr: 124;
|
|
3294
3504
|
|
|
3295
3505
|
/**
|
|
3296
3506
|
* Upstream BinTestOperator constant TsEql. Its numeric value is preserved exactly.
|
|
@@ -3299,7 +3509,7 @@ declare const DplOut: 68;
|
|
|
3299
3509
|
*
|
|
3300
3510
|
* @public
|
|
3301
3511
|
*/
|
|
3302
|
-
declare const TsEql: 133;
|
|
3512
|
+
export declare const TsEql: 133;
|
|
3303
3513
|
|
|
3304
3514
|
/**
|
|
3305
3515
|
* Upstream UnTestOperator constant TsExec. Its numeric value is preserved exactly.
|
|
@@ -3308,7 +3518,7 @@ declare const DplOut: 68;
|
|
|
3308
3518
|
*
|
|
3309
3519
|
* @public
|
|
3310
3520
|
*/
|
|
3311
|
-
declare const TsExec: 121;
|
|
3521
|
+
export declare const TsExec: 121;
|
|
3312
3522
|
|
|
3313
3523
|
/**
|
|
3314
3524
|
* Upstream UnTestOperator constant TsExists. Its numeric value is preserved exactly.
|
|
@@ -3317,7 +3527,7 @@ declare const DplOut: 68;
|
|
|
3317
3527
|
*
|
|
3318
3528
|
* @public
|
|
3319
3529
|
*/
|
|
3320
|
-
declare const TsExists: 105;
|
|
3530
|
+
export declare const TsExists: 105;
|
|
3321
3531
|
|
|
3322
3532
|
/**
|
|
3323
3533
|
* Upstream UnTestOperator constant TsFdTerm. Its numeric value is preserved exactly.
|
|
@@ -3326,7 +3536,7 @@ declare const DplOut: 68;
|
|
|
3326
3536
|
*
|
|
3327
3537
|
* @public
|
|
3328
3538
|
*/
|
|
3329
|
-
declare const TsFdTerm: 123;
|
|
3539
|
+
export declare const TsFdTerm: 123;
|
|
3330
3540
|
|
|
3331
3541
|
/**
|
|
3332
3542
|
* Upstream BinTestOperator constant TsGeq. Its numeric value is preserved exactly.
|
|
@@ -3335,7 +3545,7 @@ declare const DplOut: 68;
|
|
|
3335
3545
|
*
|
|
3336
3546
|
* @public
|
|
3337
3547
|
*/
|
|
3338
|
-
declare const TsGeq: 136;
|
|
3548
|
+
export declare const TsGeq: 136;
|
|
3339
3549
|
|
|
3340
3550
|
/**
|
|
3341
3551
|
* Upstream UnTestOperator constant TsGIDSet. Its numeric value is preserved exactly.
|
|
@@ -3344,7 +3554,7 @@ declare const DplOut: 68;
|
|
|
3344
3554
|
*
|
|
3345
3555
|
* @public
|
|
3346
3556
|
*/
|
|
3347
|
-
declare const TsGIDSet: 114;
|
|
3557
|
+
export declare const TsGIDSet: 114;
|
|
3348
3558
|
|
|
3349
3559
|
/**
|
|
3350
3560
|
* Upstream UnTestOperator constant TsGrpOwn. Its numeric value is preserved exactly.
|
|
@@ -3353,7 +3563,7 @@ declare const DplOut: 68;
|
|
|
3353
3563
|
*
|
|
3354
3564
|
* @public
|
|
3355
3565
|
*/
|
|
3356
|
-
declare const TsGrpOwn: 116;
|
|
3566
|
+
export declare const TsGrpOwn: 116;
|
|
3357
3567
|
|
|
3358
3568
|
/**
|
|
3359
3569
|
* Upstream BinTestOperator constant TsGtr. Its numeric value is preserved exactly.
|
|
@@ -3362,7 +3572,7 @@ declare const DplOut: 68;
|
|
|
3362
3572
|
*
|
|
3363
3573
|
* @public
|
|
3364
3574
|
*/
|
|
3365
|
-
declare const TsGtr: 138;
|
|
3575
|
+
export declare const TsGtr: 138;
|
|
3366
3576
|
|
|
3367
3577
|
/**
|
|
3368
3578
|
* Upstream BinTestOperator constant TsLeq. Its numeric value is preserved exactly.
|
|
@@ -3371,7 +3581,7 @@ declare const DplOut: 68;
|
|
|
3371
3581
|
*
|
|
3372
3582
|
* @public
|
|
3373
3583
|
*/
|
|
3374
|
-
declare const TsLeq: 135;
|
|
3584
|
+
export declare const TsLeq: 135;
|
|
3375
3585
|
|
|
3376
3586
|
/**
|
|
3377
3587
|
* Upstream BinTestOperator constant TsLss. Its numeric value is preserved exactly.
|
|
@@ -3380,7 +3590,7 @@ declare const DplOut: 68;
|
|
|
3380
3590
|
*
|
|
3381
3591
|
* @public
|
|
3382
3592
|
*/
|
|
3383
|
-
declare const TsLss: 137;
|
|
3593
|
+
export declare const TsLss: 137;
|
|
3384
3594
|
|
|
3385
3595
|
/**
|
|
3386
3596
|
* Upstream BinTestOperator constant TsMatch. Its numeric value is preserved exactly.
|
|
@@ -3389,7 +3599,7 @@ declare const DplOut: 68;
|
|
|
3389
3599
|
*
|
|
3390
3600
|
* @public
|
|
3391
3601
|
*/
|
|
3392
|
-
declare const TsMatch: 45;
|
|
3602
|
+
export declare const TsMatch: 45;
|
|
3393
3603
|
|
|
3394
3604
|
/**
|
|
3395
3605
|
* Upstream BinTestOperator constant TsMatchShort. Its numeric value is preserved exactly.
|
|
@@ -3398,7 +3608,7 @@ declare const DplOut: 68;
|
|
|
3398
3608
|
*
|
|
3399
3609
|
* @public
|
|
3400
3610
|
*/
|
|
3401
|
-
declare const TsMatchShort: 87;
|
|
3611
|
+
export declare const TsMatchShort: 87;
|
|
3402
3612
|
|
|
3403
3613
|
/**
|
|
3404
3614
|
* Upstream UnTestOperator constant TsModif. Its numeric value is preserved exactly.
|
|
@@ -3407,7 +3617,7 @@ declare const DplOut: 68;
|
|
|
3407
3617
|
*
|
|
3408
3618
|
* @public
|
|
3409
3619
|
*/
|
|
3410
|
-
declare const TsModif: 118;
|
|
3620
|
+
export declare const TsModif: 118;
|
|
3411
3621
|
|
|
3412
3622
|
/**
|
|
3413
3623
|
* Upstream UnTestOperator constant TsNempStr. Its numeric value is preserved exactly.
|
|
@@ -3416,7 +3626,7 @@ declare const DplOut: 68;
|
|
|
3416
3626
|
*
|
|
3417
3627
|
* @public
|
|
3418
3628
|
*/
|
|
3419
|
-
declare const TsNempStr: 125;
|
|
3629
|
+
export declare const TsNempStr: 125;
|
|
3420
3630
|
|
|
3421
3631
|
/**
|
|
3422
3632
|
* Upstream BinTestOperator constant TsNeq. Its numeric value is preserved exactly.
|
|
@@ -3425,7 +3635,7 @@ declare const DplOut: 68;
|
|
|
3425
3635
|
*
|
|
3426
3636
|
* @public
|
|
3427
3637
|
*/
|
|
3428
|
-
declare const TsNeq: 134;
|
|
3638
|
+
export declare const TsNeq: 134;
|
|
3429
3639
|
|
|
3430
3640
|
/**
|
|
3431
3641
|
* Upstream BinTestOperator constant TsNewer. Its numeric value is preserved exactly.
|
|
@@ -3434,7 +3644,7 @@ declare const DplOut: 68;
|
|
|
3434
3644
|
*
|
|
3435
3645
|
* @public
|
|
3436
3646
|
*/
|
|
3437
|
-
declare const TsNewer: 130;
|
|
3647
|
+
export declare const TsNewer: 130;
|
|
3438
3648
|
|
|
3439
3649
|
/**
|
|
3440
3650
|
* Upstream UnTestOperator constant TsNmPipe. Its numeric value is preserved exactly.
|
|
@@ -3443,7 +3653,7 @@ declare const DplOut: 68;
|
|
|
3443
3653
|
*
|
|
3444
3654
|
* @public
|
|
3445
3655
|
*/
|
|
3446
|
-
declare const TsNmPipe: 110;
|
|
3656
|
+
export declare const TsNmPipe: 110;
|
|
3447
3657
|
|
|
3448
3658
|
/**
|
|
3449
3659
|
* Upstream UnTestOperator constant TsNoEmpty. Its numeric value is preserved exactly.
|
|
@@ -3452,7 +3662,7 @@ declare const DplOut: 68;
|
|
|
3452
3662
|
*
|
|
3453
3663
|
* @public
|
|
3454
3664
|
*/
|
|
3455
|
-
declare const TsNoEmpty: 122;
|
|
3665
|
+
export declare const TsNoEmpty: 122;
|
|
3456
3666
|
|
|
3457
3667
|
/**
|
|
3458
3668
|
* Upstream BinTestOperator constant TsNoMatch. Its numeric value is preserved exactly.
|
|
@@ -3461,7 +3671,7 @@ declare const DplOut: 68;
|
|
|
3461
3671
|
*
|
|
3462
3672
|
* @public
|
|
3463
3673
|
*/
|
|
3464
|
-
declare const TsNoMatch: 46;
|
|
3674
|
+
export declare const TsNoMatch: 46;
|
|
3465
3675
|
|
|
3466
3676
|
/**
|
|
3467
3677
|
* Upstream UnTestOperator constant TsNot. Its numeric value is preserved exactly.
|
|
@@ -3470,7 +3680,7 @@ declare const DplOut: 68;
|
|
|
3470
3680
|
*
|
|
3471
3681
|
* @public
|
|
3472
3682
|
*/
|
|
3473
|
-
declare const TsNot: 39;
|
|
3683
|
+
export declare const TsNot: 39;
|
|
3474
3684
|
|
|
3475
3685
|
/**
|
|
3476
3686
|
* Upstream BinTestOperator constant TsOlder. Its numeric value is preserved exactly.
|
|
@@ -3479,7 +3689,7 @@ declare const DplOut: 68;
|
|
|
3479
3689
|
*
|
|
3480
3690
|
* @public
|
|
3481
3691
|
*/
|
|
3482
|
-
declare const TsOlder: 131;
|
|
3692
|
+
export declare const TsOlder: 131;
|
|
3483
3693
|
|
|
3484
3694
|
/**
|
|
3485
3695
|
* Upstream UnTestOperator constant TsOptSet. Its numeric value is preserved exactly.
|
|
@@ -3488,7 +3698,7 @@ declare const DplOut: 68;
|
|
|
3488
3698
|
*
|
|
3489
3699
|
* @public
|
|
3490
3700
|
*/
|
|
3491
|
-
declare const TsOptSet: 126;
|
|
3701
|
+
export declare const TsOptSet: 126;
|
|
3492
3702
|
|
|
3493
3703
|
/**
|
|
3494
3704
|
* Upstream UnTestOperator constant TsParen. Its numeric value is preserved exactly.
|
|
@@ -3497,7 +3707,7 @@ declare const DplOut: 68;
|
|
|
3497
3707
|
*
|
|
3498
3708
|
* @public
|
|
3499
3709
|
*/
|
|
3500
|
-
declare const TsParen: 27;
|
|
3710
|
+
export declare const TsParen: 27;
|
|
3501
3711
|
|
|
3502
3712
|
/**
|
|
3503
3713
|
* Upstream UnTestOperator constant TsRead. Its numeric value is preserved exactly.
|
|
@@ -3506,7 +3716,7 @@ declare const DplOut: 68;
|
|
|
3506
3716
|
*
|
|
3507
3717
|
* @public
|
|
3508
3718
|
*/
|
|
3509
|
-
declare const TsRead: 119;
|
|
3719
|
+
export declare const TsRead: 119;
|
|
3510
3720
|
|
|
3511
3721
|
/**
|
|
3512
3722
|
* Upstream UnTestOperator constant TsRefVar. Its numeric value is preserved exactly.
|
|
@@ -3515,7 +3725,7 @@ declare const DplOut: 68;
|
|
|
3515
3725
|
*
|
|
3516
3726
|
* @public
|
|
3517
3727
|
*/
|
|
3518
|
-
declare const TsRefVar: 128;
|
|
3728
|
+
export declare const TsRefVar: 128;
|
|
3519
3729
|
|
|
3520
3730
|
/**
|
|
3521
3731
|
* Upstream UnTestOperator constant TsRegFile. Its numeric value is preserved exactly.
|
|
@@ -3524,7 +3734,7 @@ declare const DplOut: 68;
|
|
|
3524
3734
|
*
|
|
3525
3735
|
* @public
|
|
3526
3736
|
*/
|
|
3527
|
-
declare const TsRegFile: 106;
|
|
3737
|
+
export declare const TsRegFile: 106;
|
|
3528
3738
|
|
|
3529
3739
|
/**
|
|
3530
3740
|
* Upstream BinTestOperator constant TsReMatch. Its numeric value is preserved exactly.
|
|
@@ -3533,7 +3743,7 @@ declare const DplOut: 68;
|
|
|
3533
3743
|
*
|
|
3534
3744
|
* @public
|
|
3535
3745
|
*/
|
|
3536
|
-
declare const TsReMatch: 129;
|
|
3746
|
+
export declare const TsReMatch: 129;
|
|
3537
3747
|
|
|
3538
3748
|
/**
|
|
3539
3749
|
* Upstream UnTestOperator constant TsSmbLink. Its numeric value is preserved exactly.
|
|
@@ -3542,7 +3752,7 @@ declare const DplOut: 68;
|
|
|
3542
3752
|
*
|
|
3543
3753
|
* @public
|
|
3544
3754
|
*/
|
|
3545
|
-
declare const TsSmbLink: 112;
|
|
3755
|
+
export declare const TsSmbLink: 112;
|
|
3546
3756
|
|
|
3547
3757
|
/**
|
|
3548
3758
|
* Upstream UnTestOperator constant TsSocket. Its numeric value is preserved exactly.
|
|
@@ -3551,7 +3761,7 @@ declare const DplOut: 68;
|
|
|
3551
3761
|
*
|
|
3552
3762
|
* @public
|
|
3553
3763
|
*/
|
|
3554
|
-
declare const TsSocket: 111;
|
|
3764
|
+
export declare const TsSocket: 111;
|
|
3555
3765
|
|
|
3556
3766
|
/**
|
|
3557
3767
|
* Upstream UnTestOperator constant TsSticky. Its numeric value is preserved exactly.
|
|
@@ -3560,7 +3770,7 @@ declare const DplOut: 68;
|
|
|
3560
3770
|
*
|
|
3561
3771
|
* @public
|
|
3562
3772
|
*/
|
|
3563
|
-
declare const TsSticky: 113;
|
|
3773
|
+
export declare const TsSticky: 113;
|
|
3564
3774
|
|
|
3565
3775
|
/**
|
|
3566
3776
|
* Upstream UnTestOperator constant TsUIDSet. Its numeric value is preserved exactly.
|
|
@@ -3569,7 +3779,7 @@ declare const DplOut: 68;
|
|
|
3569
3779
|
*
|
|
3570
3780
|
* @public
|
|
3571
3781
|
*/
|
|
3572
|
-
declare const TsUIDSet: 115;
|
|
3782
|
+
export declare const TsUIDSet: 115;
|
|
3573
3783
|
|
|
3574
3784
|
/**
|
|
3575
3785
|
* Upstream UnTestOperator constant TsUsrOwn. Its numeric value is preserved exactly.
|
|
@@ -3578,7 +3788,7 @@ declare const DplOut: 68;
|
|
|
3578
3788
|
*
|
|
3579
3789
|
* @public
|
|
3580
3790
|
*/
|
|
3581
|
-
declare const TsUsrOwn: 117;
|
|
3791
|
+
export declare const TsUsrOwn: 117;
|
|
3582
3792
|
|
|
3583
3793
|
/**
|
|
3584
3794
|
* Upstream UnTestOperator constant TsVarSet. Its numeric value is preserved exactly.
|
|
@@ -3587,7 +3797,7 @@ declare const DplOut: 68;
|
|
|
3587
3797
|
*
|
|
3588
3798
|
* @public
|
|
3589
3799
|
*/
|
|
3590
|
-
declare const TsVarSet: 127;
|
|
3800
|
+
export declare const TsVarSet: 127;
|
|
3591
3801
|
|
|
3592
3802
|
/**
|
|
3593
3803
|
* Upstream UnTestOperator constant TsWrite. Its numeric value is preserved exactly.
|
|
@@ -3596,7 +3806,7 @@ declare const DplOut: 68;
|
|
|
3596
3806
|
*
|
|
3597
3807
|
* @public
|
|
3598
3808
|
*/
|
|
3599
|
-
declare const TsWrite: 120;
|
|
3809
|
+
export declare const TsWrite: 120;
|
|
3600
3810
|
|
|
3601
3811
|
/**
|
|
3602
3812
|
* An upstream interface containing a nil pointer of a concrete syntax.Node kind. This differs from a nil interface (null): the concrete Go type remains observable and can affect operations. Only interface-valued positions admit this tag; concrete pointer fields use null. No record fields or node bounds are stored on the tag.
|
|
@@ -3777,7 +3987,7 @@ declare const DplOut: 68;
|
|
|
3777
3987
|
*
|
|
3778
3988
|
* @public
|
|
3779
3989
|
*/
|
|
3780
|
-
declare const UpperAll: 97;
|
|
3990
|
+
export declare const UpperAll: 97;
|
|
3781
3991
|
|
|
3782
3992
|
/**
|
|
3783
3993
|
* Upstream ParExpOperator constant UpperFirst. Its numeric value is preserved exactly.
|
|
@@ -3786,7 +3996,7 @@ declare const DplOut: 68;
|
|
|
3786
3996
|
*
|
|
3787
3997
|
* @public
|
|
3788
3998
|
*/
|
|
3789
|
-
declare const UpperFirst: 96;
|
|
3999
|
+
export declare const UpperFirst: 96;
|
|
3790
4000
|
|
|
3791
4001
|
/**
|
|
3792
4002
|
* WhileClause represents a while or an until clause.
|
|
@@ -3861,7 +4071,7 @@ declare const DplOut: 68;
|
|
|
3861
4071
|
*
|
|
3862
4072
|
* @public
|
|
3863
4073
|
*/
|
|
3864
|
-
declare const WordHdoc: 73;
|
|
4074
|
+
export declare const WordHdoc: 73;
|
|
3865
4075
|
|
|
3866
4076
|
/**
|
|
3867
4077
|
* WordIter represents the iteration of a variable over a series of words in a
|
|
@@ -4040,20 +4250,33 @@ declare const DplOut: 68;
|
|
|
4040
4250
|
*/
|
|
4041
4251
|
export declare interface WrapperSpec {
|
|
4042
4252
|
/**
|
|
4043
|
-
* The
|
|
4044
|
-
*
|
|
4045
|
-
*
|
|
4253
|
+
* The command name that identifies this wrapper — e.g. `['env']`.
|
|
4254
|
+
* Matched only against a `static: true` word; see {@link WrapperSpec}'s
|
|
4255
|
+
* doc comment.
|
|
4256
|
+
*
|
|
4257
|
+
* Matching first searches the entire table for an exact name. Only when
|
|
4258
|
+
* no exact entry exists does it try an absolute path's final segment:
|
|
4259
|
+
*
|
|
4260
|
+
* 1. Its entire resolved text (after quote/escape removal) equals one of
|
|
4261
|
+
* `names`: `env`, or a path a caller listed verbatim. An exact path
|
|
4262
|
+
* entry takes precedence over a plain-name entry even if listed later.
|
|
4263
|
+
* 2. It is an **absolute path** (starts with `/`) whose final segment
|
|
4264
|
+
* equals one of `names`: `/usr/bin/env`, `/usr/bin/sudo`, `/opt/x/nice`
|
|
4265
|
+
* and `/usr//bin/env` resolve as `env`, `sudo` and `nice`. The chain
|
|
4266
|
+
* keeps the word as written, so a consumer still sees the path.
|
|
4267
|
+
*
|
|
4268
|
+
* Relative paths and paths with a trailing slash do not use the
|
|
4269
|
+
* final-segment fallback. They can still match an explicitly listed name,
|
|
4270
|
+
* such as `./with-retry` or `/opt/with-retry/`. Custom plain names also
|
|
4271
|
+
* acquire absolute-path aliases; a path-only name does not acquire aliases
|
|
4272
|
+
* for other paths with the same final segment.
|
|
4046
4273
|
*
|
|
4047
|
-
*
|
|
4048
|
-
* not
|
|
4049
|
-
*
|
|
4050
|
-
*
|
|
4051
|
-
*
|
|
4052
|
-
*
|
|
4053
|
-
* different, broader matching policy this package isn't making on a
|
|
4054
|
-
* caller's behalf. A caller who wants path-aware matching can express it
|
|
4055
|
-
* explicitly via a custom {@link ResolveArgv0Options.transparentWrappers}
|
|
4056
|
-
* table (e.g. `names: ['sudo', '/usr/bin/sudo']`).
|
|
4274
|
+
* This is a lexical analysis assumption, not executable identity:
|
|
4275
|
+
* `PATH` is not consulted and the filesystem is not read. Without an
|
|
4276
|
+
* exact override, an unrelated executable named `/opt/mytools/env` uses
|
|
4277
|
+
* the `env` entry's grammar. The chain preserves the original path so
|
|
4278
|
+
* callers can apply their own policy. A word with an expansion
|
|
4279
|
+
* (`"$dir/env"`) is not `static` and is never matched.
|
|
4057
4280
|
*/
|
|
4058
4281
|
readonly names: readonly string[];
|
|
4059
4282
|
/**
|
|
@@ -4154,7 +4377,7 @@ declare const DplOut: 68;
|
|
|
4154
4377
|
*
|
|
4155
4378
|
* @public
|
|
4156
4379
|
*/
|
|
4157
|
-
declare const Xor: 96;
|
|
4380
|
+
export declare const Xor: 96;
|
|
4158
4381
|
|
|
4159
4382
|
/**
|
|
4160
4383
|
* Upstream BinAritOperator constant XorAssgn. Its numeric value is preserved exactly.
|
|
@@ -4163,7 +4386,7 @@ declare const DplOut: 68;
|
|
|
4163
4386
|
*
|
|
4164
4387
|
* @public
|
|
4165
4388
|
*/
|
|
4166
|
-
declare const XorAssgn: 56;
|
|
4389
|
+
export declare const XorAssgn: 56;
|
|
4167
4390
|
|
|
4168
4391
|
/**
|
|
4169
4392
|
* Upstream BinAritOperator constant XorBool. Its numeric value is preserved exactly.
|
|
@@ -4172,7 +4395,7 @@ declare const DplOut: 68;
|
|
|
4172
4395
|
*
|
|
4173
4396
|
* @public
|
|
4174
4397
|
*/
|
|
4175
|
-
declare const XorBool: 97;
|
|
4398
|
+
export declare const XorBool: 97;
|
|
4176
4399
|
|
|
4177
4400
|
/**
|
|
4178
4401
|
* Upstream BinAritOperator constant XorBoolAssgn. Its numeric value is preserved exactly.
|
|
@@ -4181,6 +4404,6 @@ declare const DplOut: 68;
|
|
|
4181
4404
|
*
|
|
4182
4405
|
* @public
|
|
4183
4406
|
*/
|
|
4184
|
-
declare const XorBoolAssgn: 61;
|
|
4407
|
+
export declare const XorBoolAssgn: 61;
|
|
4185
4408
|
|
|
4186
4409
|
export { }
|