mirror of
https://github.com/clap-rs/clap
synced 2024-12-13 22:32:33 +00:00
Compare clap with structopt, fixes #1584
This commit is contained in:
parent
6a395d3208
commit
bddb63effe
3 changed files with 5 additions and 27 deletions
|
@ -61,30 +61,10 @@ $ cargo test --test <test_name> --features debug
|
|||
$ just debug <test_name>
|
||||
```
|
||||
|
||||
### Commit Messages
|
||||
|
||||
I use a [conventional](https://github.com/ajoslin/conventional-changelog/blob/a5505865ff3dd710cf757f50530e73ef0ca641da/conventions/angular.md) changelog format so I can update my changelog automatically using [clog](https://github.com/clog-tool/clog-cli)
|
||||
|
||||
* Please format your commit subject line using the following format: `TYPE(COMPONENT): MESSAGE` where `TYPE` is one of the following:
|
||||
- `api` - An addition to the API
|
||||
- `setting` - A new `AppSettings` variant
|
||||
- `feat` - A new feature of an existing API
|
||||
- `imp` - An improvement to an existing feature/API
|
||||
- `perf` - A performance improvement
|
||||
- `docs` - Changes to documentation only
|
||||
- `tests` - Changes to the testing framework or tests only
|
||||
- `fix` - A bug fix
|
||||
- `refactor` - Code functionality doesn't change, but underlying structure may
|
||||
- `style` - Stylistic changes only, no functionality changes
|
||||
- `wip` - A work in progress commit (Should typically be `git rebase`'ed away)
|
||||
- `chore` - Catch all or things that have to do with the build system, etc.
|
||||
- `examples` - Changes to existing example, or a new example
|
||||
* The `COMPONENT` is optional, and may be a single file, directory, or logical component. Parenthesis can be omitted if you are opting not to use the `COMPONENT`.
|
||||
|
||||
### Tests and Documentation
|
||||
|
||||
1. Create tests for your changes
|
||||
2. **Ensure the tests are passing.** Run the tests (`cargo test --features "yaml"`), alternatively `just run-tests` if you have `just` installed.
|
||||
2. **Ensure the tests are passing.** Run the tests (`cargo test --features "wrap_help yaml regex"`), alternatively `just run-tests` if you have `just` installed.
|
||||
3. **Optional** Run the lints (`cargo build --features lints`) (requires a nightly compiler), alternatively `just lint`
|
||||
4. Ensure your changes contain documentation if adding new APIs or features.
|
||||
|
||||
|
@ -94,10 +74,6 @@ I use a [conventional](https://github.com/ajoslin/conventional-changelog/blob/a5
|
|||
2. Push your changes back to your fork (`git push origin $your-branch`)
|
||||
3. Create a pull request against `master`! (You can also create the pull request first, and we'll merge when ready. This a good way to discuss proposed changes.)
|
||||
|
||||
### Other ways to contribute
|
||||
|
||||
Another really great way to help is if you find an interesting, or helpful way in which to use `clap`. You can either add it to the [examples/](../examples) directory, or file an issue and tell me. I'm all about giving credit where credit is due :)
|
||||
|
||||
### Goals
|
||||
|
||||
There are a few goals of `clap` that I'd like to maintain throughout contributions. If your proposed changes break, or go against any of these goals we'll discuss the changes further before merging (but will *not* be ignored, all contributes are welcome!). These are by no means hard-and-fast rules, as I'm no expert and break them myself from time to time (even if by mistake or ignorance :P).
|
||||
|
|
2
FAQ.md
2
FAQ.md
|
@ -16,7 +16,7 @@ First, let me say that these comparisons are highly subjective, and not meant in
|
|||
|
||||
#### How does `clap` compare to [structopt](https://github.com/TeXitoi/structopt)?
|
||||
|
||||
Simple! `clap` *is* `structopt`. With the 3.0 release, `clap` imported the `structopt` code into its own codebase as the [`clap_derive`](https://github.com/clap-rs/clap/tree/master/clap_derive) crate. Since `structopt` already used `clap` under the hood, the transition was nearly painless, and is 100% feature compatible.
|
||||
Simple! `clap` *is* `structopt`. With the 3.0 release, `clap` imported the `structopt` code into its own codebase as the [`clap_derive`](https://github.com/clap-rs/clap/tree/master/clap_derive) crate. Since `structopt` already used `clap` under the hood, the transition was nearly painless, and is 100% feature compatible. `structopt` is soft deprecated and will only support clap 2.x.
|
||||
|
||||
If you were using `structopt` before, you have to change the attributes from `#[structopt(...)]` to `#[clap(...)]`.
|
||||
|
||||
|
|
|
@ -56,7 +56,9 @@ Once `clap` parses the user provided string of arguments, it returns the matches
|
|||
|
||||
## FAQ
|
||||
|
||||
For a full FAQ, see [this](FAQ.md)
|
||||
[How does `clap` compare to structopt?](https://github.com/clap-rs/clap/blob/master/FAQ.md#how-does-clap-compare-to-structopt)
|
||||
|
||||
For a full FAQ, see [this](https://github.com/clap-rs/clap/blob/master/FAQ.md)
|
||||
|
||||
## Features
|
||||
|
||||
|
|
Loading…
Reference in a new issue