Kevin K
a1fb94be53
fix(Options): fixes bug where options with no value don't error out
2015-05-03 20:31:56 -04:00
Kevin K
f66334d0ce
fix(Options): fixes a bug where option arguments in succession get their values skipped
2015-05-03 17:02:10 -04:00
Kevin K
51087b693b
style(app.rs): changes to follow Rust style guide
2015-05-03 16:24:44 -04:00
Kevin K
c236dc5ff4
im(ArgGroups): improves requirment and confliction support for groups
2015-05-03 16:15:54 -04:00
Kevin K
a29c3983c4
im(ErrorMessages): improves error messages and corrections
2015-05-03 15:49:18 -04:00
Kevin K
93c4a7231b
fix(RequiredValues): fixes a bug where missing values are parsed as missing arguments
2015-05-03 15:39:49 -04:00
Kevin K
4de05f65fb
perf(usage): improves usage string generation
2015-05-03 00:38:18 -04:00
Kevin K
12aea9612d
fix(RequiredArgs): fixes bug where required-by-default arguments are not listed in usage
...
Closes #96
2015-05-03 00:38:06 -04:00
Kevin K
82b0c5c3d7
docs(macros.rs): fixes doc tests
2015-05-01 14:50:28 -04:00
Kevin K
22aef2ab45
style(clap): rustfmt run
2015-05-01 14:44:20 -04:00
Kevin K
08635e6b5e
style(clap): makes changes to follow Rust style guide
2015-05-01 14:43:26 -04:00
Kevin K
1f1fc04e1e
docs(arg.rs): improves docs and fix typos
2015-05-01 10:19:19 -04:00
Kevin K
86d92c9fdb
fix(MultipleValues): stops evaluating values if the max or exact number of values was reached
2015-04-30 22:17:10 -04:00
Kevin K
82d03638d3
docs(lib.rs): fix doc tests
2015-04-30 20:43:22 -04:00
Kevin K
0d123a0d86
docs(clap): update docs
2015-04-30 20:13:01 -04:00
Kevin K
53f6b8c9d8
feat(MultipleValues): add support for minimum and maximum number of values
2015-04-30 19:32:51 -04:00
Kevin K
ae09f05e92
feat(MultipleValues): adds support limited number and named values
2015-04-30 18:02:19 -04:00
Kevin K
6669f0a968
feat(MultipleValues): implement shorthand for options with multiple values
2015-04-30 15:11:12 -04:00
Kevin K
d77048efb1
feat(usage): implement smart usage strings on errors
...
Closes #88
2015-04-30 12:12:44 -04:00
Kevin K
0cc2f69839
feat(arg): allow other types besides Vec for multiple value settings
...
Breaking Change
Instead of requiring a Vec<&str> for various Arg::*_all() and
Arg::possible_values() methods this
commit now requires a generic IntoIterator<Item=AsRef<str>> which allows
things such as constant arrays. This change requires that any
Arg::*_all() methods be changed from vec!["val", "val"] -> let vals =
["val", "val"]; some_arg.possible_values(&vals) (or vals.iter()).
Closes #87
2015-04-29 17:52:13 -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
ad4e545107
fix(from_usage): removes bug where usage strings have no help text
...
Creating arguments from usage strings with no help text previously
dropped the final character i.e. --flags -> --flag
This commit fixes that issue by testing if we are at the end of the
string
Closes #83
2015-04-28 22:11:20 -04:00
Kevin K
60c1b307ac
docs(groups): adds documentation for ArgGroups
2015-04-27 22:52:50 -04:00
Kevin K
4bb4c3cc07
fix(RequiredArgs): required by default args should no longer be required when their exclusions are present
2015-04-27 00:53:12 -04:00
Kevin K
09eb4d9893
feat(ArgGroups): add ability to create arg groups
2015-04-27 00:53:12 -04:00
Kevin K
cfffb45aa4
style(clap): clean commented out code
2015-04-25 23:55:42 -04:00
Kevin K
17e3f141aa
refactor(args.rs): deprecate mutually_excludes* for conflicts_with* methods
2015-04-25 22:59:02 -04:00
Kevin K
1e25abfc36
fix(help): change long help --long=long -> --long <long>
2015-04-25 22:19:09 -04:00
Kevin K
fd61615d1a
perf(matchedargs): remove unused vars and String->&str
...
This commit increases the performance a bit by using string slices
instead of owned strings. The trade off is that code previously written
to handle all the argument parsing in a speratate function and return
only the ArgMatches must be re-written to add a lifetime specifier:
Old code 'fn handle_args<'a>() -> ArgMatches<'a>' needs another lifetime
specifier added, so now 'fn handle_args<'a, 'b>() -> ArgMatches<'a, 'b>'
BREAKING CHANGE
2015-04-25 11:12:07 -04:00
Kevin K
b76129e9b7
fix(from_usage): fix bug causing args to not be required
2015-04-22 16:08:34 -04:00
Kevin K
d7c724dc65
tests(usage): fix typo in test variable names
2015-04-22 11:23:15 -04:00
Kevin K
dc59b12eb0
refactor(app.rs): rename more_help()->after_help()
2015-04-20 19:55:09 -04:00
Kevin K
65cc259e45
feat(apps): add ability to display additional help info after auto-gen'ed help msg
2015-04-19 20:19:21 -04:00
Kevin K
bb9d0c377e
tests(from_usage): add tests for usage strings with tabs
2015-04-19 14:31:56 -04:00
Kevin K
4fd44181d5
fix(from_usage): tabs and spaces should be treated equally
2015-04-19 14:27:05 -04:00
Kevin K
c630969aa3
feat(macros.rs): add macro to get version from Cargo.toml
2015-04-19 14:22:03 -04:00
Kevin K
86e4075eb1
fix(macros.rs): fix use statements for trait impls
2015-04-18 22:23:18 -04:00
Kevin K
e7f77353b9
refactor(macros.rs): improve trait implmentation readability
2015-04-18 22:20:43 -04:00
Kevin K
31b476ca99
refactor(arg.rs): remove deprecation warnings for stable rustc
2015-04-18 13:37:01 -04:00
Kevin K
14d810d072
refactor(clap): restructure matched args for performance and deduplication
2015-04-17 17:11:10 -04:00
Kevin K
2c499f8015
feat(macros): add ability to create enums pub or priv with derives
...
Err type of FromStr trait changed from &'a str->String in order
to allow showing valid values on failed parse
Breaking Change
2015-04-17 11:17:19 -04:00
Kevin K
fb672aff56
feat(macros): add macro to create custom enums to use as types
2015-04-16 14:21:32 -04:00
Kevin K
1a192521b6
docs(clap): fix typo core->std
2015-04-16 12:53:05 -04:00
Kevin K
d126cfdc69
chore(clap): rebuild docs with nightly rustdoc
2015-04-14 16:18:07 -04:00
Kevin K
4057d34d93
docs(macros): add documentation covering value_t! and value_t_or_exit
2015-04-14 15:16:16 -04:00
Kevin K
0b87251fc0
feat(macros): add ability to get mutliple typed values or exit
2015-04-14 14:33:37 -04:00
Kevin K
e243fe38dd
feat(macros): add ability to get a typed multiple values
2015-04-14 14:07:33 -04:00
Kevin K
4b7cd3ea49
feat(macros): add convenience macro to get a typed value or exit
2015-04-14 13:37:35 -04:00
Kevin K
8752700fbb
feat(macros): add convenience macro to get a typed value
2015-04-14 12:14:17 -04:00
Kevin K
b67f2e537e
docs(clap): fix failing doc tests
2015-04-13 22:26:41 -04:00