Commit graph

454 commits

Author SHA1 Message Date
nabijaczleweli
fc7327e9dc
imp(help): use term_size instead of home-grown solution 2016-08-29 07:36:06 +02:00
Kevin K
b7793a2f4d Issues rollup (#637)
* feat: adds App::with_defaults to automatically use crate_authors! and crate_version! macros

One can now use

```rust
let a = App::with_defaults("My Program");

// same as
let a2 = App::new("My Program")
	.version(crate_version!())
	.author(crate_authors!());
```

Closes #600

* imp(YAML Errors): vastly improves error messages when using YAML

When errors are made while developing, the panic error messages have
been improved instead of relying on the default panic message which is
extremely unhelpful.

Closes #574

* imp(Completions): uses standard conventions for bash completion files, namely '{bin}.bash-completion'

Closes #567

* imp(Help): automatically moves help text to the next line and wraps when term width is determined to be too small, or help text is too long

Now `clap` will check if it should automatically place long help
messages on the next line after the flag/option. This is determined by
checking to see if the space taken by flag/option plus spaces and values
doesn't leave enough room for the entirety of the help message, with the
single exception of of if the flag/option/spaces/values is less than 25%
of the width.

Closes #597

* tests: updates help tests to new forced new line rules

* fix(Groups): fixes some usage strings that contain both args in groups and ones that conflict with each other

Args that conflict *and* are in a group will now only display in the
group and not in the usage string itself.

Closes #616

* chore: updates dep graph

Closes #633

* chore: clippy run

* style: changes debug header to match other Rust projects

* chore: increase version
2016-08-27 23:42:31 -04:00
Kevin K
03209d5e13 docs: moves docs to docs.rs
Closes #634
2016-08-27 11:16:35 -04:00
nabijaczleweli
0d93d9b953
feat(help): support wrapping help at console width on windows
Closes #455
2016-08-26 17:18:24 +02:00
Kevin K
f7c787c1ce chore: increase version 2016-08-25 18:52:15 -04:00
Kevin K
57690b2af1 chore: allows wrapping help on windows 2016-08-24 22:04:19 -04:00
Kevin K
84ad746ee5 chore: increase version 2016-08-24 21:55:01 -04:00
Kevin K
763a5c920e fix(Unicode): fixes two bugs where non-English characters were stripped or caused a panic with help wrapping
Closes #626
2016-08-24 21:50:27 -04:00
Danny Guo
bb23284056 chore: update dep
Fixes a panic when Jaro is called with strings each with a length of one
2016-08-23 23:19:26 -04:00
Kevin K
8ecb02d0b4 chore: increase version 2016-08-21 20:46:57 -04:00
Kevin K
fcb049f937 chore: increase version 2016-08-20 20:11:11 -04:00
Kevin K
522d934b1b chore: increase version 2016-07-28 22:28:47 -04:00
Kevin K
66c411a044 chore: update deps 2016-07-25 20:56:13 -04:00
Kevin K
9605ea83aa chore: increase version (#599) 2016-07-24 00:13:00 -04:00
Kevin K
4e60b2254d chore: increase version 2016-07-03 10:55:49 -04:00
Kevin K
9e9d92a3bd chore: increase version 2016-07-01 22:16:47 -04:00
Kevin K
7daee9ded0 chore: increase version 2016-07-01 00:34:08 -04:00
Kevin K
e5ba93afd3 chore: increase version 2016-06-29 23:25:14 -04:00
Kevin K
ceddee9157 refactor(term.rs): moved term.rs into it's own crate so others can pull in just that portion
The functionality can now be found in https://crates.io/crates/term_size

Closes #549
2016-06-29 23:19:08 -04:00
Kevin K
fa452fad65 chore: increase version 2016-06-29 13:34:18 -04:00
Kevin K
d8de15d1a7 chore: increase version
[ci skip]
2016-06-28 10:43:36 -04:00
Kevin K
fe0818b854 chore: unpins clippy version
Closes #523
2016-06-07 23:52:52 -04:00
Kevin K
65c2350aa3 feat: colors dont get sent to pipes by default
Color are now only used when outputting to a termainal/TTY. There are three new settings as well
which can be used to control color output, they are:

 * `AppSettings::ColorAuto`: The default, and will only output color when outputting to a terminal or TTY
 * `AppSettings::ColorAlways`: Outputs color no matter where the output is going
 * `AppSettings::ColorNever`: Never colors output

This now allows one to use things like command line options, or environmental variables to turn
colored output on/off.

Closes #512
2016-06-04 11:28:03 -04:00
Kevin K
d681a5b32c chore: increase version 2016-05-11 15:52:21 -04:00
Kevin K
d4cafcc0fc chore: increase version 2016-05-10 17:15:06 -04:00
Kevin K
b42ca0b5ab chore(Tests): had to remove external clap-test crate...sad face 2016-05-09 22:46:09 -04:00
Kevin K
6c7b2da856 chore: increase ghost version 2016-05-09 21:10:30 -04:00
Kevin K
59152ed500 chore: updates clap-test to solve chicken and egg api issue 2016-05-09 21:09:41 -04:00
Kevin K
74c8a7f428 chore: moved clap-test to it's own repo 2016-05-09 21:06:31 -04:00
Kevin K
3ab0bf8826 chore: increase version 2016-05-09 20:50:32 -04:00
Kevin K
852e58156c tests: removes old python tests and replaces with rust tests
Closes #166
2016-05-09 19:14:11 -04:00
Kevin K
a0a56318d0 tests(Groups): adds tests for positional arg formatting in groups 2016-05-08 21:33:56 -04:00
Kevin K
2efd81ebbc chore: clippy update and run 2016-05-06 17:59:52 -04:00
Kevin K
89db52a965 chore: increase version 2016-05-03 16:31:55 -04:00
Kevin K
ee41482608 chore: increase version 2016-04-18 00:05:43 -07:00
Kevin K
8a95dace62 chore: increase version 2016-04-11 11:50:38 -07:00
Kevin K
00d5a3e0b2 chore: updates deps 2016-04-08 11:40:38 -07:00
Kevin K
616e803321 chore: increase version 2016-04-02 20:50:47 -04:00
Kevin K
e923c2c153 chore: increase version' 2016-03-29 22:32:15 -04:00
Kevin K
cebb889ebc chore: increase version 2016-03-28 11:28:36 -04:00
Kevin K
f2cf2f8a0d chore: increase version 2016-03-27 16:02:10 -04:00
Kevin K
05365ddcc2 fix(Help Message): fixes bug with wrapping in the middle of a unicode sequence
Closes #456
2016-03-27 16:01:17 -04:00
Kevin K
3d4192b655 chore: pins travis to rustc+clippy working pair on nightly 2016-03-22 21:14:57 -04:00
Kevin K
929ee98ec8 chore: increase version 2016-03-16 19:26:20 -04:00
Kevin K
387b147820 chore: increase version 2016-03-13 22:10:34 -04:00
Kevin K
e36af02666 feat(Help Message): can auto wrap and aligning help text to term width
By default `clap` now automatically wraps and aligns help strings to the
term width. i.e.

```
    -o, --option <opt>    some really long help
text that should be auto aligned but isn't righ
t now
```

Now looks like this:

```
    -o, --option <opt>    some really long help
                          text that should be
                          auto aligned but isn't
                          right now
```

The wrapping also respects words, and wraps at spaces so as to not cut
words in the middle.

This requires the `libc` dep which is enabled (by default) with the
`wrap_help` cargo feature flag.

Closes #428
2016-03-13 22:07:28 -04:00
Alexander Bulaev
150784ae20 Update VecMap to 0.6 2016-03-08 19:50:20 -05:00
Kevin K
deace34ad2 chore: clippy run 2016-03-08 10:39:43 -05:00
Kevin K
0b67367226 chore: increase version
Closes #434
2016-02-23 22:40:05 -05:00
Kevin K
d0c956c1ce chore: increase version 2016-02-19 10:47:39 -05:00
Kevin K
1153e8af60 chore: clippy run 2016-02-14 01:10:44 -05:00
Kevin K
33fe291b34 chore: increase version 2016-02-10 12:55:54 -05:00
Kevin K
972761912a chore: increase version 2016-02-09 09:30:41 -05:00
Kevin K
ea4dd195f9 chore: increase version 2016-02-04 19:45:30 -05:00
Kevin K
9f7a4afea6 chore: increase version 2016-02-04 02:01:10 -05:00
Kevin K
dbea0e349b chore: increase version 2016-02-02 07:45:49 -05:00
Kevin K
2564b3af11 chore: increase version 2016-01-31 08:23:34 -05:00
Kevin K
280ada7b84 fix: fixes cargo features to NOT require nightly with unstable features
Closes #402
2016-01-29 22:11:34 -05:00
Kevin K
2031682193 chore: updates additional files for 2x release 2016-01-28 11:46:12 -05:00
Kevin K
60a61ddde6 tests(Benches): fixes failing bench marks 2016-01-28 11:45:31 -05:00
Kevin K
20de5c6e76 feat(v2): implementing the base of 2.x
This commit implements the base changes for clap 2.x
2016-01-28 11:45:31 -05:00
Paul Blouët
53f97805b3 chore: bump dependencies bitflags and yaml-rust to latest version
Bump bitflags from 0.3.3 to 0.4.0 and yaml-rust from 0.2.2 to 0.3.0.
2016-01-28 14:50:27 +01:00
Kevin K
64ebaebab0 chore: increases version 2016-01-03 23:59:52 -05:00
Kevin K
ea83a3d421 fix: fixes an intentional panic issue discovered via clippy 2016-01-03 21:54:56 -05:00
Kevin K
f1a454404c chore: increase version 2015-12-18 01:36:15 -05:00
Kevin K
6b54ba2e45 chore: updates deps 2015-12-08 03:05:19 -05:00
Kevin K
b9ebc59c23 chore: increase version 2015-11-20 08:32:46 -05:00
Kevin K
03d31e71a2 chore: increase version 2015-11-14 04:53:59 -05:00
Kevin K
e81b733064 chore: increase version 2015-11-13 09:37:24 -05:00
Kevin K
37bfffc375 chore: increase version 2015-11-12 23:01:13 -05:00
Kevin K
e7715f1df1 chore: adds perf graphs 2015-11-12 10:16:22 -05:00
Kevin K
64b921d087 perf(App): changes BTreeMap to VecMap in some instances 2015-11-08 01:01:11 -05:00
Kevin K
2b6d1dc3c3 chore: dep update 2015-11-04 03:00:53 -05:00
Kevin K
4767834113 chore: increase version 2015-11-02 23:23:27 -05:00
Kevin K
fd10aa7d64 chore: increase version 2015-10-29 01:36:12 -04:00
Kevin K
f161ffa470 chore: updates and implements lint findings 2015-10-28 10:55:26 -04:00
Vlad
52ac3e6e92 chore: format 2015-10-19 15:00:13 +03:00
Vlad
016b8a7c1b chore: use newer style in Cargo.toml 2015-10-19 14:46:24 +03:00
Kevin K
ed62644819 chore: increase version 2015-10-06 15:28:55 -04:00
Kevin K
2001cf4856 chore: increase version 2015-10-06 11:16:23 -04:00
Kevin K
b85786f7be chore: updates yaml-rust dep 2015-10-01 12:40:39 -04:00
Kevin K
ffae52e64b refactor: refactor app settings into flags 2015-09-30 23:59:40 -04:00
Kevin K
76cad54fa4 chore: increase version 2015-09-30 14:42:41 -04:00
Kevin K
203dfcadc1 chore: increase version 2015-09-22 22:05:47 -04:00
Kevin K
f21ecf8535 chore: increase version 2015-09-22 13:28:32 -04:00
Kevin K
07f6d63e17 chore: increase version 2015-09-09 00:00:17 -04:00
Kevin K
211e9d7ab3 chore: increase version 2015-09-07 21:37:17 -04:00
Kevin K
c279b800a2 chore: increase version 2015-09-04 14:19:55 -04:00
Kevin K
f9e2b677dc chore: increase version 2015-09-01 00:28:44 -04:00
Kevin K
f482387544 refactor: breaks up app code into different files 2015-08-30 17:10:26 -04:00
Kevin K
62297c7040 chore: adds tests and benches to exclude for crates.io 2015-08-30 00:24:14 -04:00
Kevin K
5987c20396 chore: increase version 2015-08-27 12:12:56 -04:00
Kevin K
4b8908b93e chore: increase version 2015-08-26 19:58:58 -04:00
Kevin K
ff9628d24d chore: comments out clippy until 0.0.12 is on crates.io 2015-08-26 17:32:25 -04:00
Kevin K
5aa02042ca chore: separates nightly features from travis-cargo flags 2015-08-25 17:28:46 -04:00
Kevin K
21c4aedd25 chore: increase version 2015-08-24 14:32:29 -04:00
Kevin K
35114c99c5 chore: increase version 2015-08-23 11:48:21 -04:00
Kevin K
7cb5e7f3f5 chore: increase version 2015-08-19 22:07:02 -04:00
Kevin K
6dd22079ec chore: gets clippy from crates.io instead of git 2015-08-14 20:34:13 -04:00
Kevin K
b811a1c005 chore: increase version 2015-08-14 20:30:37 -04:00
Kevin K
8a2cd7f95f imp: code corrections thanks to rust-clippy 2015-08-14 00:21:16 -04:00
Kevin K
b747f15945 chore: increase version 2015-08-01 00:55:52 -04:00
Kevin K
62f283a7ca chore: increase version 2015-07-29 18:32:37 -04:00
Kevin K
7f77c72701 chore: increase version 2015-07-19 22:04:40 -04:00
Kevin K
1160bd8d96 chore: increase version 2015-07-18 11:03:53 -04:00
Kevin K
6d214b549a fix: fixes a bug when parsing multiple {n} newlines inside help strings 2015-07-16 22:16:50 -04:00
Kevin K
f2dd2cb1c6 chore: increase version 2015-07-16 21:42:15 -04:00
Kevin K
5b4170b4b7 chore: increase version 2015-07-16 01:46:24 -04:00
Kevin K
62275b7cf6 chore: increase version 2015-07-11 11:30:33 -04:00
Kevin K
cc76ab8c2b imp(Errors): writes errors to stderr
Closes #154
2015-07-11 11:23:48 -04:00
Kevin K
5419fd8ed1 chore: increase version 2015-07-09 10:28:03 -04:00
Kevin K
83ac35d783 chore: increase version 2015-07-08 15:03:23 -04:00
Kevin K
b20a93aa1e chore: increase version 2015-07-07 20:20:45 -04:00
Kevin K
4728dd67c5 chore: increase version 2015-06-29 22:29:01 -04:00
Kevin K
6e5896044a chore: increase version 2015-06-16 20:57:36 -04:00
Kevin K
bac6fb5665 chore: increase version 2015-06-06 17:13:36 -04:00
Kevin K
ab4b46b5fd chore: increase version 2015-06-06 17:08:39 -04:00
Kevin K
245c218866 chore: increase version 2015-05-31 00:47:29 -04:00
Kevin K
2b6b7ba693 chore: increase version 2015-05-30 13:15:33 -04:00
Kevin K
7dd2391046 chore: increase version 2015-05-25 21:53:49 -04:00
Kevin K
42560e5f03 chore: increase version 2015-05-22 23:40:20 -04:00
Kevin K
ad4dd9d86e chore(clap): increase version 2015-05-20 11:50:03 -04:00
Kevin K
4708687711 chore(clap): increase version 2015-05-17 20:24:13 -04:00
Kevin K
a3ceb7ac0f chore(clap): increase version 2015-05-17 18:26:03 -04:00
Kevin K
936332f7c3 chore(clap): increase version 2015-05-17 09:55:23 -04:00
Kevin K
8dd2150aae chore(clap): increase version 2015-05-15 16:48:08 -04:00
Kevin K
3c0636ef75 chore(clap): increase version 2015-05-12 18:16:57 -04:00
Kevin K
f3e2af811e chore(clap): increase version 2015-05-10 14:58:22 -04:00
Kevin K
58c8e2d44f chore(clap): increase version 2015-05-08 11:46:51 -04:00
Kevin K
4903adde61 chore(clap): increase version 2015-05-06 12:47:32 -04:00
Kevin K
05a34c8eec chore(clap): increase version 2015-05-05 22:11:37 -04:00
Kevin K
f8b26b13da feat(errors): colorizes output red on error 2015-05-05 22:05:02 -04:00
Sebastian Thiel
c0e383515d feat(did-you-mean): gate it behind 'suggestions'
You can now disable the did-you-mean feature entirely, which also
removes the additional dependency it comes with.
Learn more about features and how to use them here:
http://doc.crates.io/manifest.html#the-[features]-section

Related to #103
2015-05-05 17:12:20 -04:00
Sebastian Thiel
06e869b518 feat(did-you-mean): for subcommands
If an argument is not understood as subcommand, but has a
high-confidence match in the list of all known subcommands, we will use
this one to print a customized error message.

Previously, it would say that a positional argument wasn't understood,
now it will say that a subcommand was unknown, and if the user meant
`high-confidence-candidate`.

If the argument doesn't sufficiently match any subcommand, the default
handling will take over and try to treat it as positional argument.

* added dependency to `strsym` crate
* new `did_you_mean` function uses `strsim::jaro_winkler(...)` to look
  for good candidates.

Related to #103
2015-05-05 17:12:20 -04:00
Kevin K
632c89bf26 chore(clap): increase version 2015-05-05 17:12:20 -04:00
Kevin K
4a23f1b484 chore(clap): increase version 2015-05-03 20:36:22 -04:00
Kevin K
37a925d2b9 chore(clap): increase version 2015-05-03 17:11:05 -04:00
Kevin K
0b165e28ca chore(clap): increase version 2015-05-03 16:29:17 -04:00
Kevin K
4a11b30066 chore(clap): increase version 2015-05-03 00:41:53 -04:00
Sebastian Thiel
2126525ccc chore(cargo): fix documentation URL 2015-05-01 17:13:41 +02:00
Kevin K
9fa6ea7cc6 chore(clap): increase version 2015-04-30 22:21:23 -04:00
Kevin K
abc31077b0 chore(clap): increase version 2015-04-30 19:59:45 -04:00
Kevin K
9e6af520a3 chore(clap): increase version 2015-04-28 23:49:59 -04:00
Kevin K
1c92ed0e72 chore(docs): change makefile -> travis auto cargo doc and upload 2015-04-28 23:18:08 -04:00
Kevin K
784b8c7254 chore(clap): increase version 2015-04-27 00:59:58 -04:00
Kevin K
258c97867d chore(clap): increase version 2015-04-22 16:30:45 -04:00
Kevin K
bba6196fdc chore(clap): increase version 2015-04-19 14:42:41 -04:00
Kevin K
d7bf519acf chore(clap): increase version 2015-04-18 22:32:29 -04:00
Kevin K
f0eea9da43 chore(clap): increase version 2015-04-17 11:23:19 -04:00
Kevin K
6ec7a748f4 chore(clap): increase version 2015-04-16 14:25:20 -04:00
Kevin K
c9f9e38377 chore(clap): increase version 2015-04-14 15:47:03 -04:00
Kevin K
72b315d792 chore(clap): increase version 2015-04-13 18:13:19 -04:00
Kevin K
b302b8bcd8 chore(clap): increase version 2015-04-13 15:39:24 -04:00
Kevin K
2e3dc49a9a chore(clap): increase version 2015-04-10 12:00:58 -04:00
Kevin K
be91c5f2f5 chore(clap): increase version 2015-04-09 18:49:59 -04:00
Kevin K
2041cc4fda chore(clap): increase version 2015-04-05 20:26:12 -04:00
Kevin K
4572c79218 chore(clap): increase version 2015-04-04 16:19:34 -04:00
Kevin K
b1cf77190e chore(clap): increase version 2015-04-03 11:52:18 -04:00
Kevin K
6dc80fde3f chore(clap): increase version 2015-04-03 11:08:22 -04:00
Kevin K
c238b49ba9 chore(clap): increased version 2015-04-02 22:47:52 -04:00
Kevin K
e095f6268d chore(clap): increase version 2015-04-01 13:22:53 -04:00
Kevin K
918f52ea35 chore(clap): increase version 2015-04-01 13:22:53 -04:00
Kevin K
bddf50e810 chore(clap): increase version 2015-04-01 13:22:53 -04:00
Kevin K
c0ef006861 chore(clap): increase version 2015-04-01 13:22:53 -04:00
Kevin K
cdc32eb469 chore(clap): increase version 2015-04-01 13:22:52 -04:00
Kevin K
f244ca6f9a chore(clap): increase version 2015-04-01 13:02:46 -04:00
Kevin K
c214f72fb1 chore(clap): increase version 2015-04-01 13:00:48 -04:00
Kevin K
70ecb0a0e5 chore(clap): increase version 2015-04-01 12:56:34 -04:00
Kevin K
16a609183a chore(clap): increase version 2015-04-01 12:50:35 -04:00
Kevin K
24ec2da5bf chore(clap): increase version 2015-04-01 12:46:25 -04:00
Kevin K
012ff7f8a9 chore(clap): increase version 2015-04-01 12:41:54 -04:00
Kevin K
427eaff25e Updated cargo.toml 2015-03-24 16:30:44 -04:00
Kevin K
b047104d9a version bump and rebuilt docs 2015-03-24 14:35:47 -04:00
Kevin K
c7f22728f1 Added test application 2015-03-24 12:16:59 -04:00
Kevin K
a85bc49185 version bump 2015-03-23 22:40:18 -04:00
Kevin K
aed37da635 Bug fixes with multiple options 2015-03-22 22:48:46 -04:00
Kevin K
46bcf02a2f Bug fixes 2015-03-22 22:26:07 -04:00
Kevin K
76e374e527 Version bump and rebuilt docs 2015-03-22 22:04:17 -04:00
Kevin K
0f7bc363ce Moved tests to tests/ directory and crate 2015-03-22 21:57:02 -04:00
Kevin K
b7843a241f Bumped version 2015-03-21 10:30:28 -04:00
Kevin K.
adbce3bdc4 Excluded examples/ 2015-03-20 14:11:19 -04:00
Kevin K
ac91f2a38e Inc'ed version after PR #21 - doc copy commands to Makefile 2015-03-19 07:55:33 -04:00
Kevin K
641972c3ad Inc'ed version after PR #15 and #16 - fixed formatting error in examples 2015-03-18 22:00:01 -04:00
Kevin K
d9244b6879 Rebuilt docs and inc'ed version from recent commits 2015-03-18 15:14:30 -04:00
Kevin K
c82bb523ab Updated version 2015-03-17 21:02:47 -04:00
Kevin K
6ae91954ae Fixes #9 2015-03-16 18:50:53 -04:00
Kevin K
1787a66230 Rebuilt docs for v0.4.3 2015-03-16 14:30:49 -04:00
Kevin K
8817cf43b0 Rebuilt docs for v0.4.2 2015-03-16 11:20:45 -04:00
Kevin K
e05ece7696 Fixed doc tests 2015-03-15 17:39:36 -04:00
Kevin K
65a8a4f045 Added support for subcommands 2015-03-15 17:17:52 -04:00
Kevin K
379d2192b6 Changed cargo.toml license identifier to match MIT id 2015-03-04 08:32:55 -05:00
Kevin K
ea3de882ea Moved to consuming builder pattern. Cleaned up borrows and fields. 2015-03-03 22:45:11 -05:00
Kevin K
62704caf8d Removed unneeded fields from Arg Matches 2015-03-03 13:10:19 -05:00
Kevin K
b7975ec8b6 Changed license file to MIT 2015-03-02 11:13:47 -05:00
Kevin K
9923948f2d Updated docs in Cargo.toml 2015-03-01 11:19:20 -05:00
Kevin K
37b54523ec updated docs 2015-02-28 20:17:01 -05:00
Kevin K
4d041924f8 updated docs 2015-02-28 20:15:54 -05:00
Kevin K
be61ff9842 Arg names, shorts, and longs must now be unique 2015-02-28 19:56:43 -05:00
Kevin K
1a0b06147c Added documentation 2015-02-28 11:25:44 -05:00
Kevin K
8ee4e2dca5 v0.3.3 2015-02-27 16:47:33 -05:00
Kevin K
8a62206639 v0.3.1 2015-02-27 16:12:43 -05:00
Kevin K
4992fcfd93 v0.0.5 2015-02-27 11:55:31 -05:00
Kevin K
bdc0e22fce Changed cargo.toml version 2015-02-26 19:27:51 -05:00
Kevin K
2d546238a2 Initial commit v0.0.3 2015-02-25 08:37:25 -05:00