diff --git a/Cargo.lock b/Cargo.lock index 940831c..a2d1849 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,36 +1,36 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ "gimli", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", "cfg-if", @@ -38,7 +38,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-link", ] [[package]] @@ -50,45 +50,26 @@ dependencies = [ "backtrace", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "beef" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" - [[package]] name = "bitflags" -version = "1.3.2" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "console" -version = "0.15.10" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" +checksum = "4fe5f465a4f6fee88fad41b85d990f84c835335e85b5d9e6e63e0d06d28cba7c" dependencies = [ "encode_unicode", "libc", - "once_cell", "windows-sys", ] @@ -100,14 +81,20 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", "windows-sys", ] +[[package]] +name = "fastrand" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" + [[package]] name = "fnv" version = "1.0.7" @@ -115,24 +102,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "gimli" -version = "0.31.1" +name = "getrandom" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi", +] + +[[package]] +name = "gimli" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "insta" -version = "1.42.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71c1b125e30d93896b365e156c33dadfffab45ee8400afcbba4752f59de08a86" +checksum = "86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82" dependencies = [ "console", - "linked-hash-map", "once_cell", - "pin-project", - "ron", "serde", "similar", + "tempfile", ] [[package]] @@ -141,59 +137,46 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - [[package]] name = "libc" -version = "0.2.170" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "linux-raw-sys" -version = "0.4.15" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "logos" -version = "0.14.4" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7251356ef8cb7aec833ddf598c6cb24d17b689d20b993f9d11a3d764e34e6458" +checksum = "eb2c55a318a87600ea870ff8c2012148b44bf18b74fad48d0f835c38c7d07c5f" dependencies = [ "logos-derive", ] [[package]] name = "logos-codegen" -version = "0.14.4" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59f80069600c0d66734f5ff52cc42f2dabd6b29d205f333d61fd7832e9e9963f" +checksum = "58b3ffaa284e1350d017a57d04ada118c4583cf260c8fb01e0fe28a2e9cf8970" dependencies = [ - "beef", "fnv", - "lazy_static", "proc-macro2", "quote", + "regex-automata", "regex-syntax", "syn", ] [[package]] name = "logos-derive" -version = "0.14.4" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fb722b06a9dc12adb0963ed585f19fc61dc5413e6a9be9422ef92c091e731d" +checksum = "52d3a9855747c17eaf4383823f135220716ab49bea5fbea7dd42cc9a92f8aa31" dependencies = [ "logos-codegen", ] @@ -206,15 +189,15 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "miette" -version = "7.5.0" +version = "7.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a955165f87b37fd1862df2a59547ac542c77ef6d17c666f619d1ad22dd89484" +checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" dependencies = [ "backtrace", "backtrace-ext", @@ -226,15 +209,14 @@ dependencies = [ "supports-unicode", "terminal_size", "textwrap", - "thiserror 1.0.69", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] name = "miette-derive" -version = "7.5.0" +version = "7.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf45bf44ab49be92fd1227a3be6fc6f617f1a337c06af54981048574d8783147" +checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" dependencies = [ "proc-macro2", "quote", @@ -243,39 +225,39 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "object" -version = "0.36.7" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.20.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "owo-colors" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1036865bb9422d3300cf723f657c2851d0e9ab12567854b1f4eba3d77decf564" +checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d" [[package]] name = "parse-display" -version = "0.9.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914a1c2265c98e2446911282c6ac86d8524f495792c38c5bd884f80499c7538a" +checksum = "e78deb158fb1d73b29efb4b7e9b9860b78059c670de06bd28df8d0b458ded0eb" dependencies = [ "parse-display-derive", "regex", @@ -284,9 +266,9 @@ dependencies = [ [[package]] name = "parse-display-derive" -version = "0.9.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ae7800a4c974efd12df917266338e79a7a74415173caf7e70aa0a0707345281" +checksum = "8e95a50d1084dab562913062c4c34bb204b68fc6ec38a1395909ff5aaaf4f10a" dependencies = [ "proc-macro2", "quote", @@ -296,49 +278,35 @@ dependencies = [ "syn", ] -[[package]] -name = "pin-project" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "proc-macro2" -version = "1.0.93" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.38" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" dependencies = [ "proc-macro2", ] [[package]] -name = "regex" -version = "1.11.1" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "regex" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a0e75113e14dc5acb068cd0786884f214f1312650a3d36d269f5c4f3cdee8a2" dependencies = [ "aho-corasick", "memchr", @@ -348,9 +316,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "1f388202e4b80542a0921078cc23b6333bcf1409c1e3f86404cae4766a6131db" dependencies = [ "aho-corasick", "memchr", @@ -359,34 +327,23 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "ron" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" -dependencies = [ - "base64", - "bitflags 1.3.2", - "serde", -] +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b74b56ffa8bb2830709a538c2cbcae9aa062db0d2a42563bfb09bdaae44020eb" [[package]] name = "rustix" -version = "0.38.44" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.8.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -472,9 +429,9 @@ dependencies = [ [[package]] name = "supports-hyperlinks" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b" +checksum = "e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91" [[package]] name = "supports-unicode" @@ -484,9 +441,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" -version = "2.0.98" +version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" +checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" dependencies = [ "proc-macro2", "quote", @@ -494,10 +451,23 @@ dependencies = [ ] [[package]] -name = "terminal_size" -version = "0.4.1" +name = "tempfile" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom", + "once_cell", + "rustix", + "windows-sys", +] + +[[package]] +name = "terminal_size" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" dependencies = [ "rustix", "windows-sys", @@ -538,48 +508,28 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" dependencies = [ "unicode-linebreak", - "unicode-width", + "unicode-width 0.2.2", ] [[package]] name = "thiserror" -version = "1.0.69" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" -dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.69" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -588,9 +538,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.17" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" @@ -604,9 +554,15 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +[[package]] +name = "unicode-width" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" + [[package]] name = "vdf-reader" -version = "0.3.3" +version = "0.3.4" dependencies = [ "insta", "logos", @@ -616,7 +572,7 @@ dependencies = [ "serde", "serde_core", "test-case", - "thiserror 2.0.11", + "thiserror", "walkdir", ] @@ -632,82 +588,24 @@ dependencies = [ [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ "windows-sys", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-targets", + "windows-link", ] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/Cargo.toml b/Cargo.toml index d5dc133..4f32c15 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,23 +1,23 @@ [package] name = "vdf-reader" -version = "0.3.3" -edition = "2021" +version = "0.3.4" +edition = "2024" description = "Rust parser for valve vdf files." license = "MIT" repository = "https://codeberg.org/icewind/vdf-reader" -rust-version = "1.70.0" +rust-version = "1.86.0" [dependencies] -logos = "0.14.0" +logos = "0.16.1" thiserror = "2.0.11" miette = "7.5.0" -parse-display = "0.9.0" +parse-display = "0.11.0" serde_core = "1.0.228" [dev-dependencies] test-case = "3.3.1" -insta = { version = "1.38.0", features = ["ron"] } +insta = { version = "1.38.0", features = ["json"] } miette = { version = "7.2.0", features = ["fancy"] } walkdir = "2.5.0" maplit = "1.0.2" -serde = { version = "1.0.228", features = ["derive"] } \ No newline at end of file +serde = { version = "1.0.228", features = ["derive"] } diff --git a/flake.lock b/flake.lock index cbdae2a..471a8ab 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "crane": { "locked": { - "lastModified": 1763938834, - "narHash": "sha256-j8iB0Yr4zAvQLueCZ5abxfk6fnG/SJ5JnGUziETjwfg=", + "lastModified": 1780099841, + "narHash": "sha256-EVZd2RsbpreRUDSi9rBwPY+ZxoyMaiEBbZxxhljbaS4=", "owner": "ipetkov", "repo": "crane", - "rev": "d9e753122e51cee64eb8d2dddfe11148f339f5a2", + "rev": "0532eb17955225173906d671fb36306bdeb1e2dc", "type": "github" }, "original": { @@ -22,11 +22,11 @@ ] }, "locked": { - "lastModified": 1767012911, - "narHash": "sha256-+olVAh2dL9mg7C94bMYFpfzqaplHVigtUSpszS86xDM=", + "lastModified": 1783352529, + "narHash": "sha256-FZDPaZdAAjFbJWR/BoWCCVYB16WV0b472vhUPlQawh0=", "owner": "nix-community", "repo": "flakelight", - "rev": "1eb3dee6b0dfbae9d0cb0c139a816ea62c5aa7ca", + "rev": "da36ab2f725feb14b287ff1d6d56f6fc8ce6be5a", "type": "github" }, "original": { @@ -44,11 +44,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1764619631, - "narHash": "sha256-WojMP5S9qLmOLecEQ+7+yc33Ly1ydoRsODNG6hlLqiQ=", + "lastModified": 1780231986, + "narHash": "sha256-OyafczPtzE0Xa2zl3j/KvV2+ZVYGhYQHt0MOVWtDXlY=", "ref": "refs/heads/main", - "rev": "0fae557bf52d8493840aca52d433c473ecc305ef", - "revCount": 67, + "rev": "f5cbda29b945df03256bf63c22fa4cd5fa429e67", + "revCount": 72, "type": "git", "url": "https://codeberg.org/icewind/mill-scale" }, @@ -59,16 +59,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1767325753, - "narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=", + "lastModified": 1783703440, + "narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "64049ca74d63e971b627b5f3178d95642e61cedd", + "rev": "8f0500b9660505dc3cb647775fe9a978a74b5283", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-25.11", + "ref": "nixos-26.05", "type": "indirect" } }, @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1764557621, - "narHash": "sha256-kX5PoY8hQZ80+amMQgOO9t8Tc1JZ70gYRnzaVD4AA+o=", + "lastModified": 1780197589, + "narHash": "sha256-FVCr2Ij/jKf59a4LW481eeOF6rJRreOBrVgW/aUBTrw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "93316876c2229460a5d6f5f052766cc4cef538ce", + "rev": "21632e942d89bf1cce4e5a63d7e58a215a0cbfcc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 57d78d4..b397edc 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "nixpkgs/nixos-25.11"; + nixpkgs.url = "nixpkgs/nixos-26.05"; flakelight = { url = "github:nix-community/flakelight"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/src/entry/table.rs b/src/entry/table.rs index 3c372c9..faf68f1 100644 --- a/src/entry/table.rs +++ b/src/entry/table.rs @@ -48,7 +48,7 @@ fn insert, V: Into>(map: &mut HashMap, key entry.insert(value); } hash_map::Entry::Occupied(mut entry) => match entry.get_mut() { - Entry::Array(ref mut array) => { + Entry::Array(array) => { array.push(value); } _ => { diff --git a/src/lexer.rs b/src/lexer.rs index 99afa8a..c7e10f4 100644 --- a/src/lexer.rs +++ b/src/lexer.rs @@ -5,7 +5,7 @@ use std::str; /// Parser token. #[derive(PartialEq, Debug, Logos, Display, Clone)] #[logos(skip r"[ \t\f\r\n]+")] // whitespace -#[logos(skip r"//[^\n]*")] // comments +#[logos(skip(r"//[^\n]*", allow_greedy = true))] // comments pub enum Token { /// A group is starting. #[token("{")] diff --git a/src/serde.rs b/src/serde.rs index e9809af..34ab3b4 100644 --- a/src/serde.rs +++ b/src/serde.rs @@ -44,13 +44,11 @@ impl<'de> Deserializer<'de> { .take() .or_else(|| self.tokenizer.next()) .map(|r| { - r.map(|t| { + r.inspect(|t| { self.last_span = t.span.clone(); - t }) - .map_err(|span| { + .inspect_err(|span| { self.last_span = span.clone(); - span }) }) } @@ -306,7 +304,7 @@ impl<'de> de::Deserializer<'de> for &'_ mut Deserializer<'de> { Some(Err(span)) => { return Err( NoValidTokenError::new(VALUE_TOKEN, span.into(), self.source().into()).into(), - ) + ); } Some(Ok(token)) => token, }; @@ -516,7 +514,7 @@ impl<'source, 'a> TableWalker<'source, 'a> { (None, false) => { return Err(None:: .expect_token(expected, self.source()) - .unwrap_err()) + .unwrap_err()); } }; diff --git a/tests/parse.rs b/tests/parse.rs index 1ef689b..70e1b21 100644 --- a/tests/parse.rs +++ b/tests/parse.rs @@ -13,5 +13,8 @@ fn test_parse(path: &str) { let parsed = Table::load(&mut reader) .map_err(miette::Error::from) .expect("failed to parse test data"); - insta::assert_ron_snapshot!(path, parsed); + + insta::with_settings!({sort_maps => true}, { + insta::assert_json_snapshot!(format!("parse__{}", path), parsed); + }); } diff --git a/tests/serde.rs b/tests/serde.rs index f190b12..9cbe9ae 100644 --- a/tests/serde.rs +++ b/tests/serde.rs @@ -216,16 +216,18 @@ struct GameList { #[test_case("tests/data/maparray.vdf")] #[test_case("tests/errors/invalidmaparraykeys.vdf")] fn test_serde(path: &str) { - let raw = read_to_string(path).unwrap(); - match from_str::(&raw) { - Ok(result) => insta::assert_ron_snapshot!(path, result), - Err(e) => { - let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor()); - let mut out = String::new(); - handler.render_report(&mut out, &e).unwrap(); - insta::assert_snapshot!(path, out) + insta::with_settings!({sort_maps => true}, { + let raw = read_to_string(path).unwrap(); + match from_str::(&raw) { + Ok(result) => insta::assert_json_snapshot!(path, result), + Err(e) => { + let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor()); + let mut out = String::new(); + handler.render_report(&mut out, &e).unwrap(); + insta::assert_snapshot!(format!("serde__{}", path), out) + } } - } + }); } #[test_case("tests/data/toplevel.vdf")] @@ -234,18 +236,20 @@ fn test_serde(path: &str) { #[test_case("tests/data/serde_array_type.vdf")] #[test_case("tests/data/maparray.vdf")] fn test_serde_table(path: &str) { - let raw = read_to_string(path).unwrap(); - match from_str::(&raw) { - Ok(result) => { - insta::assert_ron_snapshot!(format!("table__{}", path), result); + insta::with_settings!({sort_maps => true}, { + let raw = read_to_string(path).unwrap(); + match from_str::
(&raw) { + Ok(result) => { + insta::assert_json_snapshot!(format!("table__{}", path), result); + } + Err(e) => { + let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor()); + let mut out = String::new(); + handler.render_report(&mut out, &e).unwrap(); + insta::assert_snapshot!(format!("table__{}", path), out) + } } - Err(e) => { - let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor()); - let mut out = String::new(); - handler.render_report(&mut out, &e).unwrap(); - insta::assert_snapshot!(format!("table__{}", path), out) - } - } + }); } #[test_case("tests/data/concrete.vmt")] @@ -258,5 +262,8 @@ fn test_serde_from_table(path: &str) { let result = Table::load_from_str(&raw).unwrap(); let material: Expected = from_entry(result.into()).expect("table to material"); - insta::assert_ron_snapshot!(format!("table_to_material__{}", path), material); + + insta::with_settings!({sort_maps => true}, { + insta::assert_json_snapshot!(format!("table_to_material__{}", path), material); + }); } diff --git a/tests/snapshots/parse__tests__data__DialogConfigOverlay_1280x720.vdf.snap b/tests/snapshots/parse__parse__tests__data__DialogConfigOverlay_1280x720.vdf.snap similarity index 89% rename from tests/snapshots/parse__tests__data__DialogConfigOverlay_1280x720.vdf.snap rename to tests/snapshots/parse__parse__tests__data__DialogConfigOverlay_1280x720.vdf.snap index 86e8238..4e62f3a 100644 --- a/tests/snapshots/parse__tests__data__DialogConfigOverlay_1280x720.vdf.snap +++ b/tests/snapshots/parse__parse__tests__data__DialogConfigOverlay_1280x720.vdf.snap @@ -12,8 +12,8 @@ expression: parsed "0_collapsed": "0", "1_collapsed": "0", "2_collapsed": "0", - "3_collapsed": "0", - }, + "3_collapsed": "0" + } }, "FriendsFriendsPage": { "BuddyList": { @@ -23,15 +23,15 @@ expression: parsed "3_collapsed": "0", "4_collapsed": "0", "5_collapsed": "0", - "allfriends_collapsed": "0", - }, - }, + "allfriends_collapsed": "0" + } + } }, "FriendsState": {}, "tall": "440", "wide": "252", "xpos": "1028", - "ypos": "280", + "ypos": "280" }, "Servers": { "DialogServerBrowser.res": { @@ -50,8 +50,8 @@ expression: parsed "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "FriendsGames": { "gamelist": { @@ -67,8 +67,8 @@ expression: parsed "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "HistoryGames": { "gamelist": { @@ -85,8 +85,8 @@ expression: parsed "sort_column": "#ServerBrowser_LastPlayed", "sort_column_asc": "1", "sort_column_secondary": "#ServerBrowser_Latency", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "InternetGames": { "gamelist": { @@ -102,8 +102,8 @@ expression: parsed "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "LanGames": { "gamelist": { @@ -119,8 +119,8 @@ expression: parsed "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "SpectateGames": { "gamelist": { @@ -136,20 +136,20 @@ expression: parsed "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, - }, + "sort_column_secondary_asc": "1" + } + } }, "tall": "720", "wide": "1280", "xpos": "0", - "ypos": "0", - }, + "ypos": "0" + } }, "Steam": { "cached": { - "OverlaySplash.res": {}, - }, - }, - }, + "OverlaySplash.res": {} + } + } + } } diff --git a/tests/snapshots/parse__tests__data__concrete.vmt.snap b/tests/snapshots/parse__parse__tests__data__concrete.vmt.snap similarity index 92% rename from tests/snapshots/parse__tests__data__concrete.vmt.snap rename to tests/snapshots/parse__parse__tests__data__concrete.vmt.snap index 0382c2f..b382686 100644 --- a/tests/snapshots/parse__tests__data__concrete.vmt.snap +++ b/tests/snapshots/parse__parse__tests__data__concrete.vmt.snap @@ -11,6 +11,6 @@ expression: parsed "$detailblendmode": "0", "$detailscale": "1.9", "$ssbump": "1", - "%keywords": "tf", - }, + "%keywords": "tf" + } } diff --git a/tests/snapshots/parse__tests__data__messy.vdf.snap b/tests/snapshots/parse__parse__tests__data__messy.vdf.snap similarity index 82% rename from tests/snapshots/parse__tests__data__messy.vdf.snap rename to tests/snapshots/parse__parse__tests__data__messy.vdf.snap index c955213..fa6fc13 100644 --- a/tests/snapshots/parse__tests__data__messy.vdf.snap +++ b/tests/snapshots/parse__parse__tests__data__messy.vdf.snap @@ -7,18 +7,18 @@ expression: parsed "$envmaptint": [ ".5", ".5", - ".5", + ".5" ], "\\\\\"$translucent\"": "1", "array": [ "1", "2", - "3", + "3" ], "bracket_string": "[{]", "empty": "", "empty quoted": "\"\"", "ignored_bracket_string": "[{]", - "windows_path": "C:\\test\\no newline", - }, + "windows_path": "C:\\test\\no newline" + } } diff --git a/tests/snapshots/parse__tests__data__toplevel.vdf.snap b/tests/snapshots/parse__parse__tests__data__toplevel.vdf.snap similarity index 83% rename from tests/snapshots/parse__tests__data__toplevel.vdf.snap rename to tests/snapshots/parse__parse__tests__data__toplevel.vdf.snap index dee7734..5b531e0 100644 --- a/tests/snapshots/parse__tests__data__toplevel.vdf.snap +++ b/tests/snapshots/parse__parse__tests__data__toplevel.vdf.snap @@ -4,5 +4,5 @@ expression: parsed --- { "bar": "asd", - "foo": "1", + "foo": "1" } diff --git a/tests/snapshots/serde__tests__errors__concrete.vmt.snap b/tests/snapshots/serde__serde__tests__errors__concrete.vmt.snap similarity index 99% rename from tests/snapshots/serde__tests__errors__concrete.vmt.snap rename to tests/snapshots/serde__serde__tests__errors__concrete.vmt.snap index f5ad6f9..0fdaa1b 100644 --- a/tests/snapshots/serde__tests__errors__concrete.vmt.snap +++ b/tests/snapshots/serde__serde__tests__errors__concrete.vmt.snap @@ -12,4 +12,3 @@ vmt_parser::parse_serde · ╰── Expected a bool 6 │ "%keywords" "tf" ╰──── - diff --git a/tests/snapshots/serde__tests__errors__invalidmaparraykeys.vdf.snap b/tests/snapshots/serde__serde__tests__errors__invalidmaparraykeys.vdf.snap similarity index 100% rename from tests/snapshots/serde__tests__errors__invalidmaparraykeys.vdf.snap rename to tests/snapshots/serde__serde__tests__errors__invalidmaparraykeys.vdf.snap diff --git a/tests/snapshots/serde__tests__errors__novalue.vdf.snap b/tests/snapshots/serde__serde__tests__errors__novalue.vdf.snap similarity index 99% rename from tests/snapshots/serde__tests__errors__novalue.vdf.snap rename to tests/snapshots/serde__serde__tests__errors__novalue.vdf.snap index 8e104df..7ce5ea3 100644 --- a/tests/snapshots/serde__tests__errors__novalue.vdf.snap +++ b/tests/snapshots/serde__serde__tests__errors__novalue.vdf.snap @@ -11,4 +11,3 @@ vmt_reader::unexpected_token · ┬ · ╰── Expected item, quoted item, statement, quoted statement, start of group ╰──── - diff --git a/tests/snapshots/serde__tests__errors__serde_array_type.vdf.snap b/tests/snapshots/serde__serde__tests__errors__serde_array_type.vdf.snap similarity index 99% rename from tests/snapshots/serde__tests__errors__serde_array_type.vdf.snap rename to tests/snapshots/serde__serde__tests__errors__serde_array_type.vdf.snap index f4c1337..a9e7dcd 100644 --- a/tests/snapshots/serde__tests__errors__serde_array_type.vdf.snap +++ b/tests/snapshots/serde__serde__tests__errors__serde_array_type.vdf.snap @@ -12,4 +12,3 @@ vmt_parser::parse_serde · ╰── Expected a u8 3 │ flex_array "[1.0 2.2]" ╰──── - diff --git a/tests/snapshots/serde__tests__errors__unmatched.vdf.snap b/tests/snapshots/serde__serde__tests__errors__unmatched.vdf.snap similarity index 100% rename from tests/snapshots/serde__tests__errors__unmatched.vdf.snap rename to tests/snapshots/serde__serde__tests__errors__unmatched.vdf.snap diff --git a/tests/snapshots/serde__table__tests__data__DialogConfigOverlay_1280x720.vdf.snap b/tests/snapshots/serde__table__tests__data__DialogConfigOverlay_1280x720.vdf.snap index 76210cc..6a3ecc8 100644 --- a/tests/snapshots/serde__table__tests__data__DialogConfigOverlay_1280x720.vdf.snap +++ b/tests/snapshots/serde__table__tests__data__DialogConfigOverlay_1280x720.vdf.snap @@ -12,8 +12,8 @@ expression: result "0_collapsed": "0", "1_collapsed": "0", "2_collapsed": "0", - "3_collapsed": "0", - }, + "3_collapsed": "0" + } }, "FriendsFriendsPage": { "BuddyList": { @@ -23,15 +23,15 @@ expression: result "3_collapsed": "0", "4_collapsed": "0", "5_collapsed": "0", - "allfriends_collapsed": "0", - }, - }, + "allfriends_collapsed": "0" + } + } }, "FriendsState": {}, "tall": "440", "wide": "252", "xpos": "1028", - "ypos": "280", + "ypos": "280" }, "Servers": { "DialogServerBrowser.res": { @@ -50,8 +50,8 @@ expression: result "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "FriendsGames": { "gamelist": { @@ -67,8 +67,8 @@ expression: result "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "HistoryGames": { "gamelist": { @@ -85,8 +85,8 @@ expression: result "sort_column": "#ServerBrowser_LastPlayed", "sort_column_asc": "1", "sort_column_secondary": "#ServerBrowser_Latency", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "InternetGames": { "gamelist": { @@ -102,8 +102,8 @@ expression: result "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "LanGames": { "gamelist": { @@ -119,8 +119,8 @@ expression: result "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, + "sort_column_secondary_asc": "1" + } }, "SpectateGames": { "gamelist": { @@ -136,20 +136,20 @@ expression: result "sort_column": "#ServerBrowser_Latency", "sort_column_asc": "1", "sort_column_secondary": "", - "sort_column_secondary_asc": "1", - }, - }, + "sort_column_secondary_asc": "1" + } + } }, "tall": "720", "wide": "1280", "xpos": "0", - "ypos": "0", - }, + "ypos": "0" + } }, "Steam": { "cached": { - "OverlaySplash.res": {}, - }, - }, - }, + "OverlaySplash.res": {} + } + } + } } diff --git a/tests/snapshots/serde__table__tests__data__concrete.vmt.snap b/tests/snapshots/serde__table__tests__data__concrete.vmt.snap index 0fced60..55354ea 100644 --- a/tests/snapshots/serde__table__tests__data__concrete.vmt.snap +++ b/tests/snapshots/serde__table__tests__data__concrete.vmt.snap @@ -11,6 +11,6 @@ expression: result "$detailblendmode": "0", "$detailscale": "1.9", "$ssbump": "1", - "%keywords": "tf", - }, + "%keywords": "tf" + } } diff --git a/tests/snapshots/serde__table__tests__data__maparray.vdf.snap b/tests/snapshots/serde__table__tests__data__maparray.vdf.snap index 5dab642..266be58 100644 --- a/tests/snapshots/serde__table__tests__data__maparray.vdf.snap +++ b/tests/snapshots/serde__table__tests__data__maparray.vdf.snap @@ -6,6 +6,6 @@ expression: result "MapArray": { "0": "foo", "1": "bar", - "2": "asd", - }, + "2": "asd" + } } diff --git a/tests/snapshots/serde__table__tests__data__serde_array_type.vdf.snap b/tests/snapshots/serde__table__tests__data__serde_array_type.vdf.snap index eb75973..3d0d779 100644 --- a/tests/snapshots/serde__table__tests__data__serde_array_type.vdf.snap +++ b/tests/snapshots/serde__table__tests__data__serde_array_type.vdf.snap @@ -8,11 +8,11 @@ expression: result "fixed_array": [ "1", "2", - "3", + "3" ], "flex_array": [ "1", - "2.2", + "2.2" ], "foo": "0", "single": "1.2", @@ -20,11 +20,11 @@ expression: result "triple": [ "1.2", "1.3", - "1.4", + "1.4" ], "tuple": [ "1", - "57", - ], - }, + "57" + ] + } } diff --git a/tests/snapshots/serde__table__tests__data__toplevel.vdf.snap b/tests/snapshots/serde__table__tests__data__toplevel.vdf.snap index 37a49de..3f40c67 100644 --- a/tests/snapshots/serde__table__tests__data__toplevel.vdf.snap +++ b/tests/snapshots/serde__table__tests__data__toplevel.vdf.snap @@ -4,5 +4,5 @@ expression: result --- { "bar": "asd", - "foo": "1", + "foo": "1" } diff --git a/tests/snapshots/serde__table_to_material__tests__data__DialogConfigOverlay_1280x720.vdf.snap b/tests/snapshots/serde__table_to_material__tests__data__DialogConfigOverlay_1280x720.vdf.snap index f3a92b2..60189ab 100644 --- a/tests/snapshots/serde__table_to_material__tests__data__DialogConfigOverlay_1280x720.vdf.snap +++ b/tests/snapshots/serde__table_to_material__tests__data__DialogConfigOverlay_1280x720.vdf.snap @@ -2,151 +2,153 @@ source: tests/serde.rs expression: material --- -UserConfigData( - Steam: UserConfigDataSteam( - cached: UserConfigDataSteamCached( - r#OverlaySplash.res: {}, - ), - ), - FriendsMainDialog: { - "xpos": 1028, - "ypos": 280, - "wide": 252, - "tall": 440, - "FriendPanelSelf": {}, - "FriendsDialogSheet": UserConfigDataFriendsMainDialogFriendsDialogSheet( - FriendsFriendsPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage( - BuddyList: { - "0_collapsed": false, - "1_collapsed": false, - "2_collapsed": false, - "3_collapsed": false, - "4_collapsed": false, - "5_collapsed": false, - "allfriends_collapsed": false, - }, - ), - FriendsClansPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage( - BuddyList: { - "0_collapsed": false, - "1_collapsed": false, - "2_collapsed": false, - "3_collapsed": false, - }, - ), - ), - "FriendsState": {}, - }, - Servers: UserConfigDataServers( - r#DialogServerBrowser.res: { - "xpos": 0, - "ypos": 0, - "wide": 1280, - "tall": 720, - "GameTabs": UserConfigDataServersDialogGameTabs( - InternetGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: None, - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - FavoriteGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: None, - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - HistoryGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_LastPlayed", - sort_column_secondary: Some("#ServerBrowser_Latency"), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - SpectateGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: None, - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - LanGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: None, - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - FriendsGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: None, - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - ), +{ + "UserConfigData": { + "Steam": { + "cached": { + "OverlaySplash.res": {} + } }, - ), -) + "FriendsMainDialog": { + "FriendPanelSelf": {}, + "FriendsDialogSheet": { + "FriendsFriendsPage": { + "BuddyList": { + "0_collapsed": false, + "1_collapsed": false, + "2_collapsed": false, + "3_collapsed": false, + "4_collapsed": false, + "5_collapsed": false, + "allfriends_collapsed": false + } + }, + "FriendsClansPage": { + "BuddyList": { + "0_collapsed": false, + "1_collapsed": false, + "2_collapsed": false, + "3_collapsed": false + } + } + }, + "FriendsState": {}, + "tall": 440, + "wide": 252, + "xpos": 1028, + "ypos": 280 + }, + "Servers": { + "DialogServerBrowser.res": { + "GameTabs": { + "InternetGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": null, + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "FavoriteGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": null, + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "HistoryGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_LastPlayed", + "sort_column_secondary": "#ServerBrowser_Latency", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "SpectateGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": null, + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "LanGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": null, + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "FriendsGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": null, + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + } + }, + "tall": 720, + "wide": 1280, + "xpos": 0, + "ypos": 0 + } + } + } +} diff --git a/tests/snapshots/serde__table_to_material__tests__data__concrete.vmt.snap b/tests/snapshots/serde__table_to_material__tests__data__concrete.vmt.snap index c049701..2803978 100644 --- a/tests/snapshots/serde__table_to_material__tests__data__concrete.vmt.snap +++ b/tests/snapshots/serde__table_to_material__tests__data__concrete.vmt.snap @@ -2,13 +2,15 @@ source: tests/serde.rs expression: material --- -LightmappedGeneric( - r#$baseTexture: "cp_mountainlab/concrete/concretefloor003", - r#$bumpmap: "concrete/concretefloor007b_height-ssbump", - r#$ssbump: true, - r#%keywords: "tf", - r#$detail: "overlays/detail001", - r#$detailscale: 1.9, - r#$detailblendmode: 0, - r#$detailblendfactor: 1.0, -) +{ + "LightmappedGeneric": { + "$baseTexture": "cp_mountainlab/concrete/concretefloor003", + "$bumpmap": "concrete/concretefloor007b_height-ssbump", + "$ssbump": true, + "%keywords": "tf", + "$detail": "overlays/detail001", + "$detailscale": 1.9, + "$detailblendmode": 0, + "$detailblendfactor": 1.0 + } +} diff --git a/tests/snapshots/serde__table_to_material__tests__data__maparray.vdf.snap b/tests/snapshots/serde__table_to_material__tests__data__maparray.vdf.snap index fbaecf6..bff53e3 100644 --- a/tests/snapshots/serde__table_to_material__tests__data__maparray.vdf.snap +++ b/tests/snapshots/serde__table_to_material__tests__data__maparray.vdf.snap @@ -2,8 +2,10 @@ source: tests/serde.rs expression: material --- -MapArray([ - "foo", - "bar", - "asd", -]) +{ + "MapArray": [ + "foo", + "bar", + "asd" + ] +} diff --git a/tests/snapshots/serde__table_to_material__tests__data__messy.vdf.snap b/tests/snapshots/serde__table_to_material__tests__data__messy.vdf.snap index e83a37b..8123bc5 100644 --- a/tests/snapshots/serde__table_to_material__tests__data__messy.vdf.snap +++ b/tests/snapshots/serde__table_to_material__tests__data__messy.vdf.snap @@ -2,15 +2,21 @@ source: tests/serde.rs expression: material --- -r#Resource/specificPanel.res( - empty: (), - array: [ - 1, - 2, - 3, - ], - windows_path: "C:\\test\\no newline", - bracket_string: "[{]", - r#\\"$translucent": true, - r#$envmaptint: (0.5, 0.5, 0.5), -) +{ + "Resource/specificPanel.res": { + "empty": null, + "array": [ + 1, + 2, + 3 + ], + "windows_path": "C:\\test\\no newline", + "bracket_string": "[{]", + "\\\\\"$translucent\"": true, + "$envmaptint": [ + 0.5, + 0.5, + 0.5 + ] + } +} diff --git a/tests/snapshots/serde__table_to_material__tests__data__serde_array_type.vdf.snap b/tests/snapshots/serde__table_to_material__tests__data__serde_array_type.vdf.snap index 5e5d92e..72af069 100644 --- a/tests/snapshots/serde__table_to_material__tests__data__serde_array_type.vdf.snap +++ b/tests/snapshots/serde__table_to_material__tests__data__serde_array_type.vdf.snap @@ -2,15 +2,32 @@ source: tests/serde.rs expression: material --- -Types( - fixed_array: (1, 2, 3), - flex_array: [ - 1.0, - 2.2, - ], - tuple: (true, 57), - single: 1.2, - triple: (1.2, 1.3, 1.4), - single_int: 2.0, - another_tuple: (8, "foo", false), -) +{ + "Types": { + "fixed_array": [ + 1, + 2, + 3 + ], + "flex_array": [ + 1.0, + 2.2 + ], + "tuple": [ + true, + 57 + ], + "single": 1.2, + "triple": [ + 1.2, + 1.3, + 1.4 + ], + "single_int": 2.0, + "another_tuple": [ + 8, + "foo", + false + ] + } +} diff --git a/tests/snapshots/serde__tests__data__DialogConfigOverlay_1280x720.vdf.snap b/tests/snapshots/serde__tests__data__DialogConfigOverlay_1280x720.vdf.snap index 0888c5a..f944811 100644 --- a/tests/snapshots/serde__tests__data__DialogConfigOverlay_1280x720.vdf.snap +++ b/tests/snapshots/serde__tests__data__DialogConfigOverlay_1280x720.vdf.snap @@ -2,151 +2,153 @@ source: tests/serde.rs expression: result --- -UserConfigData( - Steam: UserConfigDataSteam( - cached: UserConfigDataSteamCached( - r#OverlaySplash.res: {}, - ), - ), - FriendsMainDialog: { - "xpos": 1028, - "ypos": 280, - "wide": 252, - "tall": 440, - "FriendPanelSelf": {}, - "FriendsDialogSheet": UserConfigDataFriendsMainDialogFriendsDialogSheet( - FriendsFriendsPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage( - BuddyList: { - "0_collapsed": false, - "1_collapsed": false, - "2_collapsed": false, - "3_collapsed": false, - "4_collapsed": false, - "5_collapsed": false, - "allfriends_collapsed": false, - }, - ), - FriendsClansPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage( - BuddyList: { - "0_collapsed": false, - "1_collapsed": false, - "2_collapsed": false, - "3_collapsed": false, - }, - ), - ), - "FriendsState": {}, - }, - Servers: UserConfigDataServers( - r#DialogServerBrowser.res: { - "xpos": 0, - "ypos": 0, - "wide": 1280, - "tall": 720, - "GameTabs": UserConfigDataServersDialogGameTabs( - InternetGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: Some(""), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - FavoriteGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: Some(""), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - HistoryGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_LastPlayed", - sort_column_secondary: Some("#ServerBrowser_Latency"), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - SpectateGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: Some(""), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - LanGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: Some(""), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - FriendsGames: GameListHaver( - gamelist: GameList( - r##ServerBrowser_Password_hidden: false, - r##ServerBrowser_Bots_hidden: true, - r##ServerBrowser_Secure_hidden: false, - r##ServerBrowser_Servers_hidden: false, - r##ServerBrowser_IPAddress_hidden: true, - r##ServerBrowser_Game_hidden: false, - r##ServerBrowser_Players_hidden: false, - r##ServerBrowser_Map_hidden: false, - r##ServerBrowser_Latency_hidden: false, - sort_column: "#ServerBrowser_Latency", - sort_column_secondary: Some(""), - sort_column_asc: true, - sort_column_secondary_asc: true, - ), - ), - ), +{ + "UserConfigData": { + "Steam": { + "cached": { + "OverlaySplash.res": {} + } }, - ), -) + "FriendsMainDialog": { + "FriendPanelSelf": {}, + "FriendsDialogSheet": { + "FriendsFriendsPage": { + "BuddyList": { + "0_collapsed": false, + "1_collapsed": false, + "2_collapsed": false, + "3_collapsed": false, + "4_collapsed": false, + "5_collapsed": false, + "allfriends_collapsed": false + } + }, + "FriendsClansPage": { + "BuddyList": { + "0_collapsed": false, + "1_collapsed": false, + "2_collapsed": false, + "3_collapsed": false + } + } + }, + "FriendsState": {}, + "tall": 440, + "wide": 252, + "xpos": 1028, + "ypos": 280 + }, + "Servers": { + "DialogServerBrowser.res": { + "GameTabs": { + "InternetGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": "", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "FavoriteGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": "", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "HistoryGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_LastPlayed", + "sort_column_secondary": "#ServerBrowser_Latency", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "SpectateGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": "", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "LanGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": "", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + }, + "FriendsGames": { + "gamelist": { + "#ServerBrowser_Password_hidden": false, + "#ServerBrowser_Bots_hidden": true, + "#ServerBrowser_Secure_hidden": false, + "#ServerBrowser_Servers_hidden": false, + "#ServerBrowser_IPAddress_hidden": true, + "#ServerBrowser_Game_hidden": false, + "#ServerBrowser_Players_hidden": false, + "#ServerBrowser_Map_hidden": false, + "#ServerBrowser_Latency_hidden": false, + "sort_column": "#ServerBrowser_Latency", + "sort_column_secondary": "", + "sort_column_asc": true, + "sort_column_secondary_asc": true + } + } + }, + "tall": 720, + "wide": 1280, + "xpos": 0, + "ypos": 0 + } + } + } +} diff --git a/tests/snapshots/serde__tests__data__concrete.vmt.snap b/tests/snapshots/serde__tests__data__concrete.vmt.snap index 0477dac..8aa6b79 100644 --- a/tests/snapshots/serde__tests__data__concrete.vmt.snap +++ b/tests/snapshots/serde__tests__data__concrete.vmt.snap @@ -2,13 +2,15 @@ source: tests/serde.rs expression: result --- -LightmappedGeneric( - r#$baseTexture: "cp_mountainlab/concrete/concretefloor003", - r#$bumpmap: "concrete/concretefloor007b_height-ssbump", - r#$ssbump: true, - r#%keywords: "tf", - r#$detail: "overlays/detail001", - r#$detailscale: 1.9, - r#$detailblendmode: 0, - r#$detailblendfactor: 1.0, -) +{ + "LightmappedGeneric": { + "$baseTexture": "cp_mountainlab/concrete/concretefloor003", + "$bumpmap": "concrete/concretefloor007b_height-ssbump", + "$ssbump": true, + "%keywords": "tf", + "$detail": "overlays/detail001", + "$detailscale": 1.9, + "$detailblendmode": 0, + "$detailblendfactor": 1.0 + } +} diff --git a/tests/snapshots/serde__tests__data__enuminmap.vdf.snap b/tests/snapshots/serde__tests__data__enuminmap.vdf.snap index 06e394a..5ca6ddd 100644 --- a/tests/snapshots/serde__tests__data__enuminmap.vdf.snap +++ b/tests/snapshots/serde__tests__data__enuminmap.vdf.snap @@ -2,8 +2,12 @@ source: tests/serde.rs expression: result --- -EnumInMap( - foo: bar( - a: true, - ), -) +{ + "EnumInMap": { + "foo": { + "bar": { + "a": true + } + } + } +} diff --git a/tests/snapshots/serde__tests__data__game_text.vmt.snap b/tests/snapshots/serde__tests__data__game_text.vmt.snap index 738b0ef..98e48e1 100644 --- a/tests/snapshots/serde__tests__data__game_text.vmt.snap +++ b/tests/snapshots/serde__tests__data__game_text.vmt.snap @@ -2,9 +2,14 @@ source: tests/serde.rs expression: result --- -Sprite( - r#$spriteorientation: vp_parallel, - r#$spriteorigin: (0.5, 0.5), - r#$basetexture: "editor/game_text", - r#$no_fullbright: true, -) +{ + "Sprite": { + "$spriteorientation": "vp_parallel", + "$spriteorigin": [ + 0.5, + 0.5 + ], + "$basetexture": "editor/game_text", + "$no_fullbright": true + } +} diff --git a/tests/snapshots/serde__tests__data__internal_tag.vdf.snap b/tests/snapshots/serde__tests__data__internal_tag.vdf.snap deleted file mode 100644 index 992a298..0000000 --- a/tests/snapshots/serde__tests__data__internal_tag.vdf.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tests/serde.rs -expression: out ---- -vmt_reader::unexpected_token - - × invalid type: boolean `true`, expected u32 - ╭─[6:9] - 5 │ } - 6 │ ╭─▶ data2 { - 7 │ │ kind Bar - 8 │ │ val1 1 - 9 │ ├─▶ } - · ╰──── invalid type: boolean `true`, expected u32 - 10 │ } - ╰──── diff --git a/tests/snapshots/serde__tests__data__maparray.vdf.snap b/tests/snapshots/serde__tests__data__maparray.vdf.snap index e546490..dbdfc84 100644 --- a/tests/snapshots/serde__tests__data__maparray.vdf.snap +++ b/tests/snapshots/serde__tests__data__maparray.vdf.snap @@ -2,8 +2,10 @@ source: tests/serde.rs expression: result --- -MapArray([ - "foo", - "bar", - "asd", -]) +{ + "MapArray": [ + "foo", + "bar", + "asd" + ] +} diff --git a/tests/snapshots/serde__tests__data__messy.vdf.snap b/tests/snapshots/serde__tests__data__messy.vdf.snap index 6c93e8e..819df53 100644 --- a/tests/snapshots/serde__tests__data__messy.vdf.snap +++ b/tests/snapshots/serde__tests__data__messy.vdf.snap @@ -2,15 +2,21 @@ source: tests/serde.rs expression: result --- -r#Resource/specificPanel.res( - empty: (), - array: [ - 1, - 2, - 3, - ], - windows_path: "C:\\test\\no newline", - bracket_string: "[{]", - r#\\"$translucent": true, - r#$envmaptint: (0.5, 0.5, 0.5), -) +{ + "Resource/specificPanel.res": { + "empty": null, + "array": [ + 1, + 2, + 3 + ], + "windows_path": "C:\\test\\no newline", + "bracket_string": "[{]", + "\\\\\"$translucent\"": true, + "$envmaptint": [ + 0.5, + 0.5, + 0.5 + ] + } +} diff --git a/tests/snapshots/serde__tests__data__serde_array_type.vdf.snap b/tests/snapshots/serde__tests__data__serde_array_type.vdf.snap index c44cc53..4556b70 100644 --- a/tests/snapshots/serde__tests__data__serde_array_type.vdf.snap +++ b/tests/snapshots/serde__tests__data__serde_array_type.vdf.snap @@ -2,15 +2,32 @@ source: tests/serde.rs expression: result --- -Types( - fixed_array: (1, 2, 3), - flex_array: [ - 1.0, - 2.2, - ], - tuple: (true, 57), - single: 1.2, - triple: (1.2, 1.3, 1.4), - single_int: 2.0, - another_tuple: (8, "foo", false), -) +{ + "Types": { + "fixed_array": [ + 1, + 2, + 3 + ], + "flex_array": [ + 1.0, + 2.2 + ], + "tuple": [ + true, + 57 + ], + "single": 1.2, + "triple": [ + 1.2, + 1.3, + 1.4 + ], + "single_int": 2.0, + "another_tuple": [ + 8, + "foo", + false + ] + } +}