[package]
name = "augur"
version = "0.9.2"
authors = ["Marco Ivaldi <raptor@0xdeadbeef.info>"]
edition = "2024"
description = "Reverse engineering assistant that extracts strings and related pseudocode from a binary file."
homepage = "https://0xdeadbeef.info/"
repository = "https://github.com/0xdea/augur"
documentation = "https://0xdeadbeef.info/augur/augur/"
license = "MIT"
keywords = ["reverse-engineering", "binary-file", "vuln-dev", "ida", "idalib"]
categories = ["security", "command-line-utilities"]
exclude = [
    ".cargo/*",
    ".github/*",
    ".img/*",
    ".gitignore",
    ".taplo.toml",
    "tests/*",
    "ida-plugin.json",
    "ida-plugin-stub.py",
]

[dependencies]
idalib = "0.9"
haruspex = "0.9"
anyhow = "1.0"

[build-dependencies]
idalib-build = "0.9"

[dev-dependencies]
walkdir = "2.5"

[[test]]
name = "tests"
path = "tests/main.rs"
harness = false

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

[profile.dev]
debug = false

[lints]
workspace = true

[workspace.lints.rust]
missing_docs = { level = "warn" }

[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
# enable some restriction lints
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
todo = "warn"
unimplemented = "warn"
unreachable = "warn"
dbg_macro = "warn"
#use_debug = "warn"
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
missing_assert_message = "warn"
unused_result_ok = "warn"
let_underscore_must_use = "warn"
map_err_ignore = "warn"
assertions_on_result_states = "warn"
exhaustive_enums = "warn"
exhaustive_structs = "warn"
partial_pub_fields = "warn"
redundant_type_annotations = "warn"
str_to_string = "warn"
create_dir = "warn"
verbose_file_reads = "warn"
multiple_inherent_impl = "warn"
renamed_function_params = "warn"
unused_trait_names = "warn"
self_named_module_files = "warn"
tests_outside_test_module = "warn"
needless_raw_strings = "warn"
unseparated_literal_suffix = "warn"
semicolon_inside_block = "warn"
missing_docs_in_private_items = "warn"
undocumented_unsafe_blocks = "warn"
unnecessary_safety_comment = "warn"
unnecessary_safety_doc = "warn"
multiple_unsafe_ops_per_block = "warn"
mem_forget = "warn"
rc_mutex = "warn"
# allow some lints
multiple_crate_versions = "allow"
significant_drop_tightening = "allow"
