diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 812ef0f..cd3057e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,8 +26,7 @@ jobs: with: sweep-cache: true - name: Run tests - run: | - cargo test --locked --workspace --all-features --all-targets + run: cargo test --locked --workspace --all-features --all-targets --release # Run clippy lints. clippy: name: Clippy diff --git a/.gitignore b/.gitignore index 22662ea..3004bb2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,22 @@ -/target -/benches/fixtures +#--------------------------------------------------# +# The following was generated with gitignore.nvim: # +#--------------------------------------------------# +# Gitignore for the following technologies: Rust + +# Generated by Cargo +# will have compiled files and executables +debug/ +target/ + +# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries +# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html +Cargo.lock + +# These are backup files generated by rustfmt +**/*.rs.bk + +# MSVC Windows builds of rustc generate these, which store debugging information +*.pdb + +/benches/fixtures/* +!benches/fixtures/snapshot-2025-04-09_09-46-29.csv diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 8410702..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,1257 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "anes" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" - -[[package]] -name = "anstream" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" - -[[package]] -name = "anstyle-parse" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" -dependencies = [ - "anstyle", - "once_cell", - "windows-sys 0.59.0", -] - -[[package]] -name = "anyhow" -version = "1.0.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets", -] - -[[package]] -name = "bitflags" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "clap" -version = "4.5.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap_builder" -version = "4.5.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.5.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" - -[[package]] -name = "colorchoice" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" - -[[package]] -name = "criterion" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" -dependencies = [ - "anes", - "cast", - "ciborium", - "clap", - "criterion-plot", - "is-terminal", - "itertools", - "num-traits", - "once_cell", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crunchy" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" - -[[package]] -name = "csv" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d" -dependencies = [ - "memchr", -] - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - -[[package]] -name = "env_home" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" - -[[package]] -name = "errno" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "getrandom" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "half" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" - -[[package]] -name = "is-terminal" -version = "0.4.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[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.171" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" - -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "linux-raw-sys" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" - -[[package]] -name = "log" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "miniz_oxide" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" - -[[package]] -name = "oorandom" -version = "11.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "plotters" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" - -[[package]] -name = "plotters-svg" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "proc-macro2" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "project-finder" -version = "0.1.1" -dependencies = [ - "anyhow", - "clap", - "criterion", - "csv", - "futures", - "regex", - "serde", - "tempfile", - "thiserror", - "tokio", - "tracing", - "tracing-subscriber", - "which", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustix" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys 0.9.3", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustversion" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "syn" -version = "2.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" -dependencies = [ - "fastrand", - "getrandom", - "once_cell", - "rustix 1.0.3", - "windows-sys 0.59.0", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tokio" -version = "1.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "pin-project-lite", - "signal-hook-registry", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "valuable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "web-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "which" -version = "7.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2774c861e1f072b3aadc02f8ba886c26ad6321567ecc294c935434cad06f1283" -dependencies = [ - "either", - "env_home", - "rustix 0.38.44", - "winsafe", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - -[[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" - -[[package]] -name = "winsafe" -version = "0.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" - -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags", -] diff --git a/Cargo.toml b/Cargo.toml index 39fe23a..828a1b1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "project-finder" authors = ["Kristofers Solo "] -version = "0.1.1" +version = "0.1.2" edition = "2024" description = "Fast project finder for developers" repository = "https://github.com/kristoferssolo/project-finder" @@ -10,7 +10,16 @@ homepage = "https://github.com/kristoferssolo/project-finder" license = "MIT OR Apache-2.0" keywords = ["cli", "string", "text", "utility"] categories = ["command-line-utilities"] -exclude = ["/.github", "/.gitignore", "/tests", "*.png", "*.md"] +exclude = [ + ".github/", + ".gitignore", + "tests/", + "benches/", + "scripts/", + "justifle", + "*.png", + "*.md", +] readme = "README.md" [dependencies] diff --git a/benches/fixtures/snapshot-2025-04-09_09-46-29.csv b/benches/fixtures/snapshot-2025-04-09_09-46-29.csv new file mode 100644 index 0000000..ffef099 --- /dev/null +++ b/benches/fixtures/snapshot-2025-04-09_09-46-29.csv @@ -0,0 +1,187 @@ +type,directory,path,size,modified,permissions +dir,"repos/project-finder",".git/",182,1744181103,755 +file,"repos/project-finder",".git/COMMIT_EDITMSG",2587,1744179976,644 +file,"repos/project-finder",".git/HEAD",21,1743401324,644 +file,"repos/project-finder",".git/MERGE_RR",0,1744179976,644 +file,"repos/project-finder",".git/config",290,1743418556,644 +file,"repos/project-finder",".git/description",73,1743401321,644 +dir,"repos/project-finder",".git/hooks/",556,1743401321,755 +file,"repos/project-finder",".git/hooks/applypatch-msg.sample",478,1743401321,755 +file,"repos/project-finder",".git/hooks/commit-msg.sample",896,1743401321,755 +file,"repos/project-finder",".git/hooks/fsmonitor-watchman.sample",4726,1743401321,755 +file,"repos/project-finder",".git/hooks/post-update.sample",189,1743401321,755 +file,"repos/project-finder",".git/hooks/pre-applypatch.sample",424,1743401321,755 +file,"repos/project-finder",".git/hooks/pre-commit.sample",1649,1743401321,755 +file,"repos/project-finder",".git/hooks/pre-merge-commit.sample",416,1743401321,755 +file,"repos/project-finder",".git/hooks/pre-push.sample",1374,1743401321,755 +file,"repos/project-finder",".git/hooks/pre-rebase.sample",4898,1743401321,755 +file,"repos/project-finder",".git/hooks/pre-receive.sample",544,1743401321,755 +file,"repos/project-finder",".git/hooks/prepare-commit-msg.sample",1492,1743401321,755 +file,"repos/project-finder",".git/hooks/push-to-checkout.sample",2783,1743401321,755 +file,"repos/project-finder",".git/hooks/sendemail-validate.sample",2308,1743401321,755 +file,"repos/project-finder",".git/hooks/update.sample",3650,1743401321,755 +file,"repos/project-finder",".git/index",2533,1744181103,644 +dir,"repos/project-finder",".git/info/",14,1743401321,755 +file,"repos/project-finder",".git/info/exclude",240,1743401321,644 +dir,"repos/project-finder",".git/logs/",16,1743401324,755 +file,"repos/project-finder",".git/logs/HEAD",882,1744179976,644 +dir,"repos/project-finder",".git/logs/refs/",24,1743401324,755 +dir,"repos/project-finder",".git/logs/refs/heads/",8,1743401324,755 +file,"repos/project-finder",".git/logs/refs/heads/main",882,1744179976,644 +dir,"repos/project-finder",".git/logs/refs/remotes/",12,1743401324,755 +dir,"repos/project-finder",".git/logs/refs/remotes/origin/",16,1743507200,755 +file,"repos/project-finder",".git/logs/refs/remotes/origin/HEAD",193,1743401324,644 +file,"repos/project-finder",".git/logs/refs/remotes/origin/main",453,1744179981,644 +dir,"repos/project-finder",".git/objects/",212,1744181103,755 +dir,"repos/project-finder",".git/objects/05/",76,1743506982,755 +file,"repos/project-finder",".git/objects/05/42f055729f58c5dfb5ae0d0289f9c87c243e83",131,1743506982,644 +dir,"repos/project-finder",".git/objects/0d/",76,1744179961,755 +file,"repos/project-finder",".git/objects/0d/008191de032641fbd2a2eb545009a5e51d24f2",396,1744179961,644 +dir,"repos/project-finder",".git/objects/16/",76,1744179976,755 +file,"repos/project-finder",".git/objects/16/83728031be7aa16b7223d175a6ff3396816a01",176,1744179976,644 +dir,"repos/project-finder",".git/objects/1a/",76,1743507195,755 +file,"repos/project-finder",".git/objects/1a/0f34c996a2a963281fa5314e389e7b8d01a2fd",167,1743507195,644 +dir,"repos/project-finder",".git/objects/1e/",76,1743506983,755 +file,"repos/project-finder",".git/objects/1e/59450ca80c7690065858128ef76d91cef8b0b4",123,1744116033,644 +dir,"repos/project-finder",".git/objects/23/",76,1743506982,755 +file,"repos/project-finder",".git/objects/23/f5525c19fab1179c6e5cb3f7146ff71ab3039a",39,1743506982,644 +dir,"repos/project-finder",".git/objects/2f/",76,1744116032,755 +file,"repos/project-finder",".git/objects/2f/199553ab567645b7ee86a759c9871305352bbf",604,1744116032,644 +dir,"repos/project-finder",".git/objects/33/",76,1743506982,755 +file,"repos/project-finder",".git/objects/33/4c6b2c55b15aeee7fc2459f6326e34a8babc80",52,1743506982,644 +dir,"repos/project-finder",".git/objects/38/",76,1743418561,755 +file,"repos/project-finder",".git/objects/38/5a4bf20e6e7763d9b7d6e2dacc8ea5c8514ac9",178,1743418556,644 +dir,"repos/project-finder",".git/objects/39/",76,1743506982,755 +file,"repos/project-finder",".git/objects/39/fe23aee9ba630b582d4922a01639baeb847c8f",612,1743506982,644 +dir,"repos/project-finder",".git/objects/3a/",76,1744179961,755 +file,"repos/project-finder",".git/objects/3a/47d89d9c732761616407b9a72ec27254f732e7",144,1744179961,644 +dir,"repos/project-finder",".git/objects/48/",76,1744179692,755 +file,"repos/project-finder",".git/objects/48/8e44e088879549f2f76ae588a021836a950f9b",148,1744179692,644 +dir,"repos/project-finder",".git/objects/4b/",76,1743418522,755 +file,"repos/project-finder",".git/objects/4b/817742972348c1344cd17ef1e3180ffe8dfdf8",53,1743418518,644 +dir,"repos/project-finder",".git/objects/51/",76,1744179687,755 +file,"repos/project-finder",".git/objects/51/940dde9d3523626fd6f037287a483626037d02",745,1744179687,644 +dir,"repos/project-finder",".git/objects/52/",76,1744179961,755 +file,"repos/project-finder",".git/objects/52/b399c6d75a4675dae533a45d2bf6bb5696754f",123,1744179961,644 +dir,"repos/project-finder",".git/objects/54/",76,1744179692,755 +file,"repos/project-finder",".git/objects/54/d7c6bd1cedfc6e138df981848b0a1abdf6075c",144,1744179692,644 +dir,"repos/project-finder",".git/objects/55/",152,1743506983,755 +file,"repos/project-finder",".git/objects/55/f43dd7324ec6e153ee9eda5b6221593d285ed2",112,1743506983,644 +file,"repos/project-finder",".git/objects/55/f65e27a46c473ea366ec1cddb8154690ae3839",1418,1743418513,644 +dir,"repos/project-finder",".git/objects/5e/",76,1744116033,755 +file,"repos/project-finder",".git/objects/5e/18e458c5b19b332a121b78c24f752e9ed8a173",396,1744116033,644 +dir,"repos/project-finder",".git/objects/5f/",152,1744181103,755 +file,"repos/project-finder",".git/objects/5f/1bde1904731b5da4ef66b7892742a9b5cff605",396,1744179692,644 +file,"repos/project-finder",".git/objects/5f/cbdc69aba9e7a72a4796620a054ce7cadc229d",9500,1744181103,644 +dir,"repos/project-finder",".git/objects/62/",76,1744116043,755 +file,"repos/project-finder",".git/objects/62/0c274e546e03871325edcec22b808003dfee19",178,1744116043,644 +dir,"repos/project-finder",".git/objects/67/",76,1743506982,755 +file,"repos/project-finder",".git/objects/67/4646ab918e7762c7a08931bb61d1005306f6f8",717,1743506982,644 +dir,"repos/project-finder",".git/objects/6a/",76,1743506982,755 +file,"repos/project-finder",".git/objects/6a/fc6563569b79608daeaec721078a9aebb74ae1",646,1743506982,644 +dir,"repos/project-finder",".git/objects/77/",76,1743504801,755 +file,"repos/project-finder",".git/objects/77/c1ba4c0ddd5130cc87d2e7f204975fd9eeb67c",397,1743504801,644 +dir,"repos/project-finder",".git/objects/78/",76,1744179961,755 +file,"repos/project-finder",".git/objects/78/ace3398d9801bc0a80237ec2026318e38704c4",129,1744179961,644 +dir,"repos/project-finder",".git/objects/7d/",76,1743506983,755 +file,"repos/project-finder",".git/objects/7d/7780c4e28213f5ee76354ca15ad9416783d0b6",395,1743506983,644 +dir,"repos/project-finder",".git/objects/82/",76,1744181103,755 +file,"repos/project-finder",".git/objects/82/8a1b129c14280e9680c8a92b8ca78af2c145ac",630,1744181103,644 +dir,"repos/project-finder",".git/objects/84/",76,1743418519,755 +file,"repos/project-finder",".git/objects/84/10702d4b6ab3d3e966c871d209767c63992531",9498,1743418513,644 +dir,"repos/project-finder",".git/objects/8a/",76,1744116033,755 +file,"repos/project-finder",".git/objects/8a/ce0e8c46098e6b98bc48c716df1ff7ddaffde7",237,1744116033,644 +dir,"repos/project-finder",".git/objects/8c/",76,1744179687,755 +file,"repos/project-finder",".git/objects/8c/6fac4133881d7433de63ccc8d454c9d352c70c",60,1744179687,644 +dir,"repos/project-finder",".git/objects/90/",76,1744179692,755 +file,"repos/project-finder",".git/objects/90/382cf5e6d9313cecf70ff0350907749f3011fe",123,1744179692,644 +dir,"repos/project-finder",".git/objects/91/",76,1743418522,755 +file,"repos/project-finder",".git/objects/91/584a5d0c9844a31a42c855d5d97321af0a1970",57,1743418518,644 +dir,"repos/project-finder",".git/objects/95/",76,1743418519,755 +file,"repos/project-finder",".git/objects/95/01598d5b1e2c3835af01ac5878b3f485a0e8ce",599,1743504800,644 +dir,"repos/project-finder",".git/objects/97/",76,1744179687,755 +file,"repos/project-finder",".git/objects/97/ce6af6b7288bf6c0c35e92b8a60e288c06e4eb",57,1744179687,644 +dir,"repos/project-finder",".git/objects/a1/",76,1744179687,755 +file,"repos/project-finder",".git/objects/a1/7d7eb9ddb5d5ea8a19cd3c548a336663b7a945",474,1744179687,644 +dir,"repos/project-finder",".git/objects/ae/",76,1744179687,755 +file,"repos/project-finder",".git/objects/ae/92f72fbfb1062774e6a9591f267bdf6682d68b",1939,1744179687,644 +dir,"repos/project-finder",".git/objects/b4/",76,1743418539,755 +file,"repos/project-finder",".git/objects/b4/d0c988cbd01c9e231a085662930d31882626ec",396,1743418533,644 +dir,"repos/project-finder",".git/objects/b5/",76,1743506982,755 +file,"repos/project-finder",".git/objects/b5/6c2b2f4967e3f8d2bef13e76850e8613053ea4",124,1743506982,644 +dir,"repos/project-finder",".git/objects/ba/",76,1744179961,755 +file,"repos/project-finder",".git/objects/ba/b6a0d8843039159b276b7ebf633ec285995827",123,1744179961,644 +dir,"repos/project-finder",".git/objects/bc/",76,1744179961,755 +file,"repos/project-finder",".git/objects/bc/593dcfe2e70f8302bc92993ef25b963cfbba37",148,1744179961,644 +dir,"repos/project-finder",".git/objects/c0/",76,1743506983,755 +file,"repos/project-finder",".git/objects/c0/6f1f28de5dddabc5ef30e64ec419be7452c3d8",148,1743506983,644 +dir,"repos/project-finder",".git/objects/c1/",76,1744179810,755 +file,"repos/project-finder",".git/objects/c1/e568aa3fd7cdb7a8562bd4b8c517fe0062cb69",179,1744179810,644 +dir,"repos/project-finder",".git/objects/c3/",76,1744179961,755 +file,"repos/project-finder",".git/objects/c3/f760f421c863a263954f2eafb65539386385e7",461,1744179961,644 +dir,"repos/project-finder",".git/objects/ca/",76,1743504800,755 +file,"repos/project-finder",".git/objects/ca/510ddce02185e0ed0522c50bd29135357c5db8",1918,1743504800,644 +dir,"repos/project-finder",".git/objects/cd/",76,1744181103,755 +file,"repos/project-finder",".git/objects/cd/3057edd1d0279a4d20f0e052d615a5aeb45211",649,1744181103,644 +dir,"repos/project-finder",".git/objects/d8/",76,1743504801,755 +file,"repos/project-finder",".git/objects/d8/91e1a4d17a9436477a8512c917066216838091",57,1743504801,644 +dir,"repos/project-finder",".git/objects/da/",76,1744179961,755 +file,"repos/project-finder",".git/objects/da/48453b51006965ae0498bc731faae608a580dd",761,1744179961,644 +dir,"repos/project-finder",".git/objects/df/",76,1743506982,755 +file,"repos/project-finder",".git/objects/df/ec464726e5181577d1bc35fe1f7e35331d0ce2",297,1744116032,644 +dir,"repos/project-finder",".git/objects/e8/",76,1743506982,755 +file,"repos/project-finder",".git/objects/e8/55fe20e43e92e1bcd4cd5710b28e55a826bb30",1806,1743506982,644 +dir,"repos/project-finder",".git/objects/ec/",76,1743418522,755 +file,"repos/project-finder",".git/objects/ec/98fc190caf56fd498351832908feb4f181fc8a",396,1743418518,644 +dir,"repos/project-finder",".git/objects/info/",0,1743401321,755 +dir,"repos/project-finder",".git/objects/pack/",296,1743434535,755 +file,"repos/project-finder",".git/objects/pack/pack-61ecb5aca089da0ef832eaa216764793abf0ec6b.idx",3396,1743401324,644 +file,"repos/project-finder",".git/objects/pack/pack-61ecb5aca089da0ef832eaa216764793abf0ec6b.pack",34585,1744181103,644 +file,"repos/project-finder",".git/objects/pack/pack-61ecb5aca089da0ef832eaa216764793abf0ec6b.rev",384,1743401324,644 +file,"repos/project-finder",".git/packed-refs",228,1743401324,644 +dir,"repos/project-finder",".git/refs/",32,1743401324,755 +dir,"repos/project-finder",".git/refs/heads/",8,1744179976,755 +file,"repos/project-finder",".git/refs/heads/main",41,1744179976,644 +dir,"repos/project-finder",".git/refs/remotes/",12,1743401324,755 +dir,"repos/project-finder",".git/refs/remotes/origin/",16,1744179981,755 +file,"repos/project-finder",".git/refs/remotes/origin/HEAD",30,1743401324,644 +file,"repos/project-finder",".git/refs/remotes/origin/main",41,1744179981,644 +dir,"repos/project-finder",".git/refs/tags/",0,1743401324,755 +dir,"repos/project-finder",".git/rr-cache/",0,1743418560,755 +dir,"repos/project-finder",".github/",18,1743401324,755 +dir,"repos/project-finder",".github/workflows/",34,1744181100,755 +file,"repos/project-finder",".github/workflows/ci.yml",2645,1744181095,644 +file,"repos/project-finder",".github/workflows/publish.yml",2941,1743401324,644 +file,"repos/project-finder",".gitignore",8,1744181110,644 +file,"repos/project-finder","Cargo.lock",32822,1744180164,644 +file,"repos/project-finder","Cargo.toml",1205,1744180329,644 +file,"repos/project-finder","LICENSE-APACHE",11357,1743401324,644 +file,"repos/project-finder","LICENSE-MIT",1072,1743401324,644 +file,"repos/project-finder","README.md",2987,1743401324,644 +dir,"repos/project-finder","benches/",70,1743504888,755 +file,"repos/project-finder","benches/benchmark.rs",603,1743507257,644 +dir,"repos/project-finder","benches/common/",64,1744178507,755 +file,"repos/project-finder","benches/common/default.rs",55,1744178557,644 +file,"repos/project-finder","benches/common/mod.rs",69,1744178570,644 +file,"repos/project-finder","benches/common/setup.rs",5438,1744179445,644 +file,"repos/project-finder","benches/common/utils.rs",1646,1744179873,644 +dir,"repos/project-finder","benches/fixtures/",64,1743402007,755 +file,"repos/project-finder","benches/fixtures/snapshot-2025-03-31_09-20-03.csv",34307881,1743404688,644 +dir,"repos/project-finder","benches/scenarios/",76,1743505197,755 +file,"repos/project-finder","benches/scenarios/basic.rs",1070,1744179881,644 +file,"repos/project-finder","benches/scenarios/edge_cases.rs",147,1744179825,644 +file,"repos/project-finder","benches/scenarios/mod.rs",53,1743505198,644 +file,"repos/project-finder","benches/scenarios/specific.rs",163,1744179828,644 +file,"repos/project-finder","justfile",104,1743401324,644 +dir,"repos/project-finder","scripts/",16,1743401324,755 +file,"repos/project-finder","scripts/snapshot",6277,1743401324,755 +dir,"repos/project-finder","src/",138,1743401324,755 +file,"repos/project-finder","src/commands.rs",5888,1743401324,644 +file,"repos/project-finder","src/config.rs",598,1743401324,644 +file,"repos/project-finder","src/dependencies.rs",1255,1743401324,644 +file,"repos/project-finder","src/errors.rs",592,1743401324,644 +file,"repos/project-finder","src/finder.rs",12219,1743401324,644 +file,"repos/project-finder","src/main.rs",1260,1744116028,644 +file,"repos/project-finder","src/marker.rs",707,1743401324,644 +dir,"repos/project-finder","tests/",12,1743401324,755 +file,"repos/project-finder","tests/foo.rs",39,1743401324,644