# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.91"
name = "mdwright"
version = "0.1.0"
authors = ["Jacob Reinhold <jcreinhold@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Command-line delivery for mdwright"
readme = "README.md"
keywords = [
    "documentation",
    "linter",
    "markdown",
    "math",
]
categories = [
    "command-line-utilities",
    "text-processing",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/jcreinhold/mdwright"

[package.metadata.binstall]
bin-dir = "mdwright-{ target }/mdwright"
pkg-fmt = "txz"
pkg-url = "{ repo }/releases/download/v{ version }/mdwright-{ target }.tar.xz"

[lib]
name = "mdwright"
path = "src/lib.rs"

[[bin]]
name = "mdwright"
path = "src/bin/mdwright.rs"

[[test]]
name = "cli_default_paths"
path = "tests/cli_default_paths.rs"

[[test]]
name = "cli_docs_in_sync"
path = "tests/cli_docs_in_sync.rs"

[[test]]
name = "cli_render"
path = "tests/cli_render.rs"

[[test]]
name = "cli_usability"
path = "tests/cli_usability.rs"

[[test]]
name = "config"
path = "tests/config.rs"

[[test]]
name = "config_discovery"
path = "tests/config_discovery.rs"

[[test]]
name = "config_docs_in_sync"
path = "tests/config_docs_in_sync.rs"

[[test]]
name = "corpus_walk"
path = "tests/corpus_walk.rs"

[[test]]
name = "dependency_fences"
path = "tests/dependency_fences.rs"

[[test]]
name = "diagnostic_json_v2"
path = "tests/diagnostic_json_v2.rs"

[[test]]
name = "diagnostic_pretty_snapshot"
path = "tests/diagnostic_pretty_snapshot.rs"

[[test]]
name = "discover_symlink_loop"
path = "tests/discover_symlink_loop.rs"

[[test]]
name = "docs_examples"
path = "tests/docs_examples.rs"

[[test]]
name = "downstream_integration"
path = "tests/downstream_integration.rs"

[[test]]
name = "extending_example"
path = "tests/extending_example.rs"

[[test]]
name = "extension_parity"
path = "tests/extension_parity.rs"

[[test]]
name = "external_corpora"
path = "tests/external_corpora.rs"

[[test]]
name = "formatter_rewrite_boundary"
path = "tests/formatter_rewrite_boundary.rs"

[[test]]
name = "gfm_autolinks"
path = "tests/gfm_autolinks.rs"

[[test]]
name = "gfm_spec"
path = "tests/gfm_spec.rs"

[[test]]
name = "golden_admonitions"
path = "tests/golden_admonitions.rs"

[[test]]
name = "golden_block"
path = "tests/golden_block.rs"

[[test]]
name = "golden_footnotes"
path = "tests/golden_footnotes.rs"

[[test]]
name = "golden_frontmatter"
path = "tests/golden_frontmatter.rs"

[[test]]
name = "golden_inline"
path = "tests/golden_inline.rs"

[[test]]
name = "golden_math"
path = "tests/golden_math.rs"

[[test]]
name = "golden_math_composition"
path = "tests/golden_math_composition.rs"

[[test]]
name = "golden_wrap"
path = "tests/golden_wrap.rs"

[[test]]
name = "idempotence_smoke"
path = "tests/idempotence_smoke.rs"

[[test]]
name = "integration_versions_in_sync"
path = "tests/integration_versions_in_sync.rs"

[[test]]
name = "known_issues"
path = "tests/known_issues.rs"

[[test]]
name = "mdformat_parity_fixtures"
path = "tests/mdformat_parity_fixtures.rs"

[[test]]
name = "parser_boundary"
path = "tests/parser_boundary.rs"

[[test]]
name = "properties"
path = "tests/properties.rs"

[[test]]
name = "pulldown_model"
path = "tests/pulldown_model.rs"

[[test]]
name = "regressions"
path = "tests/regressions.rs"

[[test]]
name = "regressions_heading_attrs"
path = "tests/regressions_heading_attrs.rs"

[[test]]
name = "regressions_math_render"
path = "tests/regressions_math_render.rs"

[[test]]
name = "render_profile"
path = "tests/render_profile.rs"

[[test]]
name = "rule_docs_in_sync"
path = "tests/rule_docs_in_sync.rs"

[[test]]
name = "suppression"
path = "tests/suppression.rs"

[[test]]
name = "tree_smoke"
path = "tests/tree_smoke.rs"

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

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

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

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

[dependencies.anyhow]
version = "1"

[dependencies.clap]
version = "4"
features = [
    "color",
    "derive",
]

[dependencies.ignore]
version = "0.4"

[dependencies.mdwright-config]
version = "0.1.0"

[dependencies.mdwright-document]
version = "0.1.0"

[dependencies.mdwright-format]
version = "0.1.0"

[dependencies.mdwright-latex]
version = "0.1.0"

[dependencies.mdwright-lint]
version = "0.1.0"

[dependencies.mdwright-lsp]
version = "0.1.0"

[dependencies.mdwright-math]
version = "0.1.0"

[dependencies.opener]
version = "0.8"

[dependencies.owo-colors]
version = "4"

[dependencies.pulldown-cmark]
version = "0.13"
features = [
    "html",
    "simd",
]
default-features = false

[dependencies.rayon]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.similar]
version = "3"

[dependencies.strsim]
version = "0.11"

[dependencies.syntect]
version = "5"
features = ["default-fancy"]
default-features = false

[dependencies.tempfile]
version = "3"

[dependencies.tokio]
version = "1"
features = [
    "io-std",
    "macros",
    "rt-multi-thread",
    "sync",
    "time",
]
default-features = false

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "ansi",
    "env-filter",
    "fmt",
    "smallvec",
    "tracing-log",
]
default-features = false

