@@ -5,6 +5,11 @@ $ELIXIR_VERSION = "1.18.0-dev"
5
5
$scriptPath = Split-Path - Parent $PSCommandPath
6
6
$erlExec = " erl"
7
7
8
+ # The iex.ps1, elixirc.ps1 and mix.ps1 scripts may populate this var.
9
+ if ($null -eq $allArgs ) {
10
+ $allArgs = $args
11
+ }
12
+
8
13
function PrintElixirHelp {
9
14
$scriptName = Split-Path - Leaf $PSCommandPath
10
15
$help = @"
@@ -66,12 +71,12 @@ See run_erl to learn more. To reattach, run: to_erl PIPEDIR.
66
71
Write-Host $help
67
72
}
68
73
69
- if (($args .Count -eq 1 ) -and ($args [0 ] -eq " --short-version" )) {
74
+ if (($allArgs .Count -eq 1 ) -and ($allArgs [0 ] -eq " --short-version" )) {
70
75
Write-Host " $ELIXIR_VERSION "
71
76
exit
72
77
}
73
78
74
- if (($args .Count -eq 0 ) -or (($args .Count -eq 1 ) -and ($args [0 ] -in @ (" -h" , " --help" )))) {
79
+ if (($allArgs .Count -eq 0 ) -or (($allArgs .Count -eq 1 ) -and ($allArgs [0 ] -in @ (" -h" , " --help" )))) {
75
80
PrintElixirHelp
76
81
exit 1
77
82
}
@@ -111,12 +116,12 @@ $allOtherParams = @()
111
116
$runErlPipe = $null
112
117
$runErlLog = $null
113
118
114
- for ($i = 0 ; $i -lt $args .Count ; $i ++ ) {
115
- $private :arg = $args [$i ]
119
+ for ($i = 0 ; $i -lt $allArgs .Count ; $i ++ ) {
120
+ $private :arg = $allArgs [$i ]
116
121
117
122
switch ($arg ) {
118
123
{ $_ -in @ (" -e" , " -r" , " -pr" , " -pa" , " -pz" , " --eval" , " --remsh" , " --dot-iex" , " --dbg" ) } {
119
- $private :nextArg = NormalizeArg($args [++ $i ])
124
+ $private :nextArg = NormalizeArg($allArgs [++ $i ])
120
125
121
126
$elixirParams += $arg
122
127
$elixirParams += $nextArg
@@ -142,7 +147,7 @@ for ($i = 0; $i -lt $args.Count; $i++) {
142
147
143
148
" --cookie" {
144
149
$erlangParams += " -setcookie"
145
- $erlangParams += $args [++ $i ]
150
+ $erlangParams += $allArgs [++ $i ]
146
151
break
147
152
}
148
153
@@ -153,52 +158,52 @@ for ($i = 0; $i -lt $args.Count; $i++) {
153
158
154
159
" --name" {
155
160
$erlangParams += " -name"
156
- $erlangParams += $args [++ $i ]
161
+ $erlangParams += $allArgs [++ $i ]
157
162
break
158
163
}
159
164
160
165
" --sname" {
161
166
$erlangParams += " -sname"
162
- $erlangParams += $args [++ $i ]
167
+ $erlangParams += $allArgs [++ $i ]
163
168
break
164
169
}
165
170
166
171
" --boot" {
167
172
$erlangParams += " -boot"
168
- $erlangParams += $args [++ $i ]
173
+ $erlangParams += $allArgs [++ $i ]
169
174
break
170
175
}
171
176
172
177
" --erl-config" {
173
178
$erlangParams += " -config"
174
- $erlangParams += $args [++ $i ]
179
+ $erlangParams += $allArgs [++ $i ]
175
180
break
176
181
}
177
182
178
183
" --vm-args" {
179
184
$erlangParams += " -args_file"
180
- $erlangParams += $args [++ $i ]
185
+ $erlangParams += $allArgs [++ $i ]
181
186
break
182
187
}
183
188
184
189
" --logger-otp-reports" {
185
- $private :tempVal = $args [$i + 1 ]
190
+ $private :tempVal = $allArgs [$i + 1 ]
186
191
if ($tempVal -in @ (" true" , " false" )) {
187
- $erlangParams.AddRange ([ string []] @ (" -logger" , " handle_otp_reports" , $args [++ $i ]) )
192
+ $erlangParams += @ (" -logger" , " handle_otp_reports" , $allArgs [++ $i ])
188
193
}
189
194
break
190
195
}
191
196
192
197
" --logger-sasl-reports" {
193
- $private :tempVal = $args [$i + 1 ]
198
+ $private :tempVal = $allArgs [$i + 1 ]
194
199
if ($tempVal -in @ (" true" , " false" )) {
195
- $erlangParams.AddRange ([ string []] @ (" -logger" , " handle_sasl_reports" , $args [++ $i ]) )
200
+ $erlangParams += @ (" -logger" , " handle_sasl_reports" , $allArgs [++ $i ])
196
201
}
197
202
break
198
203
}
199
204
200
205
" --erl" {
201
- $private :erlFlags = $args [++ $i ] -split " "
206
+ $private :erlFlags = $allArgs [++ $i ] -split " "
202
207
$beforeExtras += $erlFlags
203
208
break
204
209
}
@@ -216,8 +221,8 @@ for ($i = 0; $i -lt $args.Count; $i++) {
216
221
}
217
222
218
223
" --rpc-eval" {
219
- $private :key = $args [++ $i ]
220
- $private :value = $args [++ $i ]
224
+ $private :key = $allArgs [++ $i ]
225
+ $private :value = $allArgs [++ $i ]
221
226
222
227
if ($null -eq $key ) {
223
228
Write-Error " --rpc-eval: NODE must be present"
@@ -236,8 +241,8 @@ for ($i = 0; $i -lt $args.Count; $i++) {
236
241
}
237
242
238
243
" --boot-var" {
239
- $private :key = $args [++ $i ]
240
- $private :value = $args [++ $i ]
244
+ $private :key = $allArgs [++ $i ]
245
+ $private :value = $allArgs [++ $i ]
241
246
242
247
if ($null -eq $key ) {
243
248
Write-Error " --boot-var: VAR must be present"
@@ -256,8 +261,8 @@ for ($i = 0; $i -lt $args.Count; $i++) {
256
261
}
257
262
258
263
" --pipe-to" {
259
- $runErlPipe = $args [++ $i ]
260
- $runErlLog = $args [++ $i ]
264
+ $runErlPipe = $allArgs [++ $i ]
265
+ $runErlLog = $allArgs [++ $i ]
261
266
262
267
if ($null -eq $runErlPipe ) {
263
268
Write-Error " --pipe-to: PIPEDIR must be present"
0 commit comments