Files
sed/Cargo.toml
T

160 lines
4.4 KiB
TOML
Raw Normal View History

2025-02-01 18:07:27 +01:00
# sed (uutils)
# * see the repository LICENSE, README, and CONTRIBUTING files for more information
# spell-checker:ignore (libs) mangen sed
2025-02-01 18:07:27 +01:00
[package]
name = "sed"
version = "0.1.1"
2025-02-01 18:07:27 +01:00
authors = ["uutils developers"]
license = "MIT"
description = "sed ~ implemented as universal (cross-platform) utils, written in Rust"
2025-12-14 11:04:39 +01:00
default-run = "sed"
2025-02-01 18:07:27 +01:00
homepage = "https://github.com/uutils/sed"
repository = "https://github.com/uutils/sed"
readme = "README.md"
keywords = ["sed", "uutils", "cross-platform", "cli", "utility"]
categories = ["command-line-utilities"]
2025-04-05 14:11:15 +02:00
edition = "2024"
rust-version = "1.88"
2025-02-01 18:07:27 +01:00
build = "build.rs"
[features]
default = ["feat_common_core"]
2025-11-25 08:07:34 +01:00
feat_common_core = ["sed"]
sed = []
2025-02-01 18:07:27 +01:00
[workspace.dependencies]
2025-05-30 18:21:30 +03:00
assert_fs = "1.1.3"
bytesize = "2.0.0"
2025-02-01 18:07:27 +01:00
chrono = { version = "0.4.37", default-features = false, features = [
"clock",
] }
clap = { version = "4.4", features = ["wrap_help", "cargo"] }
clap_complete = "4.5"
clap_mangen = "0.3"
2025-12-14 19:17:47 +01:00
divan = { package = "codspeed-divan-compat", version = "4.0.5" }
fancy-regex = "0.18.0"
2025-12-30 10:56:32 +02:00
hex = "0.4"
2025-02-01 18:07:27 +01:00
libc = "0.2.153"
2025-05-24 12:56:18 +03:00
memchr = "2.7.4"
2025-05-18 08:29:56 +00:00
memmap2 = "0.9"
phf = "0.13.0"
phf_codegen = "0.13.0"
2025-05-30 18:21:30 +03:00
predicates = "3.1.3"
2026-02-09 16:07:25 +01:00
rand = { version = "0.10.0" }
2025-04-05 14:26:15 +02:00
regex = "1.10.4"
2026-03-25 17:28:47 +00:00
sha2 = "0.11"
sysinfo = "0.38"
2025-04-05 14:26:15 +02:00
tempfile = "3.10.1"
terminal_size = "0.4.2"
2026-05-03 11:46:29 +02:00
textwrap = { version = "0.16.1", features = ["terminal_size"] }
uucore = { version = "0.9.0", features = ["libc"] }
2025-04-05 14:26:15 +02:00
xattr = "1.3.1"
2025-02-01 18:07:27 +01:00
2025-05-03 21:34:03 +03:00
2025-02-01 18:07:27 +01:00
[dependencies]
clap = { workspace = true }
clap_complete = { workspace = true }
clap_mangen = { workspace = true }
2025-05-19 10:22:46 +03:00
fancy-regex = { workspace = true }
2025-05-24 12:56:18 +03:00
memchr = { workspace = true }
2025-05-03 21:34:03 +03:00
memmap2.workspace = true
2025-02-01 18:07:27 +01:00
phf = { workspace = true }
2025-05-30 18:21:30 +03:00
predicates = { workspace = true }
2025-11-25 08:07:34 +01:00
regex = { workspace = true }
2025-02-01 18:07:27 +01:00
sysinfo = { workspace = true }
2025-11-25 08:07:34 +01:00
tempfile = { workspace = true }
terminal_size = { workspace = true }
2025-04-05 14:26:15 +02:00
textwrap = { workspace = true }
uucore = { workspace = true }
2025-02-01 18:07:27 +01:00
[dev-dependencies]
2026-04-21 14:27:58 +05:30
assert_fs = { workspace = true }
2025-04-05 14:26:15 +02:00
chrono = { workspace = true }
2026-05-04 02:13:45 +00:00
ctor = "1.0.0"
2025-12-14 19:17:47 +01:00
divan = { workspace = true }
2025-12-30 10:56:32 +02:00
hex = { workspace = true }
2025-04-05 14:26:15 +02:00
libc = { workspace = true }
2025-02-01 18:07:27 +01:00
pretty_assertions = "1"
2025-04-05 14:26:15 +02:00
rand = { workspace = true }
2025-02-01 18:07:27 +01:00
regex = { workspace = true }
2025-12-30 10:56:32 +02:00
sha2 = { workspace = true }
2025-02-01 18:07:27 +01:00
tempfile = { workspace = true }
2025-12-14 19:17:47 +01:00
uucore = { workspace = true, features = ["entries", "process", "signals", "benchmark"] }
uutests = "0.9.0"
2025-02-01 18:07:27 +01:00
[target.'cfg(unix)'.dev-dependencies]
xattr = { workspace = true }
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dev-dependencies]
2026-02-02 08:24:34 +01:00
rlimit = "0.11.0"
2025-02-01 18:07:27 +01:00
[build-dependencies]
phf_codegen = { workspace = true }
2025-11-25 08:07:34 +01:00
[lib]
path = "src/lib.rs"
2025-02-01 18:07:27 +01:00
[[bin]]
2025-12-14 11:04:39 +01:00
name = "sed"
path = "src/bin/sed.rs"
2025-02-01 18:07:27 +01:00
2025-12-14 19:27:09 +01:00
[[bench]]
name = "sed_bench"
harness = false
2025-02-01 18:07:27 +01:00
[profile.release]
lto = true
panic = "abort"
2026-02-14 00:37:29 +09:00
# should be dropped to 1 for binary size without performance drop
2026-05-07 10:30:47 +02:00
codegen-units = 7
2025-02-01 18:07:27 +01:00
# A release-like profile that is as small as possible.
[profile.release-small]
2026-02-14 00:37:29 +09:00
inherits = "release"
2025-02-01 18:07:27 +01:00
opt-level = "z"
strip = true
2025-12-15 22:14:10 +01:00
2025-12-18 09:32:33 +01:00
[lints.clippy]
2026-02-16 16:26:29 +00:00
all = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
# The counts were generated with this command:
# cargo +nightly clippy --all-targets --workspace --message-format=json --quiet \
# | jq -r '.message.code.code | select(. != null and startswith("clippy::"))' \
# | sort | uniq -c | sort -h -r
missing_errors_doc = "allow" # 69
doc_markdown = "allow" # 63
must_use_candidate = "allow" # 56
needless_raw_string_hashes = "allow" # 20
needless_pass_by_value = "allow" # 15
missing_panics_doc = "allow" # 12
cast_possible_truncation = "allow" # 7
unnecessary_wraps = "allow" # 6
match_wildcard_for_single_variants = "allow" # 4
cast_sign_loss = "allow" # 4
cast_possible_wrap = "allow" # 4
uninlined_format_args = "allow" # 3
similar_names = "allow" # 3
used_underscore_binding = "allow" # 2
too_many_lines = "allow" # 2
struct_excessive_bools = "allow" # 2
match_same_arms = "allow" # 2
ignore_without_reason = "allow" # 2
format_push_string = "allow" # 2
should_panic_without_expect = "allow" # 1
many_single_char_names = "allow" # 1
comparison_chain = "allow"
2026-02-16 16:56:23 +00:00
multiple_crate_versions = "allow"
2026-02-16 16:26:29 +00:00
unnested_or_patterns = "allow"
restriction = { level = "allow", priority = -1 }
2025-12-18 09:32:33 +01:00
cognitive_complexity = "warn"
2026-02-16 16:26:29 +00:00
redundant_clone = "warn"