1 | [package] |
2 | name = "toml_edit" |
3 | version = "0.22.8" |
4 | keywords = ["encoding" , "toml" ] |
5 | categories = ["encoding" , "parser-implementations" , "parsing" , "config" ] |
6 | description = "Yet another format-preserving TOML parser." |
7 | authors = ["Andronik Ordian <write@reusable.software>" , "Ed Page <eopage@gmail.com>" ] |
8 | autotests = false |
9 | repository.workspace = true |
10 | license.workspace = true |
11 | edition.workspace = true |
12 | rust-version.workspace = true |
13 | include.workspace = true |
14 | |
15 | [package.metadata.docs.rs] |
16 | features = ["serde" ] |
17 | rustdoc-args = ["--cfg" , "docsrs" ] |
18 | |
19 | [package.metadata.release] |
20 | tag-name = "v{{version}}" |
21 | pre-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] |
30 | default = ["parse" , "display" ] |
31 | parse = ["dep:winnow" ] |
32 | display = [] |
33 | perf = ["dep:kstring" ] |
34 | serde = ["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. |
40 | unbounded = [] |
41 | |
42 | [dependencies] |
43 | indexmap = { version = "2.0.0" , features = ["std" ] } |
44 | winnow = { version = "0.6.0" , optional = true } |
45 | serde = { version = "1.0.145" , optional = true } |
46 | kstring = { version = "2.0.0" , features = ["max_inline" ], optional = true } |
47 | toml_datetime = { version = "0.6.5" , path = "../toml_datetime" } |
48 | serde_spanned = { version = "0.6.5" , path = "../serde_spanned" , features = ["serde" ], optional = true } |
49 | |
50 | [dev-dependencies] |
51 | serde_json = "1.0.114" |
52 | toml-test-harness = "0.4.8" |
53 | toml-test-data = "1.8.0" |
54 | libtest-mimic = "0.7.0" |
55 | snapbox = { version = "0.4.16" , features = ["harness" ] } |
56 | |
57 | [[test]] |
58 | name = "testsuite" |
59 | required-features = ["parse" , "display" ] |
60 | |
61 | [[test]] |
62 | name = "decoder_compliance" |
63 | required-features = ["parse" ] |
64 | harness = false |
65 | |
66 | [[test]] |
67 | name = "encoder_compliance" |
68 | required-features = ["parse" , "display" ] |
69 | harness = false |
70 | |
71 | [[test]] |
72 | name = "invalid" |
73 | required-features = ["parse" ] |
74 | harness = false |
75 | |
76 | [[example]] |
77 | name = "visit" |
78 | required-features = ["parse" , "display" ] |
79 | test = true |
80 | |