[dev-dependencies.anyhow]
version = "1"

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.mdwright-lsp]
version = "0.1.0"

[dev-dependencies.proptest]
version = "1.11.0"

[dev-dependencies.pulldown-cmark]
version = "0.13"
features = [
    "html",
    "simd",
]
default-features = false

[dev-dependencies.rayon]
version = "1"

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

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

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

[dev-dependencies.tokio]
version = "1"
features = [
    "io-std",
    "macros",
    "rt-multi-thread",
    "sync",
    "time",
]
default-features = false

[dev-dependencies.toml]
version = "1"
features = [
    "parse",
    "serde",
    "std",
]
default-features = false

[dev-dependencies.tracing]
version = "0.1"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "ansi",
    "env-filter",
    "fmt",
    "smallvec",
    "tracing-log",
]
default-features = false

[dev-dependencies.walkdir]
version = "2"

[lints.clippy]
arithmetic_side_effects = "deny"
blanket_clippy_restriction_lints = "warn"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
clone_on_ref_ptr = "warn"
disallowed_methods = "deny"
disallowed_types = "deny"
exit = "warn"
expect_used = "deny"
float_arithmetic = "allow"
get_unwrap = "warn"
implicit_clone = "warn"
indexing_slicing = "deny"
inefficient_to_string = "warn"
items_after_statements = "allow"
large_stack_arrays = "warn"
lint_groups_priority = "warn"
manual_memcpy = "warn"
map_flatten = "warn"
map_unwrap_or = "warn"
match_same_arms = "allow"
mem_forget = "deny"
missing_const_for_fn = "allow"
missing_docs_in_private_items = "allow"
missing_errors_doc = "warn"
missing_panics_doc = "warn"
missing_safety_doc = "warn"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
mutex_integer = "warn"
needless_collect = "warn"
option_if_let_else = "allow"
panic = "deny"
ptr_as_ptr = "warn"
rc_mutex = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "allow"
redundant_pub_crate = "allow"
similar_names = "allow"
single_match_else = "allow"
todo = "warn"
too_many_arguments = "allow"
too_many_lines = "allow"
type_complexity = "allow"
unimplemented = "warn"
unnecessary_literal_bound = "allow"
unnecessary_wraps = "allow"
unreachable = "warn"
unwrap_in_result = "warn"
unwrap_used = "deny"
wildcard_enum_match_arm = "warn"

[lints.clippy.all]
level = "warn"
priority = -10

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.complexity]
level = "warn"
priority = -9

[lints.clippy.correctness]
level = "warn"
priority = -8

[lints.clippy.nursery]
level = "warn"
priority = -5

[lints.clippy.pedantic]
level = "warn"
priority = -4

[lints.clippy.perf]
level = "warn"
priority = -6

[lints.clippy.style]
level = "warn"
priority = -3

[lints.clippy.suspicious]
level = "warn"
priority = -7

[lints.rust]
future-incompatible = "warn"
let-underscore = "warn"
nonstandard-style = "warn"
redundant_lifetimes = "warn"
rust-2018-idioms = "warn"
rust-2024-compatibility = "deny"
single_use_lifetimes = "warn"
trivial_casts = "warn"
unreachable_pub = "warn"
unsafe-code = "forbid"

[lints.rust.unused]
level = "warn"
priority = -1
