1[package]
2name = "toml_edit"
3version = "0.21.1"
4keywords = ["encoding", "toml"]
5categories = ["encoding", "parser-implementations", "parsing", "config"]
6description = "Yet another format-preserving TOML parser."
7authors = ["Andronik Ordian <write@reusable.software>", "Ed Page <eopage@gmail.com>"]
8autotests = false
9repository.workspace = true
10license.workspace = true
11edition.workspace = true
12rust-version.workspace = true
13include.workspace = true
14
15[package.metadata.docs.rs]
16features = ["serde"]
17rustdoc-args = ["--cfg", "docsrs"]
18
19[package.metadata.release]
20tag-name = "v{{version}}"
21pre-release-replacements = [
22 {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
23 {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
24 {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
25 {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
26 {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/toml-rs/toml/compare/{{tag_name}}...HEAD", exactly=1},
27]
28
29[features]
30default = ["parse", "display"]
31parse = ["dep:winnow"]
32display = []
33perf = ["dep:kstring"]
34serde = ["dep:serde", "toml_datetime/serde", "dep:serde_spanned"]
35# Provide a method disable_recursion_limit to parse arbitrarily deep structures
36# without any consideration for overflowing the stack. Additionally you will
37# need to be careful around other recursive operations on the parsed result
38# which may overflow the stack after deserialization has completed, including,
39# but not limited to, Display and Debug and Drop impls.
40unbounded = []
41
42[dependencies]
43indexmap = { version = "2.0.0", features = ["std"] }
44winnow = { version = "0.5.0", optional = true }
45serde = { version = "1.0.145", optional = true }
46kstring = { version = "2.0.0", features = ["max_inline"], optional = true }
47toml_datetime = { version = "0.6.5", path = "../toml_datetime" }
48serde_spanned = { version = "0.6.5", path = "../serde_spanned", features = ["serde"], optional = true }
49
50[dev-dependencies]
51serde_json = "1.0.96"
52toml-test-harness = "0.4.8"
53toml-test-data = "1.8.0"
54libtest-mimic = "0.6.0"
55snapbox = { version = "0.4.11", features = ["harness"] }
56
57[[test]]
58name = "testsuite"
59required-features = ["parse", "display"]
60
61[[test]]
62name = "decoder_compliance"
63required-features = ["parse"]
64harness = false
65
66[[test]]
67name = "encoder_compliance"
68required-features = ["parse", "display"]
69harness = false
70
71[[test]]
72name = "invalid"
73required-features = ["parse"]
74harness = false
75
76[[example]]
77name = "visit"
78required-features = ["parse", "display"]
79test = true
80