Jędrzej
6fdd2f9d69
feat(no_cargo): add no_cargo feature to disable Cargo-env-var-dependent macros ( #786 )
2016-12-27 21:07:59 -05:00
Björn Steinbrink
eb1d79dbb1
Only colorize missing arguments when appropriate ( #781 )
...
Instead of using Format::Error directly, we need to use a Colorizer to
make sure that the message only gets colorized when it is appropriate
to do so.
Fixes #775
2016-12-19 12:47:49 -06:00
Nathan Musoke
5c9b0d47ca
docs(src/app/mod.rs): fix some typos
2016-12-11 11:36:37 +13:00
Andrew Gallant
4aec1a5441
Query OUT_DIR at runtime. ( #770 )
...
It seems that Cargo no longer sets OUT_DIR when compiling build.rs, but
it's still available at runtime. Therefore, switch `env!` to
`env::var_os`.
2016-12-07 19:30:54 -05:00
Kevin K
36e9d29b01
chore: fixes build failure for 1.11.0
2016-11-20 21:26:36 -05:00
Kevin K
d20331b6f7
fix(Required Unless): fixes a bug where having required_unless set doesn't work when conflicts are also set
...
Closes #753
2016-11-20 12:10:14 -05:00
Kevin K
65eb33859d
imp(Validators): improves the error messages for validators
...
Failing value validators now produce messages like the following:
error: Invalid value for '-j <val>': some message about the value
Closes #744
2016-11-20 08:36:26 -05:00
Kevin K
80cc68748d
chore: rustfmt run
2016-11-20 14:47:04 -05:00
Kevin K
b1053f1016
chore: clippy run
2016-11-20 14:47:04 -05:00
Kevin K
c0d70febad
feat: allows specifying AllowLeadingHyphen style values, but only for specific args vice command wide
...
One can now use `Arg::allow_hyphen_values(true)` which will enable `--opt -val` style values only
for the specific arg and not command wide.
Closes #742
2016-11-20 14:47:04 -05:00
Kevin K
cf9d6ce5cd
refactor: refactors the internals a bit
...
Flags, Opts, and Positionals now store their internals using compartmented Base, Valued, and
Switched structs to keep the code duplication down and make it easier to maintain.
Iniside the src/app/parser.rs there have been several changes to make reasoning about the code
easier. Primarily moving related sections out of the large get_matches_with into their own
functions.
2016-11-20 14:47:03 -05:00
Matthias Beyer
192a808e0f
Use try!() instead of ? operator, for older compilers ( #752 )
2016-11-16 14:41:26 -05:00
Kevin K
e600f49b77
chore: clippy run
2016-11-12 12:20:45 -05:00
Kevin K
7cb44abc09
Revert "Auto merge of #737 - kbknapp:questionmark, r=kbknapp"
...
This reverts commit f24a3760e4
, reversing
changes made to 087cee7404
.
2016-11-12 12:12:05 -05:00
Kevin K
b4f2e2a1b6
chore: clippy run
2016-11-11 15:48:40 -05:00
Kevin K
55e7385685
style: changes try! to ? and rustfmt run
2016-11-11 15:20:07 -05:00
Arnavion
5869ebbffc
Completion support for PowerShell.
...
Fixes #729
2016-11-05 02:47:23 -07:00
Kevin K
33924e8844
fix(Low Index Multiples): fixes a bug where using low index multiples was propgated to subcommands
...
Closes #725
2016-11-01 23:31:29 -04:00
Kevin K
61bde461e1
chore: clippy run
2016-11-01 18:42:03 -04:00
Kevin K
1ced2a7433
feat(Positional Args): allows specifying the second to last positional argument as multiple(true)
...
Now one can build CLIs that support things like `mv <files>... <target>`
There are a few requirements and caveats;
* The final positional argument (and all positional arguments prior) *must* be required
* Only one positional argument may be `multiple(true)`
* Only the second to last, or last positional argument may be `multiple(true)`
Closes #725
2016-11-01 16:25:54 -04:00
Kevin K
1d6f8fd7de
chore(Completion Error): changes error message to reflect not only BASH is supported
2016-11-01 16:25:47 -04:00
Matthias Beyer
bc2075d088
Add App::app_name() getter
2016-11-01 20:11:26 +01:00
Kevin K
3d37001d1d
imp(Error Output): conflicting errors are now symetrical, meaning more consistent and less confusing
...
Prior to this commit, conflicting error messages and the suggeseted usage would depend on whether
you defined the conflict on both arguments, or just one, and the order in which you specified the
conflicting arguments at runtime.
Now they are symetrical, meaning the suggestions from the error message are consistent, and it no
longer matters if you specify the conflict in one, or both arguments.
Closes #718
2016-10-31 00:35:23 -04:00
Kevin K
5c70e1a01b
fix(ZSH Completions): fixes bug that caused panic on subcommands with aliases
...
ZSH completions now fully support subcommands with aliases. Only visible aliases will be displayed
in the completions.
Closes #714
2016-10-30 19:18:13 -04:00
Wim Looman
9cb6facf50
fix: Derive display order after propagation
...
Don't attempt to change the display order of flags/options until any app
settings have been propagated down from a parent App in case DeriveDisplayOrder
and/or UnifiedHelpMessage are propagated.
Fixes #706
2016-10-26 20:47:24 +02:00
Kevin K
e9efa8ed6f
chore: clippy run
2016-10-24 05:56:32 -04:00
Kevin K
ebddac791f
fix(Help Message): fixes a regression bug where args with multiple(true) threw off alignment
...
Closes #702
2016-10-24 05:55:48 -04:00
Kevin K
3e36b0bac4
feat(Completions): adds ZSH completion support
...
ZSH is now supported in the exact same way as BASH and FISH completion scripts.
Closes #699
2016-10-23 19:32:52 -04:00
Kevin K
291bcccd6b
refactor: makes some minor changes to the private API for better ergonomics
2016-10-23 19:32:42 -04:00
Kevin K
ee6e987acd
refactor(Completions): moves completing functions into their own modules
2016-10-23 19:31:24 -04:00
Kevin K
993622364e
tests(AllowNegativeNumber): fixes failing doc test
2016-10-21 09:54:34 -04:00
Kevin K
2d2ec03995
chore: clippy run
2016-10-21 09:52:16 -04:00
Kevin K
7d6f760a91
style: rustfmt run
2016-10-21 09:41:59 -04:00
Kevin K
f056eb9e4e
refactor: moves some code out of the large main function into it's own
2016-10-21 09:41:45 -04:00
Kevin K
ab06454677
feat(AppSettings): adds new setting AllowNegativeNumbers
...
One can now use `AppSettings::AllowNegativeNumbers` which functions similar to `AllowLeadingHyphen`
with the exception that only unknown numbers are allowed have a preceding hyphen character.
See the documentation for details and examples.
Closes #696
2016-10-21 09:39:17 -04:00
Kevin K
9ed4d4d795
docs(app/settings.rs): moves variants to roughly alphabetical order
2016-10-21 06:59:58 -04:00
Kevin K
a79d0f132c
tests(app/help.rs): adds some additional debugging code, and standardizes a few calls
2016-10-20 19:39:21 -04:00
Kevin K
468baadb83
fix: fixes a bug that made determining when to auto-wrap long help messages inconsistent
...
Closes #688
2016-10-20 19:39:21 -04:00
Kevin K
dbe83dfbe7
Merge branch 'master' into fix_werrnings
2016-10-18 10:17:09 -04:00
nabijaczleweli
2608540940
imp(with_defaults): Deprecate App::with_defaults()
...
Following the discussion on #638 a consensus that it can never work
(and was a mistake in the first place) has been reached
Closes #638
2016-10-16 21:22:54 +02:00
tormol
816b0d49c4
style: dis-allow()
untriggered lints
2016-10-16 13:04:11 +02:00
tormol
86828a5024
chore(debug): fix a single typo in a debug message
2016-10-16 11:31:12 +02:00
tormol
3ccde7a4b8
docs: reword docs for ErrorKind and app::Settings
...
Also adds a blank line between variants and
wraps markdown lines at punctuation when it makes sense. (Doesn't affect generated docs)
2016-10-16 11:31:12 +02:00
tormol
af9e1a393c
docs: fix the OsString-using doc-tests
2016-10-16 11:31:12 +02:00
tormol
4c27f0ade9
tests: run OsString-using doc-tests on unix platforms
...
Closes #506
2016-10-16 11:31:12 +02:00
tormol
8c0f55516f
docs(yaml): make sure the doc-tests don't fail before "missing file"
...
Removing an unused import is the only visible change.
2016-10-16 11:31:12 +02:00
tormol
0ba9f4b123
docs: tag non-rust code blocks as such instead of ignoring them
2016-10-16 11:31:12 +02:00
tormol
330a376a46
tests: run or compile some currently ignored doc-tests
2016-10-16 11:31:12 +02:00
tormol
5778871951
style: remove the .ok()
in result.ok().expect("...")
...
clippy doesn't check doc-tests and `include!()`d files,
so there might bee more un-reported lint.
2016-10-05 23:16:22 +02:00
tormol
102fb7d2ce
style: fix lints in yaml-related functions
2016-10-05 23:16:15 +02:00