summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jimmi Holst Christensen2021-11-29 17:01:36 +0100
committerGravatar Komari Spaghetti2021-11-29 17:09:26 +0100
commitb2059e5d086731a37f5988bfc6bfdb0848f14ece (patch)
treec2ebf7806f383f18ebc7253bbe9e6e9da2db39d4
parentFix chaining typo (diff)
downloadzig-clap-b2059e5d086731a37f5988bfc6bfdb0848f14ece.tar.gz
zig-clap-b2059e5d086731a37f5988bfc6bfdb0848f14ece.tar.xz
zig-clap-b2059e5d086731a37f5988bfc6bfdb0848f14ece.zip
Improve help and usage examples
Instead of just calling these function, have the examples be small programs that demonstrates how you would actually use them together with argument parsing. fixes #57
Diffstat (limited to '')
-rw-r--r--README.md38
-rw-r--r--example/README.md.template2
-rw-r--r--example/help.zig17
-rw-r--r--example/usage.zig19
4 files changed, 46 insertions, 30 deletions
diff --git a/README.md b/README.md
index 197eb4c..d6ad7a0 100644
--- a/README.md
+++ b/README.md
@@ -180,21 +180,25 @@ const clap = @import("clap");
180const std = @import("std"); 180const std = @import("std");
181 181
182pub fn main() !void { 182pub fn main() !void {
183 const params = comptime [_]clap.Param(clap.Help){
184 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
185 clap.parseParam("-v, --version Output version information and exit.") catch unreachable,
186 };
187
188 var args = try clap.parse(clap.Help, &params, .{});
189 defer args.deinit();
190
183 // clap.help is a function that can print a simple help message, given a 191 // clap.help is a function that can print a simple help message, given a
184 // slice of Param(Help). There is also a helpEx, which can print a 192 // slice of Param(Help). There is also a helpEx, which can print a
185 // help message for any Param, but it is more verbose to call. 193 // help message for any Param, but it is more verbose to call.
186 try clap.help( 194 if (args.flag("--help"))
187 std.io.getStdErr().writer(), 195 return clap.help(std.io.getStdErr().writer(), &params);
188 comptime &.{
189 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
190 clap.parseParam("-v, --version Output version information and exit.") catch unreachable,
191 },
192 );
193} 196}
194 197
195``` 198```
196 199
197``` 200```
201$ zig-out/bin/help --help
198 -h, --help Display this help and exit. 202 -h, --help Display this help and exit.
199 -v, --version Output version information and exit. 203 -v, --version Output version information and exit.
200``` 204```
@@ -218,22 +222,26 @@ const clap = @import("clap");
218const std = @import("std"); 222const std = @import("std");
219 223
220pub fn main() !void { 224pub fn main() !void {
225 const params = comptime [_]clap.Param(clap.Help){
226 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
227 clap.parseParam("-v, --version Output version information and exit. ") catch unreachable,
228 clap.parseParam(" --value <N> An option parameter, which takes a value.") catch unreachable,
229 };
230
231 var args = try clap.parse(clap.Help, &params, .{});
232 defer args.deinit();
233
221 // clap.usage is a function that can print a simple usage message, given a 234 // clap.usage is a function that can print a simple usage message, given a
222 // slice of Param(Help). There is also a usageEx, which can print a 235 // slice of Param(Help). There is also a usageEx, which can print a
223 // usage message for any Param, but it is more verbose to call. 236 // usage message for any Param, but it is more verbose to call.
224 try clap.usage( 237 if (args.flag("--help"))
225 std.io.getStdErr().writer(), 238 return clap.usage(std.io.getStdErr().writer(), &params);
226 comptime &.{
227 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
228 clap.parseParam("-v, --version Output version information and exit. ") catch unreachable,
229 clap.parseParam(" --value <N> An option parameter, which takes a value.") catch unreachable,
230 },
231 );
232} 239}
233 240
234``` 241```
235 242
236``` 243```
244$ zig-out/bin/usage --help
237[-hv] [--value <N>] 245[-hv] [--value <N>]
238``` 246```
239 247
diff --git a/example/README.md.template b/example/README.md.template
index 74a2f1d..1848d03 100644
--- a/example/README.md.template
+++ b/example/README.md.template
@@ -74,6 +74,7 @@ program can take.
74``` 74```
75 75
76``` 76```
77$ zig-out/bin/help --help
77 -h, --help Display this help and exit. 78 -h, --help Display this help and exit.
78 -v, --version Output version information and exit. 79 -v, --version Output version information and exit.
79``` 80```
@@ -97,6 +98,7 @@ of the help message.
97``` 98```
98 99
99``` 100```
101$ zig-out/bin/usage --help
100[-hv] [--value <N>] 102[-hv] [--value <N>]
101``` 103```
102 104
diff --git a/example/help.zig b/example/help.zig
index d90373a..de3b707 100644
--- a/example/help.zig
+++ b/example/help.zig
@@ -2,14 +2,17 @@ const clap = @import("clap");
2const std = @import("std"); 2const std = @import("std");
3 3
4pub fn main() !void { 4pub fn main() !void {
5 const params = comptime [_]clap.Param(clap.Help){
6 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
7 clap.parseParam("-v, --version Output version information and exit.") catch unreachable,
8 };
9
10 var args = try clap.parse(clap.Help, &params, .{});
11 defer args.deinit();
12
5 // clap.help is a function that can print a simple help message, given a 13 // clap.help is a function that can print a simple help message, given a
6 // slice of Param(Help). There is also a helpEx, which can print a 14 // slice of Param(Help). There is also a helpEx, which can print a
7 // help message for any Param, but it is more verbose to call. 15 // help message for any Param, but it is more verbose to call.
8 try clap.help( 16 if (args.flag("--help"))
9 std.io.getStdErr().writer(), 17 return clap.help(std.io.getStdErr().writer(), &params);
10 comptime &.{
11 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
12 clap.parseParam("-v, --version Output version information and exit.") catch unreachable,
13 },
14 );
15} 18}
diff --git a/example/usage.zig b/example/usage.zig
index 90fa310..368a6b3 100644
--- a/example/usage.zig
+++ b/example/usage.zig
@@ -2,15 +2,18 @@ const clap = @import("clap");
2const std = @import("std"); 2const std = @import("std");
3 3
4pub fn main() !void { 4pub fn main() !void {
5 const params = comptime [_]clap.Param(clap.Help){
6 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
7 clap.parseParam("-v, --version Output version information and exit. ") catch unreachable,
8 clap.parseParam(" --value <N> An option parameter, which takes a value.") catch unreachable,
9 };
10
11 var args = try clap.parse(clap.Help, &params, .{});
12 defer args.deinit();
13
5 // clap.usage is a function that can print a simple usage message, given a 14 // clap.usage is a function that can print a simple usage message, given a
6 // slice of Param(Help). There is also a usageEx, which can print a 15 // slice of Param(Help). There is also a usageEx, which can print a
7 // usage message for any Param, but it is more verbose to call. 16 // usage message for any Param, but it is more verbose to call.
8 try clap.usage( 17 if (args.flag("--help"))
9 std.io.getStdErr().writer(), 18 return clap.usage(std.io.getStdErr().writer(), &params);
10 comptime &.{
11 clap.parseParam("-h, --help Display this help and exit. ") catch unreachable,
12 clap.parseParam("-v, --version Output version information and exit. ") catch unreachable,
13 clap.parseParam(" --value <N> An option parameter, which takes a value.") catch unreachable,
14 },
15 );
16} 19}