Commit graph

2216 commits

Author SHA1 Message Date
Kevin K
612ccaf14e
tests: adds tests for using possible_values with Arg::case_insensitive 2017-11-28 08:57:04 -05:00
Kevin K
80993357e1
api: Adds Arg::case_insensitive(bool) which allows matching Arg::possible_values without worrying about ASCII case
When used with `Arg::possible_values` it allows the argument value to pass validation even if
the case differs from that of the specified `possible_value`.

```rust
let m = App::new("pv")
    .arg(Arg::with_name("option")
        .long("--option")
        .takes_value(true)
        .possible_value("test123")
        .case_insensitive(true))
    .get_matches_from(vec![
        "pv", "--option", "TeSt123",
    ]);

assert!(m.value_of("option").unwrap().eq_ignore_ascii_case("test123"));
```

This setting also works when multiple values can be defined:

```rust
let m = App::new("pv")
    .arg(Arg::with_name("option")
        .short("-o")
        .long("--option")
        .takes_value(true)
        .possible_value("test123")
        .possible_value("test321")
        .multiple(true)
        .case_insensitive(true))
    .get_matches_from(vec![
        "pv", "--option", "TeSt123", "teST123", "tESt321"
    ]);

let matched_vals = m.values_of("option").unwrap().collect::<Vec<_>>();
assert_eq!(&*matched_vals, &["TeSt123", "teST123", "tESt321"]);
```

Closes #1118
2017-11-28 08:57:04 -05:00
Kevin K
e53c33d6b9
Merge pull request #1117 from kbknapp/clap_derive
Clap derive
2017-11-28 20:16:01 +09:00
Kevin K
ce6ca492c7
docs: changes the demo version to 2.28 to stay in sync 2017-11-28 04:38:37 -05:00
Kevin K
9ef3d82bd0
chore: increase version 2017-11-27 10:28:28 -05:00
Kevin K
6f4c341241
api: Adds the traits to be used with the clap-derive crate to be able to use Custom Derive
Currently to use these traits clap must be built with the `unstable` feature. This does not
require a nightly compiler. These traits and APIs may change without warning (hence the `unstable`
feature flag). Once they have been stablelized and the `clap-derive` crate is released the
`unstable` feature flag will no longer be required.
2017-11-27 09:55:52 -05:00
Kevin K
8a26ff07b0
style: changes the display of the env var from 'env:VAR: value' to 'env: VAR=value' 2017-11-27 09:55:43 -05:00
Kevin K
4740cde404
Merge pull request #1114 from ignatenkobrain/bash-comp
use .bash as extension for bash completions
2017-11-24 19:32:55 -05:00
Igor Gnatenko
bfcf5dd076 use .bash as extension for bash completions
* bash-completions have code to use only `foo`, `foo.bash` and `_foo`
files for completion
* /usr is proper place for system-wide stuff rather than /etc

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-11-23 18:48:36 +01:00
Kevin K
c2c2a56a30
Merge pull request #1113 from kbknapp/issue-1112
Issue 1112
2017-11-22 07:19:33 -05:00
Kevin K
89c0ed0328
tests: adds tests to guard against --help and -h being overridable 2017-11-22 04:11:28 -05:00
Kevin K
a283d69fc0
fix: Fixes a regression where --help couldn't be overridden
Closes #1112
2017-11-22 04:11:28 -05:00
Kevin K
a224cdcc87
Merge pull request #1111 from ignatenkobrain/patch-3
bump version-sync to 0.5
2017-11-22 04:11:09 -05:00
Igor Gnatenko
6b98b6ab7d bump version-sync to 0.5 2017-11-22 09:53:33 +01:00
Kevin K
53864b5d72
Merge pull request #1063 from Eijebong/bitflags
Update bitflags to 1.0 and bump version
2017-11-22 02:36:29 -05:00
Bastien Orivel
dc00ec85eb Update the minimum version of rust 1.20.0 2017-11-21 12:39:12 +01:00
Bastien Orivel
a6593410c1 Update bitflags to 1.0 and bump version 2017-11-21 12:39:12 +01:00
Kevin K
c4d67d3263
Merge pull request #1109 from kbknapp/issue-1105
Issue 1105
2017-11-13 19:12:44 -05:00
Kevin K
0842fd1bcd
Merge pull request #1108 from focusaurus/issue-1106
docs: Fix URL path to github hosted files
2017-11-13 17:09:13 -05:00
Kevin K
17a4d8a860 tests: adds tests to guard aginst issue 1105 and empty values in options 2017-11-13 17:05:28 -05:00
Kevin K
2fb758219c fix: fixes a bug that allowed options to pass parsing when no value was provided
Since options have `empty_values(true)` by default, so long as another valid flag
or option came after the option in question, clap would parse it as an empty value
incorrectly. This commit forces the user to explicitly add an empty value.

`--option "" --flag` is allowed
`--option --flag` is no longer allowed unless the user has *also* set `min_values(0)`

This commit also fixes an issue where `-o=` would be parsed as a value of `Some("=")`
instead of `Some("")`.

