archmeld 0.1.4

Secure, memory-safe, type-safe CLI for multi-format archive extraction, inspection and decompression
Documentation
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: 2025,2026 ndaal Gesellschaft für Sicherheit in der Informationstechnik mbH & Co KG, Cologne
# rustfmt.toml — ndaal linting configuration
# Files and directories excluded from linting
# Reference: https://rust-lang.github.io/rustfmt/

# ---------------------------------------------------------------------------
# Rust edition — must match Cargo.toml [package] edition
# ---------------------------------------------------------------------------
edition = "2021"

# ---------------------------------------------------------------------------
# Line length
# ---------------------------------------------------------------------------
max_width       = 100   # hard ceiling; rustfmt wraps/breaks at this width
comment_width   = 80    # soft limit for comment reflow
wrap_comments   = true  # reflow overlong doc/inline comments

# ---------------------------------------------------------------------------
# Imports — deterministic, grouped, sorted
# ---------------------------------------------------------------------------
imports_granularity = "Module"   # merge imports at the module level
group_imports       = "StdExternalCrate"  # std → external → crate
reorder_imports     = true
reorder_modules     = true

# ---------------------------------------------------------------------------
# Braces & blocks
# ---------------------------------------------------------------------------
brace_style            = "SameLineWhere"  # K&R style
control_brace_style    = "AlwaysSameLine"
trailing_comma         = "Vertical"       # trailing comma in multi-line contexts
match_block_trailing_comma = true

# ---------------------------------------------------------------------------
# Functions & closures
# ---------------------------------------------------------------------------
fn_args_layout          = "Tall"     # one arg per line when it doesn't fit
fn_single_line          = false      # never collapse a fn body to one line
force_explicit_abi      = true       # always write extern "C" not extern

# ---------------------------------------------------------------------------
# Strings & literals
# ---------------------------------------------------------------------------
format_strings          = false      # do not reformat string contents
format_macro_matchers   = true

# ---------------------------------------------------------------------------
# Types
# ---------------------------------------------------------------------------
use_field_init_shorthand = true      # struct Foo { x } instead of Foo { x: x }
use_try_shorthand        = true      # ? instead of try!()
normalize_doc_attributes = true      # /// over #[doc = "..."]

# ---------------------------------------------------------------------------
# Security / hygiene
# ---------------------------------------------------------------------------
remove_nested_parens    = true
merge_derives           = true       # collapse consecutive #[derive(...)]