Commit graph

7561 commits

Author SHA1 Message Date
CreepySkeleton
280382cb2f Pull request template and fix bors 2020-02-14 02:00:00 +03:00
CreepySkeleton
3bd3301e76
Update feature_request.md 2020-02-14 00:36:03 +03:00
CreepySkeleton
003047617c
Update bug_report.md 2020-02-14 00:16:57 +03:00
CreepySkeleton
b9917b02a7
Update feature_request.md 2020-02-14 00:15:45 +03:00
CreepySkeleton
9daa84c841
Update bug_report.md 2020-02-14 00:11:59 +03:00
CreepySkeleton
23bb900dca Update issue templates 2020-02-13 23:43:23 +03:00
bors[bot]
6910a93ee7
Merge #1690
1690: Improve error messages a bit  r=pksunkara a=CreepySkeleton



Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-13 20:36:36 +00:00
CreepySkeleton
3f314ce39e Use full span information whenever possible 2020-02-13 21:47:42 +03:00
CreepySkeleton
9a15e47af0 Fix dummy implementations 2020-02-13 21:46:33 +03:00
bors[bot]
a2dfbec2bc
Merge #1689
1689: Remove some mentioning of structopt r=TeXitoi a=CreepySkeleton

A work on #1671. Attention! It doesn't close it just yet

Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-13 17:37:28 +00:00
bors[bot]
956b4119f5
Merge #1688
1688: Implement derive traits for Box<T> r=pksunkara a=CreepySkeleton

Closes #1674 

Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-13 15:44:50 +00:00
CreepySkeleton
28ef1e91d4
Remove some mentioning of structopt 2020-02-13 18:29:51 +03:00
CreepySkeleton
43acfa00f4
Implement derive traits for Box<T> 2020-02-13 18:21:01 +03:00
bors[bot]
1e7c9efc9d
Merge #1612
1612: Use about() with help() and long_about() with long_help() r=pksunkara a=TheLostLambda

I was going through the clap documentation and was under the impression that calling `help()` would call `about()` and `long_help()` would call `long_about()`, but I've actually discovered this not to be the case. Instead, the `long_about()` was always shown when it existed, rendering the output (in the about section) of programs called with `-h` and `--help` identical. Issue #1472 shows this and that is fixed here.

Note this doesn't remove the ability to use the same about in both cases: if `long_about()` is unset, then `about()` is used in both cases.

I've changed the implementation here to use `is_some()` and `unwrap()` as opposed to `if let` because it ultimately allows for less repetitive code. Ideally, I'd be able to pair `if let` with a secondary condition (namely `self.use_long`), but to my dismay, let-chains are not stabilized yet.

For a second opinion, here is the code a settled on:
```
if self.use_long && parser.meta.long_about.is_some() {
    debugln!("Help::write_default_help: writing long about");
    write_thing!(parser.meta.long_about.unwrap())
} else if parser.meta.about.is_some() {
    debugln!("Help::write_default_help: writing about");
    write_thing!(parser.meta.about.unwrap())
}
```
Here is the alternative:
```
if self.use_long {
    if let Some(about) = parser.meta.long_about {
        debugln!("Help::write_default_help: writing long about");
        write_thing!(about)
    } else if let Some(about) = parser.meta.about {
        debugln!("Help::write_default_help: writing about");
        write_thing!(about)
   }
} else {
    if let Some(about) = parser.meta.about {
        debugln!("Help::write_default_help: writing about");
        write_thing!(about)
    }
}
```

Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
2020-02-13 07:21:05 +00:00
Brooks J Rady
9cde072b61 Use about() with help() and long_about() with long_help() 2020-02-13 00:31:45 +00:00
bors[bot]
12df8cb078
Merge #1681
1681: WIP: Extract subcommands into separate trait r=pksunkara a=CreepySkeleton

Not-yet-working-but-almost-there "multiple traits" approach. More or less done, what's left is to catch some bugs and adapt tests/examples.

