confab 0.3.1

Asynchronous line-oriented interactive TCP client
[build-dependencies.anyhow]
version = "1.0.75"

[build-dependencies.cargo_metadata]
version = "0.18.1"

[build-dependencies.semver]
version = "1.0.20"

[build-dependencies.time]
default-features = false
features = ["std", "formatting"]
version = "0.3.30"
[dependencies.anyhow]
version = "1.0.75"

[dependencies.async-stream]
version = "0.3.5"

[dependencies.bytes]
version = "1.5.0"

[dependencies.cfg-if]
version = "1.0.0"

[dependencies.clap]
default-features = false
features = ["derive", "error-context", "help", "std", "suggestions", "usage", "wrap_help"]
version = "4.4.10"

[dependencies.crossterm]
version = "0.27.0"

[dependencies.futures-util]
default-features = false
features = ["sink"]
version = "0.3.29"

[dependencies.itertools]
version = "0.12.0"

[dependencies.openssl]
optional = true
version = "0.10.60"

[dependencies.pin-project-lite]
version = "0.2.13"

[dependencies.rustls-native-certs]
optional = true
version = "0.7.0"

[dependencies.rustls-pki-types]
optional = true
version = "1.0.1"

[dependencies.rustyline-async]
version = "0.4.1"

[dependencies.thiserror]
version = "1.0.50"

[dependencies.time]
default-features = false
features = ["std", "local-offset", "macros", "formatting"]
version = "0.3.30"

[dependencies.tokio]
features = ["fs", "io-util", "macros", "net", "rt", "time"]
version = "1.35.0"

[dependencies.tokio-native-tls]
optional = true
version = "0.3.1"

[dependencies.tokio-rustls]
optional = true
version = "0.25.0"

[dependencies.tokio-util]
features = ["codec"]
version = "0.7.10"

[dependencies.unicode-general-category]
version = "0.6.0"
[dev-dependencies.assert_matches]
version = "1.5.0"

[dev-dependencies.expectrl]
features = ["async"]
version = "0.7.1"

[dev-dependencies.regex]
version = "1.8.1"

[dev-dependencies.rstest]
default-features = false
version = "0.18.2"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0.193"

[dev-dependencies.serde-jsonlines]
version = "0.5.0"

[dev-dependencies.serde_json]
version = "1.0.108"

[dev-dependencies.tempfile]
version = "3.8.1"

[dev-dependencies.time]
default-features = false
features = ["serde", "parsing"]
version = "0.3.30"

[dev-dependencies.tokio]
features = ["sync"]
version = "1.35.0"

[dev-dependencies.tokio-stream]
features = ["time"]
version = "0.1.14"

[features]
default = ["rustls"]
native = ["dep:tokio-native-tls"]
rustls = ["dep:tokio-rustls", "dep:rustls-native-certs", "dep:rustls-pki-types"]
vendored-openssl = ["native", "openssl/vendored"]
[lints.clippy]
all = "deny"
as_underscore = "deny"
bool_to_int_with_if = "deny"
borrow_as_ptr = "deny"
cast_possible_truncation = "deny"
cast_possible_wrap = "deny"
cast_precision_loss = "deny"
cast_ptr_alignment = "deny"
cast_sign_loss = "deny"
checked_conversions = "deny"
clear_with_drain = "deny"
cloned_instead_of_copied = "deny"
collection_is_never_read = "deny"
copy_iterator = "deny"
dbg_macro = "warn"
debug_assert_with_mut_call = "deny"
default_trait_access = "deny"
derive_partial_eq_without_eq = "deny"
doc_link_with_quotes = "deny"
doc_markdown = "deny"
empty_line_after_doc_comments = "deny"
empty_line_after_outer_attr = "deny"
empty_structs_with_brackets = "deny"
equatable_if_let = "deny"
exit = "deny"
explicit_into_iter_loop = "deny"
explicit_iter_loop = "deny"
filter_map_next = "deny"
flat_map_option = "deny"
float_cmp = "deny"
float_cmp_const = "deny"
fn_to_numeric_cast_any = "deny"
format_push_string = "deny"
future_not_send = "deny"
get_unwrap = "deny"
if_then_some_else_none = "deny"
ignored_unit_patterns = "deny"
impl_trait_in_params = "deny"
implicit_clone = "deny"
implied_bounds_in_impls = "deny"
imprecise_flops = "deny"
index_refutable_slice = "deny"
invalid_upcast_comparisons = "deny"
items_after_statements = "deny"
iter_not_returning_iterator = "deny"
iter_with_drain = "deny"
large_futures = "deny"
large_types_passed_by_value = "deny"
linkedlist = "deny"
lossy_float_literal = "deny"
manual_assert = "deny"
manual_clamp = "deny"
manual_instant_elapsed = "deny"
manual_let_else = "deny"
manual_ok_or = "deny"
manual_string_new = "deny"
map_unwrap_or = "deny"
match_bool = "deny"
match_wild_err_arm = "deny"
mem_forget = "deny"
mismatching_type_param_order = "deny"
missing_assert_message = "deny"
missing_asserts_for_indexing = "deny"
missing_panics_doc = "deny"
missing_safety_doc = "deny"
mixed_read_write_in_expression = "deny"
mut_mut = "deny"
needless_bitwise_bool = "deny"
needless_collect = "deny"
needless_for_each = "deny"
needless_pass_by_ref_mut = "deny"
needless_raw_string_hashes = "deny"
needless_raw_strings = "deny"
negative_feature_names = "deny"
or_fun_call = "deny"
path_buf_push_overwrite = "deny"
pub_without_shorthand = "deny"
range_minus_one = "deny"
range_plus_one = "deny"
rc_buffer = "deny"
rc_mutex = "deny"
read_zero_byte_vec = "deny"
readonly_write_lock = "deny"
redundant_clone = "deny"
redundant_closure_for_method_calls = "deny"
redundant_feature_names = "deny"
ref_binding_to_reference = "deny"
rest_pat_in_fully_bound_structs = "deny"
same_functions_in_if_condition = "deny"
semicolon_if_nothing_returned = "deny"
should_panic_without_expect = "deny"
single_match_else = "deny"
stable_sort_primitive = "deny"
string_add_assign = "deny"
string_lit_as_bytes = "deny"
string_lit_chars_any = "deny"
string_to_string = "deny"
suboptimal_flops = "deny"
todo = "warn"
trailing_empty_array = "deny"
trait_duplication_in_bounds = "deny"
trivial_regex = "deny"
try_err = "deny"
type_repetition_in_bounds = "deny"
unchecked_duration_subtraction = "deny"
undocumented_unsafe_blocks = "deny"
unicode_not_nfc = "deny"
unimplemented = "warn"
uninlined_format_args = "deny"
unnecessary_join = "deny"
unnecessary_safety_comment = "deny"
unnecessary_safety_doc = "deny"
unnecessary_self_imports = "deny"
unnecessary_struct_initialization = "deny"
unnecessary_wraps = "deny"
unneeded_field_pattern = "deny"
unnested_or_patterns = "deny"
unused_async = "deny"
unused_peekable = "deny"
unused_rounding = "deny"
unwrap_used = "deny"
used_underscore_binding = "deny"
wildcard_dependencies = "deny"
zero_sized_map_values = "deny"

