Commit graph

2929 commits

Author SHA1 Message Date
Kevin K
f8e6876415
chore: adds some idea project files to the ignore list 2018-02-09 23:33:40 -05:00
Kevin K
e1b10f60aa
chore(Cargo.toml): updates with new excludes to trim package and new badges for crates.io 2018-02-05 16:23:00 -05:00
Guillaume Pinot
e046a86f39 Add a link to the changelog in the readme 2018-02-04 19:29:40 +01:00
Guillaume Pinot
3e7d843d82 Add test for the options 2018-02-04 19:27:45 +01:00
Guillaume Pinot
43ef963e65 Add an example for enum in arg using clap
Fix #42
2018-02-04 19:09:43 +01:00
Guillaume Pinot
0d2c765e4c Fix a bug arround required(true) 2018-02-04 19:07:29 +01:00
Guillaume P
b33ca47ab4
Update README.md 2018-02-04 18:43:53 +01:00
Guillaume Pinot
bc02743249 Update syn and friends 2018-02-04 18:33:59 +01:00
Guillaume Pinot
0d8c4ae23b Update CHANGELOG.md 2018-02-04 15:39:27 +01:00
Guillaume Pinot
d74eee5e46 Change _raw suffix by raw() wrapping 2018-02-04 15:39:27 +01:00
Guillaume Pinot
e592f3ef9f Rewrite attributes handling, failing when attributes are not used 2018-02-04 15:39:27 +01:00
Guillaume P
279e0c7e0b
Warn on v0.2 on README 2018-02-04 11:46:16 +01:00
Kevin K
b4c2dedaf9
Merge pull request #1163 from kbknapp/v3-dev
chore: updates the version tests
2018-02-03 15:23:41 -05:00
Kevin K
300a059f51
chore: updates the version tests 2018-02-03 15:22:56 -05:00
Kevin K
4fc790563f
Merge pull request #1157 from kbknapp/v3-dev
V3 dev
2018-02-03 15:16:24 -05:00
Kevin K
6a8b301fa4
chore: bumps the Cargo.toml version to 3.0.0-alpha1 to reduce confusion 2018-02-03 15:15:00 -05:00
Kevin K
cf3eaaeb0c
tests: fixes some typos that caused failing doc tests 2018-02-03 15:14:34 -05:00
Kevin K
97fd3f1328
tests: partially updates tests to new arg.setting calls 2018-02-03 15:06:58 -05:00
Kevin K
41572e4d2d
benches: partially updates the benches to new arg.setting calls 2018-02-03 15:06:58 -05:00
Kevin K
2b39054437
chore(v3_changes.md): adds a document to track changes to announce for v3 2018-02-03 15:06:58 -05:00
Kevin K
41436d3b7d
docs(Arg.rs): updates documentation for the deprecations 2018-02-03 15:06:56 -05:00
Kevin K
6fc70d825c
depr(Arg.rs): adds deprecations in prep for v3
A full list of deprecations is:

* Arg::last -> ArgSettings::Last
* Arg::required -> ArgSettings::Required
* Arg::require_equals -> ArgSettings::RequireEquals
* Arg::allow_hyphen_values -> ArgSettings::AllowHyphenValues
* Arg::takes_value -> ArgSettings::TakesValue
* Arg::hide_possible_values -> ArgSettings::HidePossibleValues
* Arg::hide_default_value -> ArgSettings::HideDefaultValue
* Arg::multiple -> ArgSettings::Multiple (see Arg::multiple split)
* Arg::multiple -> ArgSettings::MultipleValues (see Arg::multiple split)
* Arg::multiple -> ArgSettings::MultipleOccurrences (see Arg::multiple split)
* Arg::global -> ArgSettings::Global
* Arg::empty_values -> ArgSettings::AllowEmptyValues
* Arg::hidden -> ArgSettings::Hidden
* Arg::case_insensitive -> ArgSettings::IgnoreCase
* Arg::use_delimiter -> ArgSettings::UseDelimiter
* Arg::require_delimiter -> ArgSettings::RequireDelimiter
* Arg::hide_env_values -> ArgSettings::HideEnvValues
* Arg::next_line_help -> ArgSettings::NextLineHelp
* Arg::set -> Arg::unset_setting (consistent naming with App)
* Arg::unset -> Arg::setting (consistent naming with App)

