Mercurial Hosting > luan
annotate src/luan/cmd_line.luan @ 1277:5ba660381bd5
fix Io.print()
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 11 Dec 2018 03:38:43 -0700 |
parents | d6d0bd05ad8c |
children | 0cceff521abb |
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() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
5 local try = Luan.try or error() |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
555
diff
changeset
|
6 local Table = require "luan:Table.luan" |
1277 | 7 local pack = Table.pack or error() |
8 local unpack = Table.unpack or error() | |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
555
diff
changeset
|
9 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
|
10 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
|
11 |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
12 |
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
13 local args = {...} |
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
14 if #args == 0 then |
774
3e30cf310e56
change download to use bitbucket
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
15 print("Luan "..Luan.VERSION) |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
517
diff
changeset
|
16 Io.debug("> ") |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
17 else |
462
2e79b47d02a2
remove all command line options;
Franklin Schmidt <fschmidt@gmail.com>
parents:
421
diff
changeset
|
18 local file = args[1] |
323
cd2924a1052c
improve testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
322
diff
changeset
|
19 Luan.arg = {} |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
20 for j,v in ipairs(args) do |
462
2e79b47d02a2
remove all command line options;
Franklin Schmidt <fschmidt@gmail.com>
parents:
421
diff
changeset
|
21 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
|
22 end |
326
db37d6aee4db
remove try-catch statement;
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
323
diff
changeset
|
23 try { |
db37d6aee4db
remove try-catch statement;
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
323
diff
changeset
|
24 function() |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
555
diff
changeset
|
25 local main_file = load_file(file) |
1277 | 26 local rtn = pack( main_file( unpack(Luan.arg) ) ) |
27 if rtn.n > 0 then | |
28 print( unpack(rtn) ) | |
29 end | |
1175
d6d0bd05ad8c
exit on bind conflict, serve "127.0.0.1" for serve_for_nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
30 end |
326
db37d6aee4db
remove try-catch statement;
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
323
diff
changeset
|
31 catch = function(e) |
555
e25ba7a2e816
some String documentation and fixes
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
32 -- java(); e.java.printStackTrace(); |
326
db37d6aee4db
remove try-catch statement;
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
323
diff
changeset
|
33 Io.print_to(Io.stderr, e ) |
1175
d6d0bd05ad8c
exit on bind conflict, serve "127.0.0.1" for serve_for_nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
34 end |
326
db37d6aee4db
remove try-catch statement;
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
323
diff
changeset
|
35 } |
133
98aba462c422
add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
36 end |