@@ -8,10 +8,10 @@ defmodule Kernel.CLI do
8
8
9
9
# This is the API invoked by Elixir boot process.
10
10
@ doc false
11
- def main ( options ) do
12
- { config , argv } = process_argv ( options , Kernel.CLI.Config . new )
13
-
11
+ def main ( argv ) do
14
12
argv = lc arg inlist argv , do: list_to_binary ( arg )
13
+
14
+ { config , argv } = process_argv ( argv , Kernel.CLI.Config . new )
15
15
:gen_server . call ( :elixir_code_server , { :argv , argv } )
16
16
17
17
run fn ->
@@ -98,7 +98,7 @@ defmodule Kernel.CLI do
98
98
end
99
99
100
100
defp invalid_option ( option ) do
101
- IO . puts ( :stderr , "Unknown option #{ list_to_binary ( option ) } " )
101
+ IO . puts ( :stderr , "Unknown option #{ option } " )
102
102
System . halt ( 1 )
103
103
end
104
104
@@ -113,44 +113,44 @@ defmodule Kernel.CLI do
113
113
114
114
# Process shared options
115
115
116
- defp process_shared ( [ '-v' | t ] , config ) do
116
+ defp process_shared ( [ "-v" | t ] , config ) do
117
117
IO . puts "Elixir #{ System . version } "
118
118
process_shared t , config
119
119
end
120
120
121
- defp process_shared ( [ ' --app' , h | t ] , config ) do
121
+ defp process_shared ( [ " --app" , h | t ] , config ) do
122
122
process_shared t , config . update_commands [ { :app , h } | & 1 ]
123
123
end
124
124
125
- defp process_shared ( [ ' --no-halt' | t ] , config ) do
125
+ defp process_shared ( [ " --no-halt" | t ] , config ) do
126
126
process_shared t , config . halt ( false )
127
127
end
128
128
129
- defp process_shared ( [ '-e' , h | t ] , config ) do
129
+ defp process_shared ( [ "-e" , h | t ] , config ) do
130
130
process_shared t , config . update_commands [ { :eval , h } | & 1 ]
131
131
end
132
132
133
- defp process_shared ( [ ' -pa' , h | t ] , config ) do
133
+ defp process_shared ( [ " -pa" , h | t ] , config ) do
134
134
Enum . each Path . wildcard ( Path . expand ( h ) ) , Code . prepend_path ( & 1 )
135
135
process_shared t , config
136
136
end
137
137
138
- defp process_shared ( [ ' -pz' , h | t ] , config ) do
138
+ defp process_shared ( [ " -pz" , h | t ] , config ) do
139
139
Enum . each Path . wildcard ( Path . expand ( h ) ) , Code . append_path ( & 1 )
140
140
process_shared t , config
141
141
end
142
142
143
- defp process_shared ( [ '-r' , h | t ] , config ) do
143
+ defp process_shared ( [ "-r" , h | t ] , config ) do
144
144
process_shared t , Enum . reduce ( Path . wildcard ( h ) , config , fn path , config ->
145
145
config . update_commands [ { :require , path } | & 1 ]
146
146
end )
147
147
end
148
148
149
- defp process_shared ( [ ' -pr' , h | t ] , config ) do
149
+ defp process_shared ( [ " -pr" , h | t ] , config ) do
150
150
process_shared t , config . update_commands [ { :parallel_require , h } | & 1 ]
151
151
end
152
152
153
- defp process_shared ( [ erl , _ | t ] , config ) when erl in [ ' --erl' , ' --sname' , ' --remsh' , ' --name' ] do
153
+ defp process_shared ( [ erl , _ | t ] , config ) when erl in [ " --erl" , " --sname" , " --remsh" , " --name" ] do
154
154
process_shared t , config
155
155
end
156
156
@@ -160,15 +160,15 @@ defmodule Kernel.CLI do
160
160
161
161
# Process init options
162
162
163
- defp process_argv ( [ '--' | t ] , config ) do
163
+ defp process_argv ( [ "--" | t ] , config ) do
164
164
{ config , t }
165
165
end
166
166
167
- defp process_argv ( [ ' --compile' | t ] , config ) do
167
+ defp process_argv ( [ " --compile" | t ] , config ) do
168
168
process_compiler t , config
169
169
end
170
170
171
- defp process_argv ( [ '-S' , h | t ] , config ) do
171
+ defp process_argv ( [ "-S" , h | t ] , config ) do
172
172
exec = System . find_executable ( h )
173
173
if exec do
174
174
{ config . update_commands ( [ { :require , exec } | & 1 ] ) , t }
@@ -180,7 +180,7 @@ defmodule Kernel.CLI do
180
180
181
181
defp process_argv ( [ h | t ] = list , config ) do
182
182
case h do
183
- '-' ++ _ ->
183
+ "-" <> _ ->
184
184
shared_option? list , config , process_argv ( & 1 , & 2 )
185
185
_ ->
186
186
{ config . update_commands ( [ { :require , h } | & 1 ] ) , t }
@@ -193,32 +193,31 @@ defmodule Kernel.CLI do
193
193
194
194
# Process compiler options
195
195
196
- defp process_compiler ( [ '--' | t ] , config ) do
196
+ defp process_compiler ( [ "--" | t ] , config ) do
197
197
{ config , t }
198
198
end
199
199
200
- defp process_compiler ( [ '-o' , h | t ] , config ) do
201
- process_compiler t , config . output ( list_to_binary ( h ) )
200
+ defp process_compiler ( [ "-o" , h | t ] , config ) do
201
+ process_compiler t , config . output ( h )
202
202
end
203
203
204
- defp process_compiler ( [ ' --no-docs' | t ] , config ) do
204
+ defp process_compiler ( [ " --no-docs" | t ] , config ) do
205
205
process_compiler t , config . update_compiler_options ( [ { :docs , false } | & 1 ] )
206
206
end
207
207
208
- defp process_compiler ( [ ' --no-debug-info' | t ] , config ) do
208
+ defp process_compiler ( [ " --no-debug-info" | t ] , config ) do
209
209
process_compiler t , config . update_compiler_options ( [ { :debug_info , false } | & 1 ] )
210
210
end
211
211
212
- defp process_compiler ( [ ' --ignore-module-conflict' | t ] , config ) do
212
+ defp process_compiler ( [ " --ignore-module-conflict" | t ] , config ) do
213
213
process_compiler t , config . update_compiler_options ( [ { :ignore_module_conflict , true } | & 1 ] )
214
214
end
215
215
216
216
defp process_compiler ( [ h | t ] = list , config ) do
217
217
case h do
218
- '-' ++ _ ->
218
+ "-" <> _ ->
219
219
shared_option? list , config , process_compiler ( & 1 , & 2 )
220
220
_ ->
221
- h = list_to_binary ( h )
222
221
pattern = if File . dir? ( h ) , do: "#{ h } /**/*.ex" , else: h
223
222
process_compiler t , config . update_compile [ pattern | & 1 ]
224
223
end
@@ -230,12 +229,12 @@ defmodule Kernel.CLI do
230
229
231
230
# Process commands
232
231
233
- defp process_command ( { :eval , expr } , _config ) when is_list ( expr ) do
232
+ defp process_command ( { :eval , expr } , _config ) when is_binary ( expr ) do
234
233
Code . eval ( expr , [ ] )
235
234
end
236
235
237
- defp process_command ( { :app , app } , _config ) when is_list ( app ) do
238
- case Application.Behaviour . start ( list_to_atom ( app ) ) do
236
+ defp process_command ( { :app , app } , _config ) when is_binary ( app ) do
237
+ case Application.Behaviour . start ( binary_to_atom ( app ) ) do
239
238
{ :error , reason } ->
240
239
IO . puts ( :stderr , "Could not start application #{ app } : #{ inspect reason } " )
241
240
System . halt ( 1 )
@@ -244,12 +243,12 @@ defmodule Kernel.CLI do
244
243
end
245
244
end
246
245
247
- defp process_command ( { :require , file } , _config ) when is_list ( file ) do
248
- Code . require_file ( list_to_binary ( file ) )
246
+ defp process_command ( { :require , file } , _config ) when is_binary ( file ) do
247
+ Code . require_file ( file )
249
248
end
250
249
251
- defp process_command ( { :parallel_require , pattern } , _config ) when is_list ( pattern ) do
252
- files = Path . wildcard ( list_to_binary ( pattern ) )
250
+ defp process_command ( { :parallel_require , pattern } , _config ) when is_binary ( pattern ) do
251
+ files = Path . wildcard ( pattern )
253
252
files = Enum . uniq ( files )
254
253
files = Enum . filter files , File . regular? ( & 1 )
255
254
Kernel.ParallelRequire . files ( files )
0 commit comments