flake-edit 0.3.6

Edit your flake inputs with ease.
Documentation
[package]
name = "flake-edit"
description = "Edit your flake inputs with ease."
version = "0.3.6"
edition = "2024"
keywords = ["nix", "flake", "terminal", "cli"]
categories = ["command-line-utilities"]

authors = ["Alexander Kenji Berthold"]

readme = "README.md"
license = "MIT"
repository = "https://github.com/a-kenji/flake-edit"
documentation = "https://github.com/a-kenji/flake-edit"
homepage = "https://github.com/a-kenji/flake-edit"
include = ["src/**/*", "docs/man/**/*", "LICENSE", "README.md", "build.rs"]

[[bin]]
name = "flake-edit"
required-features = ["application"]

[workspace]
members = ["."]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = ["application"]
application = [
  "clap",
  "write",
  "assets",
  "anyhow",
  "diffy",
  "tracing-subscriber",
  "ratatui",
  "crossterm",
  "nucleo-matcher",
]
write = []
assets = [
  "clap_complete",
  "clap_complete_nushell",
  "clap_mangen",
  "manners",
  "roff",
]

[dependencies]
anyhow = { version = "1.0.102", optional = true }
clap = { version = "4.6.1", optional = true, features = ["derive"] }
color-eyre = { version = "0.6.5", default-features = false, features = [
  "track-caller",
] }
diffy = { version = "0.5.0", optional = true, features = ["std", "color"] }
directories = "6.0.0"
nix-uri = "0.2.0"
ureq = { version = "3", default-features = false, features = ["rustls"] }
rnix = "0.14.0"
ropey = { version = "1.6.1" }
semver = "1.0.28"
serde = { version = "1.0.228", default-features = false, features = [
  "derive",
  "alloc",
] }
serde_json = { version = "1.0.150" }
smallvec = { version = "1.15", features = ["const_generics", "union"] }
toml = "1.1"
thiserror = "2.0.18"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = [
  "time",
  "std",
  "fmt",
  "env-filter",
], optional = true }
ratatui = { version = "0.30.1", optional = true, default-features = false, features = [
  "crossterm",
] }
crossterm = { version = "0.29.0", optional = true, default-features = false }
nucleo-matcher = { version = "0.3", optional = true }


[build-dependencies]
clap = { version = "4.6.1", features = ["derive"], optional = true }
clap_complete = { version = "4.6.5", features = [], optional = true }
clap_complete_nushell = { version = "4.6.0", optional = true }
clap_mangen = { version = "0.3.0", features = [], optional = true }
manners = { version = "0.1", optional = true }
roff = { version = "1.1.1", optional = true }

[[bench]]
name = "benches"
path = "benches/benches.rs"
harness = false

[[bench]]
name = "divan"
path = "benches/divan.rs"
harness = false

[profile.release]
lto = true
codegen-units = 1
opt-level = 'z'
strip = true
panic = "abort"

[profile.dev]
incremental = true
lto = "thin"
# Set this to 1 or 2 to get more useful backtraces in debugger.
debug = false

[profile.dev.package.insta]
opt-level = 3

[profile.dev.package.similar]
opt-level = 3

[profile.dev.package.backtrace]
opt-level = 3

[dev-dependencies]
criterion = "0.8.2"
divan = "0.1.21"
insta = { version = "1.47.2", features = ["yaml", "filters", "redactions"] }
insta-cmd = "0.6"
rstest = "0.26"
tempfile = "3"

[lints.rust]
unsafe_code = "deny"
unused_extern_crates = "warn"
unreachable_pub = "warn"

[lints.clippy]
allow_attributes = "warn"
dbg_macro = "warn"
exit = "deny"
todo = "warn"
unimplemented = "warn"
mem_forget = "warn"
rc_mutex = "warn"
unchecked_time_subtraction = "warn"
float_cmp = "warn"
filetype_is_file = "warn"
clone_on_ref_ptr = "warn"
if_then_some_else_none = "warn"
tabs_in_doc_comments = "warn"

[lints.rustdoc]
bare_urls = "warn"