2021-11-17 21:12:40 +00:00
[ workspace ]
2023-03-29 19:53:08 +00:00
resolver = "2"
2021-11-17 21:12:40 +00:00
members = [
2022-06-03 18:42:43 +00:00
"clap_bench" ,
2023-03-25 01:47:27 +00:00
"clap_builder" ,
2022-05-18 15:33:37 +00:00
"clap_derive" ,
"clap_lex" ,
"clap_complete" ,
"clap_complete_fig" ,
2023-05-23 13:50:43 +00:00
"clap_complete_nushell" ,
2022-05-18 15:33:37 +00:00
"clap_mangen" ,
2021-11-17 21:12:40 +00:00
]
2023-01-09 18:35:54 +00:00
[ workspace . package ]
2024-06-04 20:36:17 +00:00
repository = "https://github.com/clap-rs/clap"
2023-01-09 18:35:54 +00:00
license = "MIT OR Apache-2.0"
edition = "2021"
2024-02-08 15:45:17 +00:00
rust-version = "1.74" # MSRV
2023-01-09 18:35:54 +00:00
include = [
"build.rs" ,
"src/**/*" ,
"Cargo.toml" ,
"LICENSE*" ,
"README.md" ,
"benches/**/*" ,
"examples/**/*"
]
2024-03-21 15:46:56 +00:00
[ workspace . lints . rust ]
2024-07-25 20:48:09 +00:00
rust_2018_idioms = { level = "warn" , priority = -1 }
2024-03-21 15:46:56 +00:00
unreachable_pub = "warn"
2024-03-25 17:33:58 +00:00
unsafe_op_in_unsafe_fn = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
2024-03-21 15:46:56 +00:00
[ workspace . lints . clippy ]
bool_assert_comparison = "allow"
branches_sharing_code = "allow"
checked_conversions = "warn"
collapsible_else_if = "allow"
create_dir = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
doc_markdown = "warn"
empty_enum = "warn"
enum_glob_use = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
fallible_impl_from = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
float_cmp_const = "warn"
fn_params_excessive_bools = "warn"
from_iter_instead_of_collect = "warn"
if_same_then_else = "allow"
implicit_clone = "warn"
imprecise_flops = "warn"
inconsistent_struct_constructor = "warn"
inefficient_to_string = "warn"
infinite_loop = "warn"
invalid_upcast_comparisons = "warn"
large_digit_groups = "warn"
large_stack_arrays = "warn"
large_types_passed_by_value = "warn"
let_and_return = "allow" # sometimes good to name what you are returning
linkedlist = "warn"
lossy_float_literal = "warn"
macro_use_imports = "warn"
mem_forget = "warn"
mutex_integer = "warn"
needless_continue = "warn"
needless_for_each = "warn"
negative_feature_names = "warn"
path_buf_push_overwrite = "warn"
ptr_as_ptr = "warn"
rc_mutex = "warn"
redundant_feature_names = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
same_functions_in_if_condition = "warn"
self_named_module_files = "warn"
semicolon_if_nothing_returned = "warn"
2024-05-04 19:59:40 +00:00
# str_to_string = "warn"
# string_add = "warn"
2024-03-21 15:46:56 +00:00
string_add_assign = "warn"
string_lit_as_bytes = "warn"
2024-05-04 19:59:40 +00:00
# string_to_string = "warn"
2024-03-21 15:46:56 +00:00
todo = "warn"
trait_duplication_in_bounds = "warn"
verbose_file_reads = "warn"
2024-05-04 19:59:40 +00:00
# wildcard_imports = "warn"
2024-03-21 15:46:56 +00:00
zero_sized_map_values = "warn"
2024-05-04 19:59:40 +00:00
# Fix later:
multiple_bound_locations = "allow"
assigning_clones = "allow"
blocks_in_conditions = "allow"
2024-03-21 15:46:56 +00:00
2015-02-25 13:37:25 +00:00
[ package ]
name = "clap"
2024-08-08 16:09:07 +00:00
version = "4.5.14"
2021-11-17 21:12:40 +00:00
description = "A simple to use, efficient, and full-featured Command Line Argument Parser"
categories = [ "command-line-interface" ]
2018-02-05 21:23:00 +00:00
keywords = [
2022-05-18 15:33:37 +00:00
"argument" ,
"cli" ,
"arg" ,
"parser" ,
"parse"
2018-02-05 21:23:00 +00:00
]
2024-06-04 20:36:17 +00:00
repository . workspace = true
2023-01-09 18:35:54 +00:00
license . workspace = true
edition . workspace = true
rust-version . workspace = true
include . workspace = true
2021-11-17 21:12:40 +00:00
[ package . metadata . docs . rs ]
2021-12-09 02:00:57 +00:00
features = [ "unstable-doc" ]
2023-07-14 15:40:24 +00:00
rustdoc-args = [ "--cfg" , "docsrs" , "--generate-link-to-definition" ]
2022-11-29 12:43:59 +00:00
cargo-args = [ "-Zunstable-options" , "-Zrustdoc-scrape-examples" ]
2021-11-17 21:12:40 +00:00
2021-12-08 22:06:06 +00:00
[ package . metadata . playground ]
2021-12-09 02:00:57 +00:00
features = [ "unstable-doc" ]
2021-12-08 22:06:06 +00:00
2021-12-08 03:26:57 +00:00
[ package . metadata . release ]
shared-version = true
2022-01-10 22:16:04 +00:00
tag-name = "v{{version}}"
2021-12-08 03:26:57 +00:00
pre-release-replacements = [
{ file = "CHANGELOG.md" , search = "Unreleased" , replace = "{{version}}" , min = 1 } ,
{ file = "CHANGELOG.md" , search = "\\.\\.\\.HEAD" , replace = "...{{tag_name}}" , exactly = 1 } ,
{ file = "CHANGELOG.md" , search = "ReleaseDate" , replace = "{{date}}" , min = 1 } ,
{ file = "CHANGELOG.md" , search = "<!-- next-header -->" , replace = "<!-- next-header -->\n## [Unreleased] - ReleaseDate\n" , exactly = 1 } ,
{ file = "CHANGELOG.md" , search = "<!-- next-url -->" , replace = "<!-- next-url -->\n[Unreleased]: https://github.com/clap-rs/clap/compare/{{tag_name}}...HEAD" , exactly = 1 } ,
2023-03-09 15:32:49 +00:00
{ file = "CITATION.cff" , search = "^date-released: ....-..-.." , replace = "date-released: {{date}}" } ,
{ file = "CITATION.cff" , search = "^version: .+\\..+\\..+" , replace = "version: {{version}}" } ,
2023-11-27 22:54:58 +00:00
{ file = "src/lib.rs" , search = "blob/v.+\\..+\\..+/CHANGELOG.md" , replace = "blob/v{{version}}/CHANGELOG.md" , exactly = 1 } ,
2021-12-08 03:26:57 +00:00
]
2021-11-17 21:12:40 +00:00
[ features ]
default = [
2022-05-18 15:33:37 +00:00
"std" ,
"color" ,
2022-09-19 16:54:06 +00:00
"help" ,
2022-09-19 15:43:39 +00:00
"usage" ,
2022-09-19 14:59:04 +00:00
"error-context" ,
2022-05-18 15:33:37 +00:00
"suggestions" ,
2021-11-17 21:12:40 +00:00
]
2023-03-25 01:47:27 +00:00
debug = [ "clap_builder/debug" , "clap_derive?/debug" ] # Enables debug messages
unstable-doc = [ "clap_builder/unstable-doc" , "derive" ] # for docs.rs
2021-11-17 21:12:40 +00:00
# Used in default
2023-03-25 01:47:27 +00:00
std = [ "clap_builder/std" ] # support for no_std in a backwards-compatible way
color = [ "clap_builder/color" ]
help = [ "clap_builder/help" ]
usage = [ "clap_builder/usage" ]
error-context = [ "clap_builder/error-context" ]
suggestions = [ "clap_builder/suggestions" ]
2021-11-17 21:12:40 +00:00
# Optional
2023-03-25 01:47:27 +00:00
deprecated = [ "clap_builder/deprecated" , "clap_derive?/deprecated" ] # Guided experience to prepare for next breaking release (at different stages of development, this may become default)
2023-08-31 17:54:45 +00:00
derive = [ "dep:clap_derive" ]
2023-03-25 01:47:27 +00:00
cargo = [ "clap_builder/cargo" ] # Disable if you're not using Cargo, enables Cargo-env-var-dependent macros
wrap_help = [ "clap_builder/wrap_help" ]
env = [ "clap_builder/env" ] # Use environment variables during arg parsing
unicode = [ "clap_builder/unicode" ] # Support for unicode characters in arguments and help messages
string = [ "clap_builder/string" ] # Allow runtime generated strings
2021-11-17 21:12:40 +00:00
# In-work features
2023-03-25 01:47:27 +00:00
unstable-v5 = [ "clap_builder/unstable-v5" , "clap_derive?/unstable-v5" , "deprecated" ]
2024-08-07 18:56:43 +00:00
unstable-ext = [ "clap_builder/unstable-ext" ]
2024-08-02 13:22:31 +00:00
unstable-styles = [ "clap_builder/unstable-styles" ] # deprecated
2020-02-17 18:14:19 +00:00
2020-03-04 18:31:18 +00:00
[ lib ]
bench = false
2015-09-30 21:14:48 +00:00
[ dependencies ]
2024-08-08 16:09:07 +00:00
clap_builder = { path = "./clap_builder" , version = "=4.5.14" , default-features = false }
2024-07-31 21:26:41 +00:00
clap_derive = { path = "./clap_derive" , version = "=4.5.13" , optional = true }
2015-08-25 21:28:38 +00:00
2016-05-09 01:33:56 +00:00
[ dev-dependencies ]
2024-04-01 00:30:25 +00:00
trybuild = "1.0.91"
2024-05-01 01:04:57 +00:00
rustversion = "1.0.15"
2021-11-10 22:15:30 +00:00
# Cutting out `filesystem` feature
2024-05-24 15:13:50 +00:00
trycmd = { version = "0.15.3" , default-features = false , features = [ "color-auto" , "diff" , "examples" ] }
2023-03-16 11:04:03 +00:00
humantime = "2.1.0"
2024-07-31 20:38:49 +00:00
snapbox = "0.6.16"
2024-02-01 01:26:55 +00:00
shlex = "1.3.0"
2024-04-01 13:58:36 +00:00
automod = "1.0.14"
2024-08-08 15:31:27 +00:00
clap-cargo = { version = "0.14.1" , default-features = false }
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "demo"
required-features = [ "derive" ]
2021-12-15 17:33:10 +00:00
[ [ example ] ]
name = "cargo-example"
2024-08-08 15:31:27 +00:00
required-features = [ "cargo" , "color" ]
2021-12-15 17:33:10 +00:00
[ [ example ] ]
name = "cargo-example-derive"
2024-08-08 15:31:27 +00:00
required-features = [ "derive" , "color" ]
2021-12-15 17:33:10 +00:00
2021-11-30 18:30:19 +00:00
[ [ example ] ]
2021-12-15 17:12:16 +00:00
name = "escaped-positional"
2021-11-30 18:30:19 +00:00
required-features = [ "cargo" ]
[ [ example ] ]
2021-12-15 17:12:16 +00:00
name = "escaped-positional-derive"
2021-11-30 18:30:19 +00:00
required-features = [ "derive" ]
2022-08-15 15:40:20 +00:00
[ [ example ] ]
name = "find"
required-features = [ "cargo" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
2021-12-15 17:12:16 +00:00
name = "git-derive"
2021-11-30 18:30:19 +00:00
required-features = [ "derive" ]
2016-05-09 01:33:56 +00:00
2021-12-08 01:01:55 +00:00
[ [ example ] ]
2022-03-14 14:37:52 +00:00
name = "typed-derive"
2021-12-08 01:01:55 +00:00
required-features = [ "derive" ]
2021-10-12 18:57:32 +00:00
[ [ example ] ]
name = "busybox"
2021-12-15 17:12:16 +00:00
path = "examples/multicall-busybox.rs"
2021-10-12 18:57:32 +00:00
[ [ example ] ]
name = "hostname"
2021-12-15 17:12:16 +00:00
path = "examples/multicall-hostname.rs"
2021-11-23 21:59:56 +00:00
2022-05-02 11:21:52 +00:00
[ [ example ] ]
name = "repl"
path = "examples/repl.rs"
2022-09-19 16:54:06 +00:00
required-features = [ "help" ]
2022-05-02 11:21:52 +00:00
2024-01-23 22:35:15 +00:00
[ [ example ] ]
name = "repl-derive"
path = "examples/repl-derive.rs"
required-features = [ "derive" ]
2021-11-23 21:59:56 +00:00
[ [ example ] ]
2021-11-30 18:30:19 +00:00
name = "01_quick"
path = "examples/tutorial_builder/01_quick.rs"
2021-11-23 21:59:56 +00:00
required-features = [ "cargo" ]
2021-10-12 18:57:32 +00:00
2021-11-30 03:05:42 +00:00
[ [ example ] ]
2021-11-30 18:30:19 +00:00
name = "02_apps"
path = "examples/tutorial_builder/02_apps.rs"
[ [ example ] ]
name = "02_crate"
path = "examples/tutorial_builder/02_crate.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "02_app_settings"
path = "examples/tutorial_builder/02_app_settings.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "03_01_flag_bool"
path = "examples/tutorial_builder/03_01_flag_bool.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "03_01_flag_count"
path = "examples/tutorial_builder/03_01_flag_count.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "03_02_option"
path = "examples/tutorial_builder/03_02_option.rs"
required-features = [ "cargo" ]
2022-08-08 19:32:21 +00:00
[ [ example ] ]
name = "03_02_option_mult"
path = "examples/tutorial_builder/03_02_option_mult.rs"
required-features = [ "cargo" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "03_03_positional"
path = "examples/tutorial_builder/03_03_positional.rs"
required-features = [ "cargo" ]
2022-08-08 19:32:21 +00:00
[ [ example ] ]
name = "03_03_positional_mult"
path = "examples/tutorial_builder/03_03_positional_mult.rs"
required-features = [ "cargo" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "03_04_subcommands"
path = "examples/tutorial_builder/03_04_subcommands.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "03_05_default_values"
path = "examples/tutorial_builder/03_05_default_values.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "04_01_possible"
path = "examples/tutorial_builder/04_01_possible.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "04_01_enum"
path = "examples/tutorial_builder/04_01_enum.rs"
2022-08-08 19:12:44 +00:00
required-features = [ "cargo" ]
2021-11-30 18:30:19 +00:00
2022-02-08 04:50:39 +00:00
[ [ example ] ]
name = "04_02_parse"
path = "examples/tutorial_builder/04_02_parse.rs"
required-features = [ "cargo" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "04_02_validate"
path = "examples/tutorial_builder/04_02_validate.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "04_03_relations"
path = "examples/tutorial_builder/04_03_relations.rs"
required-features = [ "cargo" ]
[ [ example ] ]
name = "04_04_custom"
path = "examples/tutorial_builder/04_04_custom.rs"
required-features = [ "cargo" ]
2021-12-23 14:41:52 +00:00
[ [ example ] ]
name = "05_01_assert"
path = "examples/tutorial_builder/05_01_assert.rs"
required-features = [ "cargo" ]
test = true
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "01_quick_derive"
path = "examples/tutorial_derive/01_quick.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "02_apps_derive"
path = "examples/tutorial_derive/02_apps.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "02_crate_derive"
path = "examples/tutorial_derive/02_crate.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "02_app_settings_derive"
path = "examples/tutorial_derive/02_app_settings.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "03_01_flag_bool_derive"
path = "examples/tutorial_derive/03_01_flag_bool.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "03_01_flag_count_derive"
path = "examples/tutorial_derive/03_01_flag_count.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "03_02_option_derive"
path = "examples/tutorial_derive/03_02_option.rs"
required-features = [ "derive" ]
2022-08-08 19:32:21 +00:00
[ [ example ] ]
name = "03_02_option_mult_derive"
path = "examples/tutorial_derive/03_02_option_mult.rs"
required-features = [ "derive" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "03_03_positional_derive"
path = "examples/tutorial_derive/03_03_positional.rs"
required-features = [ "derive" ]
2022-08-08 19:32:21 +00:00
[ [ example ] ]
name = "03_03_positional_mult_derive"
path = "examples/tutorial_derive/03_03_positional_mult.rs"
required-features = [ "derive" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "03_04_subcommands_derive"
path = "examples/tutorial_derive/03_04_subcommands.rs"
required-features = [ "derive" ]
2022-02-22 14:23:58 +00:00
[ [ example ] ]
name = "03_04_subcommands_alt_derive"
path = "examples/tutorial_derive/03_04_subcommands_alt.rs"
required-features = [ "derive" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "03_05_default_values_derive"
path = "examples/tutorial_derive/03_05_default_values.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "04_01_enum_derive"
path = "examples/tutorial_derive/04_01_enum.rs"
required-features = [ "derive" ]
2022-02-08 04:50:39 +00:00
[ [ example ] ]
name = "04_02_parse_derive"
path = "examples/tutorial_derive/04_02_parse.rs"
required-features = [ "derive" ]
2021-11-30 18:30:19 +00:00
[ [ example ] ]
name = "04_02_validate_derive"
path = "examples/tutorial_derive/04_02_validate.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "04_03_relations_derive"
path = "examples/tutorial_derive/04_03_relations.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "04_04_custom_derive"
path = "examples/tutorial_derive/04_04_custom.rs"
2021-11-30 03:05:42 +00:00
required-features = [ "derive" ]
2021-12-23 14:41:52 +00:00
[ [ example ] ]
name = "05_01_assert_derive"
path = "examples/tutorial_derive/05_01_assert.rs"
required-features = [ "derive" ]
test = true
2022-03-07 20:43:51 +00:00
[ [ example ] ]
name = "interop_augment_args"
path = "examples/derive_ref/augment_args.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "interop_augment_subcommands"
path = "examples/derive_ref/augment_subcommands.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "interop_hand_subcommand"
path = "examples/derive_ref/hand_subcommand.rs"
required-features = [ "derive" ]
[ [ example ] ]
name = "interop_flatten_hand_args"
path = "examples/derive_ref/flatten_hand_args.rs"
required-features = [ "derive" ]
2016-01-26 04:09:34 +00:00
[ profile . test ]
opt-level = 1
[ profile . bench ]
lto = true
2018-02-24 19:05:42 +00:00
codegen-units = 1
2024-05-04 19:59:40 +00:00
2024-03-21 15:46:56 +00:00
[ lints ]
workspace = true