# 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 = "2021"
rust-version = "1.65"
name = "annotate-snippets"
version = "0.11.4"
authors = ["Zibi Braniecki <gandalf@mozilla.com>"]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Library for building code annotations"
readme = "README.md"
keywords = [
    "code",
    "analysis",
    "ascii",
    "errors",
    "debug",
]
license = "Apache-2.0/MIT"
repository = "https://github.com/rust-lang/annotate-snippets-rs"

[package.metadata.release]
tag-name = "{{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{version}}"
search = "Unreleased"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "...{{tag_name}}"
search = '\.\.\.HEAD'

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{date}}"
search = "ReleaseDate"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-header -->
## [Unreleased] - ReleaseDate
"""
search = "<!-- next-header -->"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-url -->
[Unreleased]: https://github.com/rust-lang/annotate-snippets-rs/compare/{{tag_name}}...HEAD"""
search = "<!-- next-url -->"

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

[[example]]
name = "expected_type"
path = "examples/expected_type.rs"

[[example]]
name = "footer"
path = "examples/footer.rs"

[[example]]
name = "format"
path = "examples/format.rs"

[[example]]
name = "multislice"
path = "examples/multislice.rs"

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

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

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

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

[dependencies.anstyle]
version = "1.0.4"

[dependencies.unicode-width]
version = "0.1.11"

[dev-dependencies.anstream]
version = "0.6.13"

[dev-dependencies.criterion]
version = "0.5.1"

[dev-dependencies.difference]
version = "2.0.0"

[dev-dependencies.glob]
version = "0.3.1"

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

[dev-dependencies.snapbox]
version = "0.6.0"
features = [
    "diff",
    "term-svg",
    "cmd",
    "examples",
]

[dev-dependencies.toml]
version = "0.5.11"

[dev-dependencies.tryfn]
version = "0.2.1"

[features]
default = []
testing-colors = []

[badges.maintenance]
status = "actively-developed"

[lints.clippy]
bool_assert_comparison = "allow"
branches_sharing_code = "allow"
checked_conversions = "warn"
collapsible_else_if = "allow"
create_dir = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
doc_markdown = "warn"
empty_enum = "warn"
enum_glob_use = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
fallible_impl_from = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
float_cmp_const = "warn"
fn_params_excessive_bools = "warn"
from_iter_instead_of_collect = "warn"
if_same_then_else = "allow"
implicit_clone = "warn"
imprecise_flops = "warn"
inconsistent_struct_constructor = "warn"
inefficient_to_string = "warn"
infinite_loop = "warn"
invalid_upcast_comparisons = "warn"
large_digit_groups = "warn"
large_stack_arrays = "warn"
large_types_passed_by_value = "warn"
let_and_return = "allow"
linkedlist = "warn"
lossy_float_literal = "warn"
macro_use_imports = "warn"
mem_forget = "warn"
mutex_integer = "warn"
needless_continue = "warn"
needless_for_each = "warn"
negative_feature_names = "warn"
path_buf_push_overwrite = "warn"
ptr_as_ptr = "warn"
rc_mutex = "warn"
redundant_feature_names = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
same_functions_in_if_condition = "warn"
self_named_module_files = "warn"
semicolon_if_nothing_returned = "warn"
str_to_string = "warn"
string_add = "warn"
string_add_assign = "warn"
string_lit_as_bytes = "warn"
string_to_string = "warn"
todo = "warn"
trait_duplication_in_bounds = "warn"
verbose_file_reads = "warn"
wildcard_imports = "warn"
zero_sized_map_values = "warn"

[lints.rust]
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"

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