Closes #1105
2017-11-13 17:02:52 -05:00
Kevin K
46c1317203 chore: silences unused macro warning for debug macros 2017-11-13 17:01:09 -05:00
Peter Lyons
ce72aada56 docs: Fix URL path to github hosted files
Closes #1106
2017-11-13 14:03:25 -07:00
Kevin K
39fae92997
Merge pull request #1107 from ignatenkobrain/patch-2
bump version-sync to 0.4
2017-11-13 14:47:40 -05:00
Igor Gnatenko
5cfafe4dcd
bump version-sync to 0.4 2017-11-13 18:57:47 +01:00
Kevin K
528a7cb571
Merge pull request #1102 from kbknapp/issue-1095-take2
chore: fixes the attribute to allow unused imports on nightly
2017-11-12 14:06:51 -05:00
Kevin K
3f1d23934d chore: fixes the attribute to allow unused imports on nightly
Closes #1095
2017-11-12 12:51:14 -05:00
Kevin K
6cd43c2361
Merge pull request #1101 from ignatenkobrain/patch-1
bump ansi_term to 0.10
2017-11-09 13:32:12 -05:00
Igor Gnatenko
851fad43c0 bump ansi_term to 0.10
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-11-09 17:35:33 +01:00
Kevin K
de7b236dd2
Merge pull request #1100 from jfrankenau/fix-typo
docs: fix typo
2017-11-09 08:07:19 -05:00
Johannes Frankenau
002b07fc98 docs: fix typo 2017-11-09 08:56:45 +01:00
Kevin K
38fe447292
Merge pull request #1096 from kbknapp/issues-1093,1095
Issues 1093,1095
2017-11-06 21:48:07 -05:00
Kevin K
e78bb757a3 imp: adds '[SUBCOMMAND]' to usage strings with only AppSettings::AllowExternalSubcommands is used with no other subcommands
Closes #1093
2017-11-06 20:15:07 -05:00
Kevin K
fb08bb5dd5 refactor: removes unused imports on nightly via cfg directive
If one is using a nightly Rust compiler they should compile clap
with the `nightly` feature.

```toml
[dependencies]
clap = { version = "2.27", features = ["nightly"] }
```

This isn't required for compilation to succeed, only to take
advantage of any nightly features used by clap.

If one is compiling with `#[deny(warnings)]` this commit will cause
compilation to fail if one *does not* compile with the `nightly`
since `std::ascii::AsciiExt` is no longer required in in multiple
files as of the latest Rust nightly (Nov 6th, 2017).

Closes #1095
2017-11-06 20:11:19 -05:00
Kevin K
284d01bded
Merge pull request #1091 from kbknapp/contrib-update
chore: updates CONTRIBUTORS.md
2017-11-02 23:24:19 -04:00
Kevin K
4ee2dfccff chore: updates CONTRIBUTORS.md 2017-11-02 23:23:59 -04:00
Kevin K
fb8f88be74
Merge pull request #1090 from kbknapp/readme-update
docs(README.md): updates the readme and pulls out some redundant sect…
2017-11-02 23:15:38 -04:00
Kevin K
db6caf8663 docs(README.md): updates the readme and pulls out some redundant sections 2017-11-02 23:15:02 -04:00
Kevin K
d5423a48ee
Merge pull request #1087 from durka/propag-depr
fix: ignore PropagateGlobalValuesDown deprecation warning
2017-10-28 10:56:34 -04:00
Alex Burka
f61ce3f55f fix: ignore PropagateGlobalValuesDown deprecation warning
Fixes #1086.
2017-10-27 12:54:03 -04:00
Kevin K
fc4bd87853 Merge pull request #1084 from kbknapp/issue-1083
Issue 1083
2017-10-26 11:05:17 -04:00
Kevin K
67170a8bd7
chore: increase version 2017-10-26 10:09:48 -04:00
Kevin K
0246960bdc
chore: adds term_size as an optional dep 2017-10-26 09:40:21 -04:00
Kevin K
554083ffc5 Merge pull request #1081 from kbknapp/kbknapp-patch-1
Fix typo in minimum required Rust version
2017-10-24 21:51:35 -04:00
Kevin K
bbd0589c19 Fix typo in minimum required Rust version 2017-10-24 21:51:21 -04:00
Kevin K
794ac237de Merge pull request #1080 from kbknapp/kbknapp-patch-1
chore: fix copy paste typo
2017-10-24 21:50:32 -04:00
Kevin K
385596f6f6 chore: fix copy paste typo 2017-10-24 21:50:19 -04:00
Kevin K
fe814b88e3 Merge pull request #1079 from kbknapp/issues-1031,1050,1056,1066,1071
Issues 1031,1050,1056,1066,1071
2017-10-24 21:49:18 -04:00
Kevin K
3a471b72ce
docs: fixes some typo mistakes 2017-10-24 20:30:11 -04:00
Kevin K
e3eaf56b36
chore: increase version 2017-10-24 15:31:33 -07:00