[lints.rust]
ambiguous_glob_reexports = "deny"
bad_asm_style = "deny"
break_with_label_and_loop = "deny"
clashing_extern_declarations = "deny"
confusable_idents = "deny"
const_item_mutation = "deny"
deprecated = "deny"
deprecated_where_clause_location = "deny"
deref_nullptr = "deny"
drop_bounds = "deny"
dropping_copy_types = "deny"
dropping_references = "deny"
duplicate_macro_attributes = "deny"
dyn_drop = "deny"
exported_private_dependencies = "deny"
for_loops_over_fallibles = "deny"
forgetting_copy_types = "deny"
forgetting_references = "deny"
function_item_references = "deny"
future_incompatible = "deny"
hidden_glob_reexports = "deny"
improper_ctypes = "deny"
improper_ctypes_definitions = "deny"
inline_no_sanitize = "deny"
internal_features = "deny"
invalid_from_utf8 = "deny"
invalid_macro_export_arguments = "deny"
invalid_nan_comparisons = "deny"
invalid_value = "deny"
irrefutable_let_patterns = "deny"
macro_use_extern_crate = "deny"
missing_debug_implementations = "deny"
mixed_script_confusables = "deny"
named_arguments_used_positionally = "deny"
no_mangle_generic_items = "deny"
non_fmt_panics = "deny"
non_shorthand_field_patterns = "deny"
noop_method_call = "deny"
opaque_hidden_inferred_bound = "deny"
overlapping_range_endpoints = "deny"
pointer_structural_match = "deny"
private_bounds = "deny"
private_interfaces = "deny"
refining_impl_trait = "deny"
renamed_and_removed_lints = "deny"
rust_2018_idioms = "deny"
single_use_lifetimes = "deny"
special_module_name = "deny"
stable_features = "deny"
suspicious_double_ref_op = "deny"
temporary_cstring_as_ptr = "deny"
trivial_bounds = "deny"
trivial_casts = "deny"
type_alias_bounds = "deny"
unconditional_recursion = "deny"
undefined_naked_function_abi = "deny"
ungated_async_fn_track_caller = "deny"
unknown_lints = "deny"
unreachable_pub = "deny"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unused_associated_type_bounds = "deny"
unused_comparisons = "deny"
unused_import_braces = "deny"
unused_lifetimes = "deny"
unused_qualifications = "deny"
unused_tuple_struct_fields = "deny"
useless_ptr_null_checks = "deny"
while_true = "deny"

[lints.rust.dead_code]
level = "warn"
priority = 5

[lints.rust.unused]
level = "deny"
priority = 0

[package]
authors = ["John Thorvald Wodder II <confab@varonathe.org>"]
categories = ["command-line-utilities", "network-programming"]
description = "Asynchronous line-oriented interactive TCP client"
documentation = "https://github.com/jwodder/confab"
edition = "2021"
exclude = ["/.*"]
keywords = ["tcp", "client", "chat"]
license = "MIT"
name = "confab"
readme = "README.md"
repository = "https://github.com/jwodder/confab"
rust-version = "1.70"
version = "0.3.1"
[profile.dist]
inherits = "release"

[profile.release]
lto = true
strip = true