Commit graph

2804 commits

Author SHA1 Message Date
Kevin K
4cc85990fd
refactor: removed strings as an internal ID for arguments, groups, and
subcommands

This commit changes the internal ID to a u64 which will allow for
greater optimizations down the road. In addition, it lays the ground
work for allowing users to use things like enum variants as argument
keys instead of strings.

The only downside is each key needs to be hashed (the implementation
used is an FNV hasher for performance). However, the performance gains
in faster iteration, comparison, etc. should easily outweigh the single
hash of each argument.

Another benefit of if this commit is the removal of several lifetime
parameters, as it stands Arg and App now only have a single lifetime
parameter, and ArgMatches and ArgGroup have no lifetime parameter.
2019-04-05 20:21:22 -04:00
Kevin K
2b283f6e51
wip: docs reminders 2019-04-04 13:28:32 -04:00
Kevin K
3dffd4908c
Removing the lint features and invoking cargo clippy manually instead 2019-04-04 13:27:08 -04:00
Kevin K
3f2a85ef15
Fix Travis CI badge 2019-04-04 13:24:24 -04:00
Kevin K
d2fbc41060
Cargo.toml: Fix typos in description 2019-04-04 13:22:29 -04:00
Erich Gubler
ab65a0200d
Use $crate prepend to make importing the _clap_count_exprs macro unnecessary 2019-04-04 13:21:28 -04:00
Kevin K
e798fec73b
fix(SPONSORS.md): fixes Josh Triplett's info in the sponsor document 2019-04-04 13:20:26 -04:00
Arjun Kathuria
fe2ef36112 chore: bump the version for textwrap crate from 0.10 to 0.11 2019-03-30 09:11:47 +05:30
Kevin K
9399174416
perf: trims down some macro usage 2018-11-14 21:04:15 -05:00
Kevin K
7accb93f46 chore: removes clippy dep in favor of cargo clippy 2018-11-14 16:06:20 -05:00
Kevin K
95f949efb0 chore: updates strsim dep 2018-11-14 16:06:07 -05:00
Kevin K
eafee3c5c1 style: cargo fmt run 2018-11-14 14:01:48 -05:00
Kevin K
2a480451d3 refactor: clippy run 2018-11-14 14:01:48 -05:00
Kevin K
20c72525d2 style: cargo fmt run 2018-11-14 12:05:06 -05:00
Kevin K
f6ce7d5cc2
refactor: makes benches compile on v3 2018-11-13 22:16:02 -05:00
Kevin K
0de9e07412
Merge branch 'v3-master' into map 2018-11-13 22:07:16 -05:00
Kevin K
c8f393b3b1
Merge pull request #1371 from andrewmiller1/v3-master-travis-targets
test: remove support for old and stable targets
2018-11-13 18:19:16 -05:00
andrewmiller1
5f0c345520 test: remove support for old and stable targets (refine for review) 2018-11-10 00:26:48 -06:00
Kevin K
441f539ede
Merge pull request #1370 from andrewmiller1/yaml-mismatched-types-char
Yaml mismatched types char
2018-11-08 20:37:44 -05:00
Kevin K
88c7677e11
Merge pull request #1377 from clap-rs/v3-towards-finish
V3 towards finish
2018-11-08 20:35:11 -05:00
Kevin K
3550066c88 refactor: cleans out deprecated code in prep for final beta.1 push 2018-11-08 20:34:13 -05:00
andrewmiller1
fc6e6ed297 test: remove support for old and stable targets 2018-11-04 19:45:56 -06:00
andrewmiller1
78886f917d update yaml example comments 2018-11-04 19:11:48 -06:00
andrewmiller1
2fcf308792 fix: fixes yaml feature build 2018-11-04 18:44:28 -06:00
Kevin K
471376fdc7 imp: no longer automatically forces user to handle help just by overriding help arg 2018-10-20 22:27:31 -04:00
Kevin K
8dd7783cf3 chore: increase version 2018-10-20 21:55:03 -04:00
Kevin K
20126e1f62 refactor: fixes test failures from removing deprecations 2018-10-20 21:54:29 -04:00
Kevin K
0f4096b3d4 imp: let users decide on codegen units and LTO 2018-10-19 23:36:22 -04:00
Kevin K
a7e87d619c fix(env tests): fixes the env tests to allow multi-threaded test runs 2018-10-19 23:31:38 -04:00
Kevin K
03333800fe refactor: remove code going to other crates and deprecations 2018-10-19 23:31:06 -04:00
Alena Yuryeva
5fa48a678d Fixed ripgrep benches 2018-09-01 20:51:49 +03:00
Alena Yuryeva
1216cddb63 Fixed help benchmark 2018-09-01 20:42:31 +03:00
Kevin K
99bd101ea7
tests: fixes did_you_mean tests 2018-08-27 21:44:09 -04:00
Kevin K
69bdbd07f1
tests: fixes intermitent failures using env vars 2018-08-27 20:55:17 -04:00
Kevin K
3d662286bc
tests: fixes macro tests 2018-08-27 20:42:07 -04:00
Kevin K
400fafade2
tests: fixes help tests 2018-08-27 20:25:37 -04:00
Kevin K
3c433636fd
tests: fixes posix_compatible test 2018-08-20 20:35:57 -04:00
Kevin K
d90186d3bb
tests: fixes mkeymap tests 2018-08-20 20:28:51 -04:00
Kevin K
6c5d4c5896
tests: fixes the app_settings tests 2018-08-20 20:23:52 -04:00
Alena Yuryeva
a5346484e8 WIP 2018-08-19 17:46:59 +03:00
Alena Yuryeva
8993a702fe Fixed help 2018-08-11 21:55:58 +03:00
Alena Yuryeva
632f745578 Fixed positionals tests 2018-08-11 21:48:50 +03:00
Alena Yuryeva
b48ef85ece fixed unique_args tests 2018-08-11 21:32:06 +03:00
Alena Yuryeva
deb9fc91f6 Fixed opts & version tests 2018-08-11 21:11:11 +03:00
Alena Yuryeva
c501773ed3 Tests on flags passing 2018-08-11 20:34:40 +03:00
Kevin K
f4e19a3193
Merge branch 'map' of github.com:clap-rs/clap into map 2018-08-04 19:22:52 -04:00
Kevin K
4ff03096fb
fix: fixes rebase errors 2018-08-04 19:14:13 -04:00
Alena Yuryeva
87c88d6054
Arg-specific API for MKeyMap 2018-08-04 18:37:35 -04:00
Kevin K
a75b67838e
refactor(Suggestions): changes from string slice to owned string for return values
The return value is only used in the error case, and only a single
String allocation, therefore the complexities introduced by using string
slices isn't worth it. clap primarily only needs to be as fast as
possible in the happy path, the error path can afford additional
allocations.
2018-08-04 18:34:54 -04:00
Alena Yuryeva
272170e333
WIP 2018-08-04 18:32:08 -04:00