1
1
@ echo off
2
+ SETLOCAL enabledelayedexpansion
2
3
set argc = 0
3
4
for %%x in (%* ) do set /A argc += 1
4
5
if %argc% == 0 (
@@ -25,20 +26,24 @@ goto :EOF
25
26
26
27
:parseopts
27
28
28
- rem parameters for Erlang
29
+ rem Parameters for Erlang
29
30
set parsErlang =
30
31
31
- rem make sure we keep a copy of all parameters
32
+ rem Make sure we keep a copy of all parameters
32
33
set allPars = %*
33
34
34
- rem Recursive loop called for each parameter
35
+ rem Optional parameters before the "-extra" parameter
36
+ set beforeExtra =
37
+
38
+ rem Recursive loop called for each parameter that parses the cmd line parameters
35
39
:startloop
36
40
set par = %1
37
41
shift
38
42
if " %par% " == " " (
39
43
rem if no parameters defined
40
44
goto :run
41
45
)
46
+ rem ******* ERLANG PARAMETERS **********************
42
47
for /f " usebackq" %%m in (`echo %par% ^ |findstr \--detached`) do (
43
48
set parsErlang = %parsErlang% -detached
44
49
goto :startloop
@@ -62,6 +67,45 @@ for /f "usebackq" %%m in (`echo %par%^|findstr \--name`) do (
62
67
shift
63
68
goto :startloop
64
69
)
65
- goto :startloop
70
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \--erl`) do (
71
+ set beforeExtra = %beforeExtra% %~1
72
+ shift
73
+ goto :startloop
74
+ )
75
+ rem ******* elixir parameters **********************
76
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \--v`) do (
77
+ goto :startloop
78
+ )
79
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \--compile`) do (
80
+ goto :startloop
81
+ )
82
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \--no-halt`) do (
83
+ goto :startloop
84
+ )
85
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \+iex`) do (
86
+ goto :startloop
87
+ )
88
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \+compile`) do (
89
+ goto :startloop
90
+ )
91
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \-[erS]`) do (
92
+ shift
93
+ goto :startloop
94
+ )
95
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \-p[raz]`) do (
96
+ shift
97
+ goto :startloop
98
+ )
99
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \--remsh`) do (
100
+ shift
101
+ goto :startloop
102
+ )
103
+ rem ******* elixir file **********************
104
+ for /f " usebackq" %%m in (`echo %par% ^ |findstr \.ex`) do (
105
+ goto :run
106
+ )
107
+ REM Others should give a problem
108
+ echo ERROR: Parameter %par% is not allowed before the .ex file
109
+ exit /B -1
66
110
:run
67
- erl -env ERL_LIBS %ERL_LIBS% ;" %~dp0 \..\lib" -noshell %ELIXIR_ERL_OPTS% %parsErlang% -s elixir start_cli -extra %allPars%
111
+ echo erl -env ERL_LIBS %ERL_LIBS% ;" %~dp0 \..\lib" -noshell %ELIXIR_ERL_OPTS% %parsErlang% -s elixir start_cli %beforeExtra% -extra %*
0 commit comments