diff --git a/Cargo.lock b/Cargo.lock index 98ff875..102924e 100755 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,6 +23,7 @@ dependencies = [ "socket2", "starship-battery", "strip-ansi-escapes", + "strum", "supports-unicode", "sys-locale", "sysinfo", @@ -61,9 +62,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arbitrary" @@ -139,9 +140,9 @@ dependencies = [ [[package]] name = "avif-serialize" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c8fbc0f831f4519fe8b810b6a7a91410ec83031b8233f730a0480029f6a23f" +checksum = "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d" dependencies = [ "arrayvec", ] @@ -184,9 +185,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bitstream-io" @@ -197,6 +198,15 @@ dependencies = [ "core2", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "built" version = "0.8.0" @@ -205,15 +215,15 @@ checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64" [[package]] name = "bumpalo" -version = "3.19.1" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" [[package]] name = "byteorder-lite" @@ -223,9 +233,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "cc" -version = "1.2.51" +version = "1.2.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" +checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" dependencies = [ "find-msvc-tools", "jobserver", @@ -253,32 +263,15 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "console" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" +checksum = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" dependencies = [ "encode_unicode", "libc", - "once_cell", - "windows-sys 0.61.2", + "windows-sys", ] -[[package]] -name = "core-foundation" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - [[package]] name = "core2" version = "0.4.0" @@ -353,9 +346,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "csscolorparser" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02ee6eae4d99456f92dc379ba21cf08f783ef5525f193c3854b4e921ece045c5" +checksum = "199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952" dependencies = [ "num-traits", "phf", @@ -365,9 +358,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", ] @@ -390,7 +383,18 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.61.2", + "windows-sys", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags", + "block2", + "objc2", ] [[package]] @@ -414,12 +418,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" -[[package]] -name = "env_home" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" - [[package]] name = "equator" version = "0.4.2" @@ -453,7 +451,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -473,9 +471,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "fax" @@ -508,25 +506,31 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.6" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "flate2" -version = "1.1.5" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", ] +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "libc", @@ -541,15 +545,28 @@ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + [[package]] name = "gif" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" +checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" dependencies = [ "color_quant", "weezl", @@ -557,9 +574,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.30.9" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" +checksum = "f70749695b063ecbf6b62949ccccde2e733ec3ecbbd71d467dca4e5c6c97cca0" [[package]] name = "half" @@ -574,15 +591,36 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.16.1" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "image" -version = "0.25.9" +version = "0.25.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" dependencies = [ "bytemuck", "byteorder-lite", @@ -598,8 +636,8 @@ dependencies = [ "rayon", "rgb", "tiff", - "zune-core 0.5.0", - "zune-jpeg 0.5.8", + "zune-core", + "zune-jpeg", ] [[package]] @@ -620,12 +658,14 @@ checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8" [[package]] name = "indexmap" -version = "2.12.1" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.17.0", + "serde", + "serde_core", ] [[package]] @@ -650,9 +690,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jobserver" @@ -666,9 +706,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.83" +version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" +checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" dependencies = [ "once_cell", "wasm-bindgen", @@ -680,6 +720,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lebe" version = "0.5.3" @@ -688,15 +734,15 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libc" -version = "0.2.179" +version = "0.2.184" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f" +checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" [[package]] name = "libfuzzer-sys" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" +checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" dependencies = [ "arbitrary", "cc", @@ -704,25 +750,24 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.12" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags", "libc", ] [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litrs" @@ -756,12 +801,9 @@ dependencies = [ [[package]] name = "mach2" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a1b95cd5421ec55b445b5ae102f5ea0e768de1f82bd3001e11f426c269c3aea" -dependencies = [ - "libc", -] +checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" [[package]] name = "maybe-rayon" @@ -775,9 +817,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "miniz_oxide" @@ -791,9 +833,9 @@ dependencies = [ [[package]] name = "moxcms" -version = "0.7.11" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" dependencies = [ "num-traits", "pxfm", @@ -807,9 +849,9 @@ checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nix" -version = "0.30.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" dependencies = [ "bitflags", "cfg-if", @@ -834,9 +876,9 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" [[package]] name = "ntapi" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c70f219e21142367c70c0b30c6a9e3a14d55b4d12a204d897fbec83a0363f081" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] @@ -853,9 +895,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" [[package]] name = "num-derive" @@ -898,6 +940,15 @@ dependencies = [ "libm", ] +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + [[package]] name = "objc2-core-foundation" version = "0.3.2" @@ -905,23 +956,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ "bitflags", + "block2", + "dispatch2", + "libc", + "objc2", ] +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + [[package]] name = "objc2-io-kit" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" dependencies = [ + "bitflags", + "block2", + "dispatch2", "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-system-configuration" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396" +dependencies = [ "objc2-core-foundation", ] [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "option-ext" @@ -931,9 +1005,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "owo-colors" -version = "4.2.3" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6901729fa79e91a0913333229e9ca5dc725089d1c363b2f4b4760709dc4a52" +checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d" [[package]] name = "parking_lot" @@ -955,7 +1029,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -1030,9 +1104,9 @@ dependencies = [ [[package]] name = "png" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ "bitflags", "crc32fast", @@ -1056,11 +1130,21 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "proc-macro2" -version = "1.0.104" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -1086,12 +1170,9 @@ dependencies = [ [[package]] name = "pxfm" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" -dependencies = [ - "num-traits", -] +checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" [[package]] name = "qoi" @@ -1119,9 +1200,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.42" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -1132,11 +1213,17 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rand" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166" dependencies = [ "rand_chacha", "rand_core", @@ -1154,9 +1241,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ "getrandom 0.3.4", ] @@ -1198,9 +1285,9 @@ dependencies = [ [[package]] name = "ravif" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef69c1990ceef18a116855938e74793a5f7496ee907562bd0857b6ac734ab285" +checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45" dependencies = [ "avif-serialize", "imgref", @@ -1246,31 +1333,31 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", "thiserror", ] [[package]] name = "rgb" -version = "0.8.52" +version = "0.8.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" +checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" dependencies = [ "bytemuck", ] [[package]] name = "rustix" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1285,6 +1372,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" + [[package]] name = "serde" version = "1.0.228" @@ -1317,9 +1410,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.148" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3084b546a1dd6289475996f182a22aba973866ea8e8b02c51d9f46b1336a22da" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", @@ -1336,9 +1429,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "simd-adler32" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" +checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" [[package]] name = "simd_helpers" @@ -1351,9 +1444,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "smallvec" @@ -1363,12 +1456,12 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys", ] [[package]] @@ -1379,20 +1472,21 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "starship-battery" -version = "0.10.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0efc2c44c92705be724265a0c758e3b7c120ea63817d2d684bab86fbeced9a" +checksum = "c2aa96d3dc4e9714cd8d068e0848b1502c2ed24ae68bdb6ec31b1fb7aef1e42f" dependencies = [ "cfg-if", - "core-foundation", "lazycell", "libc", "mach2", "nix", "num-traits", + "objc2-core-foundation", + "objc2-io-kit", "plist", "uom", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1404,6 +1498,27 @@ dependencies = [ "vte", ] +[[package]] +name = "strum" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "supports-unicode" version = "3.0.0" @@ -1412,9 +1527,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" -version = "2.0.113" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678faa00651c9eb72dd2020cbdf275d92eccb2400d568e419efdd64838145cb4" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -1432,9 +1547,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.37.2" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" +checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" dependencies = [ "libc", "memchr", @@ -1446,15 +1561,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.24.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1468,18 +1583,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -1488,44 +1603,44 @@ dependencies = [ [[package]] name = "tiff" -version = "0.10.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" +checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" dependencies = [ "fax", "flate2", "half", "quick-error", "weezl", - "zune-jpeg 0.4.21", + "zune-jpeg", ] [[package]] name = "time" -version = "0.3.44" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", "num-conv", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.24" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", @@ -1548,21 +1663,27 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-segmentation" -version = "1.12.0" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" + +[[package]] +name = "unicode-xid" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "uom" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd5cfe7d84f6774726717f358a37f5bca8fca273bed4de40604ad129d1107b49" +checksum = "a739f83872836c82a4f2527d4e54b37007b3de68cafe7edde95fd695968bf4b9" dependencies = [ "num-traits", "typenum", @@ -1617,18 +1738,27 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.1+wasi-0.2.4" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.106" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" dependencies = [ "cfg-if", "once_cell", @@ -1639,9 +1769,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.106" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1649,9 +1779,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.106" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" dependencies = [ "bumpalo", "proc-macro2", @@ -1662,18 +1792,52 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.106" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "web-sys" -version = "0.3.83" +version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" +checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" dependencies = [ "js-sys", "wasm-bindgen", @@ -1687,22 +1851,22 @@ checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" [[package]] name = "which" -version = "8.0.0" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" +checksum = "81995fafaaaf6ae47a7d0cc83c67caf92aeb7e5331650ae6ff856f7c0c60c459" dependencies = [ - "env_home", - "rustix", - "winsafe", + "libc", ] [[package]] name = "whoami" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86dc1eeef7866078951fc09f1857d3d33a37432fe376d7ff45449c8bb50318c1" +checksum = "d6a5b12f9df4f978d2cfdb1bd3bac52433f44393342d7ee9c25f5a1c14c0f45d" dependencies = [ + "libc", "libredox", + "objc2-system-configuration", "web-sys", ] @@ -1728,7 +1892,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1739,47 +1903,46 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.61.3" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ "windows-collections", "windows-core", "windows-future", - "windows-link 0.1.3", "windows-numerics", ] [[package]] name = "windows-collections" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" dependencies = [ "windows-core", ] [[package]] name = "windows-core" -version = "0.61.2" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", - "windows-link 0.1.3", + "windows-link", "windows-result", "windows-strings", ] [[package]] name = "windows-future" -version = "0.2.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ "windows-core", - "windows-link 0.1.3", + "windows-link", "windows-threading", ] @@ -1805,12 +1968,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - [[package]] name = "windows-link" version = "0.2.1" @@ -1819,39 +1976,30 @@ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-numerics" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ "windows-core", - "windows-link 0.1.3", + "windows-link", ] [[package]] name = "windows-result" -version = "0.3.4" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-sys" -version = "0.60.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-targets", + "windows-link", ] [[package]] @@ -1860,94 +2008,105 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] -name = "windows-targets" -version = "0.53.5" +name = "windows-threading" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link 0.2.1", - "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", + "windows-link", ] [[package]] -name = "windows-threading" -version = "0.1.0" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ - "windows-link 0.1.3", + "wit-bindgen-rust-macro", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] [[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" +name = "wit-bindgen-rust" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] [[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" +name = "wit-bindgen-rust-macro" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] [[package]] -name = "winsafe" -version = "0.0.19" +name = "wit-component" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] [[package]] -name = "wit-bindgen" -version = "0.46.0" +name = "wit-parser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "y4m" @@ -1957,18 +2116,18 @@ checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" [[package]] name = "zerocopy" -version = "0.8.31" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" +checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.31" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" +checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" dependencies = [ "proc-macro2", "quote", @@ -1977,21 +2136,15 @@ dependencies = [ [[package]] name = "zmij" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e0d8dffbae3d840f64bda38e28391faef673a7b5a6017840f2a106c8145868" - -[[package]] -name = "zune-core" -version = "0.4.12" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zune-core" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" [[package]] name = "zune-inflate" @@ -2004,18 +2157,9 @@ dependencies = [ [[package]] name = "zune-jpeg" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" -dependencies = [ - "zune-core 0.4.12", -] - -[[package]] -name = "zune-jpeg" -version = "0.5.8" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35aee689668bf9bd6f6f3a6c60bb29ba1244b3b43adfd50edd554a371da37d5" +checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" dependencies = [ - "zune-core 0.5.0", + "zune-core", ] diff --git a/Cargo.toml b/Cargo.toml index 980ae2f..345ada3 100755 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,24 +23,25 @@ opt-level = 3 strip = true [dependencies] -whoami = { version = "2.0.0", default-features = false, features = ["std"] } +bitcode = "0.6.9" +csscolorparser = "0.8.3" +dirs = "6.0.0" +image = { version = "0.25.10", optional = true } +owo-colors = "4.2.3" +rayon = "1.11.0" serde = { version = "1.0.228", features = ["derive"] } -image = { version = "0.25.9", optional = true } -viuer = { version = "0.11.0", optional = true } -unicode-segmentation = "1.12.0" +serde_json = "1.0.149" +socket2 = "0.6.3" +starship-battery = "0.11.0" strip-ansi-escapes = "0.2.1" -starship-battery = "0.10.3" +strum = { version = "0.28.0", features = ["derive"] } supports-unicode = "3.0.0" -csscolorparser = "0.8.1" -serde_json = "1.0.148" +sysinfo = "0.38.4" sys-locale = "0.3.2" -owo-colors = "4.2.3" -sysinfo = "0.37.2" -bitcode = "0.6.9" -socket2 = "0.6.1" -rayon = "1.11.0" -which = "8.0.0" -dirs = "6.0.0" +unicode-segmentation = "1.13.2" +viuer = { version = "0.11.0", optional = true } +which = "8.0.2" +whoami = { version = "2.1.1", default-features = false, features = ["std"] } [features] default = [] diff --git a/src/config/constants.rs b/src/config/constants.rs new file mode 100644 index 0000000..ce38323 --- /dev/null +++ b/src/config/constants.rs @@ -0,0 +1,15 @@ +use super::deserialize::ColorWrapper; + +pub const DEFAULT_COLOR: ColorWrapper = ColorWrapper::Rgb { + r: 255, + g: 255, + b: 255, +}; +pub const DEFAULT_COLOR_OPTION: Option = Some(DEFAULT_COLOR); + +pub const DEFAULT_IPV4_DOMAIN: &str = "ipinfo.io"; +pub const DEFAULT_IPV4_PORT: u16 = 80; +pub const DEFAULT_IPV4_PATH: &str = "/ip"; +pub const DEFAULT_IPV6_DOMAIN: &str = "v6.ipinfo.io"; +pub const DEFAULT_IPV6_PORT: u16 = 80; +pub const DEFAULT_IPV6_PATH: &str = "/ip"; diff --git a/src/config/deserialize.rs b/src/config/deserialize.rs index efd0d64..218eebf 100644 --- a/src/config/deserialize.rs +++ b/src/config/deserialize.rs @@ -1,9 +1,13 @@ -use crate::{ - config::SeparatorSizing, logos::get_logo, system::InfoKind, translations::get_language, -}; +use bitcode::{Decode, Encode}; use owo_colors::DynColors; use serde::Deserialize; +use super::{SeparatorSizing, constants}; +use crate::config::constants::DEFAULT_COLOR; +use crate::logos::system_logo; +use crate::system::InfoKind; +use crate::translations::get_language; + #[derive(Debug, Deserialize)] struct ConfigWrapper<'a> { #[serde(default)] @@ -124,12 +128,18 @@ enum ColorRepr<'a> { Text(&'a str), } -#[derive(Debug, Clone, Copy, bitcode::Decode, bitcode::Encode)] +#[derive(Copy, Clone, Debug, Decode, Encode)] pub enum ColorWrapper { Rgb { r: u8, g: u8, b: u8 }, Ansi(u8), } +impl Default for ColorWrapper { + fn default() -> Self { + DEFAULT_COLOR + } +} + impl From for DynColors { fn from(value: ColorWrapper) -> Self { match value { @@ -139,12 +149,6 @@ impl From for DynColors { } } -impl Default for ColorWrapper { - fn default() -> Self { - Self::Ansi(6) - } -} - #[inline] fn color_repr_to_wrapper( color: Option, @@ -168,18 +172,19 @@ fn color_repr_to_wrapper( } impl<'de> serde::Deserialize<'de> for super::Config<'de> { + #[allow(clippy::too_many_lines)] fn deserialize>(deserializer: D) -> Result { let config = ConfigWrapper::deserialize(deserializer)?; let language_func = get_language(config.language.into()); let logo_color = if let super::LogoStyle::Braille { logo: Some(logo) } = config.logo { - Some(ColorWrapper::Ansi(get_logo(Some(logo.to_owned())).1)) + Some(ColorWrapper::Ansi(system_logo(Some(logo.to_owned())).1)) } else { None }; - let entries = config - .info - .map(|info| { + let entries = config.info.map_or_else( + || super::default_entries(config.language), + |info| { info.into_iter() .map(|info| match info { Entry::Info { @@ -195,10 +200,10 @@ impl<'de> serde::Deserialize<'de> for super::Config<'de> { super::Entry::Info { kind, fields: kind - .get_fields() + .fields() .iter() .filter(|field| { - let field_str = field.as_str(); + let field_str: &'static str = (*field).into(); header.contains(field_str) || format.contains(field_str) }) .copied() @@ -240,8 +245,8 @@ impl<'de> serde::Deserialize<'de> for super::Config<'de> { }, }) .collect::>() - }) - .unwrap_or_else(|| super::default_entries(config.language)); + }, + ); Ok(Self { info: super::group_fields_by_kind(&entries), @@ -251,13 +256,17 @@ impl<'de> serde::Deserialize<'de> for super::Config<'de> { header: color_repr_to_wrapper(config.colors.header, logo_color, logo_color), header_separator: color_repr_to_wrapper( config.colors.header_separator, - super::FALLBACK_COLOR, + constants::DEFAULT_COLOR_OPTION, + logo_color, + ), + info: color_repr_to_wrapper( + config.colors.info, + constants::DEFAULT_COLOR_OPTION, logo_color, ), - info: color_repr_to_wrapper(config.colors.info, super::FALLBACK_COLOR, logo_color), separator: color_repr_to_wrapper( config.colors.separator, - super::FALLBACK_COLOR, + constants::DEFAULT_COLOR_OPTION, logo_color, ), }, @@ -287,14 +296,14 @@ impl<'de> serde::Deserialize<'de> for super::Config<'de> { .map(|public_ip| super::PublicIpInfoConfig { ipv4_domain: public_ip .ipv4_domain - .unwrap_or(super::DEFAULT_IPV4_DOMAIN), - ipv4_port: public_ip.ipv4_port.unwrap_or(super::DEFAULT_IPV4_PORT), - ipv4_path: public_ip.ipv4_path.unwrap_or(super::DEFAULT_IPV4_PATH), + .unwrap_or(constants::DEFAULT_IPV4_DOMAIN), + ipv4_port: public_ip.ipv4_port.unwrap_or(constants::DEFAULT_IPV4_PORT), + ipv4_path: public_ip.ipv4_path.unwrap_or(constants::DEFAULT_IPV4_PATH), ipv6_domain: public_ip .ipv6_domain - .unwrap_or(super::DEFAULT_IPV6_DOMAIN), - ipv6_port: public_ip.ipv6_port.unwrap_or(super::DEFAULT_IPV6_PORT), - ipv6_path: public_ip.ipv6_path.unwrap_or(super::DEFAULT_IPV6_PATH), + .unwrap_or(constants::DEFAULT_IPV6_DOMAIN), + ipv6_port: public_ip.ipv6_port.unwrap_or(constants::DEFAULT_IPV6_PORT), + ipv6_path: public_ip.ipv6_path.unwrap_or(constants::DEFAULT_IPV6_PATH), }) .unwrap_or_default(), }) diff --git a/src/config/mod.rs b/src/config/mod.rs index bc9e5e7..1ef3753 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -2,27 +2,18 @@ pub mod deserialize; -use crate::{ - config::deserialize::ColorWrapper, - error::FetchInfoError, - system::{InfoField, InfoKind}, - translations::get_language, -}; +mod constants; + +use std::collections::{HashMap, HashSet}; + use bitcode::{Decode, Encode}; use serde::Deserialize; -use std::collections::{HashMap, HashSet}; +use strum::IntoStaticStr; -const FALLBACK_COLOR: Option = Some(ColorWrapper::Rgb { - r: 255, - g: 255, - b: 255, -}); -const DEFAULT_IPV4_DOMAIN: &str = "ipinfo.io"; -const DEFAULT_IPV4_PORT: u16 = 80; -const DEFAULT_IPV4_PATH: &str = "/ip"; -const DEFAULT_IPV6_DOMAIN: &str = "v6.ipinfo.io"; -const DEFAULT_IPV6_PORT: u16 = 80; -const DEFAULT_IPV6_PATH: &str = "/ip"; +use crate::config::deserialize::ColorWrapper; +use crate::error::FetchInfoError; +use crate::system::{InfoField, InfoKind}; +use crate::translations::get_language; #[derive(Debug, Decode, Encode)] pub struct Config<'a> { @@ -34,6 +25,73 @@ pub struct Config<'a> { pub parameters: InfoConfig<'a>, } +impl Config<'_> { + pub fn load(buffer: &mut Vec) -> Config<'_> { + let cache_path = dirs::cache_dir() + .map(|p| p.join("afetch.bin")) + .ok_or_else(|| { + FetchInfoError::error_exit( + "An error occurred while retrieving the cache folder, \ + please open an issue at: https://github.com/Asthowen/AFetch/issues/new \ + so that we can solve your issue.", + ) + }) + .unwrap(); + + if let Ok(content) = std::fs::read(&cache_path) { + *buffer = content; + return bitcode::decode(buffer).ok().unwrap_or_default(); + } + + let config_path = dirs::config_dir() + .map(|p| p.join("afetch").join("config.json")) + .ok_or_else(|| { + FetchInfoError::error_exit( + "An error occurred while retrieving the config folder, \ + please open an issue at: https://github.com/Asthowen/AFetch/issues/new \ + so that we can solve your issue.", + ) + }) + .unwrap(); + + if let Ok(content) = std::fs::read(&config_path) { + *buffer = content; + + let config: Config = serde_json::from_slice(buffer) + .inspect_err(|error| { + eprintln!( + "Warning: Your configuration is malformed ({error}). \ + Falling back to the default one.", + ); + }) + .ok() + .unwrap_or_default(); + + std::fs::create_dir_all(cache_path.parent().unwrap()) + .and_then(|()| std::fs::write(cache_path, bitcode::encode(&config))) + .ok(); + + return config; + } + + Config::default() + } +} + +impl Default for Config<'_> { + fn default() -> Self { + let entries = default_entries(Locale::default()); + Self { + info: group_fields_by_kind(&entries), + language: Locale::default().into(), + entries, + colors: ColorOption::default(), + logo: LogoStyle::default(), + parameters: InfoConfig::default(), + } + } +} + #[derive(Debug, Default, Decode, Encode)] pub struct InfoConfig<'a> { pub disks: DisksInfoConfig<'a>, @@ -47,6 +105,15 @@ pub struct DisksInfoConfig<'a> { pub include: Option>, } +impl Default for DisksInfoConfig<'_> { + fn default() -> Self { + Self { + include: None, + exclude: vec!["/boot", "/etc", "/snapd", "/docker"], + } + } +} + #[derive(Debug, Decode, Encode)] pub struct NetworksInfoConfig<'a> { pub exclude: Vec<&'a str>, @@ -56,26 +123,7 @@ pub struct NetworksInfoConfig<'a> { pub ignore_loopback: bool, } -#[derive(Debug, Decode, Encode)] -pub struct PublicIpInfoConfig<'a> { - pub ipv4_domain: &'a str, - pub ipv4_port: u16, - pub ipv4_path: &'a str, - pub ipv6_domain: &'a str, - pub ipv6_port: u16, - pub ipv6_path: &'a str, -} - -impl<'a> Default for DisksInfoConfig<'a> { - fn default() -> Self { - Self { - include: None, - exclude: vec!["/boot", "/etc", "/snapd", "/docker"], - } - } -} - -impl<'a> Default for NetworksInfoConfig<'a> { +impl Default for NetworksInfoConfig<'_> { fn default() -> Self { Self { include: None, @@ -89,15 +137,25 @@ impl<'a> Default for NetworksInfoConfig<'a> { } } -impl<'a> Default for PublicIpInfoConfig<'a> { +#[derive(Debug, Decode, Encode)] +pub struct PublicIpInfoConfig<'a> { + pub ipv4_domain: &'a str, + pub ipv4_port: u16, + pub ipv4_path: &'a str, + pub ipv6_domain: &'a str, + pub ipv6_port: u16, + pub ipv6_path: &'a str, +} + +impl Default for PublicIpInfoConfig<'_> { fn default() -> Self { Self { - ipv4_domain: DEFAULT_IPV4_DOMAIN, - ipv4_port: DEFAULT_IPV4_PORT, - ipv4_path: DEFAULT_IPV4_PATH, - ipv6_domain: DEFAULT_IPV6_DOMAIN, - ipv6_port: DEFAULT_IPV6_PORT, - ipv6_path: DEFAULT_IPV6_PATH, + ipv4_domain: constants::DEFAULT_IPV4_DOMAIN, + ipv4_port: constants::DEFAULT_IPV4_PORT, + ipv4_path: constants::DEFAULT_IPV4_PATH, + ipv6_domain: constants::DEFAULT_IPV6_DOMAIN, + ipv6_port: constants::DEFAULT_IPV6_PORT, + ipv6_path: constants::DEFAULT_IPV6_PATH, } } } @@ -114,9 +172,9 @@ impl Default for ColorOption { fn default() -> Self { Self { header: None, - header_separator: FALLBACK_COLOR, - info: FALLBACK_COLOR, - separator: FALLBACK_COLOR, + header_separator: constants::DEFAULT_COLOR_OPTION, + info: constants::DEFAULT_COLOR_OPTION, + separator: constants::DEFAULT_COLOR_OPTION, } } } @@ -172,10 +230,10 @@ impl<'a> Entry<'a> { format, separator: separator.unwrap_or_else(|| language_func("_colon_")), fields: kind - .get_fields() + .fields() .iter() .filter(|field| { - let field_str = field.as_str(); + let field_str: &'static str = (*field).into(); format.contains(field_str) || header.contains(field_str) }) .copied() @@ -184,7 +242,7 @@ impl<'a> Entry<'a> { } } -#[derive(Debug, Default, Copy, Clone, Deserialize, Decode, Encode)] +#[derive(Copy, Clone, Debug, Default, Decode, Deserialize, Encode)] #[serde(rename_all = "lowercase")] pub enum SeparatorSizing { #[default] @@ -193,9 +251,8 @@ pub enum SeparatorSizing { Fixed(usize), } -#[derive(Debug, Deserialize, Decode, Encode)] -#[serde(tag = "style")] -#[serde(rename_all = "lowercase")] +#[derive(Debug, Decode, Deserialize, Encode)] +#[serde(rename_all = "lowercase", tag = "style")] pub enum LogoStyle<'a> { Disabled, Braille { @@ -210,14 +267,15 @@ pub enum LogoStyle<'a> { }, } -impl<'a> Default for LogoStyle<'a> { +impl Default for LogoStyle<'_> { fn default() -> Self { Self::Braille { logo: None } } } -#[derive(Debug, Default, Copy, Clone, Deserialize)] -#[serde(rename_all = "lowercase")] +#[derive(Copy, Clone, Debug, Default, Deserialize, IntoStaticStr)] +#[serde(rename_all = "kebab-case")] +#[strum(serialize_all = "kebab-case")] enum Locale { Fr, En, @@ -226,81 +284,6 @@ enum Locale { Auto, } -impl From for &str { - fn from(loc: Locale) -> Self { - match loc { - Locale::Auto => "auto", - Locale::En => "en", - Locale::Fr => "fr", - } - } -} - -impl Default for Config<'_> { - fn default() -> Self { - let entries = default_entries(Locale::default()); - Self { - info: group_fields_by_kind(&entries), - language: Locale::default().into(), - entries, - colors: ColorOption::default(), - logo: LogoStyle::default(), - parameters: InfoConfig::default(), - } - } -} - -pub fn load_config(buffer: &mut Vec) -> Config<'_> { - let cache_path = dirs::cache_dir() - .map(|p| p.join("afetch.bin")) - .ok_or_else(|| { - FetchInfoError::error_exit( - "An error occurred while retrieving the cache folder, \ - please open an issue at: https://github.com/Asthowen/AFetch/issues/new \ - so that we can solve your issue.", - ) - }) - .unwrap(); - - if let Ok(content) = std::fs::read(&cache_path) { - *buffer = content; - return bitcode::decode(buffer).ok().unwrap_or_default(); - } - - let config_path = dirs::config_dir() - .map(|p| p.join("afetch").join("config.json")) - .ok_or_else(|| { - FetchInfoError::error_exit( - "An error occurred while retrieving the config folder, \ - please open an issue at: https://github.com/Asthowen/AFetch/issues/new \ - so that we can solve your issue.", - ) - }) - .unwrap(); - - if let Ok(content) = std::fs::read(&config_path) { - *buffer = content; - - let config: Config = serde_json::from_slice(buffer) - .inspect_err(|error| { - eprintln!( - "Warning: Your configuration is malformed ({error}). \ - Falling back to the default one.", - ); - }) - .ok() - .unwrap_or_default(); - - std::fs::create_dir_all(cache_path.parent().unwrap()) - .and_then(|()| std::fs::write(cache_path, bitcode::encode(&config))) - .ok(); - - return config; - } - - Config::default() -} - fn default_entries(locale: Locale) -> Vec> { let language_func = get_language(locale.into()); vec![ diff --git a/src/lib.rs b/src/lib.rs index 5c96d03..1f2111c 100755 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,48 +1,11 @@ +#![deny(clippy::all, clippy::pedantic)] #![allow( - clippy::implicit_return, + clippy::missing_panics_doc, + clippy::missing_errors_doc, clippy::must_use_candidate, - clippy::indexing_slicing, - clippy::shadow_reuse, - clippy::return_self_not_must_use, - clippy::unwrap_used, - clippy::exit, - clippy::non_ascii_literal, - clippy::arithmetic_side_effects, - clippy::integer_division, - clippy::exhaustive_structs, - clippy::pub_use, - clippy::mod_module_files, - clippy::separated_literal_suffix, - clippy::else_if_without_else -)] -#![deny( - clippy::needless_return, - clippy::uninlined_format_args, - clippy::missing_const_for_fn, - clippy::redundant_else, - clippy::cloned_instead_of_copied, - clippy::expl_impl_clone_on_copy, - clippy::explicit_deref_methods, - clippy::explicit_into_iter_loop, - clippy::explicit_iter_loop, - clippy::if_not_else, - clippy::inefficient_to_string, - clippy::option_as_ref_cloned, - clippy::semicolon_if_nothing_returned, - clippy::single_char_pattern, - clippy::unused_async, - clippy::suspicious_operation_groupings, - clippy::useless_let_if_seq, - clippy::unused_self, - clippy::filter_map_next, - clippy::fallible_impl_from, - clippy::if_let_mutex, - clippy::imprecise_flops, - clippy::mutex_integer, - clippy::implicit_clone, - clippy::string_add, - clippy::ref_option_ref, - clippy::use_self + clippy::cast_precision_loss, + clippy::cast_sign_loss, + clippy::cast_possible_truncation )] pub mod config; diff --git a/src/logos/alma_linux.rs b/src/logos/alma_linux.rs index 9c3e92e..7c64bef 100644 --- a/src/logos/alma_linux.rs +++ b/src/logos/alma_linux.rs @@ -1,7 +1,7 @@ pub const ALMA_LINUX: (usize, u8, &str) = ( 42, 26, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣶⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣶⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⡇⣠⣶⣶⣦⡀⠀⠀⠀⣀⣴⣶⣶⣶⣄⢠⣾⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⡿⣣⣿⣿⣿⣿⠋⠀⢀⣼⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢠⣴⣶⣭⣭⣵⣾⣿⣿⣿⣿⠃⠀⢠⣿⣿⣿⣿⠿⣿⣿⣿⣧⢻⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀ @@ -21,5 +21,5 @@ pub const ALMA_LINUX: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⣴⣿⣿⣿⣿⣮⠻⠿⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⡿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/alpine.rs b/src/logos/alpine.rs index 9b7829c..d878d08 100644 --- a/src/logos/alpine.rs +++ b/src/logos/alpine.rs @@ -1,7 +1,7 @@ pub const ALPINE: (usize, u8, &str) = ( 42, 24, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀ @@ -20,5 +20,5 @@ pub const ALPINE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/arch_linux.rs b/src/logos/arch_linux.rs index 345a95a..e07737c 100644 --- a/src/logos/arch_linux.rs +++ b/src/logos/arch_linux.rs @@ -1,7 +1,7 @@ pub const ARCH_LINUX: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const ARCH_LINUX: (usize, u8, &str) = ( ⠀⠀⣰⣿⣿⣿⣿⡿⠟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⢿⣿⣿⣿⣿⡄⠀⠀ ⠀⣰⣿⡿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢿⣿⡄⠀ ⠰⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠄ -"#, +", ); diff --git a/src/logos/aurora.rs b/src/logos/aurora.rs index 3b37647..507cddf 100644 --- a/src/logos/aurora.rs +++ b/src/logos/aurora.rs @@ -1,7 +1,7 @@ pub const AURORA: (usize, u8, &str) = ( 42, 135, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣦⣴⣶⣾⣿⣿⣿⣷⣶⣤⡀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣦⣴⣶⣾⣿⣿⣿⣷⣶⣤⡀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⠟⠛⠛⣿⣿⣿⣿⣿⣟⣛⡻⠿⣿⣿⣿⣆ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⡿⠃⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠈⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⠋⠀⠀⠀⠀⠀⣿⣿⣿⡏⣩⣽⣿⣿⠏⠀⣾⣿⣿ @@ -18,5 +18,5 @@ pub const AURORA: (usize, u8, &str) = ( ⢀⣾⣿⣿⡿⠁⢀⣀⣤⣾⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣤⣤⣤⣾⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣯⣶⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⢿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠻⣿⣿⣿⡿⠿⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/bazzite.rs b/src/logos/bazzite.rs index c2da35f..d809f2c 100644 --- a/src/logos/bazzite.rs +++ b/src/logos/bazzite.rs @@ -1,7 +1,7 @@ pub const BAZZITE: (usize, u8, &str) = ( 42, 63, - r#"⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢠⣶⡄⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠿⠿⠿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const BAZZITE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/black_arch.rs b/src/logos/black_arch.rs index 61226ea..9014116 100644 --- a/src/logos/black_arch.rs +++ b/src/logos/black_arch.rs @@ -1,7 +1,7 @@ pub const BLACK_ARCH: (usize, u8, &str) = ( 42, 87, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠃⠘⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⠹⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡟⠀⠀⠀⠀⢹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const BLACK_ARCH: (usize, u8, &str) = ( ⠀⣼⡟⠁⠀⢀⣀⣤⣶⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⢷⣶⣤⣀⠀⠀⠘⣿⣄⠀ ⣼⡟⣀⣤⣾⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢿⣦⣄⡘⢿⣆ ⣿⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣿ -"#, +", ); diff --git a/src/logos/cachy.rs b/src/logos/cachy.rs index ac0fe4b..e07f94d 100644 --- a/src/logos/cachy.rs +++ b/src/logos/cachy.rs @@ -1,7 +1,7 @@ pub const CACHY: (usize, u8, &str) = ( 42, 36, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⢀⣤⣤⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠸⢿⣿⠇⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -18,5 +18,5 @@ pub const CACHY: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/calculate_linux.rs b/src/logos/calculate_linux.rs index a26633d..a326495 100644 --- a/src/logos/calculate_linux.rs +++ b/src/logos/calculate_linux.rs @@ -1,7 +1,7 @@ pub const CALCULATE_LINUX: (usize, u8, &str) = ( 42, 220, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣷⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣷⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣆⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀ @@ -28,5 +28,5 @@ pub const CALCULATE_LINUX: (usize, u8, &str) = ( ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⠀⠀⠸⣿⣿⣿⣿⠇⠀⢿⣿⣿⣿⡿⠀⠸⣿⣿⣿⣿⠇⠀⠀⣿⣿⣀⡀⠀⠀⠀⠀⠀ ⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣦⡀⠀⠀ ⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀ -"#, +", ); diff --git a/src/logos/cent_os.rs b/src/logos/cent_os.rs index d014e3b..33dfd47 100644 --- a/src/logos/cent_os.rs +++ b/src/logos/cent_os.rs @@ -1,7 +1,7 @@ pub const CENTOS_OLD: (usize, u8, &str) = ( 42, 215, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠛⠛⠛⠛⢻⡟⠛⠛⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⠿⢋⣴⣿⣿⣿⣿⣿⡇⢸⡇⠀⣿⣿⣿⣿⣷⣄⠈⠻⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀ @@ -21,13 +21,13 @@ pub const CENTOS_OLD: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣤⣤⣤⣼⣧⣤⣤⣤⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⡟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); pub const CENTOS: (usize, u8, &str) = ( 42, 133, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -48,5 +48,5 @@ pub const CENTOS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/computer.rs b/src/logos/computer.rs index 04a63c5..f5e388e 100644 --- a/src/logos/computer.rs +++ b/src/logos/computer.rs @@ -1,7 +1,7 @@ pub const COMPUTER: (usize, u8, &str) = ( 42, 39, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const COMPUTER: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⠿⣿⣿⣿⣿⣿⣿⠿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/debian.rs b/src/logos/debian.rs index b3974f0..2571834 100644 --- a/src/logos/debian.rs +++ b/src/logos/debian.rs @@ -1,7 +1,7 @@ pub const DEBIAN: (usize, u8, &str) = ( 42, 161, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣶⣿⣷⣾⣿⣭⣤⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣶⣿⣷⣾⣿⣭⣤⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣦⣀⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀ @@ -26,5 +26,5 @@ pub const DEBIAN: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣦⣄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣷⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⢿⣶⣤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"#, +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⢿⣶⣤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", ); diff --git a/src/logos/deepin.rs b/src/logos/deepin.rs index d3637cc..b6b3e9a 100644 --- a/src/logos/deepin.rs +++ b/src/logos/deepin.rs @@ -1,7 +1,7 @@ pub const DEEPIN: (usize, u8, &str) = ( 42, 75, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣶⣿⣿⣿⣿⣷⣶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣶⣿⣿⣿⣿⣷⣶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠙⠛⠿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣠⣾⡿⠟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠉⠛⢿⣷⣄⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣠⣾⡿⠋⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣹⣿⣿⣆⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const DEEPIN: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣟⠛⠛⠛⠛⠛⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⡿⠋⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣶⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣶⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/elementary_os.rs b/src/logos/elementary_os.rs index 152be27..8ad2ac4 100644 --- a/src/logos/elementary_os.rs +++ b/src/logos/elementary_os.rs @@ -1,7 +1,7 @@ pub const ELEMENTARY_OS: (usize, u8, &str) = ( 42, 255, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⠿⠛⠋⠉⠉⣁⣀⣀⣈⠉⠉⠙⠛⠿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⡿⠟⠉⣀⣤⣶⣾⣿⣿⣿⠿⠿⢿⣿⣿⣷⣶⣤⣀⠉⠻⢿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,13 +22,13 @@ pub const ELEMENTARY_OS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣶⣤⣄⣀⣀⡉⠉⠉⢉⣀⣀⣠⣤⣶⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); pub const ELEMENTARY_OS_OLD: (usize, u8, &str) = ( 42, 74, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠛⠋⠉⠉⠙⠛⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -49,5 +49,5 @@ pub const ELEMENTARY_OS_OLD: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/endeavour.rs b/src/logos/endeavour.rs index 5c3ce53..39c85c0 100644 --- a/src/logos/endeavour.rs +++ b/src/logos/endeavour.rs @@ -1,7 +1,7 @@ pub const ENDEAVOUR: (usize, u8, &str) = ( 42, 97, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -17,5 +17,5 @@ pub const ENDEAVOUR: (usize, u8, &str) = ( ⠀⠈⠉⠉⢙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀ ⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠁⠀⠀ ⠀⠀⠐⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/fedora.rs b/src/logos/fedora.rs index cf50ddc..72b5d49 100644 --- a/src/logos/fedora.rs +++ b/src/logos/fedora.rs @@ -1,7 +1,7 @@ pub const FEDORA: (usize, u8, &str) = ( 42, 39, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣶⣿⣿⣿⣷⣶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣶⣿⣿⣿⣷⣶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -21,5 +21,5 @@ pub const FEDORA: (usize, u8, &str) = ( ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀ ⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠙⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/freebsd.rs b/src/logos/freebsd.rs index dd564b2..90b2528 100644 --- a/src/logos/freebsd.rs +++ b/src/logos/freebsd.rs @@ -1,7 +1,7 @@ pub const FREEBSD: (usize, u8, &str) = ( 42, 124, - r#"⢠⣶⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⡄ + "⢠⣶⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⡄ ⢿⣿⣿⣿⣿⣿⣿⣷⣦⡄⠀⠀⢀⣠⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⡿ ⠘⣿⣿⣿⣿⣿⣿⠟⠁⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⠉⣁⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃ ⠀⠹⣿⣿⣿⠟⠁⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀ @@ -22,5 +22,5 @@ pub const FREEBSD: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠛⠿⠿⠿⠿⠿⠛⠛⠋⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/garuda.rs b/src/logos/garuda.rs index b41fc3c..fbaf68c 100644 --- a/src/logos/garuda.rs +++ b/src/logos/garuda.rs @@ -1,7 +1,7 @@ pub const GARUDA: (usize, u8, &str) = ( 42, 33, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⠟⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠻⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣷⣄⠀⠀⠀⠀ @@ -18,5 +18,5 @@ pub const GARUDA: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣦⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣴⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/gentoo.rs b/src/logos/gentoo.rs index 4c7ce85..6441045 100644 --- a/src/logos/gentoo.rs +++ b/src/logos/gentoo.rs @@ -1,7 +1,7 @@ pub const GENTOO: (usize, u8, &str) = ( 42, 104, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣾⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣾⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const GENTOO: (usize, u8, &str) = ( ⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/ka_os.rs b/src/logos/ka_os.rs index 1c2731b..9fc4271 100644 --- a/src/logos/ka_os.rs +++ b/src/logos/ka_os.rs @@ -1,7 +1,7 @@ pub const KA_OS: (usize, u8, &str) = ( 42, 25, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const KA_OS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/kali_linux.rs b/src/logos/kali_linux.rs index 3996bae..9a366b7 100644 --- a/src/logos/kali_linux.rs +++ b/src/logos/kali_linux.rs @@ -1,7 +1,7 @@ pub const KALI_LINUX: (usize, u8, &str) = ( 42, 33, - r#"⠀⠀⠛⠛⠉⠙⠛⠛⠛⠛⠛⠛⠻⠿⠷⢶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠛⠛⠉⠙⠛⠛⠛⠛⠛⠛⠻⠿⠷⢶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣬⣭⣽⣿⣿⣷⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣤⡴⠶⠾⠛⠛⠛⠉⠉⠉⠉⠉⠉⠀⢀⣀⣠⣭⣭⣽⣿⣿⣿⣇⠀⠀⠀⠀⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣶⡾⠿⠛⠛⠋⠉⠉⠁⠀⠀⠀⢿⣦⣤⣤⣤⣈⣙⢛⢶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -16,5 +16,5 @@ pub const KALI_LINUX: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣧⠀⠹ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡄⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀ -"#, +", ); diff --git a/src/logos/kde_neon.rs b/src/logos/kde_neon.rs index 4da1fea..2c141de 100644 --- a/src/logos/kde_neon.rs +++ b/src/logos/kde_neon.rs @@ -1,7 +1,7 @@ pub const KDE_NEON: (usize, u8, &str) = ( 42, 37, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⡿⣫⣝⢿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⠿⢛⣋⣭⣥⣶⣦⣙⣋⣴⣶⣤⣭⣙⡛⠿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⢿⠿⣋⣵⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣙⠿⡿⢿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const KDE_NEON: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣶⣤⣍⣛⠛⠻⠟⣩⣍⠻⠟⠛⣛⣩⣤⣶⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣷⣍⣡⣾⣿⣿⣿⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/kubuntu.rs b/src/logos/kubuntu.rs index 7e58176..cd6ed91 100644 --- a/src/logos/kubuntu.rs +++ b/src/logos/kubuntu.rs @@ -1,7 +1,7 @@ pub const KUBUNTU: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀ ⠀  ⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀ ⠀⠀⠀ ⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀ ⠀  ⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀ ⠀⠀⠀ ⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀ ⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀ ⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀ ⠀⠀⠀ @@ -22,5 +22,5 @@ pub const KUBUNTU: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀ ⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠉⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠉⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/linux.rs b/src/logos/linux.rs index 7ee8fb1..d081388 100644 --- a/src/logos/linux.rs +++ b/src/logos/linux.rs @@ -1,30 +1,30 @@ pub const LINUX: (usize, u8, &str) = ( 42, 220, - r#" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⡾⠿⡆⣿⣿⣿⡏⡾⠿⡆⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢸⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⣿⣿⣿⣿⣿⣿⠏⣰⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣸⣿⣆⠿⣿⣿⠿⣰⣿⣿⡇⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣟⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢻⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⡏⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢻⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡿⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⢿⣿⠿⠃⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⣴⣿⣿⣷⣆⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⣿⣿⣿⡿⠟⣤⣄ ⠀⠀⠀ - ⠀⢀⣠⣤⣶⣾⣿⣿⣿⣿⣿⣆⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣀⠻⠿⠿⠇⣿⣿⣿⣧⠀⠀⠀ - ⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀ - ⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦ - ⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋ - ⠀⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠹⠿⠿⢿⣿⣿⣿⠿⠏⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠁⠀⠀ - ⠀⠀⠀⠉⠉⠛⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀ - ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀ + " ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⡾⠿⡆⣿⣿⣿⡏⡾⠿⡆⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢸⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⣿⣿⣿⣿⣿⣿⠏⣰⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣾⣸⣿⣆⠿⣿⣿⠿⣰⣿⣿⡇⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣾⣏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⣠⣿⣟⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢻⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣼⣿⡟⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀ +⠀ ⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⡏⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢻⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀ +⠀⠀ ⠀⠀⠀⠀⠀⢀⣿⣿⡿⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀ +⠀⠀⠀ ⠀⠀⠀⠀⣸⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ +⠀⠀⠀⠀ ⠀⠀⠀⢿⣿⠿⠃⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀ +⠀⠀ ⠀⠀⠀⠀⣴⣿⣿⣷⣆⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⣿⣿⣿⡿⠟⣤⣄ ⠀⠀⠀ + ⠀⢀⣠⣤⣶⣾⣿⣿⣿⣿⣿⣆⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣀⠻⠿⠿⠇⣿⣿⣿⣧⠀⠀⠀ + ⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀ + ⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦ + ⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋ + ⠀⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠹⠿⠿⢿⣿⣿⣿⠿⠏⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠁⠀⠀ + ⠀⠀⠀⠉⠉⠛⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/linux_mint.rs b/src/logos/linux_mint.rs index 0d8e923..47d45b4 100644 --- a/src/logos/linux_mint.rs +++ b/src/logos/linux_mint.rs @@ -1,7 +1,7 @@ pub const LINUX_MINT: (usize, u8, &str) = ( 42, 35, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const LINUX_MINT: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/lubuntu.rs b/src/logos/lubuntu.rs index fc49a71..36892a4 100644 --- a/src/logos/lubuntu.rs +++ b/src/logos/lubuntu.rs @@ -1,7 +1,7 @@ pub const LUBUNTU: (usize, u8, &str) = ( 42, 26, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣶⣿⣿⣿⣿⣶⣶⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣶⣿⣿⣿⣿⣶⣶⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀ @@ -21,5 +21,5 @@ pub const LUBUNTU: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⢀⣀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"#, +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", ); diff --git a/src/logos/mac_os.rs b/src/logos/mac_os.rs index d29f0f1..d2dad47 100644 --- a/src/logos/mac_os.rs +++ b/src/logos/mac_os.rs @@ -1,7 +1,7 @@ pub const MAC_OS: (usize, u8, &str) = ( 42, 71, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣾⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣾⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -25,5 +25,5 @@ pub const MAC_OS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⡿⠿⠛⠉⠁⠀⠀⠀⠀⠉⠙⠛⠿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/mageia.rs b/src/logos/mageia.rs index 14fc8cc..9624f5f 100644 --- a/src/logos/mageia.rs +++ b/src/logos/mageia.rs @@ -1,7 +1,7 @@ pub const MAGEIA: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠛⠋⠀⠀⣠⣴⣶⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -34,5 +34,5 @@ pub const MAGEIA: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⣀⣀⣀⣀⣀⣠⣤⣶⣾⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/manjaro.rs b/src/logos/manjaro.rs index f24080c..88a4c08 100644 --- a/src/logos/manjaro.rs +++ b/src/logos/manjaro.rs @@ -1,7 +1,7 @@ pub const MANJARO: (usize, u8, &str) = ( 42, 71, - r#"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ + "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ @@ -22,5 +22,5 @@ pub const MANJARO: (usize, u8, &str) = ( ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ -"#, +", ); diff --git a/src/logos/mod.rs b/src/logos/mod.rs index 38952b5..07b96b0 100644 --- a/src/logos/mod.rs +++ b/src/logos/mod.rs @@ -1,69 +1,66 @@ -#[cfg(any(target_os = "linux", target_os = "windows"))] -use sysinfo::System; +mod alma_linux; +mod alpine; +mod arch_linux; +mod aurora; +mod bazzite; +mod black_arch; +mod cachy; +mod calculate_linux; +mod cent_os; +mod computer; +mod debian; +mod deepin; +mod elementary_os; +mod endeavour; +mod fedora; +mod freebsd; +mod garuda; +mod gentoo; +mod ka_os; +mod kali_linux; +mod kde_neon; +mod kubuntu; +mod linux; +mod linux_mint; +mod lubuntu; +mod mac_os; +mod mageia; +mod manjaro; +mod mx_linux; +mod nix_os; +mod nobara; +mod omv; +mod open_suse; +mod openbsd; +mod pardus; +mod parrot; +mod pop_os; +mod raspbian; +mod rhel; +mod rocky_linux; +mod slackware; +mod solaris; +mod solus; +mod steam_os; +mod tails; +mod true_nas; +mod ubuntu; +mod ubuntu_mate; +mod venom_linux; +mod void_linux; +mod windows_10; +mod windows_11; +mod windows_7; +mod xubuntu; +mod zorin_os; -pub mod alma_linux; -pub mod alpine; -pub mod arch_linux; -pub mod aurora; -pub mod bazzite; -pub mod black_arch; -pub mod cachy; -pub mod calculate_linux; -pub mod cent_os; -pub mod computer; -pub mod debian; -pub mod deepin; -pub mod elementary_os; -pub mod endeavour; -pub mod fedora; -pub mod freebsd; -pub mod garuda; -pub mod gentoo; -pub mod ka_os; -pub mod kali_linux; -pub mod kde_neon; -pub mod kubuntu; -pub mod linux; -pub mod linux_mint; -pub mod lubuntu; -pub mod mac_os; -pub mod mageia; -pub mod manjaro; -pub mod mx_linux; -pub mod nix_os; -pub mod nobara; -pub mod omv; -pub mod open_suse; -pub mod openbsd; -pub mod pardus; -pub mod parrot; -pub mod pop_os; -pub mod raspbian; -pub mod rhel; -pub mod rocky_linux; -pub mod slackware; -pub mod solaris; -pub mod solus; -pub mod steam_os; -pub mod tails; -pub mod true_nas; -pub mod ubuntu; -pub mod ubuntu_mate; -pub mod venom_linux; -pub mod void_linux; -pub mod windows_10; -pub mod windows_11; -pub mod windows_7; -pub mod xubuntu; -pub mod zorin_os; - -pub fn get_logo(force_os: Option) -> (usize, u8, &'static str) { +pub fn system_logo(force_os: Option) -> (usize, u8, &'static str) { let os: String = if let Some(os) = force_os { os } else { #[cfg(target_os = "linux")] { - System::distribution_id() + sysinfo::System::distribution_id() } #[cfg(target_os = "freebsd")] @@ -78,7 +75,7 @@ pub fn get_logo(force_os: Option) -> (usize, u8, &'static str) { #[cfg(target_os = "windows")] { - let windows_version = System::os_version() + let windows_version = sysinfo::System::os_version() .and_then(|v| v.split_whitespace().next().map(str::to_owned)) .filter(|v| !v.is_empty()) .unwrap_or_else(|| "11".to_owned()); diff --git a/src/logos/mx_linux.rs b/src/logos/mx_linux.rs index 69a12f4..1c23cd8 100644 --- a/src/logos/mx_linux.rs +++ b/src/logos/mx_linux.rs @@ -1,7 +1,7 @@ pub const MX_LINUX: (usize, u8, &str) = ( 42, 253, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣦⡀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣦⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⡿⠂⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -18,5 +18,5 @@ pub const MX_LINUX: (usize, u8, &str) = ( ⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀ ⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀ ⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷ -"#, +", ); diff --git a/src/logos/nix_os.rs b/src/logos/nix_os.rs index 49c8c89..a4d97f0 100644 --- a/src/logos/nix_os.rs +++ b/src/logos/nix_os.rs @@ -1,7 +1,7 @@ pub const NIX_OS: (usize, u8, &str) = ( 42, 111, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣄⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⡄⠀⠀⠀⣰⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣄⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⡄⠀⠀⠀⣰⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣆⠀⣰⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣦⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣾⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣿⣿⣿⣿⣧⣤⣤⣤⣤⣤⡄⢿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀ @@ -19,5 +19,5 @@ pub const NIX_OS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⠿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⠏⠀⠘⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠻⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⠋⠀⠀⠀⠘⢿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠹⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/nobara.rs b/src/logos/nobara.rs index 0f984a4..a88e310 100644 --- a/src/logos/nobara.rs +++ b/src/logos/nobara.rs @@ -1,7 +1,7 @@ pub const NOBARA: (usize, u8, &str) = ( 42, 240, - r#"⠀⢀⣤⣾⣿⣿⣿⣿⣿⣶⣄⠀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⢀⣤⣾⣿⣿⣿⣿⣿⣶⣄⠀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const NOBARA: (usize, u8, &str) = ( ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠛⠉⠙⠛⠿⣿⣿⣿⡇⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⡇⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃ ⠀⠈⠛⠿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡇⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⠿⠋⠀⠀ -"#, +", ); diff --git a/src/logos/omv.rs b/src/logos/omv.rs index ff18152..dc6e7c6 100644 --- a/src/logos/omv.rs +++ b/src/logos/omv.rs @@ -1,7 +1,7 @@ pub const OPEN_MEDIA_VAULT: (usize, u8, &str) = ( 42, 74, - r#"⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ + "⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ ⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿ ⣿⣿⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⣿⣿ ⣿⣿⠀⠀⠀⢸⣿⣿⡿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣿⣿ @@ -20,5 +20,5 @@ pub const OPEN_MEDIA_VAULT: (usize, u8, &str) = ( ⣿⣿⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⣿⣿ ⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿ ⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿ -"#, +", ); diff --git a/src/logos/open_suse.rs b/src/logos/open_suse.rs index aec14b6..ec97f54 100644 --- a/src/logos/open_suse.rs +++ b/src/logos/open_suse.rs @@ -1,7 +1,7 @@ pub const OPEN_SUSE: (usize, u8, &str) = ( 42, 70, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣴⣶⣶⣾⣿⣿⣿⣿⣷⣶⣶⣶⣤⣤⣄⣀⡀⣰⣤⣤⣤⣀⣀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣴⣶⣶⣾⣿⣿⣿⣿⣷⣶⣶⣶⣤⣤⣄⣀⡀⣰⣤⣤⣤⣀⣀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⣉⠑⢦⡀⠀ ⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣾⣁⣹⠀⣿⡀ ⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠙⠻⢦⣈⣉⣁⣴⣿⠇ @@ -11,5 +11,5 @@ pub const OPEN_SUSE: (usize, u8, &str) = ( ⠸⣿⣷⡀⠈⢿⣷⣶⡦⠀⢸⣿⡇⠀⠀⠻⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠹⣿⣷⣤⣀⠀⠀⢀⣠⣾⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠈⠙⠻⠿⣿⣿⡿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/openbsd.rs b/src/logos/openbsd.rs index 522c10b..d414955 100644 --- a/src/logos/openbsd.rs +++ b/src/logos/openbsd.rs @@ -1,7 +1,7 @@ pub const OPENBSD: (usize, u8, &str) = ( 42, 221, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⢀⣿⣆⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⢀⣿⣆⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣦⣀⣀⣀⣾⣿⣿⣆⣀⠀⣠⣾⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣦⣀⠀⣀⣼⣿⠿⣿⣿⢿⣿⠇⢻⣿⢿⣿⡿⢻⣿⣦⡀⢀⣠⣶⡆⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡿⣿⣿⠿⠿⠂⠈⠉⠀⡀⠀⠀⠁⠀⠉⠀⠘⠟⢻⣿⡿⣿⣿⠃⠀⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const OPENBSD: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡿⠟⠛⠻⢿⣿⣿⢠⣾⣷⣤⣿⣧⡀⣿⣿⡿⠟⠻⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⣻⣿⣿⠟⠙⠛⠛⢿⣿⣿⡇⠀⠀⠀⠀⠉⠛⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠁⠀⠀⠀⠀⠀⠻⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/pardus.rs b/src/logos/pardus.rs index b09c1b0..9168003 100644 --- a/src/logos/pardus.rs +++ b/src/logos/pardus.rs @@ -1,7 +1,7 @@ pub const PARDUS: (usize, u8, &str) = ( 42, 220, - r#"⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀ + "⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀ ⠀⠀⢠⣾⣿⣿⣷⣦⣄⡀⠀⠀⠀⢀⣀⣀⣤⣤⣶⣶⣾⣷⣶⣶⣤⣤⣀⣀⡀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣷⡄⠀⠀ ⠀⠐⢿⣿⣿⣿⣿⣿⣿⠃⠀⣴⠟⠻⣿⣿⡿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠘⣿⣿⣿⣿⣿⣿⡿⠂⠀ ⠀⠀⠈⢻⣿⣿⣿⣿⠃⢀⣾⣿⡀⢀⣿⣿⣧⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠘⣿⣿⣿⣿⡟⠁⠀⠀ @@ -19,5 +19,5 @@ pub const PARDUS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⡿⢃⡘⢿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢡⣴⣿⣿⣦⣌⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/parrot.rs b/src/logos/parrot.rs index 5dda4cf..25df6ee 100644 --- a/src/logos/parrot.rs +++ b/src/logos/parrot.rs @@ -1,7 +1,7 @@ pub const PARROT: (usize, u8, &str) = ( 42, 45, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠟⠛⠛⠛⠉⠉⠉⠀⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const PARROT: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/pop_os.rs b/src/logos/pop_os.rs index dc708eb..0d1e765 100644 --- a/src/logos/pop_os.rs +++ b/src/logos/pop_os.rs @@ -1,7 +1,7 @@ pub const POP_OS: (usize, u8, &str) = ( 42, 45, - r#" ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + " ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀ @@ -21,5 +21,5 @@ pub const POP_OS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠉⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/raspbian.rs b/src/logos/raspbian.rs index 27e9514..8726962 100644 --- a/src/logos/raspbian.rs +++ b/src/logos/raspbian.rs @@ -1,7 +1,7 @@ pub const RASPBIAN: (usize, u8, &str) = ( 42, 125, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣤⣤⣶⣶⣾⣷⣿⣷⣿⣶⣷⣴⣦⣀⡀⠀⠀⠀⠀⠀⣀⣠⣶⣼⣷⣿⣷⣿⣶⣿⣴⣶⣦⣤⠀⠀⠀⠀ ⠀⠀⠀⠀⣼⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣯⠄⠀⠀⠀ ⠀⠀⠀⠀⠠⣿⣿⣿⣿⣿⣷⣮⣙⠻⢿⣿⣿⣿⣿⣷⠀⠀⢸⣿⣿⣿⣿⣿⠿⢛⣭⣶⣿⣿⣿⣿⣿⡧⠀⠀⠀⠀ @@ -26,5 +26,5 @@ pub const RASPBIAN: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⣀⣠⣤⣤⣤⣤⣤⣀⣀⠀⠀⠈⠙⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⣿⣿⡿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/rhel.rs b/src/logos/rhel.rs index 5956a0c..cbb79c7 100644 --- a/src/logos/rhel.rs +++ b/src/logos/rhel.rs @@ -1,7 +1,7 @@ pub const RHEL: (usize, u8, &str) = ( 42, 9, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣶⣤⣤⣾⣿⣿⣿⣿⣿⣶⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -18,5 +18,5 @@ pub const RHEL: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/rocky_linux.rs b/src/logos/rocky_linux.rs index 6606044..44d194a 100644 --- a/src/logos/rocky_linux.rs +++ b/src/logos/rocky_linux.rs @@ -1,7 +1,7 @@ pub const ROCKY_LINUX: (usize, u8, &str) = ( 42, 36, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const ROCKY_LINUX: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/slackware.rs b/src/logos/slackware.rs index b0b85d5..5d49fc1 100644 --- a/src/logos/slackware.rs +++ b/src/logos/slackware.rs @@ -1,7 +1,7 @@ pub const SLACKWARE: (usize, u8, &str) = ( 42, 61, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const SLACKWARE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/solaris.rs b/src/logos/solaris.rs index 30a6247..cd155c2 100644 --- a/src/logos/solaris.rs +++ b/src/logos/solaris.rs @@ -1,7 +1,7 @@ pub const SOLARIS: (usize, u8, &str) = ( 42, 125, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡄⠀⠀⠀⠀⠀⠀⠀⣠⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠙⣶⣄⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀⠀⠀⠀⠀⣴⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -18,5 +18,5 @@ pub const SOLARIS: (usize, u8, &str) = ( ⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠙⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⠛⠻⠿⠿⠿⠿⢿⣿⣿⣶⣶⣶⣤⣤⣤⣤⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/solus.rs b/src/logos/solus.rs index c20b95f..f104f3f 100644 --- a/src/logos/solus.rs +++ b/src/logos/solus.rs @@ -1,7 +1,7 @@ pub const SOLUS: (usize, u8, &str) = ( 42, 69, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡿⢧⣴⣶⣶⣾⣿⣿⣿⣷⣶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⠃⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⡏⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const SOLUS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠛⠻⠿⠿⠿⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/steam_os.rs b/src/logos/steam_os.rs index ef3cb18..e02df5e 100644 --- a/src/logos/steam_os.rs +++ b/src/logos/steam_os.rs @@ -1,7 +1,7 @@ pub const STEAM_OS: (usize, u8, &str) = ( 42, 26, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const STEAM_OS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/tails.rs b/src/logos/tails.rs index 4299718..f621555 100644 --- a/src/logos/tails.rs +++ b/src/logos/tails.rs @@ -1,7 +1,7 @@ pub const TAILS: (usize, u8, &str) = ( 42, 56, - r#"⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢀⣠⣴⣾⣿⣿⠋⢹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣴⣾⡿⠟⠋⠁⣿⣿⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⡇⢰⣦⡀⠀⣿⣿⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -28,5 +28,5 @@ pub const TAILS: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/true_nas.rs b/src/logos/true_nas.rs index c71f4fa..24ae5ca 100644 --- a/src/logos/true_nas.rs +++ b/src/logos/true_nas.rs @@ -1,7 +1,7 @@ pub const TRUENAS_CORE: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⡇⠀⠀⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⡇⠀⠀⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⡀⠀⠀⠀⠀ @@ -16,13 +16,13 @@ pub const TRUENAS_CORE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣿⡇⠀⠀⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"#, +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣿⡇⠀⠀⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", ); pub const TRUENAS_SCALE: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠀⠀⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠀⠀⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣾⣿⣿⠀⠀⣿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⠿⠀⠀⠿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣀⡄⠀⣀⠀⠉⠻⠿⠟⠋⠁⣠⣴⣦⣄⠀⠙⠻⠿⠛⠉⢀⣠⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -36,13 +36,13 @@ pub const TRUENAS_SCALE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⣿⣿⣿⣿⣿⣦⣄⡀⠉⠛⠛⠉⢀⣠⣶⣿⣿⣿⣿⣿⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⣿⣿⣿⣿⣷⠀⠀⣾⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣿⣿⠀⠀⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"#, +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", ); pub const TRUENAS_ENTERPRISE: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⡇⠀⠀⢸⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⡇⠀⠀⢸⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀ @@ -65,5 +65,5 @@ pub const TRUENAS_ENTERPRISE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠇⠀⠀⠸⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/ubuntu.rs b/src/logos/ubuntu.rs index 594ae57..7f63ea4 100644 --- a/src/logos/ubuntu.rs +++ b/src/logos/ubuntu.rs @@ -1,7 +1,7 @@ pub const UBUNTU: (usize, u8, &str) = ( 42, 202, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣶⣦⡀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣶⣦⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣶⣾⣿⣿⣿⣿⣿⣿⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠈⠻⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const UBUNTU: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠿⢿⣿⣿⣿⣿⣿⣿⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⠿⠟⠁⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/ubuntu_mate.rs b/src/logos/ubuntu_mate.rs index a126a02..1839a55 100644 --- a/src/logos/ubuntu_mate.rs +++ b/src/logos/ubuntu_mate.rs @@ -1,7 +1,7 @@ pub const UBUNTU_MATE: (usize, u8, &str) = ( 42, 107, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣶⣿⣿⣿⣿⣶⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣶⣿⣿⣿⣿⣶⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⢿⣿⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀ @@ -20,5 +20,5 @@ pub const UBUNTU_MATE: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠿⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/venom_linux.rs b/src/logos/venom_linux.rs index 767e74f..12888a9 100644 --- a/src/logos/venom_linux.rs +++ b/src/logos/venom_linux.rs @@ -1,7 +1,7 @@ pub const VENOM_LINUX: (usize, u8, &str) = ( 42, 255, - r#"⠳⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠳⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠙⣿⣿⣿⣿⣿⣶⣶⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⢠⣴⣶⣶⣿⣿⣿⣿⣿⣿⣷⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -25,5 +25,5 @@ pub const VENOM_LINUX: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠓⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⣿⣿⣿⣿⣿⣆⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠛⠿⠇ -"#, +", ); diff --git a/src/logos/void_linux.rs b/src/logos/void_linux.rs index a203a1a..a72f8b0 100644 --- a/src/logos/void_linux.rs +++ b/src/logos/void_linux.rs @@ -1,7 +1,7 @@ pub const VOID_LINUX: (usize, u8, &str) = ( 42, 72, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⠿⠟⠛⠛⠛⠛⠛⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const VOID_LINUX: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/windows_10.rs b/src/logos/windows_10.rs index a039336..33a4bee 100644 --- a/src/logos/windows_10.rs +++ b/src/logos/windows_10.rs @@ -1,7 +1,7 @@ pub const WINDOWS10: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣠⣤⣤⣤⣶⣶⣶⣾⣿⣿⣿ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣠⣤⣤⣤⣶⣶⣶⣾⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⣤⣤⣴⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣀⣀⣀⣠⣤⣤⣤⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ @@ -22,5 +22,5 @@ pub const WINDOWS10: (usize, u8, &str) = ( ⠉⠉⠉⠙⠛⠛⠛⠻⠿⠿⠿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠛⠛⠛⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠙⠛⠛⠛⠿⠿⠿⢿⣿⣿ -"#, +", ); diff --git a/src/logos/windows_11.rs b/src/logos/windows_11.rs index ef8d4ba..94e7b61 100644 --- a/src/logos/windows_11.rs +++ b/src/logos/windows_11.rs @@ -1,7 +1,7 @@ pub const WINDOWS11: (usize, u8, &str) = ( 42, 32, - r#"⠀⠀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⡀⠀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣀⠀⠀ + "⠀⠀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⡀⠀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣀⠀⠀  ⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ @@ -22,5 +22,5 @@ pub const WINDOWS11: (usize, u8, &str) = (  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀  ⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀  ⠀⠉⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠁⠀⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠉⠀⠀ -"#, +", ); diff --git a/src/logos/windows_7.rs b/src/logos/windows_7.rs index 850a386..e7e0c44 100644 --- a/src/logos/windows_7.rs +++ b/src/logos/windows_7.rs @@ -1,7 +1,7 @@ pub const WINDOWS7: (usize, u8, &str) = ( 42, 81, - r#"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣤⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣤⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢀⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⣼⣿⣿⣷⣦⣄⣀⣀⣀⣀⣀⣀⣀⣤⣴⣶⡆ @@ -20,5 +20,5 @@ pub const WINDOWS7: (usize, u8, &str) = ( ⠘⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⠇⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⠿⣿⣿⣿⡿⠿⠿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/xubuntu.rs b/src/logos/xubuntu.rs index 6b08713..fe4cd72 100644 --- a/src/logos/xubuntu.rs +++ b/src/logos/xubuntu.rs @@ -1,7 +1,7 @@ pub const XUBUNTU: (usize, u8, &str) = ( 42, 68, - r#"⠀⠀⠀⠀⠀ ⣀⣤⣤⣶⣶⣾⣿⣿⣿⣿⣷⣶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀⠀⠀⠀⠀ ⣀⣤⣤⣶⣶⣾⣿⣿⣿⣿⣷⣶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀ @@ -22,5 +22,5 @@ pub const XUBUNTU: (usize, u8, &str) = ( ⠀⠀⠀⠀⠀⠀⠈⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⠿⢿⣿⣿⣿⣿⡿⠿⠿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/logos/zorin_os.rs b/src/logos/zorin_os.rs index 375e786..e4e38dc 100644 --- a/src/logos/zorin_os.rs +++ b/src/logos/zorin_os.rs @@ -1,7 +1,7 @@ pub const ZORIN_OS: (usize, u8, &str) = ( 42, 39, - r#"⠀ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ + "⠀ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀ ⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ @@ -19,5 +19,5 @@ pub const ZORIN_OS: (usize, u8, &str) = ( ⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀ -"#, +", ); diff --git a/src/main.rs b/src/main.rs index 2f02470..9b2a4dd 100755 --- a/src/main.rs +++ b/src/main.rs @@ -1,34 +1,28 @@ +use std::collections::HashMap; +use std::fmt::Write; + +use owo_colors::{DynColors, OwoColorize, XtermColors}; +use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; +use supports_unicode::supports_unicode; + use afetch::config::deserialize::ColorWrapper; -use afetch::config::{Config, Entry, LogoStyle, SeparatorSizing, load_config}; +use afetch::config::{Config, Entry, LogoStyle, SeparatorSizing}; use afetch::error::{ErrorType, FetchInfoError}; -use afetch::logos::get_logo; -use afetch::system::battery::get_battery; -use afetch::system::cpu::get_cpu; -use afetch::system::disk::get_disk; -use afetch::system::disks::get_disks; -use afetch::system::host::get_hostname; -use afetch::system::kernel::get_kernel; -use afetch::system::loadavg::get_loadavg; -use afetch::system::memory::get_memory; -use afetch::system::motherboard::get_motherboard; -use afetch::system::networks::get_networks; -use afetch::system::product::get_product; -use afetch::system::public_ip::get_public_ip; -use afetch::system::uptime::get_uptime; -use afetch::system::{InfoGroup, InfoKind, InfoResult}; +use afetch::logos::system_logo; +use afetch::system::{ + InfoGroup, InfoKind, InfoResult, battery_info, cpu_info, disk_info, disks_info, hostname_info, + kernel_info, loadavg_info, memory_info, motherboard_info, networks_info, product_info, + public_ip_info, uptime_info, +}; use afetch::translations::get_language; use afetch::util::count_str_length; + #[cfg(feature = "image")] -use afetch::util::print_picture; -use owo_colors::{DynColors, OwoColorize, XtermColors}; -use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; -use std::collections::HashMap; -use std::fmt::Write; -use supports_unicode::supports_unicode; +use afetch::util::pictures; fn main() -> Result<(), FetchInfoError> { let mut config_buffer: Vec = Vec::new(); - let config: Config = load_config(&mut config_buffer); + let config: Config = Config::load(&mut config_buffer); let language_func = get_language(config.language); let results: HashMap> = config @@ -38,19 +32,19 @@ fn main() -> Result<(), FetchInfoError> { ( *kind, match kind { - InfoKind::Battery => get_battery(language_func, fields, &config), - InfoKind::Cpu => get_cpu(language_func, fields, &config), - InfoKind::Disk => get_disk(language_func, fields, &config), - InfoKind::Disks => get_disks(language_func, fields, &config), - InfoKind::Host => get_hostname(language_func, fields, &config), - InfoKind::Kernel => get_kernel(language_func, fields, &config), - InfoKind::Loadavg => get_loadavg(language_func, fields, &config), - InfoKind::Memory => get_memory(language_func, fields, &config), - InfoKind::Motherboard => get_motherboard(language_func, fields, &config), - InfoKind::Networks => get_networks(language_func, fields, &config), - InfoKind::Product => get_product(language_func, fields, &config), - InfoKind::PublicIp => get_public_ip(language_func, fields, &config), - InfoKind::Uptime => get_uptime(language_func, fields, &config), + InfoKind::Battery => battery_info(language_func, fields, &config), + InfoKind::Cpu => cpu_info(language_func, fields, &config), + InfoKind::Disk => disk_info(language_func, fields, &config), + InfoKind::Disks => disks_info(language_func, fields, &config), + InfoKind::Host => hostname_info(language_func, fields, &config), + InfoKind::Kernel => kernel_info(language_func, fields, &config), + InfoKind::Loadavg => loadavg_info(language_func, fields, &config), + InfoKind::Memory => memory_info(language_func, fields, &config), + InfoKind::Motherboard => motherboard_info(language_func, fields, &config), + InfoKind::Networks => networks_info(language_func, fields, &config), + InfoKind::Product => product_info(language_func, fields, &config), + InfoKind::PublicIp => public_ip_info(language_func, fields, &config), + InfoKind::Uptime => uptime_info(language_func, fields, &config), }, ) }) @@ -59,7 +53,7 @@ fn main() -> Result<(), FetchInfoError> { let logo_buffer; let mut logo = if supports_unicode() { match config.logo { - LogoStyle::Braille { logo } => Some(get_logo(logo.map(str::to_owned))) + LogoStyle::Braille { logo } => Some(system_logo(logo.map(str::to_owned))) .map(|(max_length, ansi, logo)| (max_length, ansi, logo.lines())), LogoStyle::File { location: path } => { logo_buffer = Some(std::fs::read_to_string(path)?); @@ -76,7 +70,7 @@ fn main() -> Result<(), FetchInfoError> { let header_color: DynColors = match config.colors.header { Some(color) => color.into(), - None => match logo.as_ref() { + None => match &logo { Some(color) => DynColors::Xterm(color.1.into()), None => DynColors::Xterm(XtermColors::Cyan), }, @@ -114,12 +108,18 @@ fn main() -> Result<(), FetchInfoError> { let mut write_entry = |entry: String| { #[cfg(feature = "image")] if matches!(config.logo, LogoStyle::Image { .. }) { - writeln!(output, "{}{}", " ".repeat(47), entry).ok(); + writeln!( + output, + "{}{}", + " ".repeat(afetch::util::constants::LOGO_LENGTH), + entry + ) + .ok(); } if let Some((width, _, lines)) = logo.as_mut() { if let Some(line) = lines.next() { - writeln!(output, " {}{} {}", line, "".white(), entry).ok(); + writeln!(output, " {}{} {}", line, "".default_color(), entry).ok(); } else { writeln!(output, "{}{}", " ".repeat(*width), entry).ok(); } @@ -199,7 +199,7 @@ fn main() -> Result<(), FetchInfoError> { write_entry(first_colors); } if display.show_bright() { - let second_colors: String = (0..8).fold(String::new(), |mut acc, i| { + let second_colors: String = (0..8).fold(String::default(), |mut acc, i| { write!(&mut acc, "\x1b[9{i}m{content}\x1b[0m").unwrap(); acc }); @@ -211,14 +211,15 @@ fn main() -> Result<(), FetchInfoError> { if let Some((_, _, lines)) = logo { for line in lines { - writeln!(output, " {}{}", line, "".white()).ok(); + writeln!(output, " {}{}", line, "".default_color()).ok(); } } #[cfg(feature = "image")] if let LogoStyle::Image { location } = config.logo { print!("\n{}\x1b[{}A", output, config.entries.len()); - print_picture(location); + pictures::display(location); + return Ok(()); } diff --git a/src/system/battery.rs b/src/system/battery.rs index feba234..e9e4c1e 100644 --- a/src/system/battery.rs +++ b/src/system/battery.rs @@ -1,11 +1,11 @@ +use starship_battery::units::time::second; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{ToOptionString, format_time}; -use starship_battery::units::time::second; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values, format_time}; -pub fn get_battery( +pub fn battery_info( languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/cpu.rs b/src/system/cpu.rs index 40b7acb..f2a8664 100644 --- a/src/system/cpu.rs +++ b/src/system/cpu.rs @@ -1,12 +1,13 @@ -use crate::config::Config; -use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::ToOptionString; use std::collections::HashSet; + use sysinfo::{CpuRefreshKind, RefreshKind, System}; -pub fn get_cpu( +use crate::config::Config; +use crate::error::FetchInfoError; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values}; + +pub fn cpu_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/disk.rs b/src/system/disk.rs index 7c2a934..2c58448 100644 --- a/src/system/disk.rs +++ b/src/system/disk.rs @@ -1,12 +1,12 @@ +use sysinfo::Disks; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; use crate::system::disks::ignore_disk; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{ToOptionString, convert_to_readable_unity}; -use sysinfo::Disks; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, convert_to_readable_unity, filtered_values}; -pub fn get_disk( +pub fn disk_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], config: &Config, diff --git a/src/system/disks.rs b/src/system/disks.rs index a4b9193..2c07302 100644 --- a/src/system/disks.rs +++ b/src/system/disks.rs @@ -1,11 +1,11 @@ +use sysinfo::{DiskRefreshKind, Disks}; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{ToOptionString, convert_to_readable_unity}; -use sysinfo::{DiskRefreshKind, Disks}; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, convert_to_readable_unity, filtered_values}; -pub fn get_disks( +pub fn disks_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], config: &Config, diff --git a/src/system/host.rs b/src/system/host.rs index 49c2db3..fb428aa 100644 --- a/src/system/host.rs +++ b/src/system/host.rs @@ -1,11 +1,11 @@ +use whoami::{hostname, username}; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::ToOptionString; -use whoami::{hostname, username}; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values}; -pub fn get_hostname( +pub fn hostname_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/kernel.rs b/src/system/kernel.rs index a1f007d..f6b87f0 100644 --- a/src/system/kernel.rs +++ b/src/system/kernel.rs @@ -1,11 +1,11 @@ +use sysinfo::System; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::ToOptionString; -use sysinfo::System; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values}; -pub fn get_kernel( +pub fn kernel_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/loadavg.rs b/src/system/loadavg.rs index 8481a6f..011f5d9 100644 --- a/src/system/loadavg.rs +++ b/src/system/loadavg.rs @@ -1,11 +1,11 @@ +use sysinfo::System; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::ToOptionString; -use sysinfo::System; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values}; -pub fn get_loadavg( +pub fn loadavg_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/memory.rs b/src/system/memory.rs index 22c1b36..e7d9bbb 100644 --- a/src/system/memory.rs +++ b/src/system/memory.rs @@ -1,11 +1,11 @@ +use sysinfo::{MemoryRefreshKind, RefreshKind, System}; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{ToOptionString, convert_to_readable_unity}; -use sysinfo::{MemoryRefreshKind, RefreshKind, System}; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, convert_to_readable_unity, filtered_values}; -pub fn get_memory( +pub fn memory_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/mod.rs b/src/system/mod.rs index 36dc3bb..db7fdfd 100755 --- a/src/system/mod.rs +++ b/src/system/mod.rs @@ -1,26 +1,42 @@ -use crate::config::Config; -use crate::error::FetchInfoError; +mod battery; +mod cpu; +mod disk; +mod disks; +mod host; +mod kernel; +mod loadavg; +mod memory; +mod motherboard; +mod networks; +mod product; +mod public_ip; +mod uptime; + +pub use self::battery::battery_info; +pub use self::cpu::cpu_info; +pub use self::disk::disk_info; +pub use self::disks::disks_info; +pub use self::host::hostname_info; +pub use self::kernel::kernel_info; +pub use self::loadavg::loadavg_info; +pub use self::memory::memory_info; +pub use self::motherboard::motherboard_info; +pub use self::networks::networks_info; +pub use self::product::product_info; +pub use self::public_ip::public_ip_info; +pub use self::uptime::uptime_info; + use bitcode::{Decode, Encode}; use serde::Deserialize; +use strum::IntoStaticStr; -pub mod battery; -pub mod cpu; -pub mod disk; -pub mod disks; -pub mod host; -pub mod kernel; -pub mod loadavg; -pub mod memory; -pub mod motherboard; -pub mod networks; -pub mod product; -pub mod public_ip; -pub mod uptime; +use crate::config::Config; +use crate::error::FetchInfoError; pub type InfoFunction = fn(fn(&str) -> &str, &[InfoField], &Config) -> Result; -#[derive(Deserialize, Clone, Copy, Debug, Decode, Encode, PartialEq, Eq, Hash)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, Decode, Deserialize, Encode)] #[serde(rename_all = "snake_case")] pub enum InfoKind { Battery, @@ -39,7 +55,7 @@ pub enum InfoKind { } impl InfoKind { - pub const fn get_fields(&self) -> &[InfoField] { + pub const fn fields(&self) -> &[InfoField] { match self { Self::Battery => &[ InfoField::BatteryModel, @@ -150,7 +166,7 @@ impl InfoKind { Self::Disks => "{disks_used_space} / {disks_total_space}", Self::Host => "{username}@{hostname}", Self::Kernel => "{kernel_long_version}", - Self::Loadavg => "{loadavg_one}, {loadavg_five}, {loadavg_fifteen}", + Self::Loadavg => "{load_avg_one}, {load_avg_five}, {load_avg_fifteen}", Self::Memory => "{memory_used} / {memory_total}", Self::Motherboard => "{motherboard_name} {motherboard_version}", Self::Networks => "{network_prefer_first_ipv4}", @@ -166,20 +182,20 @@ impl InfoKind { Self::Battery => "battery", Self::Disk => "disk", Self::Disks => "disks", - Self::Host => "host", + Self::Host | Self::Product => "host", Self::Kernel => "kernel", Self::Loadavg => "loadavg", Self::Memory => "memory", Self::Motherboard => "motherboard", Self::Networks => "networks", - Self::Product => "host", Self::PublicIp => "public-ip", Self::Uptime => "uptime", } } } -#[derive(Debug, PartialEq, Clone, Copy, Eq, Hash, Decode, Encode)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, Decode, Encode, IntoStaticStr)] +#[strum(serialize_all = "snake_case")] pub enum InfoField { BatteryModel, BatteryCycleCount, @@ -263,96 +279,10 @@ pub enum InfoField { Username, } -impl InfoField { - pub const fn as_str(&self) -> &'static str { - match self { - Self::BatteryModel => "battery_model", - Self::BatteryCycleCount => "battery_cycle_count", - Self::BatterySerialNumber => "battery_serial_number", - Self::BatteryVendor => "battery_vendor", - Self::BatteryTechnology => "battery_technology", - Self::BatteryState => "battery_state", - Self::BatteryTemperature => "battery_temperature", - Self::BatteryStateOfHealth => "battery_state_of_health", - Self::BatteryStateOfCharge => "battery_state_of_charge", - Self::BatteryEnergy => "battery_energy", - Self::BatteryEnergyFull => "battery_energy_full", - Self::BatteryEnergyFullDesign => "battery_energy_full_design", - Self::BatteryEnergyRate => "battery_energy_rate", - Self::BatteryVoltage => "battery_voltage", - Self::BatteryTimeToFull => "battery_time_to_full", - Self::BatteryTimeToEmpty => "battery_time_to_empty", - Self::CpuName => "cpu_name", - Self::CpuUsage => "cpu_usage", - Self::CpuFrequency => "cpu_frequency", - Self::CpuVendor => "cpu_vendor", - Self::CpuArch => "cpu_arch", - Self::DiskName => "disk_name", - Self::DiskAvailableSpace => "disk_available_space", - Self::DiskUsedSpace => "disk_used_space", - Self::DiskTotalSpace => "disk_total_space", - Self::DiskMountPoint => "disk_mount_point", - Self::DiskFileSystem => "disk_file_system", - Self::DiskIsRemovable => "disk_is_removable", - Self::DiskIsReadOnly => "disk_is_readonly", - Self::DiskKind => "disk_kind", - Self::DiskWrittenSinceBoot => "disk_written_since_boot", - Self::DiskReadSinceBoot => "disk_read_since_boot", - Self::DisksCount => "disks_count", - Self::DisksCountFiltered => "disks_count_filtered", - Self::DisksAvailableSpace => "disks_available_space", - Self::DisksUsedSpace => "disks_used_space", - Self::DisksTotalSpace => "disks_total_space", - Self::Hostname => "hostname", - Self::KernelVersion => "kernel_version", - Self::KernelLongVersion => "kernel_long_version", - Self::LoadAvgOne => "loadavg_one", - Self::LoadAvgFive => "loadavg_five", - Self::LoadAvgFifteen => "loadavg_fifteen", - Self::MemoryAvailable => "memory_available", - Self::MemoryFree => "memory_free", - Self::MemoryTotal => "memory_total", - Self::MemoryUsed => "memory_used", - Self::MemorySwapFree => "memory_swap_free", - Self::MemorySwapTotal => "memory_swap_total", - Self::MemorySwapUsage => "memory_swap_usage", - Self::MotherboardAssetTag => "motherboard_asset_tag", - Self::MotherboardName => "motherboard_name", - Self::MotherboardSerialNumber => "motherboard_serial_number", - Self::MotherboardVendorName => "motherboard_vendor_name", - Self::MotherboardVersion => "motherboard_version", - Self::NetworkName => "network_name", - Self::NetworkPreferFirstIpv4 => "network_prefer_first_ipv4", - Self::NetworkPreferFirstIpv6 => "network_prefer_first_ipv6", - Self::NetworkFirstIp => "network_first_ip", - Self::NetworkAllIp => "network_all_ip", - Self::NetworkMacAddress => "network_mac_address", - Self::NetworkMaximumTransferUnit => "network_maximum_transfer_unit", - Self::NetworkErrorsOnReceived => "network_errors_on_received", - Self::NetworkErrorsOnTransmitted => "network_errors_on_transmitted", - Self::NetworkPacketsReceived => "network_packets_received", - Self::NetworkPacketsTransmitted => "network_packets_transmitted", - Self::NetworkReceived => "network_received", - Self::NetworkTransmitted => "network_transmitted", - Self::ProductFamily => "product_family", - Self::ProductName => "product_name", - Self::ProductSerialNumber => "product_serial_number", - Self::ProductStockKeepingUnit => "product_stock_keeping_unit", - Self::ProductUuid => "product_uuid", - Self::ProductVendorName => "product_vendor_name", - Self::ProductVersion => "product_version", - Self::PublicIpAny => "public_ip_any", - Self::PublicIpv4 => "public_ipv4", - Self::PublicIpv6 => "public_ipv6", - Self::Uptime => "uptime", - Self::Username => "username", - } - } -} - impl std::fmt::Display for InfoField { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "{}", self.as_str()) + let field: &'static str = self.into(); + write!(f, "{field}") } } diff --git a/src/system/motherboard.rs b/src/system/motherboard.rs index 1c8452c..2b64fed 100644 --- a/src/system/motherboard.rs +++ b/src/system/motherboard.rs @@ -1,11 +1,11 @@ +use sysinfo::Motherboard; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::ToOptionString; -use sysinfo::Motherboard; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values}; -pub fn get_motherboard( +pub fn motherboard_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/system/networks.rs b/src/system/networks.rs index a46772e..74a908f 100644 --- a/src/system/networks.rs +++ b/src/system/networks.rs @@ -1,12 +1,14 @@ -use crate::config::Config; -use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{ToOptionString, convert_to_readable_unity}; use std::net::IpAddr; + use sysinfo::Networks; -pub fn get_networks( +use crate::config::Config; +use crate::error::FetchInfoError; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, convert_to_readable_unity, filtered_values}; + +#[allow(clippy::too_many_lines)] +pub fn networks_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], config: &Config, @@ -43,7 +45,7 @@ pub fn get_networks( }; let first_ipv4 = network.ip_networks().iter().find_map(|ip| match ip.addr { IpAddr::V4(v4) => Some((v4.is_private(), v4.to_string())), - _ => None, + IpAddr::V6(_) => None, }); let first_ipv6 = network.ip_networks().iter().find(|ip| ip.addr.is_ipv6()); @@ -64,7 +66,7 @@ pub fn get_networks( ), ( InfoField::NetworkPreferFirstIpv6, - first_ipv6.map(|ip| ip.to_string()).or(first_ip) + first_ipv6.map(ToString::to_string).or(first_ip) ), ( InfoField::NetworkAllIp, @@ -75,7 +77,7 @@ pub fn get_networks( network .ip_networks() .iter() - .map(|ip| ip.to_string()) + .map(ToString::to_string) .collect::>() .join(" "), ) diff --git a/src/system/product.rs b/src/system/product.rs index 77b549f..ecb8aac 100644 --- a/src/system/product.rs +++ b/src/system/product.rs @@ -1,11 +1,11 @@ +use sysinfo::Product; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::ToOptionString; -use sysinfo::Product; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values}; -pub fn get_product( +pub fn product_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, @@ -19,9 +19,7 @@ pub fn get_product( #[cfg(target_os = "macos")] { Product::name().map(|name| { - product_name_from_module_name(&name) - .map(str::to_owned) - .unwrap_or_else(|| name) + product_name_from_module_name(&name).map_or(name, str::to_owned) }) } #[cfg(not(target_os = "macos"))] @@ -43,6 +41,7 @@ pub fn get_product( } #[cfg(target_os = "macos")] +#[allow(clippy::too_many_lines)] // Based on: // FastFetch: https://github.com/fastfetch-cli/fastfetch/blob/dev/src/detection/host/host_mac.c // Macbook Pro: https://support.apple.com/en-us/HT201300 @@ -51,7 +50,7 @@ pub fn get_product( // iMac: https://support.apple.com/en-us/HT201634 // Mac Pro: https://support.apple.com/en-us/HT202888 // Mac Studio: https://support.apple.com/en-us/HT213073 -pub(crate) fn product_name_from_module_name(model: &str) -> Option<&str> { +pub(crate) fn product_name_from_module_name(model: &str) -> Option<&'static str> { if let Some(suffix) = model.strip_prefix("MacBookPro") { Some(match suffix { "18,3" | "18,4" => "MacBook Pro (14-inch, 2021)", diff --git a/src/system/public_ip.rs b/src/system/public_ip.rs index 23aa5c6..e5f2e34 100644 --- a/src/system/public_ip.rs +++ b/src/system/public_ip.rs @@ -1,18 +1,19 @@ -use crate::config::Config; -use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{PROJECT_VERSION, ToOptionString}; -use socket2::{Domain, Protocol, Socket, Type}; use std::io::{Read, Write}; use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, ToSocketAddrs}; use std::time::Duration; -const IPV4: IpAddr = IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)); -const IPV6: IpAddr = IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0)); +use socket2::{Domain, Protocol, Socket, Type}; + +use crate::config::Config; +use crate::error::FetchInfoError; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{PROJECT_VERSION, ToOptionString, filtered_values}; + +const IPV4: IpAddr = IpAddr::V4(Ipv4Addr::UNSPECIFIED); +const IPV6: IpAddr = IpAddr::V6(Ipv6Addr::UNSPECIFIED); const TIMEOUT: Duration = Duration::from_secs(5); -pub fn get_public_ip( +pub fn public_ip_info( _languages_func: fn(&str) -> &str, fields: &[InfoField], config: &Config, @@ -57,7 +58,7 @@ fn http_get_request(domain: &str, port: u16, path: &str, ip: IpAddr) -> Option Option socket, - Err(_) => continue, + ) else { + continue; }; if socket.bind(&local_addr.into()).is_err() || socket.connect(&address.into()).is_err() { diff --git a/src/system/uptime.rs b/src/system/uptime.rs index 063c36e..7fbcab5 100644 --- a/src/system/uptime.rs +++ b/src/system/uptime.rs @@ -1,11 +1,11 @@ +use sysinfo::System; + use crate::config::Config; use crate::error::FetchInfoError; -use crate::filtered_values; -use crate::system::{InfoField, InfoGroup, InfoResult, InfoValue}; -use crate::util::{ToOptionString, format_time}; -use sysinfo::System; +use crate::system::{InfoField, InfoGroup, InfoResult}; +use crate::util::{ToOptionString, filtered_values, format_time}; -pub fn get_uptime( +pub fn uptime_info( languages_func: fn(&str) -> &str, fields: &[InfoField], _config: &Config, diff --git a/src/translations/mod.rs b/src/translations/mod.rs index 808da7d..bfa13c3 100755 --- a/src/translations/mod.rs +++ b/src/translations/mod.rs @@ -1,20 +1,18 @@ -use crate::translations::english::english; -use crate::translations::french::french; - -pub mod english; -pub mod french; +mod english; +mod french; fn get_language_func(country_code: &str) -> fn(&str) -> &'static str { match country_code { - "fr" => french, - _ => english, + "fr" => french::french, + _ => english::english, } } pub fn get_language(language: &str) -> fn(&str) -> &'static str { if language == "auto" { let locale_value_base: String = sys_locale::get_locale() - .unwrap_or_else(|| "en-US".to_owned()) + .as_deref() + .unwrap_or("en-US") .replace('_', "-"); let locale_value: &str = locale_value_base .split('-') diff --git a/src/util/constants.rs b/src/util/constants.rs new file mode 100644 index 0000000..90ad855 --- /dev/null +++ b/src/util/constants.rs @@ -0,0 +1 @@ +pub const LOGO_LENGTH: usize = 47; diff --git a/src/util/filtered_values.rs b/src/util/filtered_values.rs index 17435ec..8fd7bfd 100644 --- a/src/util/filtered_values.rs +++ b/src/util/filtered_values.rs @@ -22,24 +22,23 @@ impl ToOptionString for String { impl ToOptionString for &str { fn to_option_string(self) -> Option { - Some(self.to_string()) + Some(self.to_owned()) } } -#[macro_export] macro_rules! filtered_values { ($fields:expr, [ $( ($field:expr, $value_expr:expr) ),* $(,)? ]) => {{ - let mut info: Vec = Vec::new(); + let mut info: Vec<$crate::system::InfoValue> = Vec::new(); $( - if $fields.contains(&$field) { - if let Some(value) = $value_expr.to_option_string() { - info.push(InfoValue { - field: $field, - value, - }); - } + if $fields.contains(&$field) && let Some(value) = $value_expr.to_option_string() { + info.push($crate::system::InfoValue { + field: $field, + value, + }); } )* info }}; } + +pub(crate) use filtered_values; diff --git a/src/util/mod.rs b/src/util/mod.rs index 3787fff..371bd21 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -1,17 +1,17 @@ +pub mod constants; +#[cfg(feature = "image")] +pub mod pictures; + mod filtered_values; -pub use filtered_values::ToOptionString; +pub(crate) use self::filtered_values::{ToOptionString, filtered_values}; -use crate::error::FetchInfoError; -#[cfg(feature = "image")] -use image::{GenericImageView, ImageReader}; use std::fmt::Write; use std::process::Command; -#[cfg(feature = "image")] -use std::{fs::File, io::BufReader}; + use unicode_segmentation::UnicodeSegmentation; -#[cfg(feature = "image")] -use viuer::Config as ViuerConfig; + +use crate::error::FetchInfoError; pub const PROJECT_VERSION: &str = env!("CARGO_PKG_VERSION"); @@ -19,12 +19,12 @@ const fn div_mod(dividend: u64, divisor: u64) -> (u64, u64) { (dividend / divisor, dividend % divisor) } -pub fn env_exist(env_var: &str) -> bool { +pub fn env_var_exists(env_var: &str) -> bool { std::env::var(env_var).is_ok() } -pub fn command_exist(program: &str) -> bool { - which::which(program).is_ok() +pub fn executable_exists(binary_name: &str) -> bool { + which::which(binary_name).is_ok() } pub fn str_from_command(command: &mut Command) -> Result { @@ -83,48 +83,3 @@ pub fn convert_to_readable_unity>(size: T) -> String { ) .replace(".0", "") } - -#[cfg(feature = "image")] -pub fn print_picture(path: &str) { - let file = match File::open(path) { - Ok(f) => f, - Err(error) => FetchInfoError::error_exit(format!( - "An error occurred while reading the image: {error}" - )), - }; - let reader: ImageReader> = - match ImageReader::new(BufReader::new(file)).with_guessed_format() { - Ok(r) => r, - Err(error) => FetchInfoError::error_exit(format!( - "An error occurred while guessing the image format: {error}" - )), - }; - let image = match reader.decode() { - Ok(i) => i, - Err(error) => FetchInfoError::error_exit(format!( - "An error occurred while decoding the image: {error}" - )), - }; - - let dimensions: (u32, u32) = image.dimensions(); - let (width_ratio, height_ratio): (f64, f64) = if dimensions.0 < 44 { - (1.0, 1.0) - } else { - (dimensions.0 as f64 / 44.0, dimensions.1 as f64 / 44.0) - }; - let ratio: f64 = width_ratio.max(height_ratio); - let new_width: u32 = (dimensions.0 as f64 / ratio) as u32; - - let config: ViuerConfig = ViuerConfig { - x: ((47 - new_width) / 2) as u16, - width: Some(new_width), - absolute_offset: false, - ..ViuerConfig::default() - }; - if let Err(error) = viuer::print(&image, &config) { - FetchInfoError::error_exit(format!( - "An error occurred while printing the image: {error}", - )) - } - println!(); -} diff --git a/src/util/pictures.rs b/src/util/pictures.rs new file mode 100644 index 0000000..8cf9332 --- /dev/null +++ b/src/util/pictures.rs @@ -0,0 +1,53 @@ +use std::fs::File; +use std::io::BufReader; +use std::path::Path; + +use image::{GenericImageView, ImageReader}; +use viuer::Config as ViuerConfig; + +use super::constants::LOGO_LENGTH; +use crate::error::FetchInfoError; + +const MAX_PICTURE_SIZE: f64 = 44.0; + +pub fn display(path: impl AsRef) { + let file = match File::open(path) { + Ok(f) => f, + Err(error) => FetchInfoError::error_exit(format!( + "An error occurred while reading the image: {error}" + )), + }; + let image_reader = match ImageReader::new(BufReader::new(file)).with_guessed_format() { + Ok(r) => r, + Err(error) => FetchInfoError::error_exit(format!( + "An error occurred while guessing the image format: {error}" + )), + }; + let image = match image_reader.decode() { + Ok(i) => i, + Err(error) => FetchInfoError::error_exit(format!( + "An error occurred while decoding the image: {error}" + )), + }; + + let (width, height) = image.dimensions(); + let (width, height) = (f64::from(width), f64::from(height)); + + let ratio = (width / MAX_PICTURE_SIZE) + .max(height / MAX_PICTURE_SIZE) + .max(1.0); + let new_width = (width / ratio) as u32; + + let config: ViuerConfig = ViuerConfig { + x: ((LOGO_LENGTH as u32 - new_width) / 2) as u16, + width: Some(new_width), + absolute_offset: false, + ..ViuerConfig::default() + }; + if let Err(error) = viuer::print(&image, &config) { + FetchInfoError::error_exit(format!( + "An error occurred while printing the image: {error}", + )) + } + println!(); +}