Mercurial Hosting > luan
annotate src/luan/cmd_line.luan @ 1520:d9a5405a3102
try statement
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 21 Jun 2020 18:14:13 -0600 |
parents | 219f2b937f2b |
children | 46cf5137cb6b |
rev | line source |
---|---|
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
555
diff
changeset
|
1 local Luan = require "luan:Luan.luan" |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
2 local error = Luan.error |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
3 local ipairs = Luan.ipairs or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
4 local load_file = Luan.load_file or error() |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
555
diff
changeset
|
5 local Table = require "luan:Table.luan" |
1277 | 6 local pack = Table.pack or error() |
7 local unpack = Table.unpack or error() | |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
555
diff
changeset
|
8 local Io = require "luan:Io.luan" |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
9 local print = Io.print or error() |
320
fed1893821bf
remove global namespace
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
313
diff
changeset
|
10 |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
11 |
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
12 local args = {...} |
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
13 if #args == 0 then |
774
3e30cf310e56
change download to use bitbucket
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
14 print("Luan "..Luan.VERSION) |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
15 Io.debug("> ") |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
16 else |
462
2e79b47d02a2
remove all command line options;
Franklin Schmidt <fschmidt@gmail.com>
parents:
421
diff
changeset
|
17 local file = args[1] |
323
cd2924a1052c
improve testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
322
diff
changeset
|
18 Luan.arg = {} |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
19 for j,v in ipairs(args) do |
462
2e79b47d02a2
remove all command line options;
Franklin Schmidt <fschmidt@gmail.com>
parents:
421
diff
changeset
|
20 Luan.arg[j-1] = v |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
21 end |
1520 | 22 try |
23 local main_file = load_file(file) or error("file '"..file.."' not found") | |
24 local rtn = pack( main_file( unpack(Luan.arg) ) ) | |
25 if rtn.n > 0 then | |
26 print( unpack(rtn) ) | |
1175
d6d0bd05ad8c
exit on bind conflict, serve "127.0.0.1" for serve_for_nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
27 end |
1520 | 28 catch e |
29 -- require "java"; e.java.printStackTrace(); | |
30 Io.print_to(Io.stderr, e ) | |
31 end | |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
32 end |