Relates to #1037
2018-02-03 15:00:55 -05:00
Guillaume Pinot
33c01e369a Add links in CHANGELOG.md 2018-02-03 17:09:39 +01:00
Guillaume Pinot
98d8cae1f1 Doc cleanups 2018-02-03 16:55:43 +01:00
Guillaume Pinot
087f7dc9cc move structopt-derive documentation to structopt 2018-02-03 16:55:43 +01:00
Guillaume Pinot
5a796774dc remove ignore for doc comment samples 2018-02-03 16:55:43 +01:00
Guillaume Pinot
17faa51112 improve the README.md example 2018-02-03 16:55:43 +01:00
Guillaume Pinot
79f2c57212 As the dummy const trick never worked as there was a bug, just remove it 2018-02-03 16:55:43 +01:00
Guillaume Pinot
be60de036b structopt reexport structopt_derive
As using structopt without structopt_derive is quite meaningless, reexport
structopt_derive, symplifying the usage.

Inspired by the failure crate.

fix #45
2018-02-03 16:55:43 +01:00
Guillaume P
9cb1eb7137
Update CHANGELOG.md 2018-02-03 16:53:31 +01:00
Guillaume Pinot
7975343a03 Support 1-uple enum variant as subcommand
This is a breaking change as it modifies the StructOpt trait.

fix #38
2018-02-03 15:32:55 +01:00
Guillaume P
672438a744
Update CHANGELOG.md for #48 2018-02-03 15:31:51 +01:00
Sergio Benitez
35423c96c4 Add 'parse(from_occurrences)' parser. Don't special case 'u64'. (#48) 2018-02-03 15:15:03 +01:00
Guillaume P
76821ba7b2
Create CHANGELOG.md
fix #52
2018-01-31 23:14:33 +01:00
Kevin K
e1f1b474a3
Merge pull request #1156 from kbknapp/v3-dev
V3 dev
2018-01-30 21:14:17 -05:00
Kevin K
04b7532bcb
docs(App.rs): updates the docs away from deprecated methods 2018-01-30 21:10:35 -05:00
Kevin K
c441467de3
depr(App.rs): deprecates old App methods in prep for v3
A full list of deprecations is:

* App::version_message -> App::mut_arg
* App::version_short -> App::mut_arg
* App::help_message -> App::mut_arg
* App::help_short -> App::mut_arg
* App::from_yaml -> serde
* App::usage -> App::override_usage (+no longer assumes leading \t)
* App::help -> App::override_help
* App::template -> App::help_template
* App::args_from_usage -> App::args(&str)
* App::arg_from_usage -> App::arg(Arg::from)
* App::write_help -> &self -> &mut self (#808)
* App::gen_completions -> clap_completions::generate
* App::gen_completions_to -> clap_completions::generate_to
* App::get_matches_safe -> App::try_get_matches (#950 Lib Blitz naming
consistency)
* App::get_matches_from_safe -> App::try_get_matches_from (#950 Lib Blitz
naming consistency)
* App::get_matches_safe_borrow -> App::try_get_matches_from_mut (#950 Lib
Blitz naming consistency)
2018-01-30 21:04:19 -05:00
Kevin K
7372359c9c
Merge pull request #1154 from kbknapp/v3-prep
v3 Prep
2018-01-25 23:15:17 -05:00
Kevin K
4c54c2a696
tests: silence some warnings 2018-01-25 23:03:13 -05:00
Kevin K
1fa4afa45d
tests: continues to update tests to take advantage of new internals 2018-01-25 22:54:05 -05:00
Kevin K
90c0698aff
tests(Bash Completions): fixes the order of several completion commands 2018-01-25 22:36:20 -05:00
Kevin K
78090e5529
tests: removes some instances of println in the tests 2018-01-25 22:36:20 -05:00
Kevin K
7788ef70d9
wip: continuing to iron out the bugs from the internal refactor 2018-01-25 22:36:20 -05:00
Kevin K
712333be98
tests: splits tests into single duties 2018-01-25 15:08:57 -05:00
Kevin K
7673dfc085
perf: refactors the POSIX override handling to lazy handling
This commit primarily changes to a lazy handling of POSIX overrides by
relying on github.com/bluss/ordermap instead of the old HashMap impl.
The ordermap allows us to keep track of which arguments arrived first,
and therefore determine which ones should be removed when an override
conflict is found.

This has the added benefit of we no longer have to do the bookkeeping to
keep track and override args as they come in, we can do it once at the
end.

Finally, ordermap allows fast Vec like iteration of the keys, which we
end up doing several times. Benching is still TBD once the v3 prep is
done, but this change should have a meaningful impact.
2018-01-25 15:08:57 -05:00
Kevin K
e890b647f3
wip: still setting the stage for v3 2018-01-25 12:29:36 -05:00
Kevin K
1ab10275e4
style: rustfmt run 2018-01-25 12:21:17 -05:00
Kevin K
f66e4f3266
chore: removes no longer used style lints 2018-01-25 12:20:58 -05:00
Kevin K
efb3b28ae8
tests: updates the tests that were using clap internals 2018-01-25 12:20:56 -05:00
Kevin K
6705195449
wip: setting the stage for serde, custom derive, and v3 2018-01-25 12:20:04 -05:00