For the record: it took so long because of RL stuff (who would have thought?) and because [there was a detailed description of the experience I've had here, but it was deleted because it contained a lot of profanity and emotional notes]. 

As the only person alive that understands how the derive works (if you won't blow your own horn, nobody will do it for you, yeah), I'd like to made a statement: we Do need the refactoring.

Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-12 20:42:32 +00:00
CreepySkeleton
ae574df2f9
Extract subcommands into separate trait 2020-02-12 23:15:05 +03:00
bors[bot]
20cdc8384f
Merge #1685
1685: Add "work in progress" disclaimer to readme r=pksunkara a=CreepySkeleton

Closes #1684

Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-10 22:46:22 +00:00
bors[bot]
53f72be8d0
Merge #1686
1686: Use 'Clap Maintainers' as authors r=CreepySkeleton a=pksunkara



Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-02-10 22:20:27 +00:00
CreepySkeleton
11f04e229a
Update README.md 2020-02-10 22:16:34 +03:00
Pavan Kumar Sunkara
970d7140a3 Use 'Clap Maintainers' as authors 2020-02-10 20:16:25 +01:00
bors[bot]
0660e81231
Merge #1683
1683: Added HelpRequired AppSetting r=pksunkara a=thomasfermi

Closes #1683 

There are likely some problems with my solution to this issue. I would be thankful for a review!

Co-authored-by: thomasfermi <mario.theers@gmail.com>
2020-02-10 17:47:40 +00:00
thomasfermi
f7b63c7be6 Implemented minor review findings. 2020-02-10 17:57:32 +01:00
thomasfermi
aa97a4e8aa Added test for HelpRequired setting, which checks subcommands. Fixed bug that was discovered. 2020-02-10 14:33:26 +01:00
CreepySkeleton
a45b116795
Add "work in progress" disclaimer to readme
Closes #1684
2020-02-10 14:47:11 +03:00
thomasfermi
2059bf1035 Implemented review findings for pull request #1683 2020-02-10 11:04:18 +01:00
thomasfermi
91f37f9358 Deleted unnecessary code in doc comments. 2020-02-09 21:37:19 +01:00
thomasfermi
48eb6a4530 Added HelpRequired AppSetting 2020-02-09 21:05:01 +01:00
bors[bot]
ae2e00f418
Merge #1680
1680: Cut merge commit's messages to the title of the PR r=pksunkara a=CreepySkeleton



Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-08 16:18:01 +00:00
bors[bot]
ad5606b5a0
Merge #1678
1678: Refactor clap_generate r=CreepySkeleton a=pksunkara

I have copied the code from [clap_generate]( https://github.com/clap-rs/clap_generate) and refactored the structure a bit.

This new structure will allow people to write their own generators using our `Generator` trait which will contain some helpers (Still working on polishing them).

Co-authored-by: Ole Martin Ruud <barskern@outlook.com>
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-02-08 15:00:50 +00:00
CreepySkeleton
37ec584f4f
Cut merge commit's messages to the title of the PR 2020-02-08 17:44:59 +03:00
bors[bot]
6f4246ef01
Merge #1679
1679: Remove extern & macro_use where possible r=CreepySkeleton a=pksunkara



Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-02-08 14:37:29 +00:00
Ole Martin Ruud
da7e9e5505 Escape colon in zsh completion help 2020-02-07 07:52:04 +01:00
Pavan Kumar Sunkara
e6f77a8713 Added helper methods to generator 2020-02-07 07:52:04 +01:00
Pavan Kumar Sunkara
33f47acc67 Refactor clap_generate 2020-02-07 07:52:04 +01:00
Pavan Kumar Sunkara
5b3a0dff9c Remove extern & macro_use where possible 2020-02-07 07:34:01 +01:00
bors[bot]
7acc9225c6
Merge #1677
1677: Fixed typo in help.rs r=pksunkara a=thomasfermi

Hello everybody, this is my first pull request on github ever. I found a typo in src/output/help.rs. I hope I submitted this pull request the correct way.

Co-authored-by: thomasfermi <mario.theers@gmail.com>
2020-02-05 19:20:21 +00:00
thomasfermi
582e2d39f3 Fixed typo 2020-02-05 17:24:40 +01:00
bors[bot]
f0929d3596
Merge #1676
1676: Get rid of `#[clap(no_version)]` r=pksunkara a=CreepySkeleton

Do what I wanted to do for a long time - get rid of `no_version` and replace it with "no version by default, use `version` to do it explicitly".

Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-05 14:44:45 +00:00
CreepySkeleton
8221c4f367 Get rid of #[clap(no_version)] 2020-02-05 16:54:58 +03:00
bors[bot]
509ac33a20
Merge #1664
1664: Import structopt r=pksunkara a=CreepySkeleton

OK, here is about 50% of what's left to import.

`impl StructOpt for Box<impl StructOpt>` is not imported because layouts of `StructOpt` and `Clap` are too different. I'll work it out after the import is done.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/clap-rs/clap/1664)
<!-- Reviewable:end -->


Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
Co-authored-by: David McNeil <mcneil.david2@gmail.com>
2020-02-05 08:43:57 +00:00
bors[bot]
e7d3600128
Merge #1670
1670: Minor refactoring r=pksunkara a=CreepySkeleton

Some minor improvements. Also gets some bugs fixed

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/clap-rs/clap/1670)
<!-- Reviewable:end -->


Co-authored-by: CreepySkeleton <creepy-skeleton@yandex.ru>
2020-02-05 08:23:28 +00:00
CreepySkeleton
ffad57c776
Update src/macros.rs
Co-Authored-By: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-02-05 10:44:20 +03:00
CreepySkeleton
28605ba326 Fix macro 2020-02-05 10:17:11 +03:00
CreepySkeleton
0b8f274078 Fix tests 2020-02-05 10:13:39 +03:00
CreepySkeleton
1b2c4344cb Fix visibility errors 2020-02-05 09:41:51 +03:00
David McNeil
62c4266daf Fix verbatim_doc_comment on fields
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-02-05 09:35:21 +03:00
CreepySkeleton
c40eb88d5b Less another one 2020-02-05 09:35:01 +03:00
CreepySkeleton
c7c7e5113c One less hack 2020-02-05 09:34:23 +03:00
Cecile Tonglet
8f3eb4623e Implemented: flatten on enums
Fixes #327
2020-02-05 09:10:59 +03:00