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>
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>
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>
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>
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>
1667: Several things r=CreepySkeleton a=pksunkara
* Updated `Cargo.toml` for both crates to be consistent with each other
* Removed `exclude` key since it is exclusive with `include`
* Remove things from profiles when they are using default values anyway
* Used `workspace.default-members`
* Cherry pick [this](a525b57cb5) commit from 2.x branch which does not exist in master
* Put the test helper into `tests` folder.
> The old tests used the include!() macro, which is quite hacky, and hurts compile times
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Co-authored-by: rleungx <rleungx@gmail.com>
1628: Macro use removal r=pksunkara a=avandesa
[As of Rust 2018][macro changes], there is no need to call `#[macro_use] extern crate foo` to import the macros from crate `foo`.
This pull request removes mentions of `#[macro_use]` from documentation examples, tests, and benchmarks, in favor of importing the macros directly.
The PR cuts down the number of instances of `#[macro_use]` from 39 down to one, required for importing in-crate macros.
[macro changes]: https://doc.rust-lang.org/nightly/edition-guide/rust-2018/macros/macro-changes.html#macro_rules-style-macros
Co-authored-by: Alex van de Sandt <alex@avandesa.dev>
This reverts commit 7dcdfc8b231b41a46d4d7ab7ec2664d32804b4a3.
That commit caused doc tests to break, as well as issues with importing
macros in other modules. Note that the yaml example in `src/lib.rs` at
line 184 is broken and should probably be fixed.
1658: Faster CI r=CreepySkeleton a=pksunkara
* Moved away from appveyor to decrease the CI time using parallel jobs.
* Improved caching on travis (TODO: azure)
Don't mind the appveyor failing. I will remove those hooks once this PR is merged.
The total CI waiting time decreased from 1 hr to 15-20 mins.
Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>