mirror of https://github.com/xvxx/phetch
Compare commits
150 Commits
Author | SHA1 | Date |
---|---|---|
chris west | d0b503ebcf | 1 year ago |
chris west | 38dff71ac0 | 1 year ago |
deadjakk | b29ea2cee4 | 1 year ago |
deadjakk | cf2810af80 | 1 year ago |
deadjakk | 4a5328a14e | 1 year ago |
chris west | 3f2ae945db | 1 year ago |
chris west | 0c970dcb3a | 2 years ago |
chris west | fab97539d9 | 2 years ago |
chris west | 8eb15db192 | 2 years ago |
chris west | 2a55fc3763 | 2 years ago |
drclaw | d90d8bad45 | 2 years ago |
chris west | eb960a78cd | 2 years ago |
chris west | 751553c0fd | 2 years ago |
chris west | 6d7ea11598 | 2 years ago |
chris west | fb1b3d2185 | 2 years ago |
chris west | 9baac849e5 | 2 years ago |
chris west | 89b5febd4b | 2 years ago |
chris west | 02cfc41aa2 | 2 years ago |
chris west | fe1fbf5009 | 2 years ago |
chris west | 8ebeb8dec9 | 2 years ago |
chris west | 6861848217 | 2 years ago |
chris west | 4029fca177 | 2 years ago |
chris west | 79174e329f | 2 years ago |
chris west | 7eefac1c26 | 2 years ago |
chris west | 9e6f1b46f0 | 2 years ago |
chris west | 9da392c04b | 2 years ago |
chris west | 7522427d71 | 2 years ago |
chris west | 105b737d1d | 2 years ago |
walksanatora | e587fad0e6 | 2 years ago |
kakuhen | fee4e316e3 | 2 years ago |
chris west | 6572bf7fca | 4 years ago |
chris west | 17fedeb262 | 4 years ago |
chris west | 082d70cee7 | 4 years ago |
chris west | e98b3ac129 | 4 years ago |
chris west | 8ad88f32b9 | 4 years ago |
chris west | f3dff96429 | 4 years ago |
chris west | 16034d184e | 4 years ago |
chris west | dffaafd1fb | 4 years ago |
chris west | 495e47b5ac | 4 years ago |
chris west | 0edee37c44 | 4 years ago |
chris west | 8f7f74927e | 4 years ago |
chris west | 6231044f58 | 4 years ago |
chris west | ad43179f19 | 4 years ago |
chris west | e6583a81f3 | 4 years ago |
chris west | ba7d527165 | 4 years ago |
chris west | bfdd01e22a | 4 years ago |
chris west | c2c5e1c086 | 4 years ago |
chris west | e28a5469a4 | 4 years ago |
chris west | 02b368ae52 | 4 years ago |
chris west | e5f0f22ec5 | 4 years ago |
chris west | bacacf032e | 4 years ago |
chris west | 6825891b88 | 4 years ago |
chris west | cf9e16650e | 4 years ago |
chris west | c07656509f | 4 years ago |
chris west | fa3dd26db5 | 4 years ago |
chris west | 40479908a8 | 4 years ago |
chris west | 29c10d8042 | 4 years ago |
chris west | 4f652a7209 | 4 years ago |
chris west | 3d6e05c081 | 4 years ago |
chris west | a5c645f402 | 4 years ago |
chris west | 400fe770a9 | 4 years ago |
chris west | 5df09aead9 | 4 years ago |
chris west | 41324a0ff3 | 4 years ago |
chris west | 06344f734a | 4 years ago |
chris west | 80314f6bd6 | 4 years ago |
chris west | 252731d0de | 4 years ago |
chris west | 995870b9d4 | 4 years ago |
chris west | ffa2083740 | 4 years ago |
chris west | 5f232d8862 | 4 years ago |
chris west | 537aa7fbbd | 4 years ago |
chris west | 993ce83800 | 4 years ago |
chris west | 3c057b56f9 | 4 years ago |
chris west | bba6b5c740 | 4 years ago |
chris west | 508c2b44cb | 4 years ago |
chris west | 36c3489bb4 | 4 years ago |
chris west | 689b999ac9 | 4 years ago |
chris west | 38e660ccb6 | 4 years ago |
chris west | 015c7878cc | 4 years ago |
chris west | c574844e62 | 4 years ago |
chris west | a3987d7a15 | 4 years ago |
chris west | 31b17f1e77 | 4 years ago |
chris west | 1b02d330d9 | 4 years ago |
chris west | fce7b34b74 | 4 years ago |
chris west | f891d07d34 | 4 years ago |
chris west | 4e70fa60bb | 4 years ago |
chris west | 6e55457f26 | 4 years ago |
chris west | 5fb8f14586 | 4 years ago |
chris west | 31a50da8bd | 4 years ago |
chris west | ac2accee5c | 4 years ago |
chris west | eb4980e5db | 4 years ago |
chris west | d0ae999b6d | 4 years ago |
chris west | 4be92bba10 | 4 years ago |
chris west | 2da3a20c4e | 4 years ago |
chris west | 2fdb64c49f | 4 years ago |
chris west | 4d47287849 | 4 years ago |
chris west | 053dcec764 | 4 years ago |
chris west | 7585f70e38 | 4 years ago |
chris west | c6d5b7a86d | 4 years ago |
chris west | a3c04be5f7 | 4 years ago |
chris west | 155b30cb28 | 4 years ago |
chris west | 5f796bdee1 | 4 years ago |
chris west | ac77420ba9 | 4 years ago |
chris west | 6fd90872e7 | 4 years ago |
chris west | b6cea29372 | 4 years ago |
chris west | 1359a4eb49 | 4 years ago |
chris west | 596c8042ed | 4 years ago |
chris west | 9536db48ea | 4 years ago |
chris west | d814268d7e | 4 years ago |
chris west | 7157faf16d | 4 years ago |
chris west | f8c808e8f3 | 4 years ago |
chris west | c1dc7a1b84 | 4 years ago |
chris west | 67021ea036 | 4 years ago |
chris west | 65c8403e0e | 4 years ago |
chris west | 88cc95c59f | 4 years ago |
chris west | cd350b15b9 | 4 years ago |
chris west | 7fb209206a | 4 years ago |
chris west | 23c76e483b | 4 years ago |
kim (grufwub) | 81fcecb85d | 4 years ago |
chris west | 6da14a7edc | 4 years ago |
chris west | 0d2be4fb13 | 4 years ago |
chris west | ebe2ebc2d1 | 4 years ago |
chris west | 9270cca9e9 | 4 years ago |
chris west | d19a74161b | 4 years ago |
chris west | e034c66a4f | 4 years ago |
chris west | 3a0789035f | 4 years ago |
chris west | 91ffcb459a | 4 years ago |
chris west | 384cbe0939 | 4 years ago |
chris west | 575ebdbd01 | 4 years ago |
chris west | 05b78919cd | 4 years ago |
chris west | 9d54fb370a | 4 years ago |
chris west | 1146f42174 | 4 years ago |
chris west | fb3e3940db | 4 years ago |
chris west | 4e97579932 | 4 years ago |
chris west | c002f2adc1 | 4 years ago |
chris west | 3680edd856 | 4 years ago |
chris west | 9a635870d3 | 4 years ago |
chris west | d925124807 | 4 years ago |
chris west | 1b1d1fc8f3 | 4 years ago |
chris west | 2ccd55dad7 | 4 years ago |
chris west | a11abe1bc8 | 4 years ago |
chris west | 4899a9f4b8 | 4 years ago |
chris west | 385e88ee22 | 4 years ago |
chris west | f81e514a83 | 4 years ago |
chris west | a1e9d329a1 | 4 years ago |
chris west | 7d36e8c7ca | 4 years ago |
chris west | 88aae700d7 | 4 years ago |
✨ Q (it/its) ✨ | 8ce045ef16 | 4 years ago |
chris west | 3791c9c64f | 4 years ago |
chris west | a36454f43b | 4 years ago |
chris west | b9e0c6be4f | 4 years ago |
File diff suppressed because it is too large
Load Diff
@ -1,2 +1,4 @@
|
||||
[target.armv7-unknown-linux-gnueabihf]
|
||||
image = "rustembedded/cross:armv7-unknown-linux-gnueabihf-0.1.16"
|
||||
[target.aarch64-linux-android]
|
||||
image = "rustembedded/cross:aarch64-linux-android-0.1.16"
|
||||
|
@ -0,0 +1,5 @@
|
||||
/target
|
||||
**/*.rs.bk
|
||||
phetch
|
||||
phetch.log
|
||||
.criterion/
|
@ -0,0 +1,918 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "atty"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
|
||||
[[package]]
|
||||
name = "bstr"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "31accafdb70df7871592c058eca3985b71104e15ac32f64706022c58867da931"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
|
||||
|
||||
[[package]]
|
||||
name = "cast"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0"
|
||||
dependencies = [
|
||||
"rustc_version",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.60"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "2.33.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"textwrap",
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
|
||||
dependencies = [
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation-sys"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
|
||||
|
||||
[[package]]
|
||||
name = "criterion"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70daa7ceec6cf143990669a04c7df13391d55fb27bd4079d252fca774ba244d8"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"cast",
|
||||
"clap",
|
||||
"criterion-plot",
|
||||
"csv",
|
||||
"itertools",
|
||||
"lazy_static",
|
||||
"num-traits",
|
||||
"oorandom",
|
||||
"plotters",
|
||||
"rayon",
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_cbor",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"tinytemplate",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "criterion-plot"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e022feadec601fba1649cfa83586381a4ad31c6bf3a9ab7d408118b05dd9889d"
|
||||
dependencies = [
|
||||
"cast",
|
||||
"itertools",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
|
||||
dependencies = [
|
||||
"crossbeam-utils",
|
||||
"maybe-uninit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
|
||||
dependencies = [
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
"maybe-uninit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
"lazy_static",
|
||||
"maybe-uninit",
|
||||
"memoffset",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if",
|
||||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "csv"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00affe7f6ab566df61b4be3ce8cf16bc2576bca0963ceb0955e45d514bf9a279"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"csv-core",
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "csv-core"
|
||||
version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
|
||||
dependencies = [
|
||||
"foreign-types-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types-shared"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.1.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"wasi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "half"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d36fab90f82edc3c747f9d438e06cf0a491055896f2a279638bb5beed6c40177"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c30f6d0bc6b00693347368a67d41b58f2fb851215ff1da49e90fe2c5c667151"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca059e81d9486668f12d455a4ea6daa600bd408134cd17e3d3fb5a32d1f016f8"
|
||||
dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "maybe-uninit"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.5.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "native-tls"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"log",
|
||||
"openssl",
|
||||
"openssl-probe",
|
||||
"openssl-sys",
|
||||
"schannel",
|
||||
"security-framework",
|
||||
"security-framework-sys",
|
||||
"tempfile",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "numtoa"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
|
||||
|
||||
[[package]]
|
||||
name = "oorandom"
|
||||
version = "11.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a170cebd8021a008ea92e4db85a72f80b35df514ec664b296fdcbb654eac0b2c"
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.10.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cfg-if",
|
||||
"foreign-types",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"openssl-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-probe"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.58"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cc",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "phetch"
|
||||
version = "1.0.4-dev"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"native-tls",
|
||||
"termion",
|
||||
"tor-stream",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "phetch-benchmarks"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"criterion",
|
||||
"phetch",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
|
||||
|
||||
[[package]]
|
||||
name = "plotters"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0d1685fbe7beba33de0330629da9d955ac75bd54f33d7b79f9a895590124f6bb"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"num-traits",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51ef7cd2518ead700af67bf9d1a658d90b6037d77110fd9c0445429d0ba1c6c9"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
"libc",
|
||||
"rand_chacha",
|
||||
"rand_core",
|
||||
"rand_hc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_chacha"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
|
||||
dependencies = [
|
||||
"ppv-lite86",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_core"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_hc"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
||||
dependencies = [
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cfd016f0c045ad38b5251be2c9c0ab806917f82da4d36b2a327e5166adad9270"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"crossbeam-deque",
|
||||
"either",
|
||||
"rayon-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon-core"
|
||||
version = "1.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8c4fec834fb6e6d2dd5eece3c7b432a52f0ba887cf40e595190c4107edc08bf"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-utils",
|
||||
"lazy_static",
|
||||
"num_cpus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.1.57"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
|
||||
|
||||
[[package]]
|
||||
name = "redox_termios"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
|
||||
dependencies = [
|
||||
"redox_syscall",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
|
||||
dependencies = [
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
|
||||
|
||||
[[package]]
|
||||
name = "remove_dir_all"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
|
||||
dependencies = [
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustc_version"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
|
||||
dependencies = [
|
||||
"semver",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||
|
||||
[[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 = "schannel"
|
||||
version = "0.1.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scopeguard"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"core-foundation",
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
"security-framework-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "security-framework-sys"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405"
|
||||
dependencies = [
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
|
||||
dependencies = [
|
||||
"semver-parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver-parser"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.116"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5"
|
||||
|
||||
[[package]]
|
||||
name = "serde_cbor"
|
||||
version = "0.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622"
|
||||
dependencies = [
|
||||
"half",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.116"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.57"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "socks"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6a64cfa9346d26e836a49fcc1ddfcb4d3df666b6787b6864db61d4918e1cbc2"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"libc",
|
||||
"winapi 0.2.8",
|
||||
"ws2_32-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.42"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c51d92969d209b54a98397e1b91c8ae82d8c87a7bb87df0b29aa2ad81454228"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"rand",
|
||||
"redox_syscall",
|
||||
"remove_dir_all",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termion"
|
||||
version = "1.5.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c22cec9d8978d906be5ac94bceb5a010d885c626c4c8855721a4dbd20e3ac905"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"numtoa",
|
||||
"redox_syscall",
|
||||
"redox_termios",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "textwrap"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
||||
dependencies = [
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinytemplate"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d3dc76004a03cec1c5932bca4cdc2e39aaa798e3f82363dd94f9adf6098c12f"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tor-stream"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5865109fc90e0bc0f8c299f3794ca0fd5771df988aa6b962d4c9129c39674746"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"socks",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||
|
||||
[[package]]
|
||||
name = "vcpkg"
|
||||
version = "0.2.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
|
||||
dependencies = [
|
||||
"same-file",
|
||||
"winapi 0.3.9",
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.9.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ac64ead5ea5f05873d7c12b545865ca2b8d28adfc50a49b84770a3a97265d42"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"wasm-bindgen-macro",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f22b422e2a757c35a73774860af8e112bff612ce6cb604224e8e47641a9e4f68"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b13312a745c08c469f0b292dd2fcd6411dba5f7160f593da6ef69b64e407038"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f249f06ef7ee334cc3b8ff031bfc11ec99d00f34d86da7498396dc1e3b1498fe"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d649a3145108d7d3fbcde896a468d1bd636791823c9921135218ad89be08307"
|
||||
|
||||
[[package]]
|
||||
name = "web-sys"
|
||||
version = "0.3.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bf6ef87ad7ae8008e15a355ce696bed26012b7caa21605188cfd8214ab51e2d"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.2.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
||||
|
||||
[[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-build"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
||||
|
||||
[[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.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
|
||||
dependencies = [
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[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 = "ws2_32-sys"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
|
||||
dependencies = [
|
||||
"winapi 0.2.8",
|
||||
"winapi-build",
|
||||
]
|
@ -0,0 +1,23 @@
|
||||
[package]
|
||||
name = "phetch-benchmarks"
|
||||
version = "0.1.0"
|
||||
authors = ["chris west <c@xvxx.io>"]
|
||||
edition = "2018"
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.3.1"
|
||||
|
||||
[[bench]]
|
||||
name = "parse_gopher"
|
||||
harness = false
|
||||
|
||||
[[bench]]
|
||||
name = "render_menu"
|
||||
harness = false
|
||||
|
||||
[[bench]]
|
||||
name = "render_text"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
phetch = { path = ".." }
|
@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Run `cargo bench`");
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
# phetch release process
|
||||
|
||||
- update CHANGELOG.md
|
||||
- $ make test
|
||||
- $ cargo release --prev-tag-name=v1.x.x -n
|
||||
- $ cargo release --prev-tag-name=v1.x.x
|
||||
- edit https://github.com/xvxx/phetch/releases
|
||||
- $ cd ../homebrew-code
|
||||
- $ make VERSION=v1.x.x
|
||||
|
||||
|
||||
[homebrew-code]: https://github.com/xvxx/homebrew-code
|
Binary file not shown.
After Width: | Height: | Size: 645 KiB |
Binary file not shown.
After Width: | Height: | Size: 356 KiB |
Binary file not shown.
After Width: | Height: | Size: 405 KiB |
Binary file not shown.
After Width: | Height: | Size: 409 KiB |
@ -1,113 +0,0 @@
|
||||
//! Terminal colors.
|
||||
//! Provides a macro to color text as well as sturcts to get their
|
||||
//! raw ansi codes.
|
||||
|
||||
use std::fmt;
|
||||
|
||||
/// Shortcut to produce a String colored with one or more colors.
|
||||
/// Example:
|
||||
/// ```
|
||||
/// let s = color_string!("Red string", Red);
|
||||
/// let x = color_string!("Hyperlink-ish", Blue, Underline);
|
||||
macro_rules! color_string {
|
||||
($s:expr, $( $color:ident ),+) => {{
|
||||
let mut out = String::from("\x1b[");
|
||||
$( out.push_str(crate::color::$color::code()); out.push_str(";"); )+
|
||||
out.push('m');
|
||||
out.push_str(&$s);
|
||||
out.push_str(crate::color::Reset.as_ref());
|
||||
out.replace(";m", "m")
|
||||
}};
|
||||
}
|
||||
|
||||
/// Shortcut to produce a color's ANSI escape code. Don't forget to Reset!
|
||||
/// ```
|
||||
/// let mut o = String::new();
|
||||
/// o.push_str(color!(Blue));
|
||||
/// o.push_str(color!(Underline));
|
||||
/// o.push_str("Hyperlinkish.");
|
||||
/// o.push_str(color!(Reset));
|
||||
macro_rules! color {
|
||||
($color:ident) => {
|
||||
crate::color::$color.as_ref()
|
||||
};
|
||||
}
|
||||
|
||||
/// Create a color:: struct that can be used with format!.
|
||||
/// Example:
|
||||
/// ```
|
||||
/// define_color(Red, 91);
|
||||
/// define_color(Reset, 0);
|
||||
///
|
||||
/// println!("{}Error: {}{}", color::Red, msg, color::Reset);
|
||||
macro_rules! define_color {
|
||||
($color:ident, $code:literal) => {
|
||||
#[allow(missing_docs)]
|
||||
pub struct $color;
|
||||
impl fmt::Display for $color {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "{}", self.as_ref())
|
||||
}
|
||||
}
|
||||
impl $color {
|
||||
#[allow(missing_docs)]
|
||||
#[inline]
|
||||
pub fn code() -> &'static str {
|
||||
concat!($code)
|
||||
}
|
||||
}
|
||||
impl AsRef<str> for $color {
|
||||
#[inline]
|
||||
fn as_ref(&self) -> &'static str {
|
||||
concat!("\x1b[", $code, "m")
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
define_color!(Reset, 0);
|
||||
define_color!(Bold, 1);
|
||||
define_color!(Underline, 4);
|
||||
|
||||
define_color!(Grey, 90);
|
||||
define_color!(Red, 91);
|
||||
define_color!(Green, 92);
|
||||
define_color!(Yellow, 93);
|
||||
define_color!(Blue, 94);
|
||||
define_color!(Magenta, 95);
|
||||
define_color!(Cyan, 96);
|
||||
define_color!(White, 97);
|
||||
|
||||
define_color!(Black, 30);
|
||||
define_color!(DarkRed, 31);
|
||||
define_color!(DarkGreen, 32);
|
||||
define_color!(DarkYellow, 33);
|
||||
define_color!(DarkBlue, 34);
|
||||
define_color!(DarkMagenta, 35);
|
||||
define_color!(DarkCyan, 36);
|
||||
define_color!(DarkWhite, 37);
|
||||
|
||||
define_color!(BlackBG, 40);
|
||||
define_color!(RedBG, 41);
|
||||
define_color!(GreenBG, 42);
|
||||
define_color!(YellowBG, 43);
|
||||
define_color!(BlueBG, 44);
|
||||
define_color!(MagentaBG, 45);
|
||||
define_color!(CyanBG, 46);
|
||||
define_color!(WhiteBG, 47);
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[test]
|
||||
fn test_colors() {
|
||||
assert_eq!(color_string!("Error", Red), "\x1b[91mError\x1b[0m");
|
||||
assert_eq!(
|
||||
color_string!("Fancy Pants", Blue, Underline),
|
||||
"\x1b[94;4mFancy Pants\x1b[0m"
|
||||
);
|
||||
assert_eq!(
|
||||
color_string!("Super-duper-fancy-pants", Magenta, Underline, Bold, BlueBG),
|
||||
"\x1b[95;4;1;44mSuper-duper-fancy-pants\x1b[0m"
|
||||
)
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
use std::{borrow::Cow, io::Result};
|
||||
|
||||
/// Encoding of Gopher response. Only UTF8 and CP437 are supported.
|
||||
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
|
||||
pub enum Encoding {
|
||||
/// Unicode
|
||||
UTF8,
|
||||
/// https://en.wikipedia.org/wiki/Code_page_437
|
||||
CP437,
|
||||
}
|
||||
|
||||
impl Default for Encoding {
|
||||
fn default() -> Self {
|
||||
Encoding::UTF8
|
||||
}
|
||||
}
|
||||
|
||||
impl Encoding {
|
||||
/// Accepts a string like "UTF8" or "CP437" and returns the
|
||||
/// appropriate `Encoding`, or an `Err`.
|
||||
pub fn from_str(s: &str) -> Result<Self> {
|
||||
match s.to_lowercase().as_ref() {
|
||||
"utf8" | "utf-8" | "utf 8" => Ok(Encoding::UTF8),
|
||||
"cp437" | "cp-437" | "cp 437" | "pc8" | "pc-8" | "oem us" | "oem-us" => {
|
||||
Ok(Encoding::CP437)
|
||||
}
|
||||
_ => Err(error!("Expected CP437 or UTF8 encoding")),
|
||||
}
|
||||
}
|
||||
|
||||
/// Convert `response` into a String according to `encoding`.
|
||||
pub fn encode<'res>(&self, response: &'res [u8]) -> Cow<'res, str> {
|
||||
if matches!(self, Encoding::CP437) {
|
||||
let mut converted = String::with_capacity(response.len());
|
||||
for b in response {
|
||||
converted.push_str(cp437::convert_byte(b));
|
||||
}
|
||||
Cow::from(converted)
|
||||
} else {
|
||||
String::from_utf8_lossy(response)
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,233 @@
|
||||
//! Terminal color scheme.
|
||||
//! Provides the Theme struct and functions/macros for making use of it.
|
||||
use std::fmt;
|
||||
|
||||
/// Provides a shortcut to the Reset color code.
|
||||
pub mod color {
|
||||
use std::fmt;
|
||||
|
||||
/// Can be used with fmt calls to reset to terminal defaults.
|
||||
pub struct Reset;
|
||||
|
||||
impl fmt::Display for Reset {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "\x1b[0m")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Use with push_str() or something.
|
||||
macro_rules! reset_color {
|
||||
() => {
|
||||
"\x1b[0m"
|
||||
};
|
||||
}
|
||||
|
||||
/// Color scheme for UI and menu items.
|
||||
#[derive(Debug)]
|
||||
pub struct Theme {
|
||||
// UI Colors
|
||||
/// The * cursor that appears next to the selected menu item.
|
||||
pub ui_cursor: String,
|
||||
/// The Number that appears to the left of a menu item.
|
||||
pub ui_number: String,
|
||||
/// The text in a menu.
|
||||
pub ui_menu: String,
|
||||
/// The color of the text content in a document.
|
||||
pub ui_text: String,
|
||||
|
||||
// Menu Item Colors
|
||||
/// Text document.
|
||||
pub item_text: String,
|
||||
/// Another menu.
|
||||
pub item_menu: String,
|
||||
/// Something went wrong.
|
||||
pub item_error: String,
|
||||
/// Gopher search prompt
|
||||
pub item_search: String,
|
||||
/// Telnet item. MUDs and stuff.
|
||||
pub item_telnet: String,
|
||||
/// External link. HTTP, usually.
|
||||
pub item_external: String,
|
||||
/// Binary file that can be downloaded to disk.
|
||||
pub item_download: String,
|
||||
/// Media that can be opened, like an image or mp3.
|
||||
pub item_media: String,
|
||||
/// An unknown or unsupported Gopher type.
|
||||
pub item_unsupported: String,
|
||||
}
|
||||
|
||||
impl Default for Theme {
|
||||
fn default() -> Theme {
|
||||
Theme {
|
||||
ui_cursor: to_color("white bold"),
|
||||
ui_number: to_color("magenta"),
|
||||
ui_menu: to_color("yellow"),
|
||||
ui_text: to_color("white"),
|
||||
|
||||
item_text: to_color("cyan"),
|
||||
item_menu: to_color("blue"),
|
||||
item_error: to_color("red"),
|
||||
item_search: to_color("white"),
|
||||
item_telnet: to_color("grey"),
|
||||
item_external: to_color("green"),
|
||||
item_download: to_color("white underline"),
|
||||
item_media: to_color("green underline"),
|
||||
item_unsupported: to_color("whitebg red"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for Theme {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(
|
||||
f,
|
||||
"# phetch theme
|
||||
ui.cursor {ui_cursor}
|
||||
ui.number {ui_number}
|
||||
ui.menu {ui_menu}
|
||||
ui.text {ui_text}
|
||||
|
||||
item.text {item_text}
|
||||
item.menu {item_menu}
|
||||
item.error {item_error}
|
||||
item.search {item_search}
|
||||
item.telnet {item_telnet}
|
||||
item.external {item_external}
|
||||
item.download {item_download}
|
||||
item.media {item_media}
|
||||
item.unsupported {item_unsupported}",
|
||||
ui_cursor = to_words(&self.ui_cursor),
|
||||
ui_number = to_words(&self.ui_number),
|
||||
ui_menu = to_words(&self.ui_menu),
|
||||
ui_text = to_words(&self.ui_text),
|
||||
item_text = to_words(&self.item_text),
|
||||
item_menu = to_words(&self.item_menu),
|
||||
item_error = to_words(&self.item_error),
|
||||
item_search = to_words(&self.item_search),
|
||||
item_telnet = to_words(&self.item_telnet),
|
||||
item_external = to_words(&self.item_external),
|
||||
item_download = to_words(&self.item_download),
|
||||
item_media = to_words(&self.item_media),
|
||||
item_unsupported = to_words(&self.item_unsupported),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/// Convert a string like "blue underline" or "red" into a color code.
|
||||
pub fn to_color<S: AsRef<str>>(line: S) -> String {
|
||||
if *crate::NO_COLOR {
|
||||
return "".into();
|
||||
}
|
||||
|
||||
let parts = line.as_ref().split(' ').collect::<Vec<_>>();
|
||||
|
||||
if parts.is_empty() {
|
||||
return "".into();
|
||||
}
|
||||
|
||||
let mut out = String::from("\x1b[");
|
||||
let len = parts.len();
|
||||
|
||||
for (i, part) in parts.iter().enumerate() {
|
||||
out.push_str(&color_code(part).to_string());
|
||||
if i < len - 1 {
|
||||
out.push(';');
|
||||
}
|
||||
}
|
||||
out.push('m');
|
||||
|
||||
out
|
||||
}
|
||||
|
||||
/// Convert color code like "\x1b[91m" into something like "red"
|
||||
pub fn to_words<S: AsRef<str>>(code: S) -> String {
|
||||
code.as_ref()
|
||||
.replace("\x1b[", "")
|
||||
.replace('m', "")
|
||||
.split(';')
|
||||
.map(color_word)
|
||||
.collect::<Vec<_>>()
|
||||
.join(" ")
|
||||
}
|
||||
|
||||
fn color_code(color: &str) -> usize {
|
||||
match color {
|
||||
"bold" => 1,
|
||||
"underline" => 4,
|
||||
"grey" => 90,
|
||||
"red" => 91,
|
||||
"green" => 92,
|
||||
"yellow" => 93,
|
||||
"blue" => 94,
|
||||
"magenta" => 95,
|
||||
"cyan" => 96,
|
||||
"white" => 97,
|
||||
"black" => 30,
|
||||
"darkred" => 31,
|
||||
"darkgreen" => 32,
|
||||
"darkyellow" => 33,
|
||||
"darkblue" => 34,
|
||||
"darkmagenta" => 35,
|
||||
"darkcyan" => 36,
|
||||
"darkwhite" => 37,
|
||||
"blackbg" => 40,
|
||||
"redbg" => 41,
|
||||
"greenbg" => 42,
|
||||
"yellowbg" => 43,
|
||||
"bluebg" => 44,
|
||||
"magentabg" => 45,
|
||||
"cyanbg" => 46,
|
||||
"whitebg" => 47,
|
||||
_ => 0,
|
||||
}
|
||||
}
|
||||
|
||||
fn color_word(code: &str) -> &'static str {
|
||||
match code {
|
||||
"1" => "bold",
|
||||
"4" => "underline",
|
||||
"90" => "grey",
|
||||
"91" => "red",
|
||||
"92" => "green",
|
||||
"93" => "yellow",
|
||||
"94" => "blue",
|
||||
"95" => "magenta",
|
||||
"96" => "cyan",
|
||||
"97" => "white",
|
||||
"30" => "black",
|
||||
"31" => "darkred",
|
||||
"32" => "darkgreen",
|
||||
"33" => "darkyellow",
|
||||
"34" => "darkblue",
|
||||
"35" => "darkmagenta",
|
||||
"36" => "darkcyan",
|
||||
"37" => "darkwhite",
|
||||
"40" => "blackbg",
|
||||
"41" => "redbg",
|
||||
"42" => "greenbg",
|
||||
"43" => "yellowbg",
|
||||
"44" => "bluebg",
|
||||
"45" => "magentabg",
|
||||
"46" => "cyanbg",
|
||||
"47" => "whitebg",
|
||||
_ => "white",
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_color_scheme() {
|
||||
let mut theme = Theme::default();
|
||||
theme.ui_cursor = to_color("bold").into();
|
||||
theme.ui_menu = to_color("red").into();
|
||||
theme.item_menu = to_color("blue underline").into();
|
||||
|
||||
assert_eq!("\u{1b}[1m", theme.ui_cursor);
|
||||
assert_eq!("\u{1b}[91m", theme.ui_menu);
|
||||
assert_eq!("\u{1b}[94;4m", theme.item_menu);
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,15 @@
|
||||
# phetch theme
|
||||
ui.cursor red
|
||||
ui.number white
|
||||
ui.menu cyan
|
||||
ui.text white
|
||||
|
||||
item.text magenta
|
||||
item.menu magenta
|
||||
item.error red
|
||||
item.search magenta
|
||||
item.telnet magenta
|
||||
item.external magenta
|
||||
item.download magenta underline
|
||||
item.media magenta underline
|
||||
item.unsupported magentabg white
|
@ -0,0 +1,14 @@
|
||||
# phetch default theme
|
||||
ui.cursor white bold
|
||||
ui.number magenta
|
||||
ui.menu yellow
|
||||
ui.text white
|
||||
item.text cyan
|
||||
item.menu blue
|
||||
item.error red
|
||||
item.search white
|
||||
item.telnet grey
|
||||
item.external green
|
||||
item.download white underline
|
||||
item.media green underline
|
||||
item.unsupported whitebg red
|
@ -0,0 +1,15 @@
|
||||
# phetch light theme
|
||||
ui.cursor black bold
|
||||
ui.number magenta
|
||||
ui.menu darkyellow
|
||||
ui.text black
|
||||
|
||||
item.text darkcyan
|
||||
item.menu blue
|
||||
item.error red
|
||||
item.search black
|
||||
item.telnet grey
|
||||
item.external darkgreen
|
||||
item.download black underline
|
||||
item.media darkgreen underline
|
||||
item.unsupported redbg white
|
@ -0,0 +1,15 @@
|
||||
# phetch matrix theme
|
||||
ui.cursor yellow
|
||||
ui.number grey
|
||||
ui.menu green
|
||||
ui.text green
|
||||
|
||||
item.text green
|
||||
item.menu green
|
||||
item.error red
|
||||
item.search green
|
||||
item.telnet green
|
||||
item.external green
|
||||
item.download green underline
|
||||
item.media green underline
|
||||
item.unsupported magentabg white
|
@ -0,0 +1,15 @@
|
||||
# phetch vaporwave(ish) theme
|
||||
ui.cursor red
|
||||
ui.number white
|
||||
ui.menu cyan
|
||||
ui.text white
|
||||
|
||||
item.text magenta
|
||||
item.menu magenta
|
||||
item.error red
|
||||
item.search magenta
|
||||
item.telnet magenta
|
||||
item.external magenta
|
||||
item.download magenta underline
|
||||
item.media magenta underline
|
||||
item.unsupported magentabg white
|
@ -0,0 +1,15 @@
|
||||
# phetch web theme
|
||||
ui.cursor white bold
|
||||
ui.number white
|
||||
ui.menu white
|
||||
ui.text white
|
||||
|
||||
item.text blue underline
|
||||
item.menu blue underline
|
||||
item.error red
|
||||
item.search blue underline
|
||||
item.telnet blue underline
|
||||
item.external blue underline
|
||||
item.download blue underline
|
||||
item.media blue underline
|
||||
item.unsupported whitebg red
|
Loading…
Reference in New Issue