1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
local record argparse
type Args = {string : {string} | string | boolean}
record Parser
name: function(self: Parser, name: string): Parser
description: function(self: Parser, description: string): Parser
epilog: function(self: Parser, epilog: string): Parser
flag: function(self: Parser, flag: string): Option
flag: function(self: Parser, shortalias: string, longalias: string): Option
parse: function(self: Parser, argv: {string}): Args
pparse: function(self: Parser, argv: {string}): boolean, Args | string
error: function(self: Parser, error: string)
argument: function(self: Parser, name: string, description: string): Argument
get_usage: function(self: Parser): string
get_help: function(self: Parser): string
option: function(self: Parser, name: string, description?: string, default?: string, convert?: function | {function}, args?: {string}, count?: integer | string): Option
option: function(self: Parser, name: string, description?: string, default?: string, convert?: {string:string}, args?: {string}, count?: integer | string): Option
require_command: function(self: Parser, require_command: boolean): Parser
command_target: function(self: Parser, command_target: string): Parser
command: function(self: Parser, name: string, description: string, epilog: string): Command
add_help: function(self: Parser, boolean)
help_max_width: function(self: Parser, number): Parser
add_help_command: function(self: Parser, ?string | {string: any}): Parser
add_complete_command: function(self: Parser, ?string | {string: any}): Parser
group: function(self: Parser, ...:any): Parser
-- TODO: should be Argument | Option
mutex: function(self: Parser, ...: any)
record Opts
name: string
description: string
epilog: string
end
metamethod __call: function(Parser, Opts): Parser
metamethod __call: function(Parser, string, string, string): Parser
end
type ActionCallback = function(args: Args, index: string, val: string | boolean | {string}, overwrite: boolean)
record Argument
choices: function(self: Argument, choices: {string}): Argument
convert: function(self: Argument, convert: function | {function}): Argument
convert: function(self: Argument, convert: {string:string}): Argument
args: function(self: Argument, args: string | integer): Argument
action: function(self: Argument, cb: ActionCallback)
end
record Option
name: function(self: Option, name: string): Option
description: function(self: Option, description: string): Option
argname: function(self: Option, argname: string | {string}): Option
count: function(self: Option, count: integer | string): Option
choices: function(self: Option, {string}): Option
default: function(self: Option, string): Option
defmode: function(self: Option, string): Option
target: function(self: Option, target: string): Option
args: function(self: Option, args: string|integer): Option
action: function(self: Option, cb: ActionCallback)
hidden_name: function(self: Option, string)
hidden: function(self: Option, boolean)
convert: function(self: Option, function)
end
record Command
summary: function(self: Command, summary: string): Command
description: function(self: Command, description: string): Command
argument: function(self: Command, name: string, description?: string): Argument
option: function(self: Command, name: string, description: string): Option
flag: function(self: Command, string, ?string): Option
handle_options: function(self: Command, boolean): Command
mutex: function(self: Command, ...: any) --! copied over from Parser
group: function(self: Command, ...:any): Command --! copied over from Parser
end
metamethod __call: function(self: argparse, name: string, description: string, epilog: string): Parser
end
return argparse
|