annotate src/luan/cmd_line.luan @ 1802:ca98dee04e08 default tip

add Parsers.json_null
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 21 Apr 2024 21:25:15 -0600
parents bac27b119ff2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
5ba660381bd5 fix Io.print()
Franklin Schmidt <fschmidt@gmail.com>
parents: 1175
diff changeset
6 local pack = Table.pack or error()
5ba660381bd5 fix Io.print()
Franklin Schmidt <fschmidt@gmail.com>
parents: 1175
diff changeset
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()
1789
bac27b119ff2 exit code 1 on exception
Franklin Schmidt <fschmidt@gmail.com>
parents: 1685
diff changeset
10 require "java"
bac27b119ff2 exit code 1 on exception
Franklin Schmidt <fschmidt@gmail.com>
parents: 1685
diff changeset
11 local System = require "java:java.lang.System"
320
fed1893821bf remove global namespace
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 313
diff changeset
12
133
98aba462c422 add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
13
98aba462c422 add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
14 local args = {...}
98aba462c422 add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
15 if #args == 0 then
774
3e30cf310e56 change download to use bitbucket
Franklin Schmidt <fschmidt@gmail.com>
parents: 693
diff changeset
16 print("Luan "..Luan.VERSION)
554
18504c41b0be move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents: 517
diff changeset
17 Io.debug("> ")
133
98aba462c422 add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
18 else
462
2e79b47d02a2 remove all command line options;
Franklin Schmidt <fschmidt@gmail.com>
parents: 421
diff changeset
19 local file = args[1]
1520
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
20 try
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
21 local main_file = load_file(file) or error("file '"..file.."' not found")
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
22 local rtn = pack( main_file( unpack(Luan.arg) ) )
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
23 if rtn.n > 0 then
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
24 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
25 end
1520
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
26 catch e
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
27 -- require "java"; e.java.printStackTrace();
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
28 Io.print_to(Io.stderr, e )
1789
bac27b119ff2 exit code 1 on exception
Franklin Schmidt <fschmidt@gmail.com>
parents: 1685
diff changeset
29 System.exit(1)
1520
d9a5405a3102 try statement
Franklin Schmidt <fschmidt@gmail.com>
parents: 1454
diff changeset
30 end
133
98aba462c422 add tools/cmd_line.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
31 end