From 049cdefeedd02609472fcb6a1348dc151c9e92ee Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Thu, 13 Jun 2024 21:05:57 +0800 Subject: [PATCH 1/7] feat: Introduce remote scheme Signed-off-by: Xuanwo --- Cargo.lock | 659 +++++++++++++++ Cargo.toml | 12 +- rustfmt.toml | 58 +- stylua.toml | 4 +- yazi-adapter/Cargo.toml | 43 +- yazi-config/Cargo.toml | 15 +- yazi-config/preset/keymap.toml | 1002 ++++++++++++++++------ yazi-config/preset/theme.toml | 1258 ++++++++++++++-------------- yazi-config/preset/yazi.toml | 259 +++--- yazi-config/src/lib.rs | 7 + yazi-config/src/schemes/mod.rs | 3 + yazi-config/src/schemes/schemes.rs | 54 ++ yazi-dds/Cargo.toml | 36 +- yazi-fm/Cargo.toml | 67 +- yazi-plugin/Cargo.toml | 76 +- yazi-proxy/Cargo.toml | 22 +- yazi-scheduler/Cargo.toml | 33 +- yazi-shared/Cargo.toml | 1 + yazi-shared/src/fs/file.rs | 76 +- yazi-shared/src/fs/mod.rs | 2 + yazi-shared/src/fs/schemes.rs | 32 + yazi-shared/src/fs/url.rs | 121 ++- 22 files changed, 2609 insertions(+), 1231 deletions(-) create mode 100644 yazi-config/src/schemes/mod.rs create mode 100644 yazi-config/src/schemes/schemes.rs create mode 100644 yazi-shared/src/fs/schemes.rs diff --git a/Cargo.lock b/Cargo.lock index c34506345..f74fdcc3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -139,12 +139,35 @@ dependencies = [ "event-listener", ] +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "autocfg" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +[[package]] +name = "backon" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" +dependencies = [ + "fastrand", + "futures-core", + "pin-project", + "tokio", +] + [[package]] name = "backtrace" version = "0.3.71" @@ -287,7 +310,9 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", + "wasm-bindgen", "windows-targets 0.52.5", ] @@ -415,12 +440,56 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + [[package]] name = "core-foundation-sys" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32c" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" +dependencies = [ + "rustc_version", +] + [[package]] name = "crc32fast" version = "1.4.0" @@ -557,7 +626,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -581,6 +652,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "dlv-list" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" +dependencies = [ + "const-random", +] + [[package]] name = "either" version = "1.11.0" @@ -651,6 +731,12 @@ dependencies = [ "zune-inflate", ] +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + [[package]] name = "fdeflate" version = "0.3.4" @@ -682,6 +768,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "flagset" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb3aa5e95cf9aabc17f060cfa0ced7b83f042390760ca53bf09df9968acaa1" + [[package]] name = "flate2" version = "1.0.28" @@ -831,8 +923,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -902,6 +996,21 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + [[package]] name = "home" version = "0.5.9" @@ -911,6 +1020,102 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -1004,6 +1209,12 @@ dependencies = [ "libc", ] +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + [[package]] name = "itertools" version = "0.12.1" @@ -1175,6 +1386,12 @@ version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -1373,6 +1590,36 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "opendal" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3ba698f2258bebdf7a3a38862bb6ef1f96d351627002686dacc228f805bdd6" +dependencies = [ + "anyhow", + "async-trait", + "backon", + "base64 0.22.1", + "bytes", + "chrono", + "crc32c", + "flagset", + "futures", + "getrandom", + "http", + "log", + "md-5", + "once_cell", + "percent-encoding", + "quick-xml", + "reqsign", + "reqwest", + "serde", + "serde_json", + "tokio", + "uuid", +] + [[package]] name = "option-ext" version = "0.2.0" @@ -1388,6 +1635,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ordered-multimap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" +dependencies = [ + "dlv-list", + "hashbrown", +] + [[package]] name = "overload" version = "0.1.1" @@ -1435,6 +1692,26 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -1486,6 +1763,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -1535,6 +1818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", + "serde", ] [[package]] @@ -1546,6 +1830,36 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + [[package]] name = "ratatui" version = "0.26.3" @@ -1644,6 +1958,103 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +[[package]] +name = "reqsign" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70fe66d4cd0b5ed9b1abbfe639bf6baeaaf509f7da2d51b31111ba945be59286" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.1", + "chrono", + "form_urlencoded", + "getrandom", + "hex", + "hmac", + "home", + "http", + "log", + "percent-encoding", + "quick-xml", + "rand", + "reqwest", + "rust-ini", + "serde", + "serde_json", + "sha1", + "sha2", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "winreg", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rust-ini" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d625ed57d8f49af6cfa514c42e1a71fadcff60eb0b1c517ff82fe41aa025b41" +dependencies = [ + "cfg-if", + "ordered-multimap", + "trim-in-place", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -1656,6 +2067,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "0.38.34" @@ -1669,6 +2089,47 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + +[[package]] +name = "rustls-webpki" +version = "0.102.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.15" @@ -1696,6 +2157,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + [[package]] name = "serde" version = "1.0.203" @@ -1746,6 +2213,40 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -1899,6 +2400,12 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + [[package]] name = "syn" version = "1.0.109" @@ -1920,6 +2427,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "syntect" version = "5.2.0" @@ -2035,6 +2548,15 @@ dependencies = [ "time-core", ] +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -2080,6 +2602,17 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.15" @@ -2139,6 +2672,33 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.40" @@ -2224,6 +2784,18 @@ dependencies = [ "windows", ] +[[package]] +name = "trim-in-place" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc" + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + [[package]] name = "typenum" version = "1.17.0" @@ -2273,6 +2845,12 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.0" @@ -2290,6 +2868,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +[[package]] +name = "uuid" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +dependencies = [ + "getrandom", + "serde", +] + [[package]] name = "uzers" version = "0.12.0" @@ -2364,6 +2952,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -2395,6 +2992,18 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.92" @@ -2424,6 +3033,38 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "weezl" version = "0.1.8" @@ -2683,6 +3324,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "winsafe" version = "0.0.19" @@ -2756,6 +3407,7 @@ dependencies = [ "crossterm", "globset", "indexmap", + "opendal", "ratatui", "serde", "shell-words", @@ -2927,6 +3579,7 @@ dependencies = [ "filetime", "futures", "libc", + "opendal", "parking_lot", "percent-encoding", "ratatui", @@ -2957,6 +3610,12 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + [[package]] name = "zune-inflate" version = "0.2.54" diff --git a/Cargo.toml b/Cargo.toml index d0276a6f5..d10ff20d7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [workspace] -resolver = "2" -members = [ "yazi-*" ] -default-members = [ "yazi-fm", "yazi-cli" ] +resolver = "2" +members = ["yazi-*"] +default-members = ["yazi-fm", "yazi-cli"] [profile.release] codegen-units = 1 -lto = true -panic = "abort" -strip = true +lto = true +panic = "abort" +strip = true diff --git a/rustfmt.toml b/rustfmt.toml index 69622ca3c..4d6f5d4c1 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,31 +1,31 @@ -color = "Never" -condense_wildcard_suffixes = true -edition = "2021" +color = "Never" +condense_wildcard_suffixes = true +edition = "2021" enum_discrim_align_threshold = 99 -fn_single_line = true -format_code_in_doc_comments = false -format_generated_files = false -format_macro_matchers = true -format_macro_bodies = true -format_strings = false -hard_tabs = true -hex_literal_case = "Lower" -hide_parse_errors = true -imports_indent = "Visual" -imports_layout = "Horizontal" -imports_granularity = "Crate" -newline_style = "Unix" -normalize_comments = true -normalize_doc_attributes = false -overflow_delimited_expr = true -reorder_impl_items = true -group_imports = "StdExternalCrate" -reorder_modules = true +fn_single_line = true +format_code_in_doc_comments = false +format_generated_files = false +format_macro_matchers = true +format_macro_bodies = true +format_strings = false +hard_tabs = true +hex_literal_case = "Lower" +hide_parse_errors = true +imports_indent = "Visual" +imports_layout = "Horizontal" +imports_granularity = "Crate" +newline_style = "Unix" +normalize_comments = true +normalize_doc_attributes = false +overflow_delimited_expr = true +reorder_impl_items = true +group_imports = "StdExternalCrate" +reorder_modules = true struct_field_align_threshold = 99 -tab_spaces = 2 -unstable_features = true -use_field_init_shorthand = true -use_small_heuristics = "Max" -use_try_shorthand = true -version = "Two" -wrap_comments = true +tab_spaces = 2 +unstable_features = true +use_field_init_shorthand = true +use_small_heuristics = "Max" +use_try_shorthand = true +version = "Two" +wrap_comments = true diff --git a/stylua.toml b/stylua.toml index ffaa2031c..722d02cd3 100644 --- a/stylua.toml +++ b/stylua.toml @@ -1,5 +1,5 @@ -indent_width = 2 -call_parentheses = "NoSingleTable" +indent_width = 2 +call_parentheses = "NoSingleTable" collapse_simple_statement = "FunctionOnly" [sort_requires] diff --git a/yazi-adapter/Cargo.toml b/yazi-adapter/Cargo.toml index 1b0fdccf8..e9015e980 100644 --- a/yazi-adapter/Cargo.toml +++ b/yazi-adapter/Cargo.toml @@ -1,31 +1,34 @@ [package] -name = "yazi-adapter" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-adapter" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi image adapter" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [dependencies] yazi-config = { path = "../yazi-config", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -ansi-to-tui = "3.1.0" -anyhow = "1.0.86" -arc-swap = "1.7.1" -base64 = "0.22.1" -color_quant = "1.1.0" -crossterm = "0.27.0" -futures = "0.3.30" -image = "0.24.9" -imagesize = "0.12.0" +ansi-to-tui = "3.1.0" +anyhow = "1.0.86" +arc-swap = "1.7.1" +base64 = "0.22.1" +color_quant = "1.1.0" +crossterm = "0.27.0" +futures = "0.3.30" +image = "0.24.9" +imagesize = "0.12.0" kamadak-exif = "0.5.5" -ratatui = "0.26.3" -scopeguard = "1.2.0" -tokio = { version = "1.38.0", features = [ "full" ] } +ratatui = "0.26.3" +scopeguard = "1.2.0" +tokio = { version = "1.38.0", features = ["full"] } # Logging -tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } +tracing = { version = "0.1.40", features = [ + "max_level_debug", + "release_max_level_warn", +] } diff --git a/yazi-config/Cargo.toml b/yazi-config/Cargo.toml index 22064b686..ab6a6162b 100644 --- a/yazi-config/Cargo.toml +++ b/yazi-config/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "yazi-config" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-config" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi configuration file parser" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [dependencies] yazi-shared = { path = "../yazi-shared", version = "0.2.5" } @@ -23,3 +23,4 @@ serde = { version = "1.0.203", features = [ "derive" ] } shell-words = "1.1.0" toml = { version = "0.8.14", features = [ "preserve_order" ] } validator = { version = "0.18.1", features = [ "derive" ] } +opendal = "0.47.0" diff --git a/yazi-config/preset/keymap.toml b/yazi-config/preset/keymap.toml index 9e4c0493c..0784b1fc3 100644 --- a/yazi-config/preset/keymap.toml +++ b/yazi-config/preset/keymap.toml @@ -5,304 +5,756 @@ [manager] keymap = [ - { on = [ "" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, - { on = [ "" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, - { on = [ "q" ], run = "quit", desc = "Exit the process" }, - { on = [ "Q" ], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" }, - { on = [ "" ], run = "close", desc = "Close the current tab, or quit if it is last tab" }, - { on = [ "" ], run = "suspend", desc = "Suspend the process" }, - - # Navigation - { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ "" ], run = "arrow -50%", desc = "Move cursor up half page" }, - { on = [ "" ], run = "arrow 50%", desc = "Move cursor down half page" }, - { on = [ "" ], run = "arrow -100%", desc = "Move cursor up one page" }, - { on = [ "" ], run = "arrow 100%", desc = "Move cursor down one page" }, - - { on = [ "" ], run = "arrow -50%", desc = "Move cursor up half page" }, - { on = [ "" ], run = "arrow 50%", desc = "Move cursor down half page" }, - { on = [ "" ], run = "arrow -100%", desc = "Move cursor up one page" }, - { on = [ "" ], run = "arrow 100%", desc = "Move cursor down one page" }, - - { on = [ "h" ], run = "leave", desc = "Go back to the parent directory" }, - { on = [ "l" ], run = "enter", desc = "Enter the child directory" }, - - { on = [ "H" ], run = "back", desc = "Go back to the previous directory" }, - { on = [ "L" ], run = "forward", desc = "Go forward to the next directory" }, - - { on = [ "" ], run = "seek -5", desc = "Seek up 5 units in the preview" }, - { on = [ "" ], run = "seek 5", desc = "Seek down 5 units in the preview" }, - { on = [ "" ], run = "seek -5", desc = "Seek up 5 units in the preview" }, - { on = [ "" ], run = "seek 5", desc = "Seek down 5 units in the preview" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - { on = [ "" ], run = "leave", desc = "Go back to the parent directory" }, - { on = [ "" ], run = "enter", desc = "Enter the child directory" }, - - { on = [ "g", "g" ], run = "arrow -99999999", desc = "Move cursor to the top" }, - { on = [ "G" ], run = "arrow 99999999", desc = "Move cursor to the bottom" }, - - # Selection - { on = [ "" ], run = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" }, - { on = [ "v" ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, - { on = [ "V" ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, - { on = [ "" ], run = "select_all --state=true", desc = "Select all files" }, - { on = [ "" ], run = "select_all --state=none", desc = "Inverse selection of all files" }, - - # Operation - { on = [ "o" ], run = "open", desc = "Open the selected files" }, - { on = [ "O" ], run = "open --interactive", desc = "Open the selected files interactively" }, - { on = [ "" ], run = "open", desc = "Open the selected files" }, - { on = [ "" ], run = "open --interactive", desc = "Open the selected files interactively" }, - { on = [ "y" ], run = "yank", desc = "Copy the selected files" }, - { on = [ "Y" ], run = "unyank", desc = "Cancel the yank status of files" }, - { on = [ "x" ], run = "yank --cut", desc = "Cut the selected files" }, - { on = [ "X" ], run = "unyank", desc = "Cancel the yank status of files" }, - { on = [ "p" ], run = "paste", desc = "Paste the files" }, - { on = [ "P" ], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, - { on = [ "-" ], run = "link", desc = "Symlink the absolute path of files" }, - { on = [ "_" ], run = "link --relative", desc = "Symlink the relative path of files" }, - { on = [ "d" ], run = "remove", desc = "Move the files to the trash" }, - { on = [ "D" ], run = "remove --permanently", desc = "Permanently delete the files" }, - { on = [ "a" ], run = "create", desc = "Create a file or directory (ends with / for directories)" }, - { on = [ "r" ], run = "rename --cursor=before_ext", desc = "Rename a file or directory" }, - { on = [ ";" ], run = "shell", desc = "Run a shell command" }, - { on = [ ":" ], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" }, - { on = [ "." ], run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, - { on = [ "s" ], run = "search fd", desc = "Search files by name using fd" }, - { on = [ "S" ], run = "search rg", desc = "Search files by content using ripgrep" }, - { on = [ "" ], run = "search none", desc = "Cancel the ongoing search" }, - { on = [ "z" ], run = "plugin zoxide", desc = "Jump to a directory using zoxide" }, - { on = [ "Z" ], run = "plugin fzf", desc = "Jump to a directory, or reveal a file using fzf" }, - - # Linemode - { on = [ "m", "s" ], run = "linemode size", desc = "Set linemode to size" }, - { on = [ "m", "p" ], run = "linemode permissions", desc = "Set linemode to permissions" }, - { on = [ "m", "m" ], run = "linemode mtime", desc = "Set linemode to mtime" }, - { on = [ "m", "n" ], run = "linemode none", desc = "Set linemode to none" }, - - # Copy - { on = [ "c", "c" ], run = "copy path", desc = "Copy the absolute path" }, - { on = [ "c", "d" ], run = "copy dirname", desc = "Copy the path of the parent directory" }, - { on = [ "c", "f" ], run = "copy filename", desc = "Copy the name of the file" }, - { on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" }, - - # Filter - { on = [ "f" ], run = "filter --smart", desc = "Filter the files" }, - - # Find - { on = [ "/" ], run = "find --smart", desc = "Find next file" }, - { on = [ "?" ], run = "find --previous --smart", desc = "Find previous file" }, - { on = [ "n" ], run = "find_arrow", desc = "Go to next found file" }, - { on = [ "N" ], run = "find_arrow --previous", desc = "Go to previous found file" }, - - # Sorting - { on = [ ",", "m" ], run = "sort modified --reverse=no", desc = "Sort by modified time" }, - { on = [ ",", "M" ], run = "sort modified --reverse", desc = "Sort by modified time (reverse)" }, - { on = [ ",", "c" ], run = "sort created --reverse=no", desc = "Sort by created time" }, - { on = [ ",", "C" ], run = "sort created --reverse", desc = "Sort by created time (reverse)" }, - { on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" }, - { on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, - { on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, - { on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" }, - { on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" }, - { on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" }, - { on = [ ",", "s" ], run = "sort size --reverse=no", desc = "Sort by size" }, - { on = [ ",", "S" ], run = "sort size --reverse", desc = "Sort by size (reverse)" }, - - # Tabs - { on = [ "t" ], run = "tab_create --current", desc = "Create a new tab using the current path" }, - - { on = [ "1" ], run = "tab_switch 0", desc = "Switch to the first tab" }, - { on = [ "2" ], run = "tab_switch 1", desc = "Switch to the second tab" }, - { on = [ "3" ], run = "tab_switch 2", desc = "Switch to the third tab" }, - { on = [ "4" ], run = "tab_switch 3", desc = "Switch to the fourth tab" }, - { on = [ "5" ], run = "tab_switch 4", desc = "Switch to the fifth tab" }, - { on = [ "6" ], run = "tab_switch 5", desc = "Switch to the sixth tab" }, - { on = [ "7" ], run = "tab_switch 6", desc = "Switch to the seventh tab" }, - { on = [ "8" ], run = "tab_switch 7", desc = "Switch to the eighth tab" }, - { on = [ "9" ], run = "tab_switch 8", desc = "Switch to the ninth tab" }, - - { on = [ "[" ], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" }, - { on = [ "]" ], run = "tab_switch 1 --relative", desc = "Switch to the next tab" }, - - { on = [ "{" ], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" }, - { on = [ "}" ], run = "tab_swap 1", desc = "Swap the current tab with the next tab" }, - - # Tasks - { on = [ "w" ], run = "tasks_show", desc = "Show the tasks manager" }, - - # Goto - { on = [ "g", "h" ], run = "cd ~", desc = "Go to the home directory" }, - { on = [ "g", "c" ], run = "cd ~/.config", desc = "Go to the config directory" }, - { on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go to the downloads directory" }, - { on = [ "g", "" ], run = "cd --interactive", desc = "Go to a directory interactively" }, - - # Help - { on = [ "~" ], run = "help", desc = "Open help" }, + { on = [ + "", + ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, + { on = [ + "", + ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, + { on = [ + "q", + ], run = "quit", desc = "Exit the process" }, + { on = [ + "Q", + ], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" }, + { on = [ + "", + ], run = "close", desc = "Close the current tab, or quit if it is last tab" }, + { on = [ + "", + ], run = "suspend", desc = "Suspend the process" }, + + # Navigation + { on = [ + "k", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "j", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "K", + ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ + "J", + ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ + "", + ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ + "", + ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ + "", + ], run = "arrow -50%", desc = "Move cursor up half page" }, + { on = [ + "", + ], run = "arrow 50%", desc = "Move cursor down half page" }, + { on = [ + "", + ], run = "arrow -100%", desc = "Move cursor up one page" }, + { on = [ + "", + ], run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ + "", + ], run = "arrow -50%", desc = "Move cursor up half page" }, + { on = [ + "", + ], run = "arrow 50%", desc = "Move cursor down half page" }, + { on = [ + "", + ], run = "arrow -100%", desc = "Move cursor up one page" }, + { on = [ + "", + ], run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ + "h", + ], run = "leave", desc = "Go back to the parent directory" }, + { on = [ + "l", + ], run = "enter", desc = "Enter the child directory" }, + + { on = [ + "H", + ], run = "back", desc = "Go back to the previous directory" }, + { on = [ + "L", + ], run = "forward", desc = "Go forward to the next directory" }, + + { on = [ + "", + ], run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = [ + "", + ], run = "seek 5", desc = "Seek down 5 units in the preview" }, + { on = [ + "", + ], run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = [ + "", + ], run = "seek 5", desc = "Seek down 5 units in the preview" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + { on = [ + "", + ], run = "leave", desc = "Go back to the parent directory" }, + { on = [ + "", + ], run = "enter", desc = "Enter the child directory" }, + + { on = [ + "g", + "g", + ], run = "arrow -99999999", desc = "Move cursor to the top" }, + { on = [ + "G", + ], run = "arrow 99999999", desc = "Move cursor to the bottom" }, + + # Selection + { on = [ + "", + ], run = [ + "select --state=none", + "arrow 1", + ], desc = "Toggle the current selection state" }, + { on = [ + "v", + ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, + { on = [ + "V", + ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, + { on = [ + "", + ], run = "select_all --state=true", desc = "Select all files" }, + { on = [ + "", + ], run = "select_all --state=none", desc = "Inverse selection of all files" }, + + # Operation + { on = [ + "o", + ], run = "open", desc = "Open the selected files" }, + { on = [ + "O", + ], run = "open --interactive", desc = "Open the selected files interactively" }, + { on = [ + "", + ], run = "open", desc = "Open the selected files" }, + { on = [ + "", + ], run = "open --interactive", desc = "Open the selected files interactively" }, + { on = [ + "y", + ], run = "yank", desc = "Copy the selected files" }, + { on = [ + "Y", + ], run = "unyank", desc = "Cancel the yank status of files" }, + { on = [ + "x", + ], run = "yank --cut", desc = "Cut the selected files" }, + { on = [ + "X", + ], run = "unyank", desc = "Cancel the yank status of files" }, + { on = [ + "p", + ], run = "paste", desc = "Paste the files" }, + { on = [ + "P", + ], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, + { on = [ + "-", + ], run = "link", desc = "Symlink the absolute path of files" }, + { on = [ + "_", + ], run = "link --relative", desc = "Symlink the relative path of files" }, + { on = [ + "d", + ], run = "remove", desc = "Move the files to the trash" }, + { on = [ + "D", + ], run = "remove --permanently", desc = "Permanently delete the files" }, + { on = [ + "a", + ], run = "create", desc = "Create a file or directory (ends with / for directories)" }, + { on = [ + "r", + ], run = "rename --cursor=before_ext", desc = "Rename a file or directory" }, + { on = [ + ";", + ], run = "shell", desc = "Run a shell command" }, + { on = [ + ":", + ], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" }, + { on = [ + ".", + ], run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, + { on = [ + "s", + ], run = "search fd", desc = "Search files by name using fd" }, + { on = [ + "S", + ], run = "search rg", desc = "Search files by content using ripgrep" }, + { on = [ + "", + ], run = "search none", desc = "Cancel the ongoing search" }, + { on = [ + "z", + ], run = "plugin zoxide", desc = "Jump to a directory using zoxide" }, + { on = [ + "Z", + ], run = "plugin fzf", desc = "Jump to a directory, or reveal a file using fzf" }, + + # Linemode + { on = [ + "m", + "s", + ], run = "linemode size", desc = "Set linemode to size" }, + { on = [ + "m", + "p", + ], run = "linemode permissions", desc = "Set linemode to permissions" }, + { on = [ + "m", + "m", + ], run = "linemode mtime", desc = "Set linemode to mtime" }, + { on = [ + "m", + "n", + ], run = "linemode none", desc = "Set linemode to none" }, + + # Copy + { on = [ + "c", + "c", + ], run = "copy path", desc = "Copy the absolute path" }, + { on = [ + "c", + "d", + ], run = "copy dirname", desc = "Copy the path of the parent directory" }, + { on = [ + "c", + "f", + ], run = "copy filename", desc = "Copy the name of the file" }, + { on = [ + "c", + "n", + ], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" }, + + # Filter + { on = [ + "f", + ], run = "filter --smart", desc = "Filter the files" }, + + # Find + { on = [ + "/", + ], run = "find --smart", desc = "Find next file" }, + { on = [ + "?", + ], run = "find --previous --smart", desc = "Find previous file" }, + { on = [ + "n", + ], run = "find_arrow", desc = "Go to next found file" }, + { on = [ + "N", + ], run = "find_arrow --previous", desc = "Go to previous found file" }, + + # Sorting + { on = [ + ",", + "m", + ], run = "sort modified --reverse=no", desc = "Sort by modified time" }, + { on = [ + ",", + "M", + ], run = "sort modified --reverse", desc = "Sort by modified time (reverse)" }, + { on = [ + ",", + "c", + ], run = "sort created --reverse=no", desc = "Sort by created time" }, + { on = [ + ",", + "C", + ], run = "sort created --reverse", desc = "Sort by created time (reverse)" }, + { on = [ + ",", + "e", + ], run = "sort extension --reverse=no", desc = "Sort by extension" }, + { on = [ + ",", + "E", + ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, + { on = [ + ",", + "a", + ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, + { on = [ + ",", + "A", + ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" }, + { on = [ + ",", + "n", + ], run = "sort natural --reverse=no", desc = "Sort naturally" }, + { on = [ + ",", + "N", + ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" }, + { on = [ + ",", + "s", + ], run = "sort size --reverse=no", desc = "Sort by size" }, + { on = [ + ",", + "S", + ], run = "sort size --reverse", desc = "Sort by size (reverse)" }, + + # Tabs + { on = [ + "t", + ], run = "tab_create --current", desc = "Create a new tab using the current path" }, + + { on = [ + "1", + ], run = "tab_switch 0", desc = "Switch to the first tab" }, + { on = [ + "2", + ], run = "tab_switch 1", desc = "Switch to the second tab" }, + { on = [ + "3", + ], run = "tab_switch 2", desc = "Switch to the third tab" }, + { on = [ + "4", + ], run = "tab_switch 3", desc = "Switch to the fourth tab" }, + { on = [ + "5", + ], run = "tab_switch 4", desc = "Switch to the fifth tab" }, + { on = [ + "6", + ], run = "tab_switch 5", desc = "Switch to the sixth tab" }, + { on = [ + "7", + ], run = "tab_switch 6", desc = "Switch to the seventh tab" }, + { on = [ + "8", + ], run = "tab_switch 7", desc = "Switch to the eighth tab" }, + { on = [ + "9", + ], run = "tab_switch 8", desc = "Switch to the ninth tab" }, + + { on = [ + "[", + ], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" }, + { on = [ + "]", + ], run = "tab_switch 1 --relative", desc = "Switch to the next tab" }, + + { on = [ + "{", + ], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" }, + { on = [ + "}", + ], run = "tab_swap 1", desc = "Swap the current tab with the next tab" }, + + # Tasks + { on = [ + "w", + ], run = "tasks_show", desc = "Show the tasks manager" }, + + # Goto + { on = [ + "g", + "h", + ], run = "cd ~", desc = "Go to the home directory" }, + { on = [ + "g", + "c", + ], run = "cd ~/.config", desc = "Go to the config directory" }, + { on = [ + "g", + "d", + ], run = "cd ~/Downloads", desc = "Go to the downloads directory" }, + { on = [ + "g", + "", + ], run = "cd --interactive", desc = "Go to a directory interactively" }, + + # Help + { on = [ + "~", + ], run = "help", desc = "Open help" }, ] [tasks] keymap = [ - { on = [ "" ], run = "close", desc = "Hide the task manager" }, - { on = [ "" ], run = "close", desc = "Hide the task manager" }, - { on = [ "" ], run = "close", desc = "Hide the task manager" }, - { on = [ "w" ], run = "close", desc = "Hide the task manager" }, - - { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "" ], run = "inspect", desc = "Inspect the task" }, - { on = [ "x" ], run = "cancel", desc = "Cancel the task" }, - - { on = [ "~" ], run = "help", desc = "Open help" } + { on = [ + "", + ], run = "close", desc = "Hide the task manager" }, + { on = [ + "", + ], run = "close", desc = "Hide the task manager" }, + { on = [ + "", + ], run = "close", desc = "Hide the task manager" }, + { on = [ + "w", + ], run = "close", desc = "Hide the task manager" }, + + { on = [ + "k", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "j", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "", + ], run = "inspect", desc = "Inspect the task" }, + { on = [ + "x", + ], run = "cancel", desc = "Cancel the task" }, + + { on = [ + "~", + ], run = "help", desc = "Open help" }, ] [select] keymap = [ - { on = [ "" ], run = "close", desc = "Cancel selection" }, - { on = [ "" ], run = "close", desc = "Cancel selection" }, - { on = [ "" ], run = "close", desc = "Cancel selection" }, - { on = [ "" ], run = "close --submit", desc = "Submit the selection" }, - - { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ "~" ], run = "help", desc = "Open help" } + { on = [ + "", + ], run = "close", desc = "Cancel selection" }, + { on = [ + "", + ], run = "close", desc = "Cancel selection" }, + { on = [ + "", + ], run = "close", desc = "Cancel selection" }, + { on = [ + "", + ], run = "close --submit", desc = "Submit the selection" }, + + { on = [ + "k", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "j", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "K", + ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ + "J", + ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "", + ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ + "", + ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ + "~", + ], run = "help", desc = "Open help" }, ] [input] keymap = [ - { on = [ "" ], run = "close", desc = "Cancel input" }, - { on = [ "" ], run = "close --submit", desc = "Submit the input" }, - { on = [ "" ], run = "escape", desc = "Go back the normal mode, or cancel input" }, - { on = [ "" ], run = "escape", desc = "Go back the normal mode, or cancel input" }, - - # Mode - { on = [ "i" ], run = "insert", desc = "Enter insert mode" }, - { on = [ "a" ], run = "insert --append", desc = "Enter append mode" }, - { on = [ "I" ], run = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" }, - { on = [ "A" ], run = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" }, - { on = [ "v" ], run = "visual", desc = "Enter visual mode" }, - { on = [ "V" ], run = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" }, - - # Character-wise movement - { on = [ "h" ], run = "move -1", desc = "Move back a character" }, - { on = [ "l" ], run = "move 1", desc = "Move forward a character" }, - { on = [ "" ], run = "move -1", desc = "Move back a character" }, - { on = [ "" ], run = "move 1", desc = "Move forward a character" }, - { on = [ "" ], run = "move -1", desc = "Move back a character" }, - { on = [ "" ], run = "move 1", desc = "Move forward a character" }, - - # Word-wise movement - { on = [ "b" ], run = "backward", desc = "Move back to the start of the current or previous word" }, - { on = [ "w" ], run = "forward", desc = "Move forward to the start of the next word" }, - { on = [ "e" ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, - { on = [ "" ], run = "backward", desc = "Move back to the start of the current or previous word" }, - { on = [ "" ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, - - # Line-wise movement - { on = [ "0" ], run = "move -999", desc = "Move to the BOL" }, - { on = [ "$" ], run = "move 999", desc = "Move to the EOL" }, - { on = [ "" ], run = "move -999", desc = "Move to the BOL" }, - { on = [ "" ], run = "move 999", desc = "Move to the EOL" }, - { on = [ "" ], run = "move -999", desc = "Move to the BOL" }, - { on = [ "" ], run = "move 999", desc = "Move to the EOL" }, - - # Delete - { on = [ "" ], run = "backspace", desc = "Delete the character before the cursor" }, - { on = [ "" ], run = "backspace --under", desc = "Delete the character under the cursor" }, - { on = [ "" ], run = "backspace", desc = "Delete the character before the cursor" }, - { on = [ "" ], run = "backspace --under", desc = "Delete the character under the cursor" }, - - # Kill - { on = [ "" ], run = "kill bol", desc = "Kill backwards to the BOL" }, - { on = [ "" ], run = "kill eol", desc = "Kill forwards to the EOL" }, - { on = [ "" ], run = "kill backward", desc = "Kill backwards to the start of the current word" }, - { on = [ "" ], run = "kill forward", desc = "Kill forwards to the end of the current word" }, - - # Cut/Yank/Paste - { on = [ "d" ], run = "delete --cut", desc = "Cut the selected characters" }, - { on = [ "D" ], run = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" }, - { on = [ "c" ], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" }, - { on = [ "C" ], run = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" }, - { on = [ "x" ], run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" }, - { on = [ "y" ], run = "yank", desc = "Copy the selected characters" }, - { on = [ "p" ], run = "paste", desc = "Paste the copied characters after the cursor" }, - { on = [ "P" ], run = "paste --before", desc = "Paste the copied characters before the cursor" }, - - # Undo/Redo - { on = [ "u" ], run = "undo", desc = "Undo the last operation" }, - { on = [ "" ], run = "redo", desc = "Redo the last operation" }, - - # Help - { on = [ "~" ], run = "help", desc = "Open help" } + { on = [ + "", + ], run = "close", desc = "Cancel input" }, + { on = [ + "", + ], run = "close --submit", desc = "Submit the input" }, + { on = [ + "", + ], run = "escape", desc = "Go back the normal mode, or cancel input" }, + { on = [ + "", + ], run = "escape", desc = "Go back the normal mode, or cancel input" }, + + # Mode + { on = [ + "i", + ], run = "insert", desc = "Enter insert mode" }, + { on = [ + "a", + ], run = "insert --append", desc = "Enter append mode" }, + { on = [ + "I", + ], run = [ + "move -999", + "insert", + ], desc = "Move to the BOL, and enter insert mode" }, + { on = [ + "A", + ], run = [ + "move 999", + "insert --append", + ], desc = "Move to the EOL, and enter append mode" }, + { on = [ + "v", + ], run = "visual", desc = "Enter visual mode" }, + { on = [ + "V", + ], run = [ + "move -999", + "visual", + "move 999", + ], desc = "Enter visual mode and select all" }, + + # Character-wise movement + { on = [ + "h", + ], run = "move -1", desc = "Move back a character" }, + { on = [ + "l", + ], run = "move 1", desc = "Move forward a character" }, + { on = [ + "", + ], run = "move -1", desc = "Move back a character" }, + { on = [ + "", + ], run = "move 1", desc = "Move forward a character" }, + { on = [ + "", + ], run = "move -1", desc = "Move back a character" }, + { on = [ + "", + ], run = "move 1", desc = "Move forward a character" }, + + # Word-wise movement + { on = [ + "b", + ], run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = [ + "w", + ], run = "forward", desc = "Move forward to the start of the next word" }, + { on = [ + "e", + ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + { on = [ + "", + ], run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = [ + "", + ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + + # Line-wise movement + { on = [ + "0", + ], run = "move -999", desc = "Move to the BOL" }, + { on = [ + "$", + ], run = "move 999", desc = "Move to the EOL" }, + { on = [ + "", + ], run = "move -999", desc = "Move to the BOL" }, + { on = [ + "", + ], run = "move 999", desc = "Move to the EOL" }, + { on = [ + "", + ], run = "move -999", desc = "Move to the BOL" }, + { on = [ + "", + ], run = "move 999", desc = "Move to the EOL" }, + + # Delete + { on = [ + "", + ], run = "backspace", desc = "Delete the character before the cursor" }, + { on = [ + "", + ], run = "backspace --under", desc = "Delete the character under the cursor" }, + { on = [ + "", + ], run = "backspace", desc = "Delete the character before the cursor" }, + { on = [ + "", + ], run = "backspace --under", desc = "Delete the character under the cursor" }, + + # Kill + { on = [ + "", + ], run = "kill bol", desc = "Kill backwards to the BOL" }, + { on = [ + "", + ], run = "kill eol", desc = "Kill forwards to the EOL" }, + { on = [ + "", + ], run = "kill backward", desc = "Kill backwards to the start of the current word" }, + { on = [ + "", + ], run = "kill forward", desc = "Kill forwards to the end of the current word" }, + + # Cut/Yank/Paste + { on = [ + "d", + ], run = "delete --cut", desc = "Cut the selected characters" }, + { on = [ + "D", + ], run = [ + "delete --cut", + "move 999", + ], desc = "Cut until the EOL" }, + { on = [ + "c", + ], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" }, + { on = [ + "C", + ], run = [ + "delete --cut --insert", + "move 999", + ], desc = "Cut until the EOL, and enter insert mode" }, + { on = [ + "x", + ], run = [ + "delete --cut", + "move 1 --in-operating", + ], desc = "Cut the current character" }, + { on = [ + "y", + ], run = "yank", desc = "Copy the selected characters" }, + { on = [ + "p", + ], run = "paste", desc = "Paste the copied characters after the cursor" }, + { on = [ + "P", + ], run = "paste --before", desc = "Paste the copied characters before the cursor" }, + + # Undo/Redo + { on = [ + "u", + ], run = "undo", desc = "Undo the last operation" }, + { on = [ + "", + ], run = "redo", desc = "Redo the last operation" }, + + # Help + { on = [ + "~", + ], run = "help", desc = "Open help" }, ] [completion] keymap = [ - { on = [ "" ], run = "close", desc = "Cancel completion" }, - { on = [ "" ], run = "close --submit", desc = "Submit the completion" }, - { on = [ "" ], run = [ "close --submit", "close_input --submit" ], desc = "Submit the completion and input" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "~" ], run = "help", desc = "Open help" } + { on = [ + "", + ], run = "close", desc = "Cancel completion" }, + { on = [ + "", + ], run = "close --submit", desc = "Submit the completion" }, + { on = [ + "", + ], run = [ + "close --submit", + "close_input --submit", + ], desc = "Submit the completion and input" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "~", + ], run = "help", desc = "Open help" }, ] [help] keymap = [ - { on = [ "" ], run = "escape", desc = "Clear the filter, or hide the help" }, - { on = [ "" ], run = "escape", desc = "Clear the filter, or hide the help" }, - { on = [ "q" ], run = "close", desc = "Exit the process" }, - { on = [ "" ], run = "close", desc = "Hide the help" }, - - # Navigation - { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - # Filtering - { on = [ "/" ], run = "filter", desc = "Apply a filter for the help items" }, + { on = [ + "", + ], run = "escape", desc = "Clear the filter, or hide the help" }, + { on = [ + "", + ], run = "escape", desc = "Clear the filter, or hide the help" }, + { on = [ + "q", + ], run = "close", desc = "Exit the process" }, + { on = [ + "", + ], run = "close", desc = "Hide the help" }, + + # Navigation + { on = [ + "k", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "j", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "K", + ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ + "J", + ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ + "", + ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ + "", + ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ + "", + ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ + "", + ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + # Filtering + { on = [ + "/", + ], run = "filter", desc = "Apply a filter for the help items" }, ] diff --git a/yazi-config/preset/theme.toml b/yazi-config/preset/theme.toml index 0eb9cf660..9d3d0f4e4 100644 --- a/yazi-config/preset/theme.toml +++ b/yazi-config/preset/theme.toml @@ -17,32 +17,32 @@ use = "" cwd = { fg = "cyan" } # Hovered -hovered = { reversed = true } +hovered = { reversed = true } preview_hovered = { underline = true } # Find -find_keyword = { fg = "yellow", bold = true, italic = true, underline = true } +find_keyword = { fg = "yellow", bold = true, italic = true, underline = true } find_position = { fg = "magenta", bg = "reset", bold = true, italic = true } # Marker -marker_copied = { fg = "lightgreen", bg = "lightgreen" } -marker_cut = { fg = "lightred", bg = "lightred" } -marker_marked = { fg = "lightcyan", bg = "lightcyan" } +marker_copied = { fg = "lightgreen", bg = "lightgreen" } +marker_cut = { fg = "lightred", bg = "lightred" } +marker_marked = { fg = "lightcyan", bg = "lightcyan" } marker_selected = { fg = "lightyellow", bg = "lightyellow" } # Tab -tab_active = { reversed = true } +tab_active = { reversed = true } tab_inactive = {} -tab_width = 1 +tab_width = 1 # Count -count_copied = { fg = "white", bg = "green" } -count_cut = { fg = "white", bg = "red" } +count_copied = { fg = "white", bg = "green" } +count_cut = { fg = "white", bg = "red" } count_selected = { fg = "white", bg = "yellow" } # Border border_symbol = "│" -border_style = { fg = "gray" } +border_style = { fg = "gray" } # Highlighting syntect_theme = "" @@ -53,19 +53,19 @@ syntect_theme = "" # : Status {{{ [status] -separator_open = "" +separator_open = "" separator_close = "" separator_style = { fg = "gray", bg = "gray" } # Mode mode_normal = { bg = "blue", bold = true } mode_select = { bg = "red", bold = true } -mode_unset = { bg = "red", bold = true } +mode_unset = { bg = "red", bold = true } # Progress -progress_label = { bold = true } +progress_label = { bold = true } progress_normal = { fg = "blue", bg = "black" } -progress_error = { fg = "red", bg = "black" } +progress_error = { fg = "red", bg = "black" } # Permissions permissions_t = { fg = "green" } @@ -80,8 +80,8 @@ permissions_s = { fg = "darkgray" } # : Select {{{ [select] -border = { fg = "blue" } -active = { fg = "magenta", bold = true } +border = { fg = "blue" } +active = { fg = "magenta", bold = true } inactive = {} # : }}} @@ -90,9 +90,9 @@ inactive = {} # : Input {{{ [input] -border = { fg = "blue" } -title = {} -value = {} +border = { fg = "blue" } +title = {} +value = {} selected = { reversed = true } # : }}} @@ -101,13 +101,13 @@ selected = { reversed = true } # : Completion {{{ [completion] -border = { fg = "blue" } -active = { reversed = true } +border = { fg = "blue" } +active = { reversed = true } inactive = {} # Icons -icon_file = "" -icon_folder = "" +icon_file = "" +icon_folder = "" icon_command = "" # : }}} @@ -116,8 +116,8 @@ icon_command = "" # : Tasks {{{ [tasks] -border = { fg = "blue" } -title = {} +border = { fg = "blue" } +title = {} hovered = { fg = "magenta", underline = true } # : }}} @@ -126,12 +126,12 @@ hovered = { fg = "magenta", underline = true } # : Which {{{ [which] -cols = 3 -mask = { bg = "black" } -cand = { fg = "lightcyan" } -rest = { fg = "darkgray" } -desc = { fg = "lightmagenta" } -separator = "  " +cols = 3 +mask = { bg = "black" } +cand = { fg = "lightcyan" } +rest = { fg = "darkgray" } +desc = { fg = "lightmagenta" } +separator = "  " separator_style = { fg = "darkgray" } # : }}} @@ -140,11 +140,11 @@ separator_style = { fg = "darkgray" } # : Help {{{ [help] -on = { fg = "cyan" } -run = { fg = "magenta" } -desc = {} +on = { fg = "cyan" } +run = { fg = "magenta" } +desc = {} hovered = { reversed = true, bold = true } -footer = { fg = "black", bg = "white" } +footer = { fg = "black", bg = "white" } # : }}} @@ -152,13 +152,13 @@ footer = { fg = "black", bg = "white" } # : Notify {{{ [notify] -title_info = { fg = "green" } -title_warn = { fg = "yellow" } +title_info = { fg = "green" } +title_warn = { fg = "yellow" } title_error = { fg = "red" } # Icons -icon_info = "" -icon_warn = "" +icon_info = "" +icon_warn = "" icon_error = "" # : }}} @@ -169,613 +169,613 @@ icon_error = "" [filetype] rules = [ - # Images - { mime = "image/*", fg = "yellow" }, + # Images + { mime = "image/*", fg = "yellow" }, - # Media - { mime = "{audio,video}/*", fg = "magenta" }, + # Media + { mime = "{audio,video}/*", fg = "magenta" }, - # Archives - { mime = "application/{,g}zip", fg = "red" }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "red" }, + # Archives + { mime = "application/{,g}zip", fg = "red" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "red" }, - # Documents - { mime = "application/{pdf,doc,rtf,vnd.*}", fg = "cyan" }, + # Documents + { mime = "application/{pdf,doc,rtf,vnd.*}", fg = "cyan" }, - # Empty files - # { mime = "inode/x-empty", fg = "red" }, + # Empty files + # { mime = "inode/x-empty", fg = "red" }, - # Special files - { name = "*", is = "orphan", bg = "red" }, - { name = "*", is = "exec" , fg = "green" }, + # Special files + { name = "*", is = "orphan", bg = "red" }, + { name = "*", is = "exec", fg = "green" }, - # Fallback - # { name = "*", fg = "white" }, - { name = "*/", fg = "blue" } + # Fallback + # { name = "*", fg = "white" }, + { name = "*/", fg = "blue" }, ] [icon] globs = [] -dirs = [ - { name = ".config", text = "" }, - { name = ".git", text = "" }, - { name = "Desktop", text = "" }, - { name = "Development", text = "" }, - { name = "Documents", text = "" }, - { name = "Downloads", text = "" }, - { name = "Library", text = "" }, - { name = "Movies", text = "" }, - { name = "Music", text = "" }, - { name = "Pictures", text = "" }, - { name = "Public", text = "" }, - { name = "Videos", text = "" }, +dirs = [ + { name = ".config", text = "" }, + { name = ".git", text = "" }, + { name = "Desktop", text = "" }, + { name = "Development", text = "" }, + { name = "Documents", text = "" }, + { name = "Downloads", text = "" }, + { name = "Library", text = "" }, + { name = "Movies", text = "" }, + { name = "Music", text = "" }, + { name = "Pictures", text = "" }, + { name = "Public", text = "" }, + { name = "Videos", text = "" }, ] files = [ - { name = ".babelrc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = ".bash_profile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".bashrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".dockerignore", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = ".ds_store", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = ".editorconfig", text = "", fg_dark = "#fff2f2", fg_light = "#333030" }, - { name = ".env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, - { name = ".eslintignore", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, - { name = ".eslintrc", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, - { name = ".gitattributes", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gitconfig", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gitignore", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gitlab-ci.yml", text = "", fg_dark = "#e24329", fg_light = "#aa321f" }, - { name = ".gitmodules", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gtkrc-2.0", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = ".gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = ".luaurc", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, - { name = ".mailmap", text = "󰊢", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = ".npmignore", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = ".npmrc", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = ".prettierrc", text = "", fg_dark = "#4285f4", fg_light = "#3264b7" }, - { name = ".settings.json", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = ".SRCINFO", text = "󰣇", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, - { name = ".vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = ".Xauthority", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".xinitrc", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".Xresources", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".xsession", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".zprofile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".zshenv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".zshrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "_gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = "_vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = "avif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "brewfile", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "bspwmrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, - { name = "build", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "build.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "build.zig.zon", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, - { name = "cantorrc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, - { name = "checkhealth", text = "󰓙", fg_dark = "#75b4fb", fg_light = "#3a5a7e" }, - { name = "cmakelists.txt", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "commit_editmsg", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = "compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "config", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "containerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "copying", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "copying.lesser", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "docker-compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "docker-compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "ext_typoscript_setup.txt", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, - { name = "favicon.ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "fp-info-cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "fp-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "FreeCAD.conf", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "gemfile$", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "gradle-wrapper.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "gradle.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "gradlew", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "groovy", text = "", fg_dark = "#4a687c", fg_light = "#384e5d" }, - { name = "gruntfile.babel.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gruntfile.coffee", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gruntfile.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gruntfile.ts", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gtkrc", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "gulpfile.babel.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "gulpfile.coffee", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "gulpfile.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "gulpfile.ts", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "hyprland.conf", text = "", fg_dark = "#00aaae", fg_light = "#008082" }, - { name = "i3blocks.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, - { name = "i3status.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, - { name = "kalgebrarc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, - { name = "kdeglobals", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, - { name = "kdenlive-layoutsrc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kdenliverc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kritadisplayrc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "kritarc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "license", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, - { name = "lxde-rc.xml", text = "", fg_dark = "#909090", fg_light = "#606060" }, - { name = "lxqt.conf", text = "", fg_dark = "#0192d3", fg_light = "#016e9e" }, - { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "mix.lock", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "mpv.conf", text = "", fg_dark = "#3b1342", fg_light = "#3b1342" }, - { name = "node_modules", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = "package-lock.json", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, - { name = "package.json", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = "PKGBUILD", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, - { name = "platformio.ini", text = "", fg_dark = "#f6822b", fg_light = "#a4571d" }, - { name = "pom.xml", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, - { name = "procfile", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "PrusaSlicer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, - { name = "PrusaSlicerGcodeViewer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, - { name = "py.typed", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, - { name = "QtProject.conf", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "R", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, - { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, - { name = "rakefile", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "settings.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "svelte.config.js", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, - { name = "sxhkdrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, - { name = "sym-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "tailwind.config.js", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "tailwind.config.mjs", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "tailwind.config.ts", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "tmux.conf", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, - { name = "tmux.conf.local", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, - { name = "tsconfig.json", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "unlicense", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, - { name = "vagrantfile$", text = "", fg_dark = "#1563ff", fg_light = "#104abf" }, - { name = "vlcrc", text = "󰕼", fg_dark = "#ee7a00", fg_light = "#9f5100" }, - { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "weston.ini", text = "", fg_dark = "#ffbb01", fg_light = "#805e00" }, - { name = "workspace", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "xmobarrc", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, - { name = "xmobarrc.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, - { name = "xmonad.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, - { name = "xorg.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = "xsettingsd.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".babelrc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = ".bash_profile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".bashrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".dockerignore", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = ".ds_store", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = ".editorconfig", text = "", fg_dark = "#fff2f2", fg_light = "#333030" }, + { name = ".env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, + { name = ".eslintignore", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, + { name = ".eslintrc", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, + { name = ".gitattributes", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gitconfig", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gitignore", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gitlab-ci.yml", text = "", fg_dark = "#e24329", fg_light = "#aa321f" }, + { name = ".gitmodules", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gtkrc-2.0", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = ".gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = ".luaurc", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, + { name = ".mailmap", text = "󰊢", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = ".npmignore", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = ".npmrc", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = ".prettierrc", text = "", fg_dark = "#4285f4", fg_light = "#3264b7" }, + { name = ".settings.json", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = ".SRCINFO", text = "󰣇", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, + { name = ".vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = ".Xauthority", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".xinitrc", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".Xresources", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".xsession", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".zprofile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".zshenv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".zshrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "_gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = "_vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = "avif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "brewfile", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "bspwmrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, + { name = "build", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "build.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "build.zig.zon", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, + { name = "cantorrc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, + { name = "checkhealth", text = "󰓙", fg_dark = "#75b4fb", fg_light = "#3a5a7e" }, + { name = "cmakelists.txt", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "commit_editmsg", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = "compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "config", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "containerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "copying", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "copying.lesser", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "docker-compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "docker-compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "ext_typoscript_setup.txt", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, + { name = "favicon.ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "fp-info-cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "fp-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "FreeCAD.conf", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "gemfile$", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "gradle-wrapper.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "gradle.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "gradlew", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "groovy", text = "", fg_dark = "#4a687c", fg_light = "#384e5d" }, + { name = "gruntfile.babel.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gruntfile.coffee", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gruntfile.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gruntfile.ts", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gtkrc", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "gulpfile.babel.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "gulpfile.coffee", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "gulpfile.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "gulpfile.ts", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "hyprland.conf", text = "", fg_dark = "#00aaae", fg_light = "#008082" }, + { name = "i3blocks.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, + { name = "i3status.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, + { name = "kalgebrarc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, + { name = "kdeglobals", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, + { name = "kdenlive-layoutsrc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kdenliverc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kritadisplayrc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "kritarc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "license", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, + { name = "lxde-rc.xml", text = "", fg_dark = "#909090", fg_light = "#606060" }, + { name = "lxqt.conf", text = "", fg_dark = "#0192d3", fg_light = "#016e9e" }, + { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "mix.lock", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "mpv.conf", text = "", fg_dark = "#3b1342", fg_light = "#3b1342" }, + { name = "node_modules", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = "package-lock.json", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, + { name = "package.json", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = "PKGBUILD", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, + { name = "platformio.ini", text = "", fg_dark = "#f6822b", fg_light = "#a4571d" }, + { name = "pom.xml", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, + { name = "procfile", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "PrusaSlicer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, + { name = "py.typed", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, + { name = "QtProject.conf", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "R", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, + { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, + { name = "rakefile", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "settings.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "svelte.config.js", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, + { name = "sxhkdrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, + { name = "sym-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "tailwind.config.js", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "tailwind.config.mjs", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "tailwind.config.ts", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "tmux.conf", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, + { name = "tmux.conf.local", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, + { name = "tsconfig.json", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "unlicense", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, + { name = "vagrantfile$", text = "", fg_dark = "#1563ff", fg_light = "#104abf" }, + { name = "vlcrc", text = "󰕼", fg_dark = "#ee7a00", fg_light = "#9f5100" }, + { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "weston.ini", text = "", fg_dark = "#ffbb01", fg_light = "#805e00" }, + { name = "workspace", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "xmobarrc", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, + { name = "xmobarrc.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, + { name = "xmonad.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, + { name = "xorg.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = "xsettingsd.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, ] exts = [ - { name = "3gp", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "3mf", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "7z", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "a", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, - { name = "aac", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "ai", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "aif", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "aiff", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "android", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, - { name = "ape", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "apk", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, - { name = "app", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "applescript", text = "", fg_dark = "#6d8085", fg_light = "#526064" }, - { name = "asc", text = "󰦝", fg_dark = "#576d7f", fg_light = "#41525f" }, - { name = "ass", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "astro", text = "", fg_dark = "#e23f67", fg_light = "#aa2f4d" }, - { name = "awk", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "azcli", text = "", fg_dark = "#0078d4", fg_light = "#005a9f" }, - { name = "bak", text = "󰁯", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "bash", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "bat", text = "", fg_dark = "#c1f12e", fg_light = "#40500f" }, - { name = "bazel", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "bib", text = "󱉟", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "bicep", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "bicepparam", text = "", fg_dark = "#9f74b3", fg_light = "#6a4d77" }, - { name = "bin", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "blade.php", text = "", fg_dark = "#f05340", fg_light = "#a0372b" }, - { name = "blend", text = "󰂫", fg_dark = "#ea7600", fg_light = "#9c4f00" }, - { name = "blp", text = "󰺾", fg_dark = "#5796e2", fg_light = "#3a6497" }, - { name = "bmp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "brep", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "bz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "bz2", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "bz3", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "bzl", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "c", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, - { name = "c++", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, - { name = "cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "cast", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "cbl", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "cc", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, - { name = "ccm", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, - { name = "cfg", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "cjs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "clj", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "cljc", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "cljd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cljs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cmake", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "cob", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "cobol", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "coffee", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "conf", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "config.ru", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "cp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cppm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cpy", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "cr", text = "", fg_dark = "#c8c8c8", fg_light = "#434343" }, - { name = "crdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "cs", text = "󰌛", fg_dark = "#596706", fg_light = "#434d04" }, - { name = "csh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "cshtml", text = "󱦗", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "cson", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "csproj", text = "󰪮", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "css", text = "", fg_dark = "#42a5f5", fg_light = "#2c6ea3" }, - { name = "csv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "cts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cu", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "cue", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "cuh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "cxx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cxxm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "d", text = "", fg_dark = "#427819", fg_light = "#325a13" }, - { name = "d.ts", text = "", fg_dark = "#d59855", fg_light = "#6a4c2a" }, - { name = "dart", text = "", fg_dark = "#03589c", fg_light = "#03589c" }, - { name = "db", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "dconf", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "desktop", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, - { name = "diff", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = "dll", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, - { name = "doc", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, - { name = "Dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "docx", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, - { name = "dot", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, - { name = "download", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "drl", text = "", fg_dark = "#ffafaf", fg_light = "#553a3a" }, - { name = "dropbox", text = "", fg_dark = "#0061fe", fg_light = "#0049be" }, - { name = "dump", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "dwg", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "dxf", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "ebook", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, - { name = "edn", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "eex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "ejs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "el", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, - { name = "elc", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, - { name = "elf", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "elm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "eln", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, - { name = "env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, - { name = "eot", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "epp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, - { name = "epub", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, - { name = "erb", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "erl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, - { name = "ex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "exe", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "exs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "f#", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "f3d", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "f90", text = "󱈚", fg_dark = "#734f96", fg_light = "#563b70" }, - { name = "fbx", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "fcbak", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcmacro", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcmat", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcparam", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcscript", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcstd", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcstd1", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fctb", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fctl", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fdmdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "fish", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "flac", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "flc", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "flf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "fnl", text = "", fg_dark = "#fff3d7", fg_light = "#33312b" }, - { name = "fs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "fsi", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "fsscript", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "fsx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "gcode", text = "󰐫", fg_dark = "#1471ad", fg_light = "#0f5582" }, - { name = "gd", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "gemspec", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "gif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "git", text = "", fg_dark = "#f14c28", fg_light = "#b5391e" }, - { name = "glb", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" }, - { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "go", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "godot", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "gql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, - { name = "graphql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, - { name = "gresource", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "gv", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, - { name = "gz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "h", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "haml", text = "", fg_dark = "#eaeae1", fg_light = "#2f2f2d" }, - { name = "hbs", text = "", fg_dark = "#f0772b", fg_light = "#a04f1d" }, - { name = "heex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "hex", text = "", fg_dark = "#2e63ff", fg_light = "#224abf" }, - { name = "hh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "hpp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "hrl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, - { name = "hs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "htm", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, - { name = "html", text = "", fg_dark = "#e44d26", fg_light = "#ab3a1c" }, - { name = "huff", text = "󰡘", fg_dark = "#4242c7", fg_light = "#4242c7" }, - { name = "hurl", text = "", fg_dark = "#ff0288", fg_light = "#bf0266" }, - { name = "hx", text = "", fg_dark = "#ea8220", fg_light = "#9c5715" }, - { name = "hxx", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "ical", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "icalendar", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "ics", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "ifb", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "ifc", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "ige", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "iges", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "igs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "image", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, - { name = "img", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, - { name = "import", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "info", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, - { name = "ini", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "ino", text = "", fg_dark = "#56b6c2", fg_light = "#397981" }, - { name = "ipynb", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, - { name = "iso", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, - { name = "ixx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "java", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "jl", text = "", fg_dark = "#a270ba", fg_light = "#6c4b7c" }, - { name = "jpeg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "jpg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "json", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "json5", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "jsonc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "jwmrc", text = "", fg_dark = "#0078cd", fg_light = "#005a9a" }, - { name = "jxl", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "kbx", text = "󰯄", fg_dark = "#737672", fg_light = "#565856" }, - { name = "kdb", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, - { name = "kdbx", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, - { name = "kdenlive", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kdenlivetitle", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kicad_dru", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_mod", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_pcb", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_prl", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_pro", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_sch", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_sym", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_wks", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "ko", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, - { name = "kpp", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "kra", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "krz", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "ksh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "kt", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, - { name = "kts", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, - { name = "lck", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, - { name = "leex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "less", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, - { name = "lff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "lhs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "lib", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, - { name = "license", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "liquid", text = "", fg_dark = "#95bf47", fg_light = "#4a6024" }, - { name = "lock", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, - { name = "log", text = "󰌱", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, - { name = "lrc", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "lua", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, - { name = "luac", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, - { name = "luau", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, - { name = "m", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, - { name = "m3u", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "m3u8", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "m4a", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "m4v", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "magnet", text = "", fg_dark = "#a51b16", fg_light = "#a51b16" }, - { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "markdown", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, - { name = "material", text = "󰔉", fg_dark = "#b83998", fg_light = "#8a2b72" }, - { name = "md", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, - { name = "md5", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "mdx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "mint", text = "󰌪", fg_dark = "#87c095", fg_light = "#44604a" }, - { name = "mjs", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, - { name = "mk", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "mkv", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "ml", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "mli", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "mm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "mo", text = "∞", fg_dark = "#9772fb", fg_light = "#654ca7" }, - { name = "mobi", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, - { name = "mov", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "mp3", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "mp4", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "mpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "msf", text = "", fg_dark = "#137be1", fg_light = "#0e5ca9" }, - { name = "mts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "mustache", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "nfo", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, - { name = "nim", text = "", fg_dark = "#f3d400", fg_light = "#514700" }, - { name = "nix", text = "", fg_dark = "#7ebae4", fg_light = "#3f5d72" }, - { name = "nswag", text = "", fg_dark = "#85ea2d", fg_light = "#427516" }, - { name = "nu", text = ">", fg_dark = "#3aa675", fg_light = "#276f4e" }, - { name = "o", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "obj", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "ogg", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "opus", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "org", text = "", fg_dark = "#77aa99", fg_light = "#4f7166" }, - { name = "otf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "out", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "part", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "patch", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = "pck", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "pcm", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "pdf", text = "", fg_dark = "#b30b00", fg_light = "#b30b00" }, - { name = "php", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "pl", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "pls", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "ply", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "pm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "png", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "po", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "pot", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "pp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, - { name = "ppt", text = "󰈧", fg_dark = "#cb4a32", fg_light = "#983826" }, - { name = "prisma", text = "", fg_dark = "#5a67d8", fg_light = "#444da2" }, - { name = "pro", text = "", fg_dark = "#e4b854", fg_light = "#725c2a" }, - { name = "ps1", text = "󰨊", fg_dark = "#4273ca", fg_light = "#325698" }, - { name = "psb", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "psd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "psd1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, - { name = "psm1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, - { name = "pub", text = "󰷖", fg_dark = "#e3c58e", fg_light = "#4c422f" }, - { name = "pxd", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, - { name = "pxi", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, - { name = "py", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, - { name = "pyc", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, - { name = "pyd", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, - { name = "pyi", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, - { name = "pyo", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, - { name = "pyx", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, - { name = "qm", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "qml", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "qrc", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "qss", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "query", text = "", fg_dark = "#90a850", fg_light = "#607035" }, - { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, - { name = "rake", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "rar", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "razor", text = "󱦘", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "rb", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "res", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "resi", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, - { name = "rlib", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, - { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "rproj", text = "󰗆", fg_dark = "#358a5b", fg_light = "#286844" }, - { name = "rs", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, - { name = "rss", text = "", fg_dark = "#fb9d3b", fg_light = "#7e4e1e" }, - { name = "sass", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, - { name = "sbt", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "sc", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "scad", text = "", fg_dark = "#f9d72c", fg_light = "#53480f" }, - { name = "scala", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "scm", text = "󰘧", fg_dark = "#eeeeee", fg_light = "#303030" }, - { name = "scss", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, - { name = "sh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "sha1", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha224", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha256", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha384", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha512", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sig", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "signature", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "skp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "sldasm", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "sldprt", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "slim", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, - { name = "sln", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = "slvs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "sml", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "so", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, - { name = "sol", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "spec.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "spec.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "spec.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "spec.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, - { name = "sql", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "sqlite", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "sqlite3", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "srt", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "ssa", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "ste", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "step", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "stl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "stp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "strings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "styl", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "sub", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "sublime", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "suo", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = "sv", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "svelte", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, - { name = "svg", text = "󰜡", fg_dark = "#ffb13b", fg_light = "#80581e" }, - { name = "svh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "swift", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "t", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "tbc", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, - { name = "tcl", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, - { name = "templ", text = "", fg_dark = "#dbbd30", fg_light = "#6e5e18" }, - { name = "terminal", text = "", fg_dark = "#31b53e", fg_light = "#217929" }, - { name = "test.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "test.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "test.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "test.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, - { name = "tex", text = "", fg_dark = "#3d6117", fg_light = "#3d6117" }, - { name = "tf", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, - { name = "tfvars", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, - { name = "tgz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "tmux", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, - { name = "toml", text = "", fg_dark = "#9c4221", fg_light = "#753219" }, - { name = "torrent", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "tres", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "tscn", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "tsconfig", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, - { name = "tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, - { name = "ttf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "twig", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "txt", text = "󰈙", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "txz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "typoscript", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, - { name = "ui", text = "", fg_dark = "#0c306e", fg_light = "#0c306e" }, - { name = "v", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vala", text = "", fg_dark = "#7239b3", fg_light = "#562b86" }, - { name = "vh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vhd", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vhdl", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vim", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vsh", text = "", fg_dark = "#5d87bf", fg_light = "#3e5a7f" }, - { name = "vsix", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = "vue", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "wasm", text = "", fg_dark = "#5c4cdb", fg_light = "#4539a4" }, - { name = "wav", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "webm", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "webmanifest", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, - { name = "webp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "wma", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "woff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "woff2", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "wrl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "wrz", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "x", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, - { name = "xaml", text = "󰙳", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "xcf", text = "", fg_dark = "#635b46", fg_light = "#4a4434" }, - { name = "xcplayground", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "xcstrings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "xls", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, - { name = "xlsx", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, - { name = "xm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "xml", text = "󰗀", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "xpi", text = "", fg_dark = "#ff1b01", fg_light = "#bf1401" }, - { name = "xul", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "xz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "yaml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "yml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "zig", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, - { name = "zip", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "zsh", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "zst", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "3gp", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "3mf", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "7z", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "a", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, + { name = "aac", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "ai", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "aif", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "aiff", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "android", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, + { name = "ape", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "apk", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, + { name = "app", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "applescript", text = "", fg_dark = "#6d8085", fg_light = "#526064" }, + { name = "asc", text = "󰦝", fg_dark = "#576d7f", fg_light = "#41525f" }, + { name = "ass", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "astro", text = "", fg_dark = "#e23f67", fg_light = "#aa2f4d" }, + { name = "awk", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "azcli", text = "", fg_dark = "#0078d4", fg_light = "#005a9f" }, + { name = "bak", text = "󰁯", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "bash", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "bat", text = "", fg_dark = "#c1f12e", fg_light = "#40500f" }, + { name = "bazel", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "bib", text = "󱉟", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "bicep", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "bicepparam", text = "", fg_dark = "#9f74b3", fg_light = "#6a4d77" }, + { name = "bin", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "blade.php", text = "", fg_dark = "#f05340", fg_light = "#a0372b" }, + { name = "blend", text = "󰂫", fg_dark = "#ea7600", fg_light = "#9c4f00" }, + { name = "blp", text = "󰺾", fg_dark = "#5796e2", fg_light = "#3a6497" }, + { name = "bmp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "brep", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "bz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "bz2", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "bz3", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "bzl", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "c", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, + { name = "c++", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, + { name = "cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "cast", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "cbl", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "cc", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, + { name = "ccm", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, + { name = "cfg", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "cjs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "clj", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "cljc", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "cljd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cljs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cmake", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "cob", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "cobol", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "coffee", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "conf", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "config.ru", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "cp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cppm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cpy", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "cr", text = "", fg_dark = "#c8c8c8", fg_light = "#434343" }, + { name = "crdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "cs", text = "󰌛", fg_dark = "#596706", fg_light = "#434d04" }, + { name = "csh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "cshtml", text = "󱦗", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "cson", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "csproj", text = "󰪮", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "css", text = "", fg_dark = "#42a5f5", fg_light = "#2c6ea3" }, + { name = "csv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "cts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cu", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "cue", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "cuh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "cxx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cxxm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "d", text = "", fg_dark = "#427819", fg_light = "#325a13" }, + { name = "d.ts", text = "", fg_dark = "#d59855", fg_light = "#6a4c2a" }, + { name = "dart", text = "", fg_dark = "#03589c", fg_light = "#03589c" }, + { name = "db", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "dconf", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "desktop", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, + { name = "diff", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = "dll", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, + { name = "doc", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, + { name = "Dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "docx", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, + { name = "dot", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, + { name = "download", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "drl", text = "", fg_dark = "#ffafaf", fg_light = "#553a3a" }, + { name = "dropbox", text = "", fg_dark = "#0061fe", fg_light = "#0049be" }, + { name = "dump", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "dwg", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "dxf", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "ebook", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, + { name = "edn", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "eex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "ejs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "el", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, + { name = "elc", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, + { name = "elf", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "elm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "eln", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, + { name = "env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, + { name = "eot", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "epp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, + { name = "epub", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, + { name = "erb", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "erl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, + { name = "ex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "exe", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "exs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "f#", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "f3d", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "f90", text = "󱈚", fg_dark = "#734f96", fg_light = "#563b70" }, + { name = "fbx", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "fcbak", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcmacro", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcmat", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcparam", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcscript", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcstd", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcstd1", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fctb", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fctl", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fdmdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "fish", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "flac", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "flc", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "flf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "fnl", text = "", fg_dark = "#fff3d7", fg_light = "#33312b" }, + { name = "fs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "fsi", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "fsscript", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "fsx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "gcode", text = "󰐫", fg_dark = "#1471ad", fg_light = "#0f5582" }, + { name = "gd", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "gemspec", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "gif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "git", text = "", fg_dark = "#f14c28", fg_light = "#b5391e" }, + { name = "glb", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" }, + { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "go", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "godot", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "gql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, + { name = "graphql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, + { name = "gresource", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "gv", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, + { name = "gz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "h", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "haml", text = "", fg_dark = "#eaeae1", fg_light = "#2f2f2d" }, + { name = "hbs", text = "", fg_dark = "#f0772b", fg_light = "#a04f1d" }, + { name = "heex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "hex", text = "", fg_dark = "#2e63ff", fg_light = "#224abf" }, + { name = "hh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "hpp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "hrl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, + { name = "hs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "htm", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, + { name = "html", text = "", fg_dark = "#e44d26", fg_light = "#ab3a1c" }, + { name = "huff", text = "󰡘", fg_dark = "#4242c7", fg_light = "#4242c7" }, + { name = "hurl", text = "", fg_dark = "#ff0288", fg_light = "#bf0266" }, + { name = "hx", text = "", fg_dark = "#ea8220", fg_light = "#9c5715" }, + { name = "hxx", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "ical", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "icalendar", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "ics", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "ifb", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "ifc", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "ige", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "iges", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "igs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "image", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, + { name = "img", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, + { name = "import", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "info", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, + { name = "ini", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "ino", text = "", fg_dark = "#56b6c2", fg_light = "#397981" }, + { name = "ipynb", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, + { name = "iso", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, + { name = "ixx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "java", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "jl", text = "", fg_dark = "#a270ba", fg_light = "#6c4b7c" }, + { name = "jpeg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "jpg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "json", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "json5", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "jsonc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "jwmrc", text = "", fg_dark = "#0078cd", fg_light = "#005a9a" }, + { name = "jxl", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "kbx", text = "󰯄", fg_dark = "#737672", fg_light = "#565856" }, + { name = "kdb", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, + { name = "kdbx", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, + { name = "kdenlive", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kdenlivetitle", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kicad_dru", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_mod", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_pcb", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_prl", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_pro", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_sch", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_sym", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_wks", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "ko", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, + { name = "kpp", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "kra", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "krz", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "ksh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "kt", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, + { name = "kts", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, + { name = "lck", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, + { name = "leex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "less", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, + { name = "lff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "lhs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "lib", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, + { name = "license", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "liquid", text = "", fg_dark = "#95bf47", fg_light = "#4a6024" }, + { name = "lock", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, + { name = "log", text = "󰌱", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, + { name = "lrc", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "lua", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, + { name = "luac", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, + { name = "luau", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, + { name = "m", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, + { name = "m3u", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "m3u8", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "m4a", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "m4v", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "magnet", text = "", fg_dark = "#a51b16", fg_light = "#a51b16" }, + { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "markdown", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, + { name = "material", text = "󰔉", fg_dark = "#b83998", fg_light = "#8a2b72" }, + { name = "md", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, + { name = "md5", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "mdx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "mint", text = "󰌪", fg_dark = "#87c095", fg_light = "#44604a" }, + { name = "mjs", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, + { name = "mk", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "mkv", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "ml", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "mli", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "mm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "mo", text = "∞", fg_dark = "#9772fb", fg_light = "#654ca7" }, + { name = "mobi", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, + { name = "mov", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "mp3", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "mp4", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "mpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "msf", text = "", fg_dark = "#137be1", fg_light = "#0e5ca9" }, + { name = "mts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "mustache", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "nfo", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, + { name = "nim", text = "", fg_dark = "#f3d400", fg_light = "#514700" }, + { name = "nix", text = "", fg_dark = "#7ebae4", fg_light = "#3f5d72" }, + { name = "nswag", text = "", fg_dark = "#85ea2d", fg_light = "#427516" }, + { name = "nu", text = ">", fg_dark = "#3aa675", fg_light = "#276f4e" }, + { name = "o", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "obj", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "ogg", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "opus", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "org", text = "", fg_dark = "#77aa99", fg_light = "#4f7166" }, + { name = "otf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "out", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "part", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "patch", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = "pck", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "pcm", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "pdf", text = "", fg_dark = "#b30b00", fg_light = "#b30b00" }, + { name = "php", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "pl", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "pls", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "ply", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "pm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "png", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "po", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "pot", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "pp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, + { name = "ppt", text = "󰈧", fg_dark = "#cb4a32", fg_light = "#983826" }, + { name = "prisma", text = "", fg_dark = "#5a67d8", fg_light = "#444da2" }, + { name = "pro", text = "", fg_dark = "#e4b854", fg_light = "#725c2a" }, + { name = "ps1", text = "󰨊", fg_dark = "#4273ca", fg_light = "#325698" }, + { name = "psb", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "psd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "psd1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, + { name = "psm1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, + { name = "pub", text = "󰷖", fg_dark = "#e3c58e", fg_light = "#4c422f" }, + { name = "pxd", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, + { name = "pxi", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, + { name = "py", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, + { name = "pyc", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, + { name = "pyd", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, + { name = "pyi", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, + { name = "pyo", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, + { name = "pyx", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, + { name = "qm", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "qml", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "qrc", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "qss", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "query", text = "", fg_dark = "#90a850", fg_light = "#607035" }, + { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, + { name = "rake", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "rar", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "razor", text = "󱦘", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "rb", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "res", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "resi", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, + { name = "rlib", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, + { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "rproj", text = "󰗆", fg_dark = "#358a5b", fg_light = "#286844" }, + { name = "rs", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, + { name = "rss", text = "", fg_dark = "#fb9d3b", fg_light = "#7e4e1e" }, + { name = "sass", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, + { name = "sbt", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "sc", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "scad", text = "", fg_dark = "#f9d72c", fg_light = "#53480f" }, + { name = "scala", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "scm", text = "󰘧", fg_dark = "#eeeeee", fg_light = "#303030" }, + { name = "scss", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, + { name = "sh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "sha1", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha224", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha256", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha384", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha512", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sig", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "signature", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "skp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "sldasm", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "sldprt", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "slim", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, + { name = "sln", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = "slvs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "sml", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "so", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, + { name = "sol", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "spec.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "spec.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "spec.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "spec.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, + { name = "sql", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "sqlite", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "sqlite3", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "srt", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "ssa", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "ste", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "step", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "stl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "stp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "strings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "styl", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "sub", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "sublime", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "suo", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = "sv", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "svelte", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, + { name = "svg", text = "󰜡", fg_dark = "#ffb13b", fg_light = "#80581e" }, + { name = "svh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "swift", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "t", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "tbc", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, + { name = "tcl", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, + { name = "templ", text = "", fg_dark = "#dbbd30", fg_light = "#6e5e18" }, + { name = "terminal", text = "", fg_dark = "#31b53e", fg_light = "#217929" }, + { name = "test.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "test.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "test.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "test.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, + { name = "tex", text = "", fg_dark = "#3d6117", fg_light = "#3d6117" }, + { name = "tf", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, + { name = "tfvars", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, + { name = "tgz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "tmux", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, + { name = "toml", text = "", fg_dark = "#9c4221", fg_light = "#753219" }, + { name = "torrent", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "tres", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "tscn", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "tsconfig", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, + { name = "tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, + { name = "ttf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "twig", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "txt", text = "󰈙", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "txz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "typoscript", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, + { name = "ui", text = "", fg_dark = "#0c306e", fg_light = "#0c306e" }, + { name = "v", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vala", text = "", fg_dark = "#7239b3", fg_light = "#562b86" }, + { name = "vh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vhd", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vhdl", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vim", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vsh", text = "", fg_dark = "#5d87bf", fg_light = "#3e5a7f" }, + { name = "vsix", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = "vue", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "wasm", text = "", fg_dark = "#5c4cdb", fg_light = "#4539a4" }, + { name = "wav", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "webm", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "webmanifest", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, + { name = "webp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "wma", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "woff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "woff2", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "wrl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "wrz", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "x", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, + { name = "xaml", text = "󰙳", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "xcf", text = "", fg_dark = "#635b46", fg_light = "#4a4434" }, + { name = "xcplayground", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "xcstrings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "xls", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, + { name = "xlsx", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, + { name = "xm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "xml", text = "󰗀", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "xpi", text = "", fg_dark = "#ff1b01", fg_light = "#bf1401" }, + { name = "xul", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "xz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "yaml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "yml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "zig", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, + { name = "zip", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "zsh", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "zst", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, ] conds = [ - # Special files - { cond = "orphan", text = "" }, - { cond = "link" , text = "" }, - { cond = "block" , text = "" }, - { cond = "char" , text = "" }, - { cond = "fifo" , text = "" }, - { cond = "sock" , text = "" }, - { cond = "sticky", text = "" }, - - # Fallback - { cond = "dir", text = "" }, - { cond = "exec", text = "" }, - { cond = "!dir", text = "" }, + # Special files + { cond = "orphan", text = "" }, + { cond = "link", text = "" }, + { cond = "block", text = "" }, + { cond = "char", text = "" }, + { cond = "fifo", text = "" }, + { cond = "sock", text = "" }, + { cond = "sticky", text = "" }, + + # Fallback + { cond = "dir", text = "" }, + { cond = "exec", text = "" }, + { cond = "!dir", text = "" }, ] # : }}} diff --git a/yazi-config/preset/yazi.toml b/yazi-config/preset/yazi.toml index 47b37cf23..e0cc4f446 100644 --- a/yazi-config/preset/yazi.toml +++ b/yazi-config/preset/yazi.toml @@ -3,192 +3,223 @@ "$schema" = "https://yazi-rs.github.io/schemas/yazi.json" [manager] -ratio = [ 1, 4, 3 ] -sort_by = "alphabetical" +ratio = [1, 4, 3] +sort_by = "alphabetical" sort_sensitive = false -sort_reverse = false +sort_reverse = false sort_dir_first = true -sort_translit = false -linemode = "none" -show_hidden = false -show_symlink = true -scrolloff = 5 -mouse_events = [ "click", "scroll" ] +sort_translit = false +linemode = "none" +show_hidden = false +show_symlink = true +scrolloff = 5 +mouse_events = ["click", "scroll"] [preview] -tab_size = 2 -max_width = 600 -max_height = 900 -cache_dir = "" -image_filter = "triangle" -image_quality = 75 -sixel_fraction = 15 -ueberzug_scale = 1 -ueberzug_offset = [ 0, 0, 0, 0 ] +tab_size = 2 +max_width = 600 +max_height = 900 +cache_dir = "" +image_filter = "triangle" +image_quality = 75 +sixel_fraction = 15 +ueberzug_scale = 1 +ueberzug_offset = [0, 0, 0, 0] [opener] edit = [ - { run = '${EDITOR:=vi} "$@"', desc = "$EDITOR", block = true, for = "unix" }, - { run = 'code "%*"', orphan = true, desc = "code", for = "windows" }, - { run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows" }, + { run = '${EDITOR:=vi} "$@"', desc = "$EDITOR", block = true, for = "unix" }, + { run = 'code "%*"', orphan = true, desc = "code", for = "windows" }, + { run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows" }, ] open = [ - { run = 'xdg-open "$1"', desc = "Open", for = "linux" }, - { run = 'open "$@"', desc = "Open", for = "macos" }, - { run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" }, + { run = 'xdg-open "$1"', desc = "Open", for = "linux" }, + { run = 'open "$@"', desc = "Open", for = "macos" }, + { run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" }, ] reveal = [ - { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" }, - { run = 'open -R "$1"', desc = "Reveal", for = "macos" }, - { run = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" }, - { run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, + { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" }, + { run = 'open -R "$1"', desc = "Reveal", for = "macos" }, + { run = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" }, + { run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, ] extract = [ - { run = 'unar "$1"', desc = "Extract here", for = "unix" }, - { run = 'unar "%1"', desc = "Extract here", for = "windows" }, + { run = 'unar "$1"', desc = "Extract here", for = "unix" }, + { run = 'unar "%1"', desc = "Extract here", for = "windows" }, ] play = [ - { run = 'mpv --force-window "$@"', orphan = true, for = "unix" }, - { run = 'mpv --force-window "%1"', orphan = true, for = "windows" }, - { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, + { run = 'mpv --force-window "$@"', orphan = true, for = "unix" }, + { run = 'mpv --force-window "%1"', orphan = true, for = "windows" }, + { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, ] [open] rules = [ - { name = "*/", use = [ "edit", "open", "reveal" ] }, - - { mime = "text/*", use = [ "edit", "reveal" ] }, - { mime = "image/*", use = [ "open", "reveal" ] }, - { mime = "{audio,video}/*", use = [ "play", "reveal" ] }, - { mime = "inode/x-empty", use = [ "edit", "reveal" ] }, - - { mime = "application/{,g}zip", use = [ "extract", "reveal" ] }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [ "extract", "reveal" ] }, - - { mime = "application/json", use = [ "edit", "reveal" ] }, - { mime = "*/javascript", use = [ "edit", "reveal" ] }, - - { name = "*", use = [ "open", "reveal" ] }, + { name = "*/", use = [ + "edit", + "open", + "reveal", + ] }, + + { mime = "text/*", use = [ + "edit", + "reveal", + ] }, + { mime = "image/*", use = [ + "open", + "reveal", + ] }, + { mime = "{audio,video}/*", use = [ + "play", + "reveal", + ] }, + { mime = "inode/x-empty", use = [ + "edit", + "reveal", + ] }, + + { mime = "application/{,g}zip", use = [ + "extract", + "reveal", + ] }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [ + "extract", + "reveal", + ] }, + + { mime = "application/json", use = [ + "edit", + "reveal", + ] }, + { mime = "*/javascript", use = [ + "edit", + "reveal", + ] }, + + { name = "*", use = [ + "open", + "reveal", + ] }, ] [tasks] -micro_workers = 10 -macro_workers = 25 -bizarre_retry = 5 -image_alloc = 536870912 # 512MB -image_bound = [ 0, 0 ] +micro_workers = 10 +macro_workers = 25 +bizarre_retry = 5 +image_alloc = 536870912 # 512MB +image_bound = [0, 0] suppress_preload = false [plugin] fetchers = [ - # Mimetype - { id = "mime", name = "*", cond = "!mime", run = "mime", prio = "high" }, + # Mimetype + { id = "mime", name = "*", cond = "!mime", run = "mime", prio = "high" }, ] preloaders = [ - # Image - { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # PDF - { mime = "application/pdf", run = "pdf" }, - # Font - { mime = "font/*", run = "font" }, - { mime = "application/vnd.ms-opentype", run = "font" }, + # Image + { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/vnd.ms-opentype", run = "font" }, ] previewers = [ - { name = "*/", run = "folder", sync = true }, - # Code - { mime = "text/*", run = "code" }, - { mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" }, - # JSON - { mime = "application/json", run = "json" }, - # Image - { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # PDF - { mime = "application/pdf", run = "pdf" }, - # Archive - { mime = "application/{,g}zip", run = "archive" }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "archive" }, - # Font - { mime = "font/*", run = "font" }, - { mime = "application/vnd.ms-opentype", run = "font" }, - # Fallback - { name = "*", run = "file" }, + { name = "*/", run = "folder", sync = true }, + # Code + { mime = "text/*", run = "code" }, + { mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" }, + # JSON + { mime = "application/json", run = "json" }, + # Image + { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Archive + { mime = "application/{,g}zip", run = "archive" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "archive" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/vnd.ms-opentype", run = "font" }, + # Fallback + { name = "*", run = "file" }, ] [input] cursor_blink = true # cd -cd_title = "Change directory:" +cd_title = "Change directory:" cd_origin = "top-center" -cd_offset = [ 0, 2, 50, 3 ] +cd_offset = [0, 2, 50, 3] # create -create_title = "Create:" +create_title = "Create:" create_origin = "top-center" -create_offset = [ 0, 2, 50, 3 ] +create_offset = [0, 2, 50, 3] # rename -rename_title = "Rename:" +rename_title = "Rename:" rename_origin = "hovered" -rename_offset = [ 0, 1, 50, 3 ] +rename_offset = [0, 1, 50, 3] # trash -trash_title = "Move {n} selected file{s} to trash? (y/N)" -trash_origin = "top-center" -trash_offset = [ 0, 2, 50, 3 ] +trash_title = "Move {n} selected file{s} to trash? (y/N)" +trash_origin = "top-center" +trash_offset = [0, 2, 50, 3] # delete -delete_title = "Delete {n} selected file{s} permanently? (y/N)" -delete_origin = "top-center" -delete_offset = [ 0, 2, 50, 3 ] +delete_title = "Delete {n} selected file{s} permanently? (y/N)" +delete_origin = "top-center" +delete_offset = [0, 2, 50, 3] # filter -filter_title = "Filter:" +filter_title = "Filter:" filter_origin = "top-center" -filter_offset = [ 0, 2, 50, 3 ] +filter_offset = [0, 2, 50, 3] # find -find_title = [ "Find next:", "Find previous:" ] +find_title = ["Find next:", "Find previous:"] find_origin = "top-center" -find_offset = [ 0, 2, 50, 3 ] +find_offset = [0, 2, 50, 3] # search -search_title = "Search via {n}:" +search_title = "Search via {n}:" search_origin = "top-center" -search_offset = [ 0, 2, 50, 3 ] +search_offset = [0, 2, 50, 3] # shell -shell_title = [ "Shell:", "Shell (block):" ] +shell_title = ["Shell:", "Shell (block):"] shell_origin = "top-center" -shell_offset = [ 0, 2, 50, 3 ] +shell_offset = [0, 2, 50, 3] # overwrite -overwrite_title = "Overwrite an existing file? (y/N)" +overwrite_title = "Overwrite an existing file? (y/N)" overwrite_origin = "top-center" -overwrite_offset = [ 0, 2, 50, 3 ] +overwrite_offset = [0, 2, 50, 3] # quit -quit_title = "{n} task{s} running, sure to quit? (y/N)" +quit_title = "{n} task{s} running, sure to quit? (y/N)" quit_origin = "top-center" -quit_offset = [ 0, 2, 50, 3 ] +quit_offset = [0, 2, 50, 3] [select] -open_title = "Open with:" +open_title = "Open with:" open_origin = "hovered" -open_offset = [ 0, 1, 50, 7 ] +open_offset = [0, 1, 50, 7] [which] -sort_by = "none" +sort_by = "none" sort_sensitive = false -sort_reverse = false -sort_translit = false +sort_reverse = false +sort_translit = false [log] enabled = false diff --git a/yazi-config/src/lib.rs b/yazi-config/src/lib.rs index 513f88fb1..4dc717d64 100644 --- a/yazi-config/src/lib.rs +++ b/yazi-config/src/lib.rs @@ -13,15 +13,18 @@ pub mod popup; mod preset; pub mod preview; mod priority; +pub mod schemes; mod tasks; pub mod theme; mod validation; pub mod which; +use crate::schemes::Schemes; pub use layout::*; pub(crate) use pattern::*; pub(crate) use preset::*; pub use priority::*; +use yazi_shared::fs::SCHEMES; static MERGED_YAZI: RoCell = RoCell::new(); static MERGED_KEYMAP: RoCell = RoCell::new(); @@ -61,5 +64,9 @@ pub fn init() -> anyhow::Result<()> { SELECT.with(Default::default); WHICH.with(Default::default); + // Load schemes. + let schemes = Schemes::default().make()?; + SCHEMES.init(schemes); + Ok(()) } diff --git a/yazi-config/src/schemes/mod.rs b/yazi-config/src/schemes/mod.rs new file mode 100644 index 000000000..891965a13 --- /dev/null +++ b/yazi-config/src/schemes/mod.rs @@ -0,0 +1,3 @@ +mod schemes; + +pub use schemes::*; diff --git a/yazi-config/src/schemes/schemes.rs b/yazi-config/src/schemes/schemes.rs new file mode 100644 index 000000000..615c7600f --- /dev/null +++ b/yazi-config/src/schemes/schemes.rs @@ -0,0 +1,54 @@ +use anyhow::Result; +use serde::{Deserialize, Deserializer}; +use std::collections::HashMap; + +use crate::MERGED_YAZI; + +/// Schemes in configuration file. +#[derive(Debug)] +pub struct Schemes { + pub rules: Vec, +} + +impl Default for Schemes { + fn default() -> Self { + toml::from_str(&MERGED_YAZI).unwrap() + } +} + +impl Schemes { + /// Consume loaded config to build yazi_shared::fs::Schemes. + pub fn make(self) -> Result { + yazi_shared::fs::Schemes::from_iter(self.rules.into_iter().map(|s| (s.name, s.typ, s.config))) + } +} + +impl<'de> Deserialize<'de> for Schemes { + fn deserialize(deserializer: D) -> std::result::Result + where + D: Deserializer<'de>, + { + #[derive(Deserialize, Default)] + #[serde(default)] + struct Outer { + schemes: Shadow, + } + #[derive(Deserialize, Default)] + struct Shadow { + rules: Vec, + } + + let outer = Outer::deserialize(deserializer)?; + + Ok(Self { rules: outer.schemes.rules }) + } +} + +/// Scheme in configuration file. +#[derive(Debug, Deserialize)] +pub struct Scheme { + pub name: String, + #[serde(rename = "type")] + pub typ: String, + pub config: HashMap, +} diff --git a/yazi-dds/Cargo.toml b/yazi-dds/Cargo.toml index 0b07070ba..83cf269ee 100644 --- a/yazi-dds/Cargo.toml +++ b/yazi-dds/Cargo.toml @@ -1,33 +1,33 @@ [package] -name = "yazi-dds" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-dds" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi data distribution service" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = [ "vendored-lua" ] -vendored-lua = [ "mlua/vendored" ] +default = ["vendored-lua"] +vendored-lua = ["mlua/vendored"] [dependencies] -yazi-boot = { path = "../yazi-boot", version = "0.2.5" } +yazi-boot = { path = "../yazi-boot", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -anyhow = "1.0.86" -mlua = { version = "0.9.8", features = [ "lua54" ] } -parking_lot = "0.12.3" -serde = { version = "1.0.203", features = [ "derive" ] } -serde_json = "1.0.117" -tokio = { version = "1.38.0", features = [ "full" ] } +anyhow = "1.0.86" +mlua = { version = "0.9.8", features = ["lua54"] } +parking_lot = "0.12.3" +serde = { version = "1.0.203", features = ["derive"] } +serde_json = "1.0.117" +tokio = { version = "1.38.0", features = ["full"] } tokio-stream = "0.1.15" -tokio-util = "0.7.11" +tokio-util = "0.7.11" [build-dependencies] -vergen = { version = "8.3.1", features = [ "build", "git", "gitcl" ] } +vergen = { version = "8.3.1", features = ["build", "git", "gitcl"] } [target."cfg(unix)".dependencies] uzers = "0.12.0" diff --git a/yazi-fm/Cargo.toml b/yazi-fm/Cargo.toml index eaab54780..0e49df61b 100644 --- a/yazi-fm/Cargo.toml +++ b/yazi-fm/Cargo.toml @@ -1,48 +1,55 @@ [package] -name = "yazi-fm" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-fm" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi File Manager" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = [ "vendored-lua" ] -vendored-lua = [ "mlua/vendored" ] +default = ["vendored-lua"] +vendored-lua = ["mlua/vendored"] [dependencies] yazi-adapter = { path = "../yazi-adapter", version = "0.2.5" } -yazi-boot = { path = "../yazi-boot", version = "0.2.5" } -yazi-config = { path = "../yazi-config", version = "0.2.5" } -yazi-core = { path = "../yazi-core", version = "0.2.5" } -yazi-dds = { path = "../yazi-dds", version = "0.2.5" } -yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } -yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } -yazi-shared = { path = "../yazi-shared", version = "0.2.5" } +yazi-boot = { path = "../yazi-boot", version = "0.2.5" } +yazi-config = { path = "../yazi-config", version = "0.2.5" } +yazi-core = { path = "../yazi-core", version = "0.2.5" } +yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } +yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } +yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -anyhow = "1.0.86" +anyhow = "1.0.86" better-panic = "0.3.0" -crossterm = { version = "0.27.0", features = [ "event-stream" ] } -fdlimit = "0.3.0" -futures = "0.3.30" -mlua = { version = "0.9.8", features = [ "lua54" ] } -ratatui = "0.26.3" -scopeguard = "1.2.0" -syntect = { version = "5.2.0", default-features = false, features = [ "parsing", "plist-load", "regex-onig" ] } -tokio = { version = "1.38.0", features = [ "full" ] } -tokio-util = "0.7.11" +crossterm = { version = "0.27.0", features = ["event-stream"] } +fdlimit = "0.3.0" +futures = "0.3.30" +mlua = { version = "0.9.8", features = ["lua54"] } +ratatui = "0.26.3" +scopeguard = "1.2.0" +syntect = { version = "5.2.0", default-features = false, features = [ + "parsing", + "plist-load", + "regex-onig", +] } +tokio = { version = "1.38.0", features = ["full"] } +tokio-util = "0.7.11" # Logging -tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } -tracing-appender = "0.2.3" +tracing = { version = "0.1.40", features = [ + "max_level_debug", + "release_max_level_warn", +] } +tracing-appender = "0.2.3" tracing-subscriber = "0.3.18" [target."cfg(unix)".dependencies] -libc = "0.2.155" -signal-hook-tokio = { version = "0.3.1", features = [ "futures-v0_3" ] } +libc = "0.2.155" +signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"] } [target.'cfg(all(not(target_os = "macos"), not(target_os = "windows")))'.dependencies] tikv-jemallocator = "0.5.4" diff --git a/yazi-plugin/Cargo.toml b/yazi-plugin/Cargo.toml index 467999aac..1579acc06 100644 --- a/yazi-plugin/Cargo.toml +++ b/yazi-plugin/Cargo.toml @@ -1,48 +1,60 @@ [package] -name = "yazi-plugin" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-plugin" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi plugin system" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = [ "vendored-lua" ] -vendored-lua = [ "mlua/vendored" ] +default = ["vendored-lua"] +vendored-lua = ["mlua/vendored"] [dependencies] yazi-adapter = { path = "../yazi-adapter", version = "0.2.5" } -yazi-boot = { path = "../yazi-boot", version = "0.2.5" } -yazi-config = { path = "../yazi-config", version = "0.2.5" } -yazi-dds = { path = "../yazi-dds", version = "0.2.5" } -yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } -yazi-shared = { path = "../yazi-shared", version = "0.2.5" } +yazi-boot = { path = "../yazi-boot", version = "0.2.5" } +yazi-config = { path = "../yazi-config", version = "0.2.5" } +yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } +yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -ansi-to-tui = "3.1.0" -anyhow = "1.0.86" -base64 = "0.22.1" -crossterm = "0.27.0" -futures = "0.3.30" -md-5 = "0.10.6" -mlua = { version = "0.9.8", features = [ "lua54", "serialize", "macros", "async" ] } -parking_lot = "0.12.3" -ratatui = "0.26.3" -serde = "1.0.203" -serde_json = "1.0.117" -shell-escape = "0.1.5" -shell-words = "1.1.0" -syntect = { version = "5.2.0", default-features = false, features = [ "parsing", "plist-load", "regex-onig" ] } -tokio = { version = "1.38.0", features = [ "full" ] } -tokio-stream = "0.1.15" -tokio-util = "0.7.11" +ansi-to-tui = "3.1.0" +anyhow = "1.0.86" +base64 = "0.22.1" +crossterm = "0.27.0" +futures = "0.3.30" +md-5 = "0.10.6" +mlua = { version = "0.9.8", features = [ + "lua54", + "serialize", + "macros", + "async", +] } +parking_lot = "0.12.3" +ratatui = "0.26.3" +serde = "1.0.203" +serde_json = "1.0.117" +shell-escape = "0.1.5" +shell-words = "1.1.0" +syntect = { version = "5.2.0", default-features = false, features = [ + "parsing", + "plist-load", + "regex-onig", +] } +tokio = { version = "1.38.0", features = ["full"] } +tokio-stream = "0.1.15" +tokio-util = "0.7.11" unicode-width = "0.1.13" yazi-prebuild = "0.1.2" # Logging -tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } +tracing = { version = "0.1.40", features = [ + "max_level_debug", + "release_max_level_warn", +] } [target."cfg(unix)".dependencies] uzers = "0.12.0" diff --git a/yazi-proxy/Cargo.toml b/yazi-proxy/Cargo.toml index bb69bf2df..9f6958a48 100644 --- a/yazi-proxy/Cargo.toml +++ b/yazi-proxy/Cargo.toml @@ -1,16 +1,16 @@ [package] -name = "yazi-proxy" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-proxy" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi event proxy" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = [ "vendored-lua" ] -vendored-lua = [ "mlua/vendored" ] +default = ["vendored-lua"] +vendored-lua = ["mlua/vendored"] [dependencies] yazi-config = { path = "../yazi-config", version = "0.2.5" } @@ -18,5 +18,5 @@ yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies anyhow = "1.0.86" -mlua = { version = "0.9.8", features = [ "lua54" ] } -tokio = { version = "1.38.0", features = [ "full" ] } +mlua = { version = "0.9.8", features = ["lua54"] } +tokio = { version = "1.38.0", features = ["full"] } diff --git a/yazi-scheduler/Cargo.toml b/yazi-scheduler/Cargo.toml index 77e43b3b8..1f0d76642 100644 --- a/yazi-scheduler/Cargo.toml +++ b/yazi-scheduler/Cargo.toml @@ -1,30 +1,33 @@ [package] -name = "yazi-scheduler" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = [ "sxyazi " ] +name = "yazi-scheduler" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = ["sxyazi "] description = "Yazi task scheduler" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [dependencies] yazi-config = { path = "../yazi-config", version = "0.2.5" } -yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-dds = { path = "../yazi-dds", version = "0.2.5" } yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } -yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } +yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -anyhow = "1.0.86" +anyhow = "1.0.86" async-priority-channel = "0.2.0" -futures = "0.3.30" -parking_lot = "0.12.3" -scopeguard = "1.2.0" -tokio = { version = "1.38.0", features = [ "full" ] } +futures = "0.3.30" +parking_lot = "0.12.3" +scopeguard = "1.2.0" +tokio = { version = "1.38.0", features = ["full"] } # Logging -tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } +tracing = { version = "0.1.40", features = [ + "max_level_debug", + "release_max_level_warn", +] } [target."cfg(unix)".dependencies] libc = "0.2.155" diff --git a/yazi-shared/Cargo.toml b/yazi-shared/Cargo.toml index 2d8c7e9e6..249fae325 100644 --- a/yazi-shared/Cargo.toml +++ b/yazi-shared/Cargo.toml @@ -23,6 +23,7 @@ regex = "1.10.5" serde = { version = "1.0.203", features = [ "derive" ] } shell-words = "1.1.0" tokio = { version = "1.38.0", features = [ "full" ] } +opendal = { version = "0.47.0", features = ["services-s3"] } # Logging tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } diff --git a/yazi-shared/src/fs/file.rs b/yazi-shared/src/fs/file.rs index 90841bf5b..9156a39fe 100644 --- a/yazi-shared/src/fs/file.rs +++ b/yazi-shared/src/fs/file.rs @@ -1,28 +1,40 @@ +use std::ops::Add; +use std::time::{Duration, SystemTime}; use std::{cell::Cell, ffi::OsStr, fs::Metadata, ops::Deref}; -use anyhow::Result; +use anyhow::{anyhow, Result}; use tokio::fs; -use crate::{fs::{Cha, ChaKind, Url}, theme::IconCache}; +use crate::fs::SCHEMES; +use crate::{ + fs::{Cha, ChaKind, Url}, + theme::IconCache, +}; #[derive(Clone, Debug, Default)] pub struct File { - pub url: Url, - pub cha: Cha, + pub url: Url, + pub cha: Cha, pub link_to: Option, - pub icon: Cell, + pub icon: Cell, } impl Deref for File { type Target = Cha; #[inline] - fn deref(&self) -> &Self::Target { &self.cha } + fn deref(&self) -> &Self::Target { + &self.cha + } } impl File { #[inline] pub async fn from(url: Url) -> Result { + if url.is_remote().is_some() { + return Self::from_remote(url).await; + } + let meta = fs::symlink_metadata(&url).await?; Ok(Self::from_meta(url, meta).await) } @@ -57,21 +69,63 @@ impl File { Self { url, cha: Cha::from(meta).with_kind(ck), link_to, icon: Default::default() } } + /// Build a new file from remote. + pub async fn from_remote(url: Url) -> Result { + let scheme = url.is_remote().ok_or(anyhow!("not a remote file"))?; + let op = SCHEMES.get(scheme)?; + + let meta = op.stat(&url.as_path().to_string_lossy()).await?; + let mut kind = ChaKind::default(); + if meta.is_dir() { + kind |= ChaKind::DIR; + } + let cha = Cha { + kind, + len: meta.content_length(), + accessed: None, + created: None, + modified: meta + .last_modified() + .map(|v| SystemTime::UNIX_EPOCH.add(Duration::from_micros(v.timestamp_micros() as u64))), + // Always return 774 for remote files. + #[cfg(unix)] + permissions: 0774, + // Always return current user for remote files. + #[cfg(unix)] + uid: unsafe { libc::getuid().into() }, + // Always return current group for remote files. + #[cfg(unix)] + gid: unsafe { libc::getgid().into() }, + }; + + Ok(Self { url, cha, link_to: None, icon: Default::default() }) + } + #[inline] - pub fn from_dummy(url: &Url) -> Self { Self { url: url.to_owned(), ..Default::default() } } + pub fn from_dummy(url: &Url) -> Self { + Self { url: url.to_owned(), ..Default::default() } + } } impl File { // --- Url #[inline] - pub fn url(&self) -> Url { self.url.clone() } + pub fn url(&self) -> Url { + self.url.clone() + } #[inline] - pub fn name(&self) -> Option<&OsStr> { self.url.file_name() } + pub fn name(&self) -> Option<&OsStr> { + self.url.file_name() + } #[inline] - pub fn stem(&self) -> Option<&OsStr> { self.url.file_stem() } + pub fn stem(&self) -> Option<&OsStr> { + self.url.file_stem() + } #[inline] - pub fn parent(&self) -> Option { self.url.parent_url() } + pub fn parent(&self) -> Option { + self.url.parent_url() + } } diff --git a/yazi-shared/src/fs/mod.rs b/yazi-shared/src/fs/mod.rs index 9cd7865e8..5f80dccab 100644 --- a/yazi-shared/src/fs/mod.rs +++ b/yazi-shared/src/fs/mod.rs @@ -3,6 +3,7 @@ mod file; mod fns; mod op; mod path; +mod schemes; mod url; pub use cha::*; @@ -10,4 +11,5 @@ pub use file::*; pub use fns::*; pub use op::*; pub use path::*; +pub use schemes::*; pub use url::*; diff --git a/yazi-shared/src/fs/schemes.rs b/yazi-shared/src/fs/schemes.rs new file mode 100644 index 000000000..d9b548bd7 --- /dev/null +++ b/yazi-shared/src/fs/schemes.rs @@ -0,0 +1,32 @@ +use crate::RoCell; +use anyhow::{anyhow, Result}; +use opendal::Operator; +use std::collections::HashMap; +use std::str::FromStr; + +/// SCHEMES is the read only cell of schemes that already loaded. +pub static SCHEMES: RoCell = RoCell::new(); + +/// Schemes carries all the schemes defined in the configuration file. +#[derive(Debug)] +pub struct Schemes(HashMap); + +impl Schemes { + /// Build schemes from iterator. + pub fn from_iter( + iter: impl IntoIterator)>, + ) -> Result { + let mut schemes = HashMap::new(); + for (name, typ, config) in iter { + let scheme = opendal::Scheme::from_str(&typ)?; + let operator = Operator::via_map(scheme, config)?; + schemes.insert(name, operator); + } + Ok(Self(schemes)) + } + + /// Get operator by scheme name. + pub fn get(&self, scheme: &str) -> Result { + self.0.get(scheme).cloned().ok_or(anyhow!("storage scheme {scheme} is not configured")) + } +} diff --git a/yazi-shared/src/fs/url.rs b/yazi-shared/src/fs/url.rs index c417ce047..8a1bc752a 100644 --- a/yazi-shared/src/fs/url.rs +++ b/yazi-shared/src/fs/url.rs @@ -1,4 +1,9 @@ -use std::{ffi::{OsStr, OsString}, fmt::{Debug, Display, Formatter}, ops::{Deref, DerefMut}, path::{Path, PathBuf}}; +use std::{ + ffi::{OsStr, OsString}, + fmt::{Debug, Display, Formatter}, + ops::{Deref, DerefMut}, + path::{Path, PathBuf}, +}; use percent_encoding::{percent_decode_str, percent_encode, AsciiSet, CONTROLS}; use serde::{Deserialize, Serialize}; @@ -8,50 +13,67 @@ const ENCODE_SET: &AsciiSet = &CONTROLS.add(b'#'); #[derive(Clone, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct Url { scheme: UrlScheme, - path: PathBuf, - frag: String, + path: PathBuf, + frag: String, } -#[derive(Clone, Copy, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +#[derive(Clone, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub enum UrlScheme { #[default] Regular, Search, Archive, + Remote(String), } impl Deref for Url { type Target = PathBuf; - fn deref(&self) -> &Self::Target { &self.path } + fn deref(&self) -> &Self::Target { + &self.path + } } impl DerefMut for Url { - fn deref_mut(&mut self) -> &mut Self::Target { &mut self.path } + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.path + } } impl Debug for Url { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!(f, "{}", self.path.display()) } + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.path.display()) + } } impl From for Url { - fn from(path: PathBuf) -> Self { Self { path, ..Default::default() } } + fn from(path: PathBuf) -> Self { + Self { path, ..Default::default() } + } } impl From<&PathBuf> for Url { - fn from(path: &PathBuf) -> Self { Self::from(path.clone()) } + fn from(path: &PathBuf) -> Self { + Self::from(path.clone()) + } } impl From<&Path> for Url { - fn from(path: &Path) -> Self { Self::from(path.to_path_buf()) } + fn from(path: &Path) -> Self { + Self::from(path.to_path_buf()) + } } impl From for Url { - fn from(path: String) -> Self { Self::from(path.as_str()) } + fn from(path: String) -> Self { + Self::from(path.as_str()) + } } impl From<&String> for Url { - fn from(path: &String) -> Self { Self::from(path.as_str()) } + fn from(path: &String) -> Self { + Self::from(path.as_str()) + } } impl From<&str> for Url { @@ -85,31 +107,35 @@ impl From<&str> for Url { } impl AsRef for Url { - fn as_ref(&self) -> &Url { self } + fn as_ref(&self) -> &Url { + self + } } impl AsRef for Url { - fn as_ref(&self) -> &Path { &self.path } + fn as_ref(&self) -> &Path { + &self.path + } } impl AsRef for Url { - fn as_ref(&self) -> &OsStr { self.path.as_os_str() } + fn as_ref(&self) -> &OsStr { + self.path.as_os_str() + } } impl Display for Url { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - if self.scheme == UrlScheme::Regular { - return f.write_str(&self.path.to_string_lossy()); + match &self.scheme { + UrlScheme::Regular => return f.write_str(&self.path.to_string_lossy()), + UrlScheme::Search => write!(f, "search://")?, + UrlScheme::Archive => write!(f, "archive://")?, + UrlScheme::Remote(scheme) => write!(f, "{scheme}://")?, } - let scheme = match self.scheme { - UrlScheme::Regular => unreachable!(), - UrlScheme::Search => "search://", - UrlScheme::Archive => "archive://", - }; let path = percent_encode(self.path.as_os_str().as_encoded_bytes(), ENCODE_SET); + write!(f, "{path}")?; - write!(f, "{scheme}{path}")?; if !self.frag.is_empty() { write!(f, "#{}", self.frag)?; } @@ -126,6 +152,7 @@ impl Url { UrlScheme::Regular => url, UrlScheme::Search => url, UrlScheme::Archive => url.into_archive(), + UrlScheme::Remote(_) => url, } } @@ -137,6 +164,7 @@ impl Url { UrlScheme::Regular => url, UrlScheme::Search => url, UrlScheme::Archive => url, + UrlScheme::Remote(_) => url, } }) } @@ -147,7 +175,9 @@ impl Url { } #[inline] - pub fn into_os_string(self) -> OsString { self.path.into_os_string() } + pub fn into_os_string(self) -> OsString { + self.path.into_os_string() + } #[cfg(unix)] #[inline] @@ -159,10 +189,14 @@ impl Url { impl Url { // --- Scheme #[inline] - pub fn is_regular(&self) -> bool { self.scheme == UrlScheme::Regular } + pub fn is_regular(&self) -> bool { + self.scheme == UrlScheme::Regular + } #[inline] - pub fn to_regular(&self) -> Self { self.clone().into_regular() } + pub fn to_regular(&self) -> Self { + self.clone().into_regular() + } #[inline] pub fn into_regular(mut self) -> Self { @@ -171,10 +205,14 @@ impl Url { } #[inline] - pub fn is_search(&self) -> bool { self.scheme == UrlScheme::Search } + pub fn is_search(&self) -> bool { + self.scheme == UrlScheme::Search + } #[inline] - pub fn to_search(&self, frag: String) -> Self { self.clone().into_search(frag) } + pub fn to_search(&self, frag: String) -> Self { + self.clone().into_search(frag) + } #[inline] pub fn into_search(mut self, frag: String) -> Self { @@ -184,10 +222,14 @@ impl Url { } #[inline] - pub fn is_archive(&self) -> bool { self.scheme == UrlScheme::Archive } + pub fn is_archive(&self) -> bool { + self.scheme == UrlScheme::Archive + } #[inline] - pub fn to_archive(&self) -> Self { self.clone().into_archive() } + pub fn to_archive(&self) -> Self { + self.clone().into_archive() + } #[inline] pub fn into_archive(mut self) -> Self { @@ -195,13 +237,28 @@ impl Url { self } + /// Check and fetch remote scheme. + /// + /// Returns None if current url is not remote, otherwise returns `Some(scheme)` + #[inline] + pub fn is_remote(&self) -> Option<&str> { + match &self.scheme { + UrlScheme::Remote(scheme) => Some(scheme), + _ => None, + } + } + // --- Path #[inline] - pub fn set_path(&mut self, path: PathBuf) { self.path = path; } + pub fn set_path(&mut self, path: PathBuf) { + self.path = path; + } // --- Frag #[inline] - pub fn frag(&self) -> &str { &self.frag } + pub fn frag(&self) -> &str { + &self.frag + } } impl From<&str> for UrlScheme { From 952239e0710249de2e4c61792836ec01c7494e51 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Thu, 13 Jun 2024 21:11:52 +0800 Subject: [PATCH 2/7] Revert format on tomls Signed-off-by: Xuanwo --- Cargo.lock | 211 -------------------------------------- Cargo.toml | 12 +-- rustfmt.toml | 58 +++++------ yazi-adapter/Cargo.toml | 43 ++++---- yazi-config/Cargo.toml | 16 +-- yazi-dds/Cargo.toml | 36 +++---- yazi-fm/Cargo.toml | 67 ++++++------ yazi-plugin/Cargo.toml | 76 ++++++-------- yazi-proxy/Cargo.toml | 22 ++-- yazi-scheduler/Cargo.toml | 33 +++--- yazi-shared/Cargo.toml | 2 +- 11 files changed, 170 insertions(+), 406 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f74fdcc3c..493ecafd1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -310,9 +310,7 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", - "js-sys", "num-traits", - "wasm-bindgen", "windows-targets 0.52.5", ] @@ -440,56 +438,12 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom", - "once_cell", - "tiny-keccak", -] - [[package]] name = "core-foundation-sys" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32c" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" -dependencies = [ - "rustc_version", -] - [[package]] name = "crc32fast" version = "1.4.0" @@ -626,9 +580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "const-oid", "crypto-common", - "subtle", ] [[package]] @@ -652,15 +604,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "dlv-list" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" -dependencies = [ - "const-random", -] - [[package]] name = "either" version = "1.11.0" @@ -996,21 +939,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - [[package]] name = "home" version = "0.5.9" @@ -1602,7 +1530,6 @@ dependencies = [ "base64 0.22.1", "bytes", "chrono", - "crc32c", "flagset", "futures", "getrandom", @@ -1612,7 +1539,6 @@ dependencies = [ "once_cell", "percent-encoding", "quick-xml", - "reqsign", "reqwest", "serde", "serde_json", @@ -1635,16 +1561,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "ordered-multimap" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" -dependencies = [ - "dlv-list", - "hashbrown", -] - [[package]] name = "overload" version = "0.1.1" @@ -1763,12 +1679,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -1830,36 +1740,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - [[package]] name = "ratatui" version = "0.26.3" @@ -1958,34 +1838,6 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" -[[package]] -name = "reqsign" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70fe66d4cd0b5ed9b1abbfe639bf6baeaaf509f7da2d51b31111ba945be59286" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.22.1", - "chrono", - "form_urlencoded", - "getrandom", - "hex", - "hmac", - "home", - "http", - "log", - "percent-encoding", - "quick-xml", - "rand", - "reqwest", - "rust-ini", - "serde", - "serde_json", - "sha1", - "sha2", -] - [[package]] name = "reqwest" version = "0.12.4" @@ -2044,17 +1896,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rust-ini" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d625ed57d8f49af6cfa514c42e1a71fadcff60eb0b1c517ff82fe41aa025b41" -dependencies = [ - "cfg-if", - "ordered-multimap", - "trim-in-place", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2067,15 +1908,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - [[package]] name = "rustix" version = "0.38.34" @@ -2157,12 +1989,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - [[package]] name = "serde" version = "1.0.203" @@ -2225,28 +2051,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - [[package]] name = "sharded-slab" version = "0.1.7" @@ -2548,15 +2352,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -2784,12 +2579,6 @@ dependencies = [ "windows", ] -[[package]] -name = "trim-in-place" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc" - [[package]] name = "try-lock" version = "0.2.5" diff --git a/Cargo.toml b/Cargo.toml index d10ff20d7..d0276a6f5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [workspace] -resolver = "2" -members = ["yazi-*"] -default-members = ["yazi-fm", "yazi-cli"] +resolver = "2" +members = [ "yazi-*" ] +default-members = [ "yazi-fm", "yazi-cli" ] [profile.release] codegen-units = 1 -lto = true -panic = "abort" -strip = true +lto = true +panic = "abort" +strip = true diff --git a/rustfmt.toml b/rustfmt.toml index 4d6f5d4c1..69622ca3c 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,31 +1,31 @@ -color = "Never" -condense_wildcard_suffixes = true -edition = "2021" +color = "Never" +condense_wildcard_suffixes = true +edition = "2021" enum_discrim_align_threshold = 99 -fn_single_line = true -format_code_in_doc_comments = false -format_generated_files = false -format_macro_matchers = true -format_macro_bodies = true -format_strings = false -hard_tabs = true -hex_literal_case = "Lower" -hide_parse_errors = true -imports_indent = "Visual" -imports_layout = "Horizontal" -imports_granularity = "Crate" -newline_style = "Unix" -normalize_comments = true -normalize_doc_attributes = false -overflow_delimited_expr = true -reorder_impl_items = true -group_imports = "StdExternalCrate" -reorder_modules = true +fn_single_line = true +format_code_in_doc_comments = false +format_generated_files = false +format_macro_matchers = true +format_macro_bodies = true +format_strings = false +hard_tabs = true +hex_literal_case = "Lower" +hide_parse_errors = true +imports_indent = "Visual" +imports_layout = "Horizontal" +imports_granularity = "Crate" +newline_style = "Unix" +normalize_comments = true +normalize_doc_attributes = false +overflow_delimited_expr = true +reorder_impl_items = true +group_imports = "StdExternalCrate" +reorder_modules = true struct_field_align_threshold = 99 -tab_spaces = 2 -unstable_features = true -use_field_init_shorthand = true -use_small_heuristics = "Max" -use_try_shorthand = true -version = "Two" -wrap_comments = true +tab_spaces = 2 +unstable_features = true +use_field_init_shorthand = true +use_small_heuristics = "Max" +use_try_shorthand = true +version = "Two" +wrap_comments = true diff --git a/yazi-adapter/Cargo.toml b/yazi-adapter/Cargo.toml index e9015e980..1b0fdccf8 100644 --- a/yazi-adapter/Cargo.toml +++ b/yazi-adapter/Cargo.toml @@ -1,34 +1,31 @@ [package] -name = "yazi-adapter" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-adapter" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi image adapter" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [dependencies] yazi-config = { path = "../yazi-config", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -ansi-to-tui = "3.1.0" -anyhow = "1.0.86" -arc-swap = "1.7.1" -base64 = "0.22.1" -color_quant = "1.1.0" -crossterm = "0.27.0" -futures = "0.3.30" -image = "0.24.9" -imagesize = "0.12.0" +ansi-to-tui = "3.1.0" +anyhow = "1.0.86" +arc-swap = "1.7.1" +base64 = "0.22.1" +color_quant = "1.1.0" +crossterm = "0.27.0" +futures = "0.3.30" +image = "0.24.9" +imagesize = "0.12.0" kamadak-exif = "0.5.5" -ratatui = "0.26.3" -scopeguard = "1.2.0" -tokio = { version = "1.38.0", features = ["full"] } +ratatui = "0.26.3" +scopeguard = "1.2.0" +tokio = { version = "1.38.0", features = [ "full" ] } # Logging -tracing = { version = "0.1.40", features = [ - "max_level_debug", - "release_max_level_warn", -] } +tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } diff --git a/yazi-config/Cargo.toml b/yazi-config/Cargo.toml index ab6a6162b..a700f9a51 100644 --- a/yazi-config/Cargo.toml +++ b/yazi-config/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "yazi-config" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-config" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi configuration file parser" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [dependencies] yazi-shared = { path = "../yazi-shared", version = "0.2.5" } @@ -23,4 +23,4 @@ serde = { version = "1.0.203", features = [ "derive" ] } shell-words = "1.1.0" toml = { version = "0.8.14", features = [ "preserve_order" ] } validator = { version = "0.18.1", features = [ "derive" ] } -opendal = "0.47.0" +opendal = "0.47.0" \ No newline at end of file diff --git a/yazi-dds/Cargo.toml b/yazi-dds/Cargo.toml index 83cf269ee..0b07070ba 100644 --- a/yazi-dds/Cargo.toml +++ b/yazi-dds/Cargo.toml @@ -1,33 +1,33 @@ [package] -name = "yazi-dds" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-dds" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi data distribution service" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = ["vendored-lua"] -vendored-lua = ["mlua/vendored"] +default = [ "vendored-lua" ] +vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-boot = { path = "../yazi-boot", version = "0.2.5" } +yazi-boot = { path = "../yazi-boot", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -anyhow = "1.0.86" -mlua = { version = "0.9.8", features = ["lua54"] } -parking_lot = "0.12.3" -serde = { version = "1.0.203", features = ["derive"] } -serde_json = "1.0.117" -tokio = { version = "1.38.0", features = ["full"] } +anyhow = "1.0.86" +mlua = { version = "0.9.8", features = [ "lua54" ] } +parking_lot = "0.12.3" +serde = { version = "1.0.203", features = [ "derive" ] } +serde_json = "1.0.117" +tokio = { version = "1.38.0", features = [ "full" ] } tokio-stream = "0.1.15" -tokio-util = "0.7.11" +tokio-util = "0.7.11" [build-dependencies] -vergen = { version = "8.3.1", features = ["build", "git", "gitcl"] } +vergen = { version = "8.3.1", features = [ "build", "git", "gitcl" ] } [target."cfg(unix)".dependencies] uzers = "0.12.0" diff --git a/yazi-fm/Cargo.toml b/yazi-fm/Cargo.toml index 0e49df61b..eaab54780 100644 --- a/yazi-fm/Cargo.toml +++ b/yazi-fm/Cargo.toml @@ -1,55 +1,48 @@ [package] -name = "yazi-fm" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-fm" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi File Manager" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = ["vendored-lua"] -vendored-lua = ["mlua/vendored"] +default = [ "vendored-lua" ] +vendored-lua = [ "mlua/vendored" ] [dependencies] yazi-adapter = { path = "../yazi-adapter", version = "0.2.5" } -yazi-boot = { path = "../yazi-boot", version = "0.2.5" } -yazi-config = { path = "../yazi-config", version = "0.2.5" } -yazi-core = { path = "../yazi-core", version = "0.2.5" } -yazi-dds = { path = "../yazi-dds", version = "0.2.5" } -yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } -yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } -yazi-shared = { path = "../yazi-shared", version = "0.2.5" } +yazi-boot = { path = "../yazi-boot", version = "0.2.5" } +yazi-config = { path = "../yazi-config", version = "0.2.5" } +yazi-core = { path = "../yazi-core", version = "0.2.5" } +yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } +yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } +yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -anyhow = "1.0.86" +anyhow = "1.0.86" better-panic = "0.3.0" -crossterm = { version = "0.27.0", features = ["event-stream"] } -fdlimit = "0.3.0" -futures = "0.3.30" -mlua = { version = "0.9.8", features = ["lua54"] } -ratatui = "0.26.3" -scopeguard = "1.2.0" -syntect = { version = "5.2.0", default-features = false, features = [ - "parsing", - "plist-load", - "regex-onig", -] } -tokio = { version = "1.38.0", features = ["full"] } -tokio-util = "0.7.11" +crossterm = { version = "0.27.0", features = [ "event-stream" ] } +fdlimit = "0.3.0" +futures = "0.3.30" +mlua = { version = "0.9.8", features = [ "lua54" ] } +ratatui = "0.26.3" +scopeguard = "1.2.0" +syntect = { version = "5.2.0", default-features = false, features = [ "parsing", "plist-load", "regex-onig" ] } +tokio = { version = "1.38.0", features = [ "full" ] } +tokio-util = "0.7.11" # Logging -tracing = { version = "0.1.40", features = [ - "max_level_debug", - "release_max_level_warn", -] } -tracing-appender = "0.2.3" +tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } +tracing-appender = "0.2.3" tracing-subscriber = "0.3.18" [target."cfg(unix)".dependencies] -libc = "0.2.155" -signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"] } +libc = "0.2.155" +signal-hook-tokio = { version = "0.3.1", features = [ "futures-v0_3" ] } [target.'cfg(all(not(target_os = "macos"), not(target_os = "windows")))'.dependencies] tikv-jemallocator = "0.5.4" diff --git a/yazi-plugin/Cargo.toml b/yazi-plugin/Cargo.toml index 1579acc06..467999aac 100644 --- a/yazi-plugin/Cargo.toml +++ b/yazi-plugin/Cargo.toml @@ -1,60 +1,48 @@ [package] -name = "yazi-plugin" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-plugin" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi plugin system" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = ["vendored-lua"] -vendored-lua = ["mlua/vendored"] +default = [ "vendored-lua" ] +vendored-lua = [ "mlua/vendored" ] [dependencies] yazi-adapter = { path = "../yazi-adapter", version = "0.2.5" } -yazi-boot = { path = "../yazi-boot", version = "0.2.5" } -yazi-config = { path = "../yazi-config", version = "0.2.5" } -yazi-dds = { path = "../yazi-dds", version = "0.2.5" } -yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } -yazi-shared = { path = "../yazi-shared", version = "0.2.5" } +yazi-boot = { path = "../yazi-boot", version = "0.2.5" } +yazi-config = { path = "../yazi-config", version = "0.2.5" } +yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } +yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -ansi-to-tui = "3.1.0" -anyhow = "1.0.86" -base64 = "0.22.1" -crossterm = "0.27.0" -futures = "0.3.30" -md-5 = "0.10.6" -mlua = { version = "0.9.8", features = [ - "lua54", - "serialize", - "macros", - "async", -] } -parking_lot = "0.12.3" -ratatui = "0.26.3" -serde = "1.0.203" -serde_json = "1.0.117" -shell-escape = "0.1.5" -shell-words = "1.1.0" -syntect = { version = "5.2.0", default-features = false, features = [ - "parsing", - "plist-load", - "regex-onig", -] } -tokio = { version = "1.38.0", features = ["full"] } -tokio-stream = "0.1.15" -tokio-util = "0.7.11" +ansi-to-tui = "3.1.0" +anyhow = "1.0.86" +base64 = "0.22.1" +crossterm = "0.27.0" +futures = "0.3.30" +md-5 = "0.10.6" +mlua = { version = "0.9.8", features = [ "lua54", "serialize", "macros", "async" ] } +parking_lot = "0.12.3" +ratatui = "0.26.3" +serde = "1.0.203" +serde_json = "1.0.117" +shell-escape = "0.1.5" +shell-words = "1.1.0" +syntect = { version = "5.2.0", default-features = false, features = [ "parsing", "plist-load", "regex-onig" ] } +tokio = { version = "1.38.0", features = [ "full" ] } +tokio-stream = "0.1.15" +tokio-util = "0.7.11" unicode-width = "0.1.13" yazi-prebuild = "0.1.2" # Logging -tracing = { version = "0.1.40", features = [ - "max_level_debug", - "release_max_level_warn", -] } +tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } [target."cfg(unix)".dependencies] uzers = "0.12.0" diff --git a/yazi-proxy/Cargo.toml b/yazi-proxy/Cargo.toml index 9f6958a48..bb69bf2df 100644 --- a/yazi-proxy/Cargo.toml +++ b/yazi-proxy/Cargo.toml @@ -1,16 +1,16 @@ [package] -name = "yazi-proxy" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-proxy" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi event proxy" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [features] -default = ["vendored-lua"] -vendored-lua = ["mlua/vendored"] +default = [ "vendored-lua" ] +vendored-lua = [ "mlua/vendored" ] [dependencies] yazi-config = { path = "../yazi-config", version = "0.2.5" } @@ -18,5 +18,5 @@ yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies anyhow = "1.0.86" -mlua = { version = "0.9.8", features = ["lua54"] } -tokio = { version = "1.38.0", features = ["full"] } +mlua = { version = "0.9.8", features = [ "lua54" ] } +tokio = { version = "1.38.0", features = [ "full" ] } diff --git a/yazi-scheduler/Cargo.toml b/yazi-scheduler/Cargo.toml index 1f0d76642..77e43b3b8 100644 --- a/yazi-scheduler/Cargo.toml +++ b/yazi-scheduler/Cargo.toml @@ -1,33 +1,30 @@ [package] -name = "yazi-scheduler" -version = "0.2.5" -edition = "2021" -license = "MIT" -authors = ["sxyazi "] +name = "yazi-scheduler" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] description = "Yazi task scheduler" -homepage = "https://yazi-rs.github.io" -repository = "https://github.com/sxyazi/yazi" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" [dependencies] yazi-config = { path = "../yazi-config", version = "0.2.5" } -yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-dds = { path = "../yazi-dds", version = "0.2.5" } yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } -yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } +yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } # External dependencies -anyhow = "1.0.86" +anyhow = "1.0.86" async-priority-channel = "0.2.0" -futures = "0.3.30" -parking_lot = "0.12.3" -scopeguard = "1.2.0" -tokio = { version = "1.38.0", features = ["full"] } +futures = "0.3.30" +parking_lot = "0.12.3" +scopeguard = "1.2.0" +tokio = { version = "1.38.0", features = [ "full" ] } # Logging -tracing = { version = "0.1.40", features = [ - "max_level_debug", - "release_max_level_warn", -] } +tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } [target."cfg(unix)".dependencies] libc = "0.2.155" diff --git a/yazi-shared/Cargo.toml b/yazi-shared/Cargo.toml index 249fae325..fd1748ce9 100644 --- a/yazi-shared/Cargo.toml +++ b/yazi-shared/Cargo.toml @@ -23,7 +23,7 @@ regex = "1.10.5" serde = { version = "1.0.203", features = [ "derive" ] } shell-words = "1.1.0" tokio = { version = "1.38.0", features = [ "full" ] } -opendal = { version = "0.47.0", features = ["services-s3"] } +opendal = "0.47.0" # Logging tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } From 447326214ef6d2e92c518c1b35b28faa2084d25b Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Thu, 13 Jun 2024 21:12:34 +0800 Subject: [PATCH 3/7] Revert changes on toml Signed-off-by: Xuanwo --- stylua.toml | 4 +- yazi-config/preset/keymap.toml | 1002 +++++++------------------ yazi-config/preset/theme.toml | 1258 ++++++++++++++++---------------- yazi-config/preset/yazi.toml | 259 +++---- 4 files changed, 1020 insertions(+), 1503 deletions(-) diff --git a/stylua.toml b/stylua.toml index 722d02cd3..ffaa2031c 100644 --- a/stylua.toml +++ b/stylua.toml @@ -1,5 +1,5 @@ -indent_width = 2 -call_parentheses = "NoSingleTable" +indent_width = 2 +call_parentheses = "NoSingleTable" collapse_simple_statement = "FunctionOnly" [sort_requires] diff --git a/yazi-config/preset/keymap.toml b/yazi-config/preset/keymap.toml index 0784b1fc3..9e4c0493c 100644 --- a/yazi-config/preset/keymap.toml +++ b/yazi-config/preset/keymap.toml @@ -5,756 +5,304 @@ [manager] keymap = [ - { on = [ - "", - ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, - { on = [ - "", - ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, - { on = [ - "q", - ], run = "quit", desc = "Exit the process" }, - { on = [ - "Q", - ], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" }, - { on = [ - "", - ], run = "close", desc = "Close the current tab, or quit if it is last tab" }, - { on = [ - "", - ], run = "suspend", desc = "Suspend the process" }, - - # Navigation - { on = [ - "k", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "j", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "K", - ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ - "J", - ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ - "", - ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ - "", - ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ - "", - ], run = "arrow -50%", desc = "Move cursor up half page" }, - { on = [ - "", - ], run = "arrow 50%", desc = "Move cursor down half page" }, - { on = [ - "", - ], run = "arrow -100%", desc = "Move cursor up one page" }, - { on = [ - "", - ], run = "arrow 100%", desc = "Move cursor down one page" }, - - { on = [ - "", - ], run = "arrow -50%", desc = "Move cursor up half page" }, - { on = [ - "", - ], run = "arrow 50%", desc = "Move cursor down half page" }, - { on = [ - "", - ], run = "arrow -100%", desc = "Move cursor up one page" }, - { on = [ - "", - ], run = "arrow 100%", desc = "Move cursor down one page" }, - - { on = [ - "h", - ], run = "leave", desc = "Go back to the parent directory" }, - { on = [ - "l", - ], run = "enter", desc = "Enter the child directory" }, - - { on = [ - "H", - ], run = "back", desc = "Go back to the previous directory" }, - { on = [ - "L", - ], run = "forward", desc = "Go forward to the next directory" }, - - { on = [ - "", - ], run = "seek -5", desc = "Seek up 5 units in the preview" }, - { on = [ - "", - ], run = "seek 5", desc = "Seek down 5 units in the preview" }, - { on = [ - "", - ], run = "seek -5", desc = "Seek up 5 units in the preview" }, - { on = [ - "", - ], run = "seek 5", desc = "Seek down 5 units in the preview" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - { on = [ - "", - ], run = "leave", desc = "Go back to the parent directory" }, - { on = [ - "", - ], run = "enter", desc = "Enter the child directory" }, - - { on = [ - "g", - "g", - ], run = "arrow -99999999", desc = "Move cursor to the top" }, - { on = [ - "G", - ], run = "arrow 99999999", desc = "Move cursor to the bottom" }, - - # Selection - { on = [ - "", - ], run = [ - "select --state=none", - "arrow 1", - ], desc = "Toggle the current selection state" }, - { on = [ - "v", - ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, - { on = [ - "V", - ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, - { on = [ - "", - ], run = "select_all --state=true", desc = "Select all files" }, - { on = [ - "", - ], run = "select_all --state=none", desc = "Inverse selection of all files" }, - - # Operation - { on = [ - "o", - ], run = "open", desc = "Open the selected files" }, - { on = [ - "O", - ], run = "open --interactive", desc = "Open the selected files interactively" }, - { on = [ - "", - ], run = "open", desc = "Open the selected files" }, - { on = [ - "", - ], run = "open --interactive", desc = "Open the selected files interactively" }, - { on = [ - "y", - ], run = "yank", desc = "Copy the selected files" }, - { on = [ - "Y", - ], run = "unyank", desc = "Cancel the yank status of files" }, - { on = [ - "x", - ], run = "yank --cut", desc = "Cut the selected files" }, - { on = [ - "X", - ], run = "unyank", desc = "Cancel the yank status of files" }, - { on = [ - "p", - ], run = "paste", desc = "Paste the files" }, - { on = [ - "P", - ], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, - { on = [ - "-", - ], run = "link", desc = "Symlink the absolute path of files" }, - { on = [ - "_", - ], run = "link --relative", desc = "Symlink the relative path of files" }, - { on = [ - "d", - ], run = "remove", desc = "Move the files to the trash" }, - { on = [ - "D", - ], run = "remove --permanently", desc = "Permanently delete the files" }, - { on = [ - "a", - ], run = "create", desc = "Create a file or directory (ends with / for directories)" }, - { on = [ - "r", - ], run = "rename --cursor=before_ext", desc = "Rename a file or directory" }, - { on = [ - ";", - ], run = "shell", desc = "Run a shell command" }, - { on = [ - ":", - ], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" }, - { on = [ - ".", - ], run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, - { on = [ - "s", - ], run = "search fd", desc = "Search files by name using fd" }, - { on = [ - "S", - ], run = "search rg", desc = "Search files by content using ripgrep" }, - { on = [ - "", - ], run = "search none", desc = "Cancel the ongoing search" }, - { on = [ - "z", - ], run = "plugin zoxide", desc = "Jump to a directory using zoxide" }, - { on = [ - "Z", - ], run = "plugin fzf", desc = "Jump to a directory, or reveal a file using fzf" }, - - # Linemode - { on = [ - "m", - "s", - ], run = "linemode size", desc = "Set linemode to size" }, - { on = [ - "m", - "p", - ], run = "linemode permissions", desc = "Set linemode to permissions" }, - { on = [ - "m", - "m", - ], run = "linemode mtime", desc = "Set linemode to mtime" }, - { on = [ - "m", - "n", - ], run = "linemode none", desc = "Set linemode to none" }, - - # Copy - { on = [ - "c", - "c", - ], run = "copy path", desc = "Copy the absolute path" }, - { on = [ - "c", - "d", - ], run = "copy dirname", desc = "Copy the path of the parent directory" }, - { on = [ - "c", - "f", - ], run = "copy filename", desc = "Copy the name of the file" }, - { on = [ - "c", - "n", - ], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" }, - - # Filter - { on = [ - "f", - ], run = "filter --smart", desc = "Filter the files" }, - - # Find - { on = [ - "/", - ], run = "find --smart", desc = "Find next file" }, - { on = [ - "?", - ], run = "find --previous --smart", desc = "Find previous file" }, - { on = [ - "n", - ], run = "find_arrow", desc = "Go to next found file" }, - { on = [ - "N", - ], run = "find_arrow --previous", desc = "Go to previous found file" }, - - # Sorting - { on = [ - ",", - "m", - ], run = "sort modified --reverse=no", desc = "Sort by modified time" }, - { on = [ - ",", - "M", - ], run = "sort modified --reverse", desc = "Sort by modified time (reverse)" }, - { on = [ - ",", - "c", - ], run = "sort created --reverse=no", desc = "Sort by created time" }, - { on = [ - ",", - "C", - ], run = "sort created --reverse", desc = "Sort by created time (reverse)" }, - { on = [ - ",", - "e", - ], run = "sort extension --reverse=no", desc = "Sort by extension" }, - { on = [ - ",", - "E", - ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, - { on = [ - ",", - "a", - ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, - { on = [ - ",", - "A", - ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" }, - { on = [ - ",", - "n", - ], run = "sort natural --reverse=no", desc = "Sort naturally" }, - { on = [ - ",", - "N", - ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" }, - { on = [ - ",", - "s", - ], run = "sort size --reverse=no", desc = "Sort by size" }, - { on = [ - ",", - "S", - ], run = "sort size --reverse", desc = "Sort by size (reverse)" }, - - # Tabs - { on = [ - "t", - ], run = "tab_create --current", desc = "Create a new tab using the current path" }, - - { on = [ - "1", - ], run = "tab_switch 0", desc = "Switch to the first tab" }, - { on = [ - "2", - ], run = "tab_switch 1", desc = "Switch to the second tab" }, - { on = [ - "3", - ], run = "tab_switch 2", desc = "Switch to the third tab" }, - { on = [ - "4", - ], run = "tab_switch 3", desc = "Switch to the fourth tab" }, - { on = [ - "5", - ], run = "tab_switch 4", desc = "Switch to the fifth tab" }, - { on = [ - "6", - ], run = "tab_switch 5", desc = "Switch to the sixth tab" }, - { on = [ - "7", - ], run = "tab_switch 6", desc = "Switch to the seventh tab" }, - { on = [ - "8", - ], run = "tab_switch 7", desc = "Switch to the eighth tab" }, - { on = [ - "9", - ], run = "tab_switch 8", desc = "Switch to the ninth tab" }, - - { on = [ - "[", - ], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" }, - { on = [ - "]", - ], run = "tab_switch 1 --relative", desc = "Switch to the next tab" }, - - { on = [ - "{", - ], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" }, - { on = [ - "}", - ], run = "tab_swap 1", desc = "Swap the current tab with the next tab" }, - - # Tasks - { on = [ - "w", - ], run = "tasks_show", desc = "Show the tasks manager" }, - - # Goto - { on = [ - "g", - "h", - ], run = "cd ~", desc = "Go to the home directory" }, - { on = [ - "g", - "c", - ], run = "cd ~/.config", desc = "Go to the config directory" }, - { on = [ - "g", - "d", - ], run = "cd ~/Downloads", desc = "Go to the downloads directory" }, - { on = [ - "g", - "", - ], run = "cd --interactive", desc = "Go to a directory interactively" }, - - # Help - { on = [ - "~", - ], run = "help", desc = "Open help" }, + { on = [ "" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, + { on = [ "" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, + { on = [ "q" ], run = "quit", desc = "Exit the process" }, + { on = [ "Q" ], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" }, + { on = [ "" ], run = "close", desc = "Close the current tab, or quit if it is last tab" }, + { on = [ "" ], run = "suspend", desc = "Suspend the process" }, + + # Navigation + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -50%", desc = "Move cursor up half page" }, + { on = [ "" ], run = "arrow 50%", desc = "Move cursor down half page" }, + { on = [ "" ], run = "arrow -100%", desc = "Move cursor up one page" }, + { on = [ "" ], run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ "" ], run = "arrow -50%", desc = "Move cursor up half page" }, + { on = [ "" ], run = "arrow 50%", desc = "Move cursor down half page" }, + { on = [ "" ], run = "arrow -100%", desc = "Move cursor up one page" }, + { on = [ "" ], run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ "h" ], run = "leave", desc = "Go back to the parent directory" }, + { on = [ "l" ], run = "enter", desc = "Enter the child directory" }, + + { on = [ "H" ], run = "back", desc = "Go back to the previous directory" }, + { on = [ "L" ], run = "forward", desc = "Go forward to the next directory" }, + + { on = [ "" ], run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = [ "" ], run = "seek 5", desc = "Seek down 5 units in the preview" }, + { on = [ "" ], run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = [ "" ], run = "seek 5", desc = "Seek down 5 units in the preview" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + { on = [ "" ], run = "leave", desc = "Go back to the parent directory" }, + { on = [ "" ], run = "enter", desc = "Enter the child directory" }, + + { on = [ "g", "g" ], run = "arrow -99999999", desc = "Move cursor to the top" }, + { on = [ "G" ], run = "arrow 99999999", desc = "Move cursor to the bottom" }, + + # Selection + { on = [ "" ], run = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" }, + { on = [ "v" ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, + { on = [ "V" ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, + { on = [ "" ], run = "select_all --state=true", desc = "Select all files" }, + { on = [ "" ], run = "select_all --state=none", desc = "Inverse selection of all files" }, + + # Operation + { on = [ "o" ], run = "open", desc = "Open the selected files" }, + { on = [ "O" ], run = "open --interactive", desc = "Open the selected files interactively" }, + { on = [ "" ], run = "open", desc = "Open the selected files" }, + { on = [ "" ], run = "open --interactive", desc = "Open the selected files interactively" }, + { on = [ "y" ], run = "yank", desc = "Copy the selected files" }, + { on = [ "Y" ], run = "unyank", desc = "Cancel the yank status of files" }, + { on = [ "x" ], run = "yank --cut", desc = "Cut the selected files" }, + { on = [ "X" ], run = "unyank", desc = "Cancel the yank status of files" }, + { on = [ "p" ], run = "paste", desc = "Paste the files" }, + { on = [ "P" ], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, + { on = [ "-" ], run = "link", desc = "Symlink the absolute path of files" }, + { on = [ "_" ], run = "link --relative", desc = "Symlink the relative path of files" }, + { on = [ "d" ], run = "remove", desc = "Move the files to the trash" }, + { on = [ "D" ], run = "remove --permanently", desc = "Permanently delete the files" }, + { on = [ "a" ], run = "create", desc = "Create a file or directory (ends with / for directories)" }, + { on = [ "r" ], run = "rename --cursor=before_ext", desc = "Rename a file or directory" }, + { on = [ ";" ], run = "shell", desc = "Run a shell command" }, + { on = [ ":" ], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" }, + { on = [ "." ], run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, + { on = [ "s" ], run = "search fd", desc = "Search files by name using fd" }, + { on = [ "S" ], run = "search rg", desc = "Search files by content using ripgrep" }, + { on = [ "" ], run = "search none", desc = "Cancel the ongoing search" }, + { on = [ "z" ], run = "plugin zoxide", desc = "Jump to a directory using zoxide" }, + { on = [ "Z" ], run = "plugin fzf", desc = "Jump to a directory, or reveal a file using fzf" }, + + # Linemode + { on = [ "m", "s" ], run = "linemode size", desc = "Set linemode to size" }, + { on = [ "m", "p" ], run = "linemode permissions", desc = "Set linemode to permissions" }, + { on = [ "m", "m" ], run = "linemode mtime", desc = "Set linemode to mtime" }, + { on = [ "m", "n" ], run = "linemode none", desc = "Set linemode to none" }, + + # Copy + { on = [ "c", "c" ], run = "copy path", desc = "Copy the absolute path" }, + { on = [ "c", "d" ], run = "copy dirname", desc = "Copy the path of the parent directory" }, + { on = [ "c", "f" ], run = "copy filename", desc = "Copy the name of the file" }, + { on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" }, + + # Filter + { on = [ "f" ], run = "filter --smart", desc = "Filter the files" }, + + # Find + { on = [ "/" ], run = "find --smart", desc = "Find next file" }, + { on = [ "?" ], run = "find --previous --smart", desc = "Find previous file" }, + { on = [ "n" ], run = "find_arrow", desc = "Go to next found file" }, + { on = [ "N" ], run = "find_arrow --previous", desc = "Go to previous found file" }, + + # Sorting + { on = [ ",", "m" ], run = "sort modified --reverse=no", desc = "Sort by modified time" }, + { on = [ ",", "M" ], run = "sort modified --reverse", desc = "Sort by modified time (reverse)" }, + { on = [ ",", "c" ], run = "sort created --reverse=no", desc = "Sort by created time" }, + { on = [ ",", "C" ], run = "sort created --reverse", desc = "Sort by created time (reverse)" }, + { on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" }, + { on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, + { on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, + { on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" }, + { on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" }, + { on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" }, + { on = [ ",", "s" ], run = "sort size --reverse=no", desc = "Sort by size" }, + { on = [ ",", "S" ], run = "sort size --reverse", desc = "Sort by size (reverse)" }, + + # Tabs + { on = [ "t" ], run = "tab_create --current", desc = "Create a new tab using the current path" }, + + { on = [ "1" ], run = "tab_switch 0", desc = "Switch to the first tab" }, + { on = [ "2" ], run = "tab_switch 1", desc = "Switch to the second tab" }, + { on = [ "3" ], run = "tab_switch 2", desc = "Switch to the third tab" }, + { on = [ "4" ], run = "tab_switch 3", desc = "Switch to the fourth tab" }, + { on = [ "5" ], run = "tab_switch 4", desc = "Switch to the fifth tab" }, + { on = [ "6" ], run = "tab_switch 5", desc = "Switch to the sixth tab" }, + { on = [ "7" ], run = "tab_switch 6", desc = "Switch to the seventh tab" }, + { on = [ "8" ], run = "tab_switch 7", desc = "Switch to the eighth tab" }, + { on = [ "9" ], run = "tab_switch 8", desc = "Switch to the ninth tab" }, + + { on = [ "[" ], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" }, + { on = [ "]" ], run = "tab_switch 1 --relative", desc = "Switch to the next tab" }, + + { on = [ "{" ], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" }, + { on = [ "}" ], run = "tab_swap 1", desc = "Swap the current tab with the next tab" }, + + # Tasks + { on = [ "w" ], run = "tasks_show", desc = "Show the tasks manager" }, + + # Goto + { on = [ "g", "h" ], run = "cd ~", desc = "Go to the home directory" }, + { on = [ "g", "c" ], run = "cd ~/.config", desc = "Go to the config directory" }, + { on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go to the downloads directory" }, + { on = [ "g", "" ], run = "cd --interactive", desc = "Go to a directory interactively" }, + + # Help + { on = [ "~" ], run = "help", desc = "Open help" }, ] [tasks] keymap = [ - { on = [ - "", - ], run = "close", desc = "Hide the task manager" }, - { on = [ - "", - ], run = "close", desc = "Hide the task manager" }, - { on = [ - "", - ], run = "close", desc = "Hide the task manager" }, - { on = [ - "w", - ], run = "close", desc = "Hide the task manager" }, - - { on = [ - "k", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "j", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "", - ], run = "inspect", desc = "Inspect the task" }, - { on = [ - "x", - ], run = "cancel", desc = "Cancel the task" }, - - { on = [ - "~", - ], run = "help", desc = "Open help" }, + { on = [ "" ], run = "close", desc = "Hide the task manager" }, + { on = [ "" ], run = "close", desc = "Hide the task manager" }, + { on = [ "" ], run = "close", desc = "Hide the task manager" }, + { on = [ "w" ], run = "close", desc = "Hide the task manager" }, + + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "inspect", desc = "Inspect the task" }, + { on = [ "x" ], run = "cancel", desc = "Cancel the task" }, + + { on = [ "~" ], run = "help", desc = "Open help" } ] [select] keymap = [ - { on = [ - "", - ], run = "close", desc = "Cancel selection" }, - { on = [ - "", - ], run = "close", desc = "Cancel selection" }, - { on = [ - "", - ], run = "close", desc = "Cancel selection" }, - { on = [ - "", - ], run = "close --submit", desc = "Submit the selection" }, - - { on = [ - "k", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "j", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "K", - ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ - "J", - ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "", - ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ - "", - ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ - "~", - ], run = "help", desc = "Open help" }, + { on = [ "" ], run = "close", desc = "Cancel selection" }, + { on = [ "" ], run = "close", desc = "Cancel selection" }, + { on = [ "" ], run = "close", desc = "Cancel selection" }, + { on = [ "" ], run = "close --submit", desc = "Submit the selection" }, + + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "~" ], run = "help", desc = "Open help" } ] [input] keymap = [ - { on = [ - "", - ], run = "close", desc = "Cancel input" }, - { on = [ - "", - ], run = "close --submit", desc = "Submit the input" }, - { on = [ - "", - ], run = "escape", desc = "Go back the normal mode, or cancel input" }, - { on = [ - "", - ], run = "escape", desc = "Go back the normal mode, or cancel input" }, - - # Mode - { on = [ - "i", - ], run = "insert", desc = "Enter insert mode" }, - { on = [ - "a", - ], run = "insert --append", desc = "Enter append mode" }, - { on = [ - "I", - ], run = [ - "move -999", - "insert", - ], desc = "Move to the BOL, and enter insert mode" }, - { on = [ - "A", - ], run = [ - "move 999", - "insert --append", - ], desc = "Move to the EOL, and enter append mode" }, - { on = [ - "v", - ], run = "visual", desc = "Enter visual mode" }, - { on = [ - "V", - ], run = [ - "move -999", - "visual", - "move 999", - ], desc = "Enter visual mode and select all" }, - - # Character-wise movement - { on = [ - "h", - ], run = "move -1", desc = "Move back a character" }, - { on = [ - "l", - ], run = "move 1", desc = "Move forward a character" }, - { on = [ - "", - ], run = "move -1", desc = "Move back a character" }, - { on = [ - "", - ], run = "move 1", desc = "Move forward a character" }, - { on = [ - "", - ], run = "move -1", desc = "Move back a character" }, - { on = [ - "", - ], run = "move 1", desc = "Move forward a character" }, - - # Word-wise movement - { on = [ - "b", - ], run = "backward", desc = "Move back to the start of the current or previous word" }, - { on = [ - "w", - ], run = "forward", desc = "Move forward to the start of the next word" }, - { on = [ - "e", - ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, - { on = [ - "", - ], run = "backward", desc = "Move back to the start of the current or previous word" }, - { on = [ - "", - ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, - - # Line-wise movement - { on = [ - "0", - ], run = "move -999", desc = "Move to the BOL" }, - { on = [ - "$", - ], run = "move 999", desc = "Move to the EOL" }, - { on = [ - "", - ], run = "move -999", desc = "Move to the BOL" }, - { on = [ - "", - ], run = "move 999", desc = "Move to the EOL" }, - { on = [ - "", - ], run = "move -999", desc = "Move to the BOL" }, - { on = [ - "", - ], run = "move 999", desc = "Move to the EOL" }, - - # Delete - { on = [ - "", - ], run = "backspace", desc = "Delete the character before the cursor" }, - { on = [ - "", - ], run = "backspace --under", desc = "Delete the character under the cursor" }, - { on = [ - "", - ], run = "backspace", desc = "Delete the character before the cursor" }, - { on = [ - "", - ], run = "backspace --under", desc = "Delete the character under the cursor" }, - - # Kill - { on = [ - "", - ], run = "kill bol", desc = "Kill backwards to the BOL" }, - { on = [ - "", - ], run = "kill eol", desc = "Kill forwards to the EOL" }, - { on = [ - "", - ], run = "kill backward", desc = "Kill backwards to the start of the current word" }, - { on = [ - "", - ], run = "kill forward", desc = "Kill forwards to the end of the current word" }, - - # Cut/Yank/Paste - { on = [ - "d", - ], run = "delete --cut", desc = "Cut the selected characters" }, - { on = [ - "D", - ], run = [ - "delete --cut", - "move 999", - ], desc = "Cut until the EOL" }, - { on = [ - "c", - ], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" }, - { on = [ - "C", - ], run = [ - "delete --cut --insert", - "move 999", - ], desc = "Cut until the EOL, and enter insert mode" }, - { on = [ - "x", - ], run = [ - "delete --cut", - "move 1 --in-operating", - ], desc = "Cut the current character" }, - { on = [ - "y", - ], run = "yank", desc = "Copy the selected characters" }, - { on = [ - "p", - ], run = "paste", desc = "Paste the copied characters after the cursor" }, - { on = [ - "P", - ], run = "paste --before", desc = "Paste the copied characters before the cursor" }, - - # Undo/Redo - { on = [ - "u", - ], run = "undo", desc = "Undo the last operation" }, - { on = [ - "", - ], run = "redo", desc = "Redo the last operation" }, - - # Help - { on = [ - "~", - ], run = "help", desc = "Open help" }, + { on = [ "" ], run = "close", desc = "Cancel input" }, + { on = [ "" ], run = "close --submit", desc = "Submit the input" }, + { on = [ "" ], run = "escape", desc = "Go back the normal mode, or cancel input" }, + { on = [ "" ], run = "escape", desc = "Go back the normal mode, or cancel input" }, + + # Mode + { on = [ "i" ], run = "insert", desc = "Enter insert mode" }, + { on = [ "a" ], run = "insert --append", desc = "Enter append mode" }, + { on = [ "I" ], run = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" }, + { on = [ "A" ], run = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" }, + { on = [ "v" ], run = "visual", desc = "Enter visual mode" }, + { on = [ "V" ], run = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" }, + + # Character-wise movement + { on = [ "h" ], run = "move -1", desc = "Move back a character" }, + { on = [ "l" ], run = "move 1", desc = "Move forward a character" }, + { on = [ "" ], run = "move -1", desc = "Move back a character" }, + { on = [ "" ], run = "move 1", desc = "Move forward a character" }, + { on = [ "" ], run = "move -1", desc = "Move back a character" }, + { on = [ "" ], run = "move 1", desc = "Move forward a character" }, + + # Word-wise movement + { on = [ "b" ], run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = [ "w" ], run = "forward", desc = "Move forward to the start of the next word" }, + { on = [ "e" ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + { on = [ "" ], run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = [ "" ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + + # Line-wise movement + { on = [ "0" ], run = "move -999", desc = "Move to the BOL" }, + { on = [ "$" ], run = "move 999", desc = "Move to the EOL" }, + { on = [ "" ], run = "move -999", desc = "Move to the BOL" }, + { on = [ "" ], run = "move 999", desc = "Move to the EOL" }, + { on = [ "" ], run = "move -999", desc = "Move to the BOL" }, + { on = [ "" ], run = "move 999", desc = "Move to the EOL" }, + + # Delete + { on = [ "" ], run = "backspace", desc = "Delete the character before the cursor" }, + { on = [ "" ], run = "backspace --under", desc = "Delete the character under the cursor" }, + { on = [ "" ], run = "backspace", desc = "Delete the character before the cursor" }, + { on = [ "" ], run = "backspace --under", desc = "Delete the character under the cursor" }, + + # Kill + { on = [ "" ], run = "kill bol", desc = "Kill backwards to the BOL" }, + { on = [ "" ], run = "kill eol", desc = "Kill forwards to the EOL" }, + { on = [ "" ], run = "kill backward", desc = "Kill backwards to the start of the current word" }, + { on = [ "" ], run = "kill forward", desc = "Kill forwards to the end of the current word" }, + + # Cut/Yank/Paste + { on = [ "d" ], run = "delete --cut", desc = "Cut the selected characters" }, + { on = [ "D" ], run = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" }, + { on = [ "c" ], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" }, + { on = [ "C" ], run = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" }, + { on = [ "x" ], run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" }, + { on = [ "y" ], run = "yank", desc = "Copy the selected characters" }, + { on = [ "p" ], run = "paste", desc = "Paste the copied characters after the cursor" }, + { on = [ "P" ], run = "paste --before", desc = "Paste the copied characters before the cursor" }, + + # Undo/Redo + { on = [ "u" ], run = "undo", desc = "Undo the last operation" }, + { on = [ "" ], run = "redo", desc = "Redo the last operation" }, + + # Help + { on = [ "~" ], run = "help", desc = "Open help" } ] [completion] keymap = [ - { on = [ - "", - ], run = "close", desc = "Cancel completion" }, - { on = [ - "", - ], run = "close --submit", desc = "Submit the completion" }, - { on = [ - "", - ], run = [ - "close --submit", - "close_input --submit", - ], desc = "Submit the completion and input" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "~", - ], run = "help", desc = "Open help" }, + { on = [ "" ], run = "close", desc = "Cancel completion" }, + { on = [ "" ], run = "close --submit", desc = "Submit the completion" }, + { on = [ "" ], run = [ "close --submit", "close_input --submit" ], desc = "Submit the completion and input" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "~" ], run = "help", desc = "Open help" } ] [help] keymap = [ - { on = [ - "", - ], run = "escape", desc = "Clear the filter, or hide the help" }, - { on = [ - "", - ], run = "escape", desc = "Clear the filter, or hide the help" }, - { on = [ - "q", - ], run = "close", desc = "Exit the process" }, - { on = [ - "", - ], run = "close", desc = "Hide the help" }, - - # Navigation - { on = [ - "k", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "j", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "K", - ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ - "J", - ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - { on = [ - "", - ], run = "arrow -1", desc = "Move cursor up" }, - { on = [ - "", - ], run = "arrow 1", desc = "Move cursor down" }, - - { on = [ - "", - ], run = "arrow -5", desc = "Move cursor up 5 lines" }, - { on = [ - "", - ], run = "arrow 5", desc = "Move cursor down 5 lines" }, - - # Filtering - { on = [ - "/", - ], run = "filter", desc = "Apply a filter for the help items" }, + { on = [ "" ], run = "escape", desc = "Clear the filter, or hide the help" }, + { on = [ "" ], run = "escape", desc = "Clear the filter, or hide the help" }, + { on = [ "q" ], run = "close", desc = "Exit the process" }, + { on = [ "" ], run = "close", desc = "Hide the help" }, + + # Navigation + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + # Filtering + { on = [ "/" ], run = "filter", desc = "Apply a filter for the help items" }, ] diff --git a/yazi-config/preset/theme.toml b/yazi-config/preset/theme.toml index 9d3d0f4e4..0eb9cf660 100644 --- a/yazi-config/preset/theme.toml +++ b/yazi-config/preset/theme.toml @@ -17,32 +17,32 @@ use = "" cwd = { fg = "cyan" } # Hovered -hovered = { reversed = true } +hovered = { reversed = true } preview_hovered = { underline = true } # Find -find_keyword = { fg = "yellow", bold = true, italic = true, underline = true } +find_keyword = { fg = "yellow", bold = true, italic = true, underline = true } find_position = { fg = "magenta", bg = "reset", bold = true, italic = true } # Marker -marker_copied = { fg = "lightgreen", bg = "lightgreen" } -marker_cut = { fg = "lightred", bg = "lightred" } -marker_marked = { fg = "lightcyan", bg = "lightcyan" } +marker_copied = { fg = "lightgreen", bg = "lightgreen" } +marker_cut = { fg = "lightred", bg = "lightred" } +marker_marked = { fg = "lightcyan", bg = "lightcyan" } marker_selected = { fg = "lightyellow", bg = "lightyellow" } # Tab -tab_active = { reversed = true } +tab_active = { reversed = true } tab_inactive = {} -tab_width = 1 +tab_width = 1 # Count -count_copied = { fg = "white", bg = "green" } -count_cut = { fg = "white", bg = "red" } +count_copied = { fg = "white", bg = "green" } +count_cut = { fg = "white", bg = "red" } count_selected = { fg = "white", bg = "yellow" } # Border border_symbol = "│" -border_style = { fg = "gray" } +border_style = { fg = "gray" } # Highlighting syntect_theme = "" @@ -53,19 +53,19 @@ syntect_theme = "" # : Status {{{ [status] -separator_open = "" +separator_open = "" separator_close = "" separator_style = { fg = "gray", bg = "gray" } # Mode mode_normal = { bg = "blue", bold = true } mode_select = { bg = "red", bold = true } -mode_unset = { bg = "red", bold = true } +mode_unset = { bg = "red", bold = true } # Progress -progress_label = { bold = true } +progress_label = { bold = true } progress_normal = { fg = "blue", bg = "black" } -progress_error = { fg = "red", bg = "black" } +progress_error = { fg = "red", bg = "black" } # Permissions permissions_t = { fg = "green" } @@ -80,8 +80,8 @@ permissions_s = { fg = "darkgray" } # : Select {{{ [select] -border = { fg = "blue" } -active = { fg = "magenta", bold = true } +border = { fg = "blue" } +active = { fg = "magenta", bold = true } inactive = {} # : }}} @@ -90,9 +90,9 @@ inactive = {} # : Input {{{ [input] -border = { fg = "blue" } -title = {} -value = {} +border = { fg = "blue" } +title = {} +value = {} selected = { reversed = true } # : }}} @@ -101,13 +101,13 @@ selected = { reversed = true } # : Completion {{{ [completion] -border = { fg = "blue" } -active = { reversed = true } +border = { fg = "blue" } +active = { reversed = true } inactive = {} # Icons -icon_file = "" -icon_folder = "" +icon_file = "" +icon_folder = "" icon_command = "" # : }}} @@ -116,8 +116,8 @@ icon_command = "" # : Tasks {{{ [tasks] -border = { fg = "blue" } -title = {} +border = { fg = "blue" } +title = {} hovered = { fg = "magenta", underline = true } # : }}} @@ -126,12 +126,12 @@ hovered = { fg = "magenta", underline = true } # : Which {{{ [which] -cols = 3 -mask = { bg = "black" } -cand = { fg = "lightcyan" } -rest = { fg = "darkgray" } -desc = { fg = "lightmagenta" } -separator = "  " +cols = 3 +mask = { bg = "black" } +cand = { fg = "lightcyan" } +rest = { fg = "darkgray" } +desc = { fg = "lightmagenta" } +separator = "  " separator_style = { fg = "darkgray" } # : }}} @@ -140,11 +140,11 @@ separator_style = { fg = "darkgray" } # : Help {{{ [help] -on = { fg = "cyan" } -run = { fg = "magenta" } -desc = {} +on = { fg = "cyan" } +run = { fg = "magenta" } +desc = {} hovered = { reversed = true, bold = true } -footer = { fg = "black", bg = "white" } +footer = { fg = "black", bg = "white" } # : }}} @@ -152,13 +152,13 @@ footer = { fg = "black", bg = "white" } # : Notify {{{ [notify] -title_info = { fg = "green" } -title_warn = { fg = "yellow" } +title_info = { fg = "green" } +title_warn = { fg = "yellow" } title_error = { fg = "red" } # Icons -icon_info = "" -icon_warn = "" +icon_info = "" +icon_warn = "" icon_error = "" # : }}} @@ -169,613 +169,613 @@ icon_error = "" [filetype] rules = [ - # Images - { mime = "image/*", fg = "yellow" }, + # Images + { mime = "image/*", fg = "yellow" }, - # Media - { mime = "{audio,video}/*", fg = "magenta" }, + # Media + { mime = "{audio,video}/*", fg = "magenta" }, - # Archives - { mime = "application/{,g}zip", fg = "red" }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "red" }, + # Archives + { mime = "application/{,g}zip", fg = "red" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "red" }, - # Documents - { mime = "application/{pdf,doc,rtf,vnd.*}", fg = "cyan" }, + # Documents + { mime = "application/{pdf,doc,rtf,vnd.*}", fg = "cyan" }, - # Empty files - # { mime = "inode/x-empty", fg = "red" }, + # Empty files + # { mime = "inode/x-empty", fg = "red" }, - # Special files - { name = "*", is = "orphan", bg = "red" }, - { name = "*", is = "exec", fg = "green" }, + # Special files + { name = "*", is = "orphan", bg = "red" }, + { name = "*", is = "exec" , fg = "green" }, - # Fallback - # { name = "*", fg = "white" }, - { name = "*/", fg = "blue" }, + # Fallback + # { name = "*", fg = "white" }, + { name = "*/", fg = "blue" } ] [icon] globs = [] -dirs = [ - { name = ".config", text = "" }, - { name = ".git", text = "" }, - { name = "Desktop", text = "" }, - { name = "Development", text = "" }, - { name = "Documents", text = "" }, - { name = "Downloads", text = "" }, - { name = "Library", text = "" }, - { name = "Movies", text = "" }, - { name = "Music", text = "" }, - { name = "Pictures", text = "" }, - { name = "Public", text = "" }, - { name = "Videos", text = "" }, +dirs = [ + { name = ".config", text = "" }, + { name = ".git", text = "" }, + { name = "Desktop", text = "" }, + { name = "Development", text = "" }, + { name = "Documents", text = "" }, + { name = "Downloads", text = "" }, + { name = "Library", text = "" }, + { name = "Movies", text = "" }, + { name = "Music", text = "" }, + { name = "Pictures", text = "" }, + { name = "Public", text = "" }, + { name = "Videos", text = "" }, ] files = [ - { name = ".babelrc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = ".bash_profile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".bashrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".dockerignore", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = ".ds_store", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = ".editorconfig", text = "", fg_dark = "#fff2f2", fg_light = "#333030" }, - { name = ".env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, - { name = ".eslintignore", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, - { name = ".eslintrc", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, - { name = ".gitattributes", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gitconfig", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gitignore", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gitlab-ci.yml", text = "", fg_dark = "#e24329", fg_light = "#aa321f" }, - { name = ".gitmodules", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = ".gtkrc-2.0", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = ".gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = ".luaurc", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, - { name = ".mailmap", text = "󰊢", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = ".npmignore", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = ".npmrc", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = ".prettierrc", text = "", fg_dark = "#4285f4", fg_light = "#3264b7" }, - { name = ".settings.json", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = ".SRCINFO", text = "󰣇", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, - { name = ".vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = ".Xauthority", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".xinitrc", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".Xresources", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".xsession", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = ".zprofile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".zshenv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = ".zshrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "_gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = "_vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = "avif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "brewfile", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "bspwmrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, - { name = "build", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "build.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "build.zig.zon", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, - { name = "cantorrc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, - { name = "checkhealth", text = "󰓙", fg_dark = "#75b4fb", fg_light = "#3a5a7e" }, - { name = "cmakelists.txt", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "commit_editmsg", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, - { name = "compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "config", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "containerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "copying", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "copying.lesser", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "docker-compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "docker-compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "ext_typoscript_setup.txt", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, - { name = "favicon.ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "fp-info-cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "fp-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "FreeCAD.conf", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "gemfile$", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "gradle-wrapper.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "gradle.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "gradlew", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "groovy", text = "", fg_dark = "#4a687c", fg_light = "#384e5d" }, - { name = "gruntfile.babel.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gruntfile.coffee", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gruntfile.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gruntfile.ts", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "gtkrc", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "gulpfile.babel.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "gulpfile.coffee", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "gulpfile.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "gulpfile.ts", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "hyprland.conf", text = "", fg_dark = "#00aaae", fg_light = "#008082" }, - { name = "i3blocks.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, - { name = "i3status.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, - { name = "kalgebrarc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, - { name = "kdeglobals", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, - { name = "kdenlive-layoutsrc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kdenliverc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kritadisplayrc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "kritarc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "license", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, - { name = "lxde-rc.xml", text = "", fg_dark = "#909090", fg_light = "#606060" }, - { name = "lxqt.conf", text = "", fg_dark = "#0192d3", fg_light = "#016e9e" }, - { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "mix.lock", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "mpv.conf", text = "", fg_dark = "#3b1342", fg_light = "#3b1342" }, - { name = "node_modules", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = "package-lock.json", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, - { name = "package.json", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, - { name = "PKGBUILD", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, - { name = "platformio.ini", text = "", fg_dark = "#f6822b", fg_light = "#a4571d" }, - { name = "pom.xml", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, - { name = "procfile", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "PrusaSlicer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, - { name = "PrusaSlicerGcodeViewer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, - { name = "py.typed", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, - { name = "QtProject.conf", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "R", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, - { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, - { name = "rakefile", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "settings.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, - { name = "svelte.config.js", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, - { name = "sxhkdrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, - { name = "sym-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "tailwind.config.js", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "tailwind.config.mjs", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "tailwind.config.ts", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "tmux.conf", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, - { name = "tmux.conf.local", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, - { name = "tsconfig.json", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "unlicense", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, - { name = "vagrantfile$", text = "", fg_dark = "#1563ff", fg_light = "#104abf" }, - { name = "vlcrc", text = "󰕼", fg_dark = "#ee7a00", fg_light = "#9f5100" }, - { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "weston.ini", text = "", fg_dark = "#ffbb01", fg_light = "#805e00" }, - { name = "workspace", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "xmobarrc", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, - { name = "xmobarrc.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, - { name = "xmonad.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, - { name = "xorg.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, - { name = "xsettingsd.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".babelrc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = ".bash_profile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".bashrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".dockerignore", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = ".ds_store", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = ".editorconfig", text = "", fg_dark = "#fff2f2", fg_light = "#333030" }, + { name = ".env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, + { name = ".eslintignore", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, + { name = ".eslintrc", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" }, + { name = ".gitattributes", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gitconfig", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gitignore", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gitlab-ci.yml", text = "", fg_dark = "#e24329", fg_light = "#aa321f" }, + { name = ".gitmodules", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = ".gtkrc-2.0", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = ".gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = ".luaurc", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, + { name = ".mailmap", text = "󰊢", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = ".npmignore", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = ".npmrc", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = ".prettierrc", text = "", fg_dark = "#4285f4", fg_light = "#3264b7" }, + { name = ".settings.json", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = ".SRCINFO", text = "󰣇", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, + { name = ".vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = ".Xauthority", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".xinitrc", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".Xresources", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".xsession", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = ".zprofile", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".zshenv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = ".zshrc", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "_gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = "_vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = "avif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "brewfile", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "bspwmrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, + { name = "build", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "build.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "build.zig.zon", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, + { name = "cantorrc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, + { name = "checkhealth", text = "󰓙", fg_dark = "#75b4fb", fg_light = "#3a5a7e" }, + { name = "cmakelists.txt", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "commit_editmsg", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" }, + { name = "compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "config", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "containerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "copying", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "copying.lesser", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "docker-compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "docker-compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "ext_typoscript_setup.txt", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, + { name = "favicon.ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "fp-info-cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "fp-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "FreeCAD.conf", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "gemfile$", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "gradle-wrapper.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "gradle.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "gradlew", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "groovy", text = "", fg_dark = "#4a687c", fg_light = "#384e5d" }, + { name = "gruntfile.babel.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gruntfile.coffee", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gruntfile.js", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gruntfile.ts", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "gtkrc", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "gulpfile.babel.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "gulpfile.coffee", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "gulpfile.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "gulpfile.ts", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "hyprland.conf", text = "", fg_dark = "#00aaae", fg_light = "#008082" }, + { name = "i3blocks.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, + { name = "i3status.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" }, + { name = "kalgebrarc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, + { name = "kdeglobals", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" }, + { name = "kdenlive-layoutsrc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kdenliverc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kritadisplayrc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "kritarc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "license", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, + { name = "lxde-rc.xml", text = "", fg_dark = "#909090", fg_light = "#606060" }, + { name = "lxqt.conf", text = "", fg_dark = "#0192d3", fg_light = "#016e9e" }, + { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "mix.lock", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "mpv.conf", text = "", fg_dark = "#3b1342", fg_light = "#3b1342" }, + { name = "node_modules", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = "package-lock.json", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, + { name = "package.json", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" }, + { name = "PKGBUILD", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" }, + { name = "platformio.ini", text = "", fg_dark = "#f6822b", fg_light = "#a4571d" }, + { name = "pom.xml", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" }, + { name = "procfile", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "PrusaSlicer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" }, + { name = "py.typed", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, + { name = "QtProject.conf", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "R", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, + { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, + { name = "rakefile", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "settings.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" }, + { name = "svelte.config.js", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, + { name = "sxhkdrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" }, + { name = "sym-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "tailwind.config.js", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "tailwind.config.mjs", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "tailwind.config.ts", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "tmux.conf", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, + { name = "tmux.conf.local", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, + { name = "tsconfig.json", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "unlicense", text = "", fg_dark = "#d0bf41", fg_light = "#686020" }, + { name = "vagrantfile$", text = "", fg_dark = "#1563ff", fg_light = "#104abf" }, + { name = "vlcrc", text = "󰕼", fg_dark = "#ee7a00", fg_light = "#9f5100" }, + { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "weston.ini", text = "", fg_dark = "#ffbb01", fg_light = "#805e00" }, + { name = "workspace", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "xmobarrc", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, + { name = "xmobarrc.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, + { name = "xmonad.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" }, + { name = "xorg.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, + { name = "xsettingsd.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" }, ] exts = [ - { name = "3gp", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "3mf", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "7z", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "a", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, - { name = "aac", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "ai", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "aif", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "aiff", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "android", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, - { name = "ape", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "apk", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, - { name = "app", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "applescript", text = "", fg_dark = "#6d8085", fg_light = "#526064" }, - { name = "asc", text = "󰦝", fg_dark = "#576d7f", fg_light = "#41525f" }, - { name = "ass", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "astro", text = "", fg_dark = "#e23f67", fg_light = "#aa2f4d" }, - { name = "awk", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "azcli", text = "", fg_dark = "#0078d4", fg_light = "#005a9f" }, - { name = "bak", text = "󰁯", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "bash", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "bat", text = "", fg_dark = "#c1f12e", fg_light = "#40500f" }, - { name = "bazel", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "bib", text = "󱉟", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "bicep", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "bicepparam", text = "", fg_dark = "#9f74b3", fg_light = "#6a4d77" }, - { name = "bin", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "blade.php", text = "", fg_dark = "#f05340", fg_light = "#a0372b" }, - { name = "blend", text = "󰂫", fg_dark = "#ea7600", fg_light = "#9c4f00" }, - { name = "blp", text = "󰺾", fg_dark = "#5796e2", fg_light = "#3a6497" }, - { name = "bmp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "brep", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "bz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "bz2", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "bz3", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "bzl", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "c", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, - { name = "c++", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, - { name = "cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "cast", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "cbl", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "cc", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, - { name = "ccm", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, - { name = "cfg", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "cjs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "clj", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "cljc", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "cljd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cljs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cmake", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "cob", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "cobol", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "coffee", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "conf", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "config.ru", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "cp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cppm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cpy", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, - { name = "cr", text = "", fg_dark = "#c8c8c8", fg_light = "#434343" }, - { name = "crdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "cs", text = "󰌛", fg_dark = "#596706", fg_light = "#434d04" }, - { name = "csh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "cshtml", text = "󱦗", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "cson", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "csproj", text = "󰪮", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "css", text = "", fg_dark = "#42a5f5", fg_light = "#2c6ea3" }, - { name = "csv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "cts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cu", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "cue", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "cuh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "cxx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "cxxm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "d", text = "", fg_dark = "#427819", fg_light = "#325a13" }, - { name = "d.ts", text = "", fg_dark = "#d59855", fg_light = "#6a4c2a" }, - { name = "dart", text = "", fg_dark = "#03589c", fg_light = "#03589c" }, - { name = "db", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "dconf", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "desktop", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, - { name = "diff", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = "dll", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, - { name = "doc", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, - { name = "Dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, - { name = "docx", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, - { name = "dot", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, - { name = "download", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "drl", text = "", fg_dark = "#ffafaf", fg_light = "#553a3a" }, - { name = "dropbox", text = "", fg_dark = "#0061fe", fg_light = "#0049be" }, - { name = "dump", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "dwg", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "dxf", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "ebook", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, - { name = "edn", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "eex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "ejs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "el", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, - { name = "elc", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, - { name = "elf", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "elm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "eln", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, - { name = "env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, - { name = "eot", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "epp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, - { name = "epub", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, - { name = "erb", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "erl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, - { name = "ex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "exe", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "exs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "f#", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "f3d", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "f90", text = "󱈚", fg_dark = "#734f96", fg_light = "#563b70" }, - { name = "fbx", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "fcbak", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcmacro", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcmat", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcparam", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcscript", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcstd", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fcstd1", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fctb", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fctl", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, - { name = "fdmdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "fish", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "flac", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "flc", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "flf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "fnl", text = "", fg_dark = "#fff3d7", fg_light = "#33312b" }, - { name = "fs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "fsi", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "fsscript", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "fsx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "gcode", text = "󰐫", fg_dark = "#1471ad", fg_light = "#0f5582" }, - { name = "gd", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "gemspec", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "gif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "git", text = "", fg_dark = "#f14c28", fg_light = "#b5391e" }, - { name = "glb", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" }, - { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "go", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "godot", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "gql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, - { name = "graphql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, - { name = "gresource", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "gv", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, - { name = "gz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "h", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "haml", text = "", fg_dark = "#eaeae1", fg_light = "#2f2f2d" }, - { name = "hbs", text = "", fg_dark = "#f0772b", fg_light = "#a04f1d" }, - { name = "heex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "hex", text = "", fg_dark = "#2e63ff", fg_light = "#224abf" }, - { name = "hh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "hpp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "hrl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, - { name = "hs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "htm", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, - { name = "html", text = "", fg_dark = "#e44d26", fg_light = "#ab3a1c" }, - { name = "huff", text = "󰡘", fg_dark = "#4242c7", fg_light = "#4242c7" }, - { name = "hurl", text = "", fg_dark = "#ff0288", fg_light = "#bf0266" }, - { name = "hx", text = "", fg_dark = "#ea8220", fg_light = "#9c5715" }, - { name = "hxx", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "ical", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "icalendar", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "ics", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "ifb", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, - { name = "ifc", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "ige", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "iges", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "igs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "image", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, - { name = "img", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, - { name = "import", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "info", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, - { name = "ini", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "ino", text = "", fg_dark = "#56b6c2", fg_light = "#397981" }, - { name = "ipynb", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, - { name = "iso", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, - { name = "ixx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "java", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "jl", text = "", fg_dark = "#a270ba", fg_light = "#6c4b7c" }, - { name = "jpeg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "jpg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "json", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "json5", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "jsonc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "jwmrc", text = "", fg_dark = "#0078cd", fg_light = "#005a9a" }, - { name = "jxl", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "kbx", text = "󰯄", fg_dark = "#737672", fg_light = "#565856" }, - { name = "kdb", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, - { name = "kdbx", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, - { name = "kdenlive", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kdenlivetitle", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, - { name = "kicad_dru", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_mod", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_pcb", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_prl", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_pro", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_sch", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_sym", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "kicad_wks", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, - { name = "ko", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, - { name = "kpp", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "kra", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "krz", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, - { name = "ksh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "kt", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, - { name = "kts", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, - { name = "lck", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, - { name = "leex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "less", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, - { name = "lff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "lhs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "lib", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, - { name = "license", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "liquid", text = "", fg_dark = "#95bf47", fg_light = "#4a6024" }, - { name = "lock", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, - { name = "log", text = "󰌱", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, - { name = "lrc", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "lua", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, - { name = "luac", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, - { name = "luau", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, - { name = "m", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, - { name = "m3u", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "m3u8", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "m4a", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "m4v", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "magnet", text = "", fg_dark = "#a51b16", fg_light = "#a51b16" }, - { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "markdown", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, - { name = "material", text = "󰔉", fg_dark = "#b83998", fg_light = "#8a2b72" }, - { name = "md", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, - { name = "md5", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "mdx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "mint", text = "󰌪", fg_dark = "#87c095", fg_light = "#44604a" }, - { name = "mjs", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, - { name = "mk", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "mkv", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "ml", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "mli", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "mm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "mo", text = "∞", fg_dark = "#9772fb", fg_light = "#654ca7" }, - { name = "mobi", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, - { name = "mov", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "mp3", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "mp4", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "mpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "msf", text = "", fg_dark = "#137be1", fg_light = "#0e5ca9" }, - { name = "mts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "mustache", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "nfo", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, - { name = "nim", text = "", fg_dark = "#f3d400", fg_light = "#514700" }, - { name = "nix", text = "", fg_dark = "#7ebae4", fg_light = "#3f5d72" }, - { name = "nswag", text = "", fg_dark = "#85ea2d", fg_light = "#427516" }, - { name = "nu", text = ">", fg_dark = "#3aa675", fg_light = "#276f4e" }, - { name = "o", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "obj", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "ogg", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "opus", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "org", text = "", fg_dark = "#77aa99", fg_light = "#4f7166" }, - { name = "otf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "out", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, - { name = "part", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "patch", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, - { name = "pck", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "pcm", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, - { name = "pdf", text = "", fg_dark = "#b30b00", fg_light = "#b30b00" }, - { name = "php", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "pl", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "pls", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, - { name = "ply", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "pm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "png", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "po", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "pot", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "pp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, - { name = "ppt", text = "󰈧", fg_dark = "#cb4a32", fg_light = "#983826" }, - { name = "prisma", text = "", fg_dark = "#5a67d8", fg_light = "#444da2" }, - { name = "pro", text = "", fg_dark = "#e4b854", fg_light = "#725c2a" }, - { name = "ps1", text = "󰨊", fg_dark = "#4273ca", fg_light = "#325698" }, - { name = "psb", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "psd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "psd1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, - { name = "psm1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, - { name = "pub", text = "󰷖", fg_dark = "#e3c58e", fg_light = "#4c422f" }, - { name = "pxd", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, - { name = "pxi", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, - { name = "py", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, - { name = "pyc", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, - { name = "pyd", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, - { name = "pyi", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, - { name = "pyo", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, - { name = "pyx", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, - { name = "qm", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "qml", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "qrc", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "qss", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, - { name = "query", text = "", fg_dark = "#90a850", fg_light = "#607035" }, - { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, - { name = "rake", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "rar", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "razor", text = "󱦘", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "rb", text = "", fg_dark = "#701516", fg_light = "#701516" }, - { name = "res", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "resi", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, - { name = "rlib", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, - { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "rproj", text = "󰗆", fg_dark = "#358a5b", fg_light = "#286844" }, - { name = "rs", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, - { name = "rss", text = "", fg_dark = "#fb9d3b", fg_light = "#7e4e1e" }, - { name = "sass", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, - { name = "sbt", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "sc", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "scad", text = "", fg_dark = "#f9d72c", fg_light = "#53480f" }, - { name = "scala", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, - { name = "scm", text = "󰘧", fg_dark = "#eeeeee", fg_light = "#303030" }, - { name = "scss", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, - { name = "sh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, - { name = "sha1", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha224", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha256", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha384", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sha512", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, - { name = "sig", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "signature", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "skp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "sldasm", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "sldprt", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "slim", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, - { name = "sln", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = "slvs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "sml", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "so", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, - { name = "sol", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "spec.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "spec.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "spec.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "spec.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, - { name = "sql", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "sqlite", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "sqlite3", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, - { name = "srt", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "ssa", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "ste", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "step", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "stl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "stp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, - { name = "strings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "styl", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "sub", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, - { name = "sublime", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "suo", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = "sv", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "svelte", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, - { name = "svg", text = "󰜡", fg_dark = "#ffb13b", fg_light = "#80581e" }, - { name = "svh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "swift", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "t", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "tbc", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, - { name = "tcl", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, - { name = "templ", text = "", fg_dark = "#dbbd30", fg_light = "#6e5e18" }, - { name = "terminal", text = "", fg_dark = "#31b53e", fg_light = "#217929" }, - { name = "test.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, - { name = "test.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, - { name = "test.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "test.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, - { name = "tex", text = "", fg_dark = "#3d6117", fg_light = "#3d6117" }, - { name = "tf", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, - { name = "tfvars", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, - { name = "tgz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "tmux", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, - { name = "toml", text = "", fg_dark = "#9c4221", fg_light = "#753219" }, - { name = "torrent", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, - { name = "tres", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "tscn", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "tsconfig", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, - { name = "tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, - { name = "ttf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "twig", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "txt", text = "󰈙", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "txz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "typoscript", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, - { name = "ui", text = "", fg_dark = "#0c306e", fg_light = "#0c306e" }, - { name = "v", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vala", text = "", fg_dark = "#7239b3", fg_light = "#562b86" }, - { name = "vh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vhd", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vhdl", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vim", text = "", fg_dark = "#019833", fg_light = "#017226" }, - { name = "vsh", text = "", fg_dark = "#5d87bf", fg_light = "#3e5a7f" }, - { name = "vsix", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, - { name = "vue", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, - { name = "wasm", text = "", fg_dark = "#5c4cdb", fg_light = "#4539a4" }, - { name = "wav", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "webm", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, - { name = "webmanifest", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, - { name = "webp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, - { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "wma", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, - { name = "woff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "woff2", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, - { name = "wrl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "wrz", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, - { name = "x", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, - { name = "xaml", text = "󰙳", fg_dark = "#512bd4", fg_light = "#512bd4" }, - { name = "xcf", text = "", fg_dark = "#635b46", fg_light = "#4a4434" }, - { name = "xcplayground", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "xcstrings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, - { name = "xls", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, - { name = "xlsx", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, - { name = "xm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, - { name = "xml", text = "󰗀", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "xpi", text = "", fg_dark = "#ff1b01", fg_light = "#bf1401" }, - { name = "xul", text = "", fg_dark = "#e37933", fg_light = "#975122" }, - { name = "xz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "yaml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "yml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, - { name = "zig", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, - { name = "zip", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, - { name = "zsh", text = "", fg_dark = "#89e051", fg_light = "#447028" }, - { name = "zst", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "3gp", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "3mf", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "7z", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "a", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, + { name = "aac", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "ai", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "aif", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "aiff", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "android", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, + { name = "ape", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "apk", text = "", fg_dark = "#34a853", fg_light = "#277e3e" }, + { name = "app", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "applescript", text = "", fg_dark = "#6d8085", fg_light = "#526064" }, + { name = "asc", text = "󰦝", fg_dark = "#576d7f", fg_light = "#41525f" }, + { name = "ass", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "astro", text = "", fg_dark = "#e23f67", fg_light = "#aa2f4d" }, + { name = "awk", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "azcli", text = "", fg_dark = "#0078d4", fg_light = "#005a9f" }, + { name = "bak", text = "󰁯", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "bash", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "bat", text = "", fg_dark = "#c1f12e", fg_light = "#40500f" }, + { name = "bazel", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "bib", text = "󱉟", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "bicep", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "bicepparam", text = "", fg_dark = "#9f74b3", fg_light = "#6a4d77" }, + { name = "bin", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "blade.php", text = "", fg_dark = "#f05340", fg_light = "#a0372b" }, + { name = "blend", text = "󰂫", fg_dark = "#ea7600", fg_light = "#9c4f00" }, + { name = "blp", text = "󰺾", fg_dark = "#5796e2", fg_light = "#3a6497" }, + { name = "bmp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "brep", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "bz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "bz2", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "bz3", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "bzl", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "c", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, + { name = "c++", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, + { name = "cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "cast", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "cbl", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "cc", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, + { name = "ccm", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" }, + { name = "cfg", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "cjs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "clj", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "cljc", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "cljd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cljs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cmake", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "cob", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "cobol", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "coffee", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "conf", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "config.ru", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "cp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cppm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cpy", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" }, + { name = "cr", text = "", fg_dark = "#c8c8c8", fg_light = "#434343" }, + { name = "crdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "cs", text = "󰌛", fg_dark = "#596706", fg_light = "#434d04" }, + { name = "csh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "cshtml", text = "󱦗", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "cson", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "csproj", text = "󰪮", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "css", text = "", fg_dark = "#42a5f5", fg_light = "#2c6ea3" }, + { name = "csv", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "cts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cu", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "cue", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "cuh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "cxx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "cxxm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "d", text = "", fg_dark = "#427819", fg_light = "#325a13" }, + { name = "d.ts", text = "", fg_dark = "#d59855", fg_light = "#6a4c2a" }, + { name = "dart", text = "", fg_dark = "#03589c", fg_light = "#03589c" }, + { name = "db", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "dconf", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "desktop", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, + { name = "diff", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = "dll", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, + { name = "doc", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, + { name = "Dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" }, + { name = "docx", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" }, + { name = "dot", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, + { name = "download", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "drl", text = "", fg_dark = "#ffafaf", fg_light = "#553a3a" }, + { name = "dropbox", text = "", fg_dark = "#0061fe", fg_light = "#0049be" }, + { name = "dump", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "dwg", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "dxf", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "ebook", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, + { name = "edn", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "eex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "ejs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "el", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, + { name = "elc", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, + { name = "elf", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "elm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "eln", text = "", fg_dark = "#8172be", fg_light = "#61568e" }, + { name = "env", text = "", fg_dark = "#faf743", fg_light = "#32310d" }, + { name = "eot", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "epp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, + { name = "epub", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, + { name = "erb", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "erl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, + { name = "ex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "exe", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "exs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "f#", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "f3d", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "f90", text = "󱈚", fg_dark = "#734f96", fg_light = "#563b70" }, + { name = "fbx", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "fcbak", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcmacro", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcmat", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcparam", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcscript", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcstd", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fcstd1", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fctb", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fctl", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" }, + { name = "fdmdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "fish", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "flac", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "flc", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "flf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "fnl", text = "", fg_dark = "#fff3d7", fg_light = "#33312b" }, + { name = "fs", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "fsi", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "fsscript", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "fsx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "gcode", text = "󰐫", fg_dark = "#1471ad", fg_light = "#0f5582" }, + { name = "gd", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "gemspec", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "gif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "git", text = "", fg_dark = "#f14c28", fg_light = "#b5391e" }, + { name = "glb", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" }, + { name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "go", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "godot", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "gql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, + { name = "graphql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" }, + { name = "gresource", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "gv", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" }, + { name = "gz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "h", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "haml", text = "", fg_dark = "#eaeae1", fg_light = "#2f2f2d" }, + { name = "hbs", text = "", fg_dark = "#f0772b", fg_light = "#a04f1d" }, + { name = "heex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "hex", text = "", fg_dark = "#2e63ff", fg_light = "#224abf" }, + { name = "hh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "hpp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "hrl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" }, + { name = "hs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "htm", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, + { name = "html", text = "", fg_dark = "#e44d26", fg_light = "#ab3a1c" }, + { name = "huff", text = "󰡘", fg_dark = "#4242c7", fg_light = "#4242c7" }, + { name = "hurl", text = "", fg_dark = "#ff0288", fg_light = "#bf0266" }, + { name = "hx", text = "", fg_dark = "#ea8220", fg_light = "#9c5715" }, + { name = "hxx", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "ical", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "icalendar", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "ics", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "ifb", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" }, + { name = "ifc", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "ige", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "iges", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "igs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "image", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, + { name = "img", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, + { name = "import", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "info", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, + { name = "ini", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "ino", text = "", fg_dark = "#56b6c2", fg_light = "#397981" }, + { name = "ipynb", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, + { name = "iso", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" }, + { name = "ixx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "java", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "jl", text = "", fg_dark = "#a270ba", fg_light = "#6c4b7c" }, + { name = "jpeg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "jpg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "json", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "json5", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "jsonc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "jwmrc", text = "", fg_dark = "#0078cd", fg_light = "#005a9a" }, + { name = "jxl", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "kbx", text = "󰯄", fg_dark = "#737672", fg_light = "#565856" }, + { name = "kdb", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, + { name = "kdbx", text = "", fg_dark = "#529b34", fg_light = "#3e7427" }, + { name = "kdenlive", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kdenlivetitle", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" }, + { name = "kicad_dru", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_mod", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_pcb", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_prl", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_pro", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_sch", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_sym", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "kicad_wks", text = "", fg_dark = "#ffffff", fg_light = "#333333" }, + { name = "ko", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, + { name = "kpp", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "kra", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "krz", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" }, + { name = "ksh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "kt", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, + { name = "kts", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" }, + { name = "lck", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, + { name = "leex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "less", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" }, + { name = "lff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "lhs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "lib", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" }, + { name = "license", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "liquid", text = "", fg_dark = "#95bf47", fg_light = "#4a6024" }, + { name = "lock", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" }, + { name = "log", text = "󰌱", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, + { name = "lrc", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "lua", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, + { name = "luac", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" }, + { name = "luau", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" }, + { name = "m", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, + { name = "m3u", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "m3u8", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "m4a", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "m4v", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "magnet", text = "", fg_dark = "#a51b16", fg_light = "#a51b16" }, + { name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "markdown", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, + { name = "material", text = "󰔉", fg_dark = "#b83998", fg_light = "#8a2b72" }, + { name = "md", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" }, + { name = "md5", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "mdx", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "mint", text = "󰌪", fg_dark = "#87c095", fg_light = "#44604a" }, + { name = "mjs", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, + { name = "mk", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "mkv", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "ml", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "mli", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "mm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "mo", text = "∞", fg_dark = "#9772fb", fg_light = "#654ca7" }, + { name = "mobi", text = "", fg_dark = "#eab16d", fg_light = "#755836" }, + { name = "mov", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "mp3", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "mp4", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "mpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "msf", text = "", fg_dark = "#137be1", fg_light = "#0e5ca9" }, + { name = "mts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "mustache", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "nfo", text = "", fg_dark = "#ffffcd", fg_light = "#333329" }, + { name = "nim", text = "", fg_dark = "#f3d400", fg_light = "#514700" }, + { name = "nix", text = "", fg_dark = "#7ebae4", fg_light = "#3f5d72" }, + { name = "nswag", text = "", fg_dark = "#85ea2d", fg_light = "#427516" }, + { name = "nu", text = ">", fg_dark = "#3aa675", fg_light = "#276f4e" }, + { name = "o", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "obj", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "ogg", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "opus", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "org", text = "", fg_dark = "#77aa99", fg_light = "#4f7166" }, + { name = "otf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "out", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" }, + { name = "part", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "patch", text = "", fg_dark = "#41535b", fg_light = "#41535b" }, + { name = "pck", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "pcm", text = "", fg_dark = "#0075aa", fg_light = "#005880" }, + { name = "pdf", text = "", fg_dark = "#b30b00", fg_light = "#b30b00" }, + { name = "php", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "pl", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "pls", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" }, + { name = "ply", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "pm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "png", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "po", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "pot", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "pp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" }, + { name = "ppt", text = "󰈧", fg_dark = "#cb4a32", fg_light = "#983826" }, + { name = "prisma", text = "", fg_dark = "#5a67d8", fg_light = "#444da2" }, + { name = "pro", text = "", fg_dark = "#e4b854", fg_light = "#725c2a" }, + { name = "ps1", text = "󰨊", fg_dark = "#4273ca", fg_light = "#325698" }, + { name = "psb", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "psd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "psd1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, + { name = "psm1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" }, + { name = "pub", text = "󰷖", fg_dark = "#e3c58e", fg_light = "#4c422f" }, + { name = "pxd", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, + { name = "pxi", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, + { name = "py", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, + { name = "pyc", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, + { name = "pyd", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, + { name = "pyi", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" }, + { name = "pyo", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" }, + { name = "pyx", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" }, + { name = "qm", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "qml", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "qrc", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "qss", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" }, + { name = "query", text = "", fg_dark = "#90a850", fg_light = "#607035" }, + { name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" }, + { name = "rake", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "rar", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "razor", text = "󱦘", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "rb", text = "", fg_dark = "#701516", fg_light = "#701516" }, + { name = "res", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "resi", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, + { name = "rlib", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, + { name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "rproj", text = "󰗆", fg_dark = "#358a5b", fg_light = "#286844" }, + { name = "rs", text = "", fg_dark = "#dea584", fg_light = "#6f5242" }, + { name = "rss", text = "", fg_dark = "#fb9d3b", fg_light = "#7e4e1e" }, + { name = "sass", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, + { name = "sbt", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "sc", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "scad", text = "", fg_dark = "#f9d72c", fg_light = "#53480f" }, + { name = "scala", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" }, + { name = "scm", text = "󰘧", fg_dark = "#eeeeee", fg_light = "#303030" }, + { name = "scss", text = "", fg_dark = "#f55385", fg_light = "#a33759" }, + { name = "sh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" }, + { name = "sha1", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha224", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha256", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha384", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sha512", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" }, + { name = "sig", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "signature", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "skp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "sldasm", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "sldprt", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "slim", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" }, + { name = "sln", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = "slvs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "sml", text = "λ", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "so", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" }, + { name = "sol", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "spec.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "spec.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "spec.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "spec.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, + { name = "sql", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "sqlite", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "sqlite3", text = "", fg_dark = "#dad8d8", fg_light = "#494848" }, + { name = "srt", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "ssa", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "ste", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "step", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "stl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "stp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" }, + { name = "strings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "styl", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "sub", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" }, + { name = "sublime", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "suo", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = "sv", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "svelte", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" }, + { name = "svg", text = "󰜡", fg_dark = "#ffb13b", fg_light = "#80581e" }, + { name = "svh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "swift", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "t", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "tbc", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, + { name = "tcl", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" }, + { name = "templ", text = "", fg_dark = "#dbbd30", fg_light = "#6e5e18" }, + { name = "terminal", text = "", fg_dark = "#31b53e", fg_light = "#217929" }, + { name = "test.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" }, + { name = "test.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" }, + { name = "test.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "test.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, + { name = "tex", text = "", fg_dark = "#3d6117", fg_light = "#3d6117" }, + { name = "tf", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, + { name = "tfvars", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" }, + { name = "tgz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "tmux", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" }, + { name = "toml", text = "", fg_dark = "#9c4221", fg_light = "#753219" }, + { name = "torrent", text = "", fg_dark = "#44cda8", fg_light = "#226654" }, + { name = "tres", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "tscn", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "tsconfig", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, + { name = "tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" }, + { name = "ttf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "twig", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "txt", text = "󰈙", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "txz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "typoscript", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" }, + { name = "ui", text = "", fg_dark = "#0c306e", fg_light = "#0c306e" }, + { name = "v", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vala", text = "", fg_dark = "#7239b3", fg_light = "#562b86" }, + { name = "vh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vhd", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vhdl", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vim", text = "", fg_dark = "#019833", fg_light = "#017226" }, + { name = "vsh", text = "", fg_dark = "#5d87bf", fg_light = "#3e5a7f" }, + { name = "vsix", text = "", fg_dark = "#854cc7", fg_light = "#643995" }, + { name = "vue", text = "", fg_dark = "#8dc149", fg_light = "#466024" }, + { name = "wasm", text = "", fg_dark = "#5c4cdb", fg_light = "#4539a4" }, + { name = "wav", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "webm", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" }, + { name = "webmanifest", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" }, + { name = "webp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" }, + { name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "wma", text = "", fg_dark = "#00afff", fg_light = "#0075aa" }, + { name = "woff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "woff2", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" }, + { name = "wrl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "wrz", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" }, + { name = "x", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" }, + { name = "xaml", text = "󰙳", fg_dark = "#512bd4", fg_light = "#512bd4" }, + { name = "xcf", text = "", fg_dark = "#635b46", fg_light = "#4a4434" }, + { name = "xcplayground", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "xcstrings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" }, + { name = "xls", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, + { name = "xlsx", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" }, + { name = "xm", text = "", fg_dark = "#519aba", fg_light = "#36677c" }, + { name = "xml", text = "󰗀", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "xpi", text = "", fg_dark = "#ff1b01", fg_light = "#bf1401" }, + { name = "xul", text = "", fg_dark = "#e37933", fg_light = "#975122" }, + { name = "xz", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "yaml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "yml", text = "", fg_dark = "#6d8086", fg_light = "#526064" }, + { name = "zig", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" }, + { name = "zip", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, + { name = "zsh", text = "", fg_dark = "#89e051", fg_light = "#447028" }, + { name = "zst", text = "", fg_dark = "#eca517", fg_light = "#76520c" }, ] conds = [ - # Special files - { cond = "orphan", text = "" }, - { cond = "link", text = "" }, - { cond = "block", text = "" }, - { cond = "char", text = "" }, - { cond = "fifo", text = "" }, - { cond = "sock", text = "" }, - { cond = "sticky", text = "" }, - - # Fallback - { cond = "dir", text = "" }, - { cond = "exec", text = "" }, - { cond = "!dir", text = "" }, + # Special files + { cond = "orphan", text = "" }, + { cond = "link" , text = "" }, + { cond = "block" , text = "" }, + { cond = "char" , text = "" }, + { cond = "fifo" , text = "" }, + { cond = "sock" , text = "" }, + { cond = "sticky", text = "" }, + + # Fallback + { cond = "dir", text = "" }, + { cond = "exec", text = "" }, + { cond = "!dir", text = "" }, ] # : }}} diff --git a/yazi-config/preset/yazi.toml b/yazi-config/preset/yazi.toml index e0cc4f446..47b37cf23 100644 --- a/yazi-config/preset/yazi.toml +++ b/yazi-config/preset/yazi.toml @@ -3,223 +3,192 @@ "$schema" = "https://yazi-rs.github.io/schemas/yazi.json" [manager] -ratio = [1, 4, 3] -sort_by = "alphabetical" +ratio = [ 1, 4, 3 ] +sort_by = "alphabetical" sort_sensitive = false -sort_reverse = false +sort_reverse = false sort_dir_first = true -sort_translit = false -linemode = "none" -show_hidden = false -show_symlink = true -scrolloff = 5 -mouse_events = ["click", "scroll"] +sort_translit = false +linemode = "none" +show_hidden = false +show_symlink = true +scrolloff = 5 +mouse_events = [ "click", "scroll" ] [preview] -tab_size = 2 -max_width = 600 -max_height = 900 -cache_dir = "" -image_filter = "triangle" -image_quality = 75 -sixel_fraction = 15 -ueberzug_scale = 1 -ueberzug_offset = [0, 0, 0, 0] +tab_size = 2 +max_width = 600 +max_height = 900 +cache_dir = "" +image_filter = "triangle" +image_quality = 75 +sixel_fraction = 15 +ueberzug_scale = 1 +ueberzug_offset = [ 0, 0, 0, 0 ] [opener] edit = [ - { run = '${EDITOR:=vi} "$@"', desc = "$EDITOR", block = true, for = "unix" }, - { run = 'code "%*"', orphan = true, desc = "code", for = "windows" }, - { run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows" }, + { run = '${EDITOR:=vi} "$@"', desc = "$EDITOR", block = true, for = "unix" }, + { run = 'code "%*"', orphan = true, desc = "code", for = "windows" }, + { run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows" }, ] open = [ - { run = 'xdg-open "$1"', desc = "Open", for = "linux" }, - { run = 'open "$@"', desc = "Open", for = "macos" }, - { run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" }, + { run = 'xdg-open "$1"', desc = "Open", for = "linux" }, + { run = 'open "$@"', desc = "Open", for = "macos" }, + { run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" }, ] reveal = [ - { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" }, - { run = 'open -R "$1"', desc = "Reveal", for = "macos" }, - { run = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" }, - { run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, + { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" }, + { run = 'open -R "$1"', desc = "Reveal", for = "macos" }, + { run = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" }, + { run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, ] extract = [ - { run = 'unar "$1"', desc = "Extract here", for = "unix" }, - { run = 'unar "%1"', desc = "Extract here", for = "windows" }, + { run = 'unar "$1"', desc = "Extract here", for = "unix" }, + { run = 'unar "%1"', desc = "Extract here", for = "windows" }, ] play = [ - { run = 'mpv --force-window "$@"', orphan = true, for = "unix" }, - { run = 'mpv --force-window "%1"', orphan = true, for = "windows" }, - { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, + { run = 'mpv --force-window "$@"', orphan = true, for = "unix" }, + { run = 'mpv --force-window "%1"', orphan = true, for = "windows" }, + { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, ] [open] rules = [ - { name = "*/", use = [ - "edit", - "open", - "reveal", - ] }, - - { mime = "text/*", use = [ - "edit", - "reveal", - ] }, - { mime = "image/*", use = [ - "open", - "reveal", - ] }, - { mime = "{audio,video}/*", use = [ - "play", - "reveal", - ] }, - { mime = "inode/x-empty", use = [ - "edit", - "reveal", - ] }, - - { mime = "application/{,g}zip", use = [ - "extract", - "reveal", - ] }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [ - "extract", - "reveal", - ] }, - - { mime = "application/json", use = [ - "edit", - "reveal", - ] }, - { mime = "*/javascript", use = [ - "edit", - "reveal", - ] }, - - { name = "*", use = [ - "open", - "reveal", - ] }, + { name = "*/", use = [ "edit", "open", "reveal" ] }, + + { mime = "text/*", use = [ "edit", "reveal" ] }, + { mime = "image/*", use = [ "open", "reveal" ] }, + { mime = "{audio,video}/*", use = [ "play", "reveal" ] }, + { mime = "inode/x-empty", use = [ "edit", "reveal" ] }, + + { mime = "application/{,g}zip", use = [ "extract", "reveal" ] }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [ "extract", "reveal" ] }, + + { mime = "application/json", use = [ "edit", "reveal" ] }, + { mime = "*/javascript", use = [ "edit", "reveal" ] }, + + { name = "*", use = [ "open", "reveal" ] }, ] [tasks] -micro_workers = 10 -macro_workers = 25 -bizarre_retry = 5 -image_alloc = 536870912 # 512MB -image_bound = [0, 0] +micro_workers = 10 +macro_workers = 25 +bizarre_retry = 5 +image_alloc = 536870912 # 512MB +image_bound = [ 0, 0 ] suppress_preload = false [plugin] fetchers = [ - # Mimetype - { id = "mime", name = "*", cond = "!mime", run = "mime", prio = "high" }, + # Mimetype + { id = "mime", name = "*", cond = "!mime", run = "mime", prio = "high" }, ] preloaders = [ - # Image - { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # PDF - { mime = "application/pdf", run = "pdf" }, - # Font - { mime = "font/*", run = "font" }, - { mime = "application/vnd.ms-opentype", run = "font" }, + # Image + { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/vnd.ms-opentype", run = "font" }, ] previewers = [ - { name = "*/", run = "folder", sync = true }, - # Code - { mime = "text/*", run = "code" }, - { mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" }, - # JSON - { mime = "application/json", run = "json" }, - # Image - { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # PDF - { mime = "application/pdf", run = "pdf" }, - # Archive - { mime = "application/{,g}zip", run = "archive" }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "archive" }, - # Font - { mime = "font/*", run = "font" }, - { mime = "application/vnd.ms-opentype", run = "font" }, - # Fallback - { name = "*", run = "file" }, + { name = "*/", run = "folder", sync = true }, + # Code + { mime = "text/*", run = "code" }, + { mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" }, + # JSON + { mime = "application/json", run = "json" }, + # Image + { mime = "image/{heic,jxl,svg+xml}", run = "magick" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Archive + { mime = "application/{,g}zip", run = "archive" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "archive" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/vnd.ms-opentype", run = "font" }, + # Fallback + { name = "*", run = "file" }, ] [input] cursor_blink = true # cd -cd_title = "Change directory:" +cd_title = "Change directory:" cd_origin = "top-center" -cd_offset = [0, 2, 50, 3] +cd_offset = [ 0, 2, 50, 3 ] # create -create_title = "Create:" +create_title = "Create:" create_origin = "top-center" -create_offset = [0, 2, 50, 3] +create_offset = [ 0, 2, 50, 3 ] # rename -rename_title = "Rename:" +rename_title = "Rename:" rename_origin = "hovered" -rename_offset = [0, 1, 50, 3] +rename_offset = [ 0, 1, 50, 3 ] # trash -trash_title = "Move {n} selected file{s} to trash? (y/N)" -trash_origin = "top-center" -trash_offset = [0, 2, 50, 3] +trash_title = "Move {n} selected file{s} to trash? (y/N)" +trash_origin = "top-center" +trash_offset = [ 0, 2, 50, 3 ] # delete -delete_title = "Delete {n} selected file{s} permanently? (y/N)" -delete_origin = "top-center" -delete_offset = [0, 2, 50, 3] +delete_title = "Delete {n} selected file{s} permanently? (y/N)" +delete_origin = "top-center" +delete_offset = [ 0, 2, 50, 3 ] # filter -filter_title = "Filter:" +filter_title = "Filter:" filter_origin = "top-center" -filter_offset = [0, 2, 50, 3] +filter_offset = [ 0, 2, 50, 3 ] # find -find_title = ["Find next:", "Find previous:"] +find_title = [ "Find next:", "Find previous:" ] find_origin = "top-center" -find_offset = [0, 2, 50, 3] +find_offset = [ 0, 2, 50, 3 ] # search -search_title = "Search via {n}:" +search_title = "Search via {n}:" search_origin = "top-center" -search_offset = [0, 2, 50, 3] +search_offset = [ 0, 2, 50, 3 ] # shell -shell_title = ["Shell:", "Shell (block):"] +shell_title = [ "Shell:", "Shell (block):" ] shell_origin = "top-center" -shell_offset = [0, 2, 50, 3] +shell_offset = [ 0, 2, 50, 3 ] # overwrite -overwrite_title = "Overwrite an existing file? (y/N)" +overwrite_title = "Overwrite an existing file? (y/N)" overwrite_origin = "top-center" -overwrite_offset = [0, 2, 50, 3] +overwrite_offset = [ 0, 2, 50, 3 ] # quit -quit_title = "{n} task{s} running, sure to quit? (y/N)" +quit_title = "{n} task{s} running, sure to quit? (y/N)" quit_origin = "top-center" -quit_offset = [0, 2, 50, 3] +quit_offset = [ 0, 2, 50, 3 ] [select] -open_title = "Open with:" +open_title = "Open with:" open_origin = "hovered" -open_offset = [0, 1, 50, 7] +open_offset = [ 0, 1, 50, 7 ] [which] -sort_by = "none" +sort_by = "none" sort_sensitive = false -sort_reverse = false -sort_translit = false +sort_reverse = false +sort_translit = false [log] enabled = false From cfe35cc691c590b6db893fcd8ba7f3c78b1786f4 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Thu, 13 Jun 2024 21:13:28 +0800 Subject: [PATCH 4/7] Format files Signed-off-by: Xuanwo --- yazi-config/src/lib.rs | 3 +- yazi-config/src/schemes/schemes.rs | 11 ++-- yazi-shared/src/fs/file.rs | 40 ++++--------- yazi-shared/src/fs/schemes.rs | 7 ++- yazi-shared/src/fs/url.rs | 94 ++++++++---------------------- 5 files changed, 47 insertions(+), 108 deletions(-) diff --git a/yazi-config/src/lib.rs b/yazi-config/src/lib.rs index 4dc717d64..5b0a16159 100644 --- a/yazi-config/src/lib.rs +++ b/yazi-config/src/lib.rs @@ -19,13 +19,14 @@ pub mod theme; mod validation; pub mod which; -use crate::schemes::Schemes; pub use layout::*; pub(crate) use pattern::*; pub(crate) use preset::*; pub use priority::*; use yazi_shared::fs::SCHEMES; +use crate::schemes::Schemes; + static MERGED_YAZI: RoCell = RoCell::new(); static MERGED_KEYMAP: RoCell = RoCell::new(); static MERGED_THEME: RoCell = RoCell::new(); diff --git a/yazi-config/src/schemes/schemes.rs b/yazi-config/src/schemes/schemes.rs index 615c7600f..841f2398b 100644 --- a/yazi-config/src/schemes/schemes.rs +++ b/yazi-config/src/schemes/schemes.rs @@ -1,6 +1,7 @@ +use std::collections::HashMap; + use anyhow::Result; use serde::{Deserialize, Deserializer}; -use std::collections::HashMap; use crate::MERGED_YAZI; @@ -11,9 +12,7 @@ pub struct Schemes { } impl Default for Schemes { - fn default() -> Self { - toml::from_str(&MERGED_YAZI).unwrap() - } + fn default() -> Self { toml::from_str(&MERGED_YAZI).unwrap() } } impl Schemes { @@ -47,8 +46,8 @@ impl<'de> Deserialize<'de> for Schemes { /// Scheme in configuration file. #[derive(Debug, Deserialize)] pub struct Scheme { - pub name: String, + pub name: String, #[serde(rename = "type")] - pub typ: String, + pub typ: String, pub config: HashMap, } diff --git a/yazi-shared/src/fs/file.rs b/yazi-shared/src/fs/file.rs index 9156a39fe..4488c4c40 100644 --- a/yazi-shared/src/fs/file.rs +++ b/yazi-shared/src/fs/file.rs @@ -1,31 +1,23 @@ -use std::ops::Add; -use std::time::{Duration, SystemTime}; -use std::{cell::Cell, ffi::OsStr, fs::Metadata, ops::Deref}; +use std::{cell::Cell, ffi::OsStr, fs::Metadata, ops::{Add, Deref}, time::{Duration, SystemTime}}; use anyhow::{anyhow, Result}; use tokio::fs; -use crate::fs::SCHEMES; -use crate::{ - fs::{Cha, ChaKind, Url}, - theme::IconCache, -}; +use crate::{fs::{Cha, ChaKind, Url, SCHEMES}, theme::IconCache}; #[derive(Clone, Debug, Default)] pub struct File { - pub url: Url, - pub cha: Cha, + pub url: Url, + pub cha: Cha, pub link_to: Option, - pub icon: Cell, + pub icon: Cell, } impl Deref for File { type Target = Cha; #[inline] - fn deref(&self) -> &Self::Target { - &self.cha - } + fn deref(&self) -> &Self::Target { &self.cha } } impl File { @@ -102,30 +94,20 @@ impl File { } #[inline] - pub fn from_dummy(url: &Url) -> Self { - Self { url: url.to_owned(), ..Default::default() } - } + pub fn from_dummy(url: &Url) -> Self { Self { url: url.to_owned(), ..Default::default() } } } impl File { // --- Url #[inline] - pub fn url(&self) -> Url { - self.url.clone() - } + pub fn url(&self) -> Url { self.url.clone() } #[inline] - pub fn name(&self) -> Option<&OsStr> { - self.url.file_name() - } + pub fn name(&self) -> Option<&OsStr> { self.url.file_name() } #[inline] - pub fn stem(&self) -> Option<&OsStr> { - self.url.file_stem() - } + pub fn stem(&self) -> Option<&OsStr> { self.url.file_stem() } #[inline] - pub fn parent(&self) -> Option { - self.url.parent_url() - } + pub fn parent(&self) -> Option { self.url.parent_url() } } diff --git a/yazi-shared/src/fs/schemes.rs b/yazi-shared/src/fs/schemes.rs index d9b548bd7..84954d466 100644 --- a/yazi-shared/src/fs/schemes.rs +++ b/yazi-shared/src/fs/schemes.rs @@ -1,8 +1,9 @@ -use crate::RoCell; +use std::{collections::HashMap, str::FromStr}; + use anyhow::{anyhow, Result}; use opendal::Operator; -use std::collections::HashMap; -use std::str::FromStr; + +use crate::RoCell; /// SCHEMES is the read only cell of schemes that already loaded. pub static SCHEMES: RoCell = RoCell::new(); diff --git a/yazi-shared/src/fs/url.rs b/yazi-shared/src/fs/url.rs index 8a1bc752a..f30cc2873 100644 --- a/yazi-shared/src/fs/url.rs +++ b/yazi-shared/src/fs/url.rs @@ -1,9 +1,4 @@ -use std::{ - ffi::{OsStr, OsString}, - fmt::{Debug, Display, Formatter}, - ops::{Deref, DerefMut}, - path::{Path, PathBuf}, -}; +use std::{ffi::{OsStr, OsString}, fmt::{Debug, Display, Formatter}, ops::{Deref, DerefMut}, path::{Path, PathBuf}}; use percent_encoding::{percent_decode_str, percent_encode, AsciiSet, CONTROLS}; use serde::{Deserialize, Serialize}; @@ -13,8 +8,8 @@ const ENCODE_SET: &AsciiSet = &CONTROLS.add(b'#'); #[derive(Clone, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct Url { scheme: UrlScheme, - path: PathBuf, - frag: String, + path: PathBuf, + frag: String, } #[derive(Clone, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] @@ -29,51 +24,35 @@ pub enum UrlScheme { impl Deref for Url { type Target = PathBuf; - fn deref(&self) -> &Self::Target { - &self.path - } + fn deref(&self) -> &Self::Target { &self.path } } impl DerefMut for Url { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.path - } + fn deref_mut(&mut self) -> &mut Self::Target { &mut self.path } } impl Debug for Url { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self.path.display()) - } + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!(f, "{}", self.path.display()) } } impl From for Url { - fn from(path: PathBuf) -> Self { - Self { path, ..Default::default() } - } + fn from(path: PathBuf) -> Self { Self { path, ..Default::default() } } } impl From<&PathBuf> for Url { - fn from(path: &PathBuf) -> Self { - Self::from(path.clone()) - } + fn from(path: &PathBuf) -> Self { Self::from(path.clone()) } } impl From<&Path> for Url { - fn from(path: &Path) -> Self { - Self::from(path.to_path_buf()) - } + fn from(path: &Path) -> Self { Self::from(path.to_path_buf()) } } impl From for Url { - fn from(path: String) -> Self { - Self::from(path.as_str()) - } + fn from(path: String) -> Self { Self::from(path.as_str()) } } impl From<&String> for Url { - fn from(path: &String) -> Self { - Self::from(path.as_str()) - } + fn from(path: &String) -> Self { Self::from(path.as_str()) } } impl From<&str> for Url { @@ -107,21 +86,15 @@ impl From<&str> for Url { } impl AsRef for Url { - fn as_ref(&self) -> &Url { - self - } + fn as_ref(&self) -> &Url { self } } impl AsRef for Url { - fn as_ref(&self) -> &Path { - &self.path - } + fn as_ref(&self) -> &Path { &self.path } } impl AsRef for Url { - fn as_ref(&self) -> &OsStr { - self.path.as_os_str() - } + fn as_ref(&self) -> &OsStr { self.path.as_os_str() } } impl Display for Url { @@ -175,9 +148,7 @@ impl Url { } #[inline] - pub fn into_os_string(self) -> OsString { - self.path.into_os_string() - } + pub fn into_os_string(self) -> OsString { self.path.into_os_string() } #[cfg(unix)] #[inline] @@ -189,14 +160,10 @@ impl Url { impl Url { // --- Scheme #[inline] - pub fn is_regular(&self) -> bool { - self.scheme == UrlScheme::Regular - } + pub fn is_regular(&self) -> bool { self.scheme == UrlScheme::Regular } #[inline] - pub fn to_regular(&self) -> Self { - self.clone().into_regular() - } + pub fn to_regular(&self) -> Self { self.clone().into_regular() } #[inline] pub fn into_regular(mut self) -> Self { @@ -205,14 +172,10 @@ impl Url { } #[inline] - pub fn is_search(&self) -> bool { - self.scheme == UrlScheme::Search - } + pub fn is_search(&self) -> bool { self.scheme == UrlScheme::Search } #[inline] - pub fn to_search(&self, frag: String) -> Self { - self.clone().into_search(frag) - } + pub fn to_search(&self, frag: String) -> Self { self.clone().into_search(frag) } #[inline] pub fn into_search(mut self, frag: String) -> Self { @@ -222,14 +185,10 @@ impl Url { } #[inline] - pub fn is_archive(&self) -> bool { - self.scheme == UrlScheme::Archive - } + pub fn is_archive(&self) -> bool { self.scheme == UrlScheme::Archive } #[inline] - pub fn to_archive(&self) -> Self { - self.clone().into_archive() - } + pub fn to_archive(&self) -> Self { self.clone().into_archive() } #[inline] pub fn into_archive(mut self) -> Self { @@ -239,7 +198,8 @@ impl Url { /// Check and fetch remote scheme. /// - /// Returns None if current url is not remote, otherwise returns `Some(scheme)` + /// Returns None if current url is not remote, otherwise returns + /// `Some(scheme)` #[inline] pub fn is_remote(&self) -> Option<&str> { match &self.scheme { @@ -250,15 +210,11 @@ impl Url { // --- Path #[inline] - pub fn set_path(&mut self, path: PathBuf) { - self.path = path; - } + pub fn set_path(&mut self, path: PathBuf) { self.path = path; } // --- Frag #[inline] - pub fn frag(&self) -> &str { - &self.frag - } + pub fn frag(&self) -> &str { &self.frag } } impl From<&str> for UrlScheme { From 64cede1fed917da95d4596094530d86ea45a2392 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Fri, 14 Jun 2024 16:33:15 +0800 Subject: [PATCH 5/7] Load schemes from `$XDG_STATE/yazi/schemes.toml` Signed-off-by: Xuanwo --- yazi-config/src/schemes/schemes.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/yazi-config/src/schemes/schemes.rs b/yazi-config/src/schemes/schemes.rs index 841f2398b..6f235fd8a 100644 --- a/yazi-config/src/schemes/schemes.rs +++ b/yazi-config/src/schemes/schemes.rs @@ -3,8 +3,6 @@ use std::collections::HashMap; use anyhow::Result; use serde::{Deserialize, Deserializer}; -use crate::MERGED_YAZI; - /// Schemes in configuration file. #[derive(Debug)] pub struct Schemes { @@ -12,7 +10,12 @@ pub struct Schemes { } impl Default for Schemes { - fn default() -> Self { toml::from_str(&MERGED_YAZI).unwrap() } + fn default() -> Self { + let schemes_path = yazi_shared::Xdg::state_dir().join("schemes.toml"); + // Ignore any errors, as it's fine to have an empty file. + let schemes_content = std::fs::read_to_string(&schemes_path).unwrap_or_default(); + toml::from_str(&schemes_content).unwrap() + } } impl Schemes { @@ -46,8 +49,8 @@ impl<'de> Deserialize<'de> for Schemes { /// Scheme in configuration file. #[derive(Debug, Deserialize)] pub struct Scheme { - pub name: String, + pub name: String, #[serde(rename = "type")] - pub typ: String, + pub typ: String, pub config: HashMap, } From d19e9d75feb707116a23641cb1de8c70217a3644 Mon Sep 17 00:00:00 2001 From: sxyazi Date: Fri, 14 Jun 2024 22:46:16 +0800 Subject: [PATCH 6/7] Rebase --- yazi-config/Cargo.toml | 2 +- yazi-shared/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/yazi-config/Cargo.toml b/yazi-config/Cargo.toml index a700f9a51..0e4f5ace9 100644 --- a/yazi-config/Cargo.toml +++ b/yazi-config/Cargo.toml @@ -18,9 +18,9 @@ bitflags = "2.5.0" crossterm = "0.27.0" globset = "0.4.14" indexmap = "2.2.6" +opendal = "0.47.0" ratatui = "0.26.3" serde = { version = "1.0.203", features = [ "derive" ] } shell-words = "1.1.0" toml = { version = "0.8.14", features = [ "preserve_order" ] } validator = { version = "0.18.1", features = [ "derive" ] } -opendal = "0.47.0" \ No newline at end of file diff --git a/yazi-shared/Cargo.toml b/yazi-shared/Cargo.toml index fd1748ce9..9aa2181df 100644 --- a/yazi-shared/Cargo.toml +++ b/yazi-shared/Cargo.toml @@ -16,6 +16,7 @@ crossterm = "0.27.0" dirs = "5.0.1" filetime = "0.2.23" futures = "0.3.30" +opendal = "0.47.0" parking_lot = "0.12.3" percent-encoding = "2.3.1" ratatui = "0.26.3" @@ -23,7 +24,6 @@ regex = "1.10.5" serde = { version = "1.0.203", features = [ "derive" ] } shell-words = "1.1.0" tokio = { version = "1.38.0", features = [ "full" ] } -opendal = "0.47.0" # Logging tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } From 4d4a260673d23b3bfe10dac804e3092c213f3904 Mon Sep 17 00:00:00 2001 From: sxyazi Date: Fri, 14 Jun 2024 23:53:20 +0800 Subject: [PATCH 7/7] Partial refactor --- Cargo.lock | 13 ++++++ cspell.json | 2 +- yazi-config/src/lib.rs | 8 ---- yazi-config/src/schemes/mod.rs | 3 -- yazi-config/src/schemes/schemes.rs | 56 ---------------------- yazi-fm/Cargo.toml | 1 + yazi-fs/Cargo.toml | 19 ++++++++ yazi-fs/src/lib.rs | 3 ++ yazi-fs/src/providers/mod.rs | 7 +++ yazi-fs/src/providers/provider.rs | 20 ++++++++ yazi-fs/src/providers/providers.rs | 47 +++++++++++++++++++ yazi-shared/src/fs/file.rs | 74 +++++++++++++++--------------- yazi-shared/src/fs/mod.rs | 2 - yazi-shared/src/fs/schemes.rs | 33 ------------- 14 files changed, 149 insertions(+), 139 deletions(-) delete mode 100644 yazi-config/src/schemes/mod.rs delete mode 100644 yazi-config/src/schemes/schemes.rs create mode 100644 yazi-fs/Cargo.toml create mode 100644 yazi-fs/src/lib.rs create mode 100644 yazi-fs/src/providers/mod.rs create mode 100644 yazi-fs/src/providers/provider.rs create mode 100644 yazi-fs/src/providers/providers.rs delete mode 100644 yazi-shared/src/fs/schemes.rs diff --git a/Cargo.lock b/Cargo.lock index 493ecafd1..0836a497b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3281,11 +3281,24 @@ dependencies = [ "yazi-config", "yazi-core", "yazi-dds", + "yazi-fs", "yazi-plugin", "yazi-proxy", "yazi-shared", ] +[[package]] +name = "yazi-fs" +version = "0.2.5" +dependencies = [ + "anyhow", + "opendal", + "serde", + "tokio", + "toml", + "yazi-shared", +] + [[package]] name = "yazi-plugin" version = "0.2.5" diff --git a/cspell.json b/cspell.json index c7b1bfd32..bbe1650b1 100644 --- a/cspell.json +++ b/cspell.json @@ -1 +1 @@ -{"language":"en","version":"0.2","flagWords":[],"words":["Punct","KEYMAP","splitn","crossterm","YAZI","unar","peekable","ratatui","syntect","pbpaste","pbcopy","ffmpegthumbnailer","oneshot","Posix","Lsar","XADDOS","zoxide","cands","Deque","precache","imageops","IFBLK","IFCHR","IFDIR","IFIFO","IFLNK","IFMT","IFSOCK","IRGRP","IROTH","IRUSR","ISGID","ISUID","ISVTX","IWGRP","IWOTH","IWUSR","IXGRP","IXOTH","IXUSR","libc","winsize","TIOCGWINSZ","xpixel","ypixel","ioerr","appender","Catppuccin","macchiato","gitmodules","Dotfiles","bashprofile","vimrc","flac","webp","exiftool","mediainfo","ripgrep","nvim","indexmap","indexmap","unwatch","canonicalize","serde","fsevent","Ueberzug","iterm","wezterm","sixel","chafa","ueberzugpp","️ Überzug","️ Überzug","Konsole","Alacritty","Überzug","pkgs","paru","unarchiver","pdftoppm","poppler","prebuild","singlefile","jpegopt","EXIF","rustfmt","mktemp","nanos","xclip","xsel","natord","Mintty","nixos","nixpkgs","SIGTSTP","SIGCONT","SIGCONT","mlua","nonstatic","userdata","metatable","natsort","backstack","luajit","Succ","Succ","cand","fileencoding","foldmethod","lightgreen","darkgray","lightred","lightyellow","lightcyan","nushell","msvc","aarch","linemode","sxyazi","rsplit","ZELLIJ","bitflags","bitflags","USERPROFILE","Neovim","vergen","gitcl","Renderable","preloaders","prec","imagesize","Upserting","prio","Ghostty","Catmull","Lanczos","cmds","unyank","scrolloff","headsup","unsub","uzers","scopeguard","SPDLOG","globset","filetime","magick","magick","prefetcher","Prework","prefetchers","PREWORKERS","conds","translit","rxvt","Urxvt","realpath"]} \ No newline at end of file +{"words":["Punct","KEYMAP","splitn","crossterm","YAZI","unar","peekable","ratatui","syntect","pbpaste","pbcopy","ffmpegthumbnailer","oneshot","Posix","Lsar","XADDOS","zoxide","cands","Deque","precache","imageops","IFBLK","IFCHR","IFDIR","IFIFO","IFLNK","IFMT","IFSOCK","IRGRP","IROTH","IRUSR","ISGID","ISUID","ISVTX","IWGRP","IWOTH","IWUSR","IXGRP","IXOTH","IXUSR","libc","winsize","TIOCGWINSZ","xpixel","ypixel","ioerr","appender","Catppuccin","macchiato","gitmodules","Dotfiles","bashprofile","vimrc","flac","webp","exiftool","mediainfo","ripgrep","nvim","indexmap","indexmap","unwatch","canonicalize","serde","fsevent","Ueberzug","iterm","wezterm","sixel","chafa","ueberzugpp","️ Überzug","️ Überzug","Konsole","Alacritty","Überzug","pkgs","paru","unarchiver","pdftoppm","poppler","prebuild","singlefile","jpegopt","EXIF","rustfmt","mktemp","nanos","xclip","xsel","natord","Mintty","nixos","nixpkgs","SIGTSTP","SIGCONT","SIGCONT","mlua","nonstatic","userdata","metatable","natsort","backstack","luajit","Succ","Succ","cand","fileencoding","foldmethod","lightgreen","darkgray","lightred","lightyellow","lightcyan","nushell","msvc","aarch","linemode","sxyazi","rsplit","ZELLIJ","bitflags","bitflags","USERPROFILE","Neovim","vergen","gitcl","Renderable","preloaders","prec","imagesize","Upserting","prio","Ghostty","Catmull","Lanczos","cmds","unyank","scrolloff","headsup","unsub","uzers","scopeguard","SPDLOG","globset","filetime","magick","magick","prefetcher","Prework","prefetchers","PREWORKERS","conds","translit","rxvt","Urxvt","realpath","opendal"],"language":"en","flagWords":[],"version":"0.2"} \ No newline at end of file diff --git a/yazi-config/src/lib.rs b/yazi-config/src/lib.rs index 5b0a16159..513f88fb1 100644 --- a/yazi-config/src/lib.rs +++ b/yazi-config/src/lib.rs @@ -13,7 +13,6 @@ pub mod popup; mod preset; pub mod preview; mod priority; -pub mod schemes; mod tasks; pub mod theme; mod validation; @@ -23,9 +22,6 @@ pub use layout::*; pub(crate) use pattern::*; pub(crate) use preset::*; pub use priority::*; -use yazi_shared::fs::SCHEMES; - -use crate::schemes::Schemes; static MERGED_YAZI: RoCell = RoCell::new(); static MERGED_KEYMAP: RoCell = RoCell::new(); @@ -65,9 +61,5 @@ pub fn init() -> anyhow::Result<()> { SELECT.with(Default::default); WHICH.with(Default::default); - // Load schemes. - let schemes = Schemes::default().make()?; - SCHEMES.init(schemes); - Ok(()) } diff --git a/yazi-config/src/schemes/mod.rs b/yazi-config/src/schemes/mod.rs deleted file mode 100644 index 891965a13..000000000 --- a/yazi-config/src/schemes/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod schemes; - -pub use schemes::*; diff --git a/yazi-config/src/schemes/schemes.rs b/yazi-config/src/schemes/schemes.rs deleted file mode 100644 index 6f235fd8a..000000000 --- a/yazi-config/src/schemes/schemes.rs +++ /dev/null @@ -1,56 +0,0 @@ -use std::collections::HashMap; - -use anyhow::Result; -use serde::{Deserialize, Deserializer}; - -/// Schemes in configuration file. -#[derive(Debug)] -pub struct Schemes { - pub rules: Vec, -} - -impl Default for Schemes { - fn default() -> Self { - let schemes_path = yazi_shared::Xdg::state_dir().join("schemes.toml"); - // Ignore any errors, as it's fine to have an empty file. - let schemes_content = std::fs::read_to_string(&schemes_path).unwrap_or_default(); - toml::from_str(&schemes_content).unwrap() - } -} - -impl Schemes { - /// Consume loaded config to build yazi_shared::fs::Schemes. - pub fn make(self) -> Result { - yazi_shared::fs::Schemes::from_iter(self.rules.into_iter().map(|s| (s.name, s.typ, s.config))) - } -} - -impl<'de> Deserialize<'de> for Schemes { - fn deserialize(deserializer: D) -> std::result::Result - where - D: Deserializer<'de>, - { - #[derive(Deserialize, Default)] - #[serde(default)] - struct Outer { - schemes: Shadow, - } - #[derive(Deserialize, Default)] - struct Shadow { - rules: Vec, - } - - let outer = Outer::deserialize(deserializer)?; - - Ok(Self { rules: outer.schemes.rules }) - } -} - -/// Scheme in configuration file. -#[derive(Debug, Deserialize)] -pub struct Scheme { - pub name: String, - #[serde(rename = "type")] - pub typ: String, - pub config: HashMap, -} diff --git a/yazi-fm/Cargo.toml b/yazi-fm/Cargo.toml index eaab54780..22351ecea 100644 --- a/yazi-fm/Cargo.toml +++ b/yazi-fm/Cargo.toml @@ -18,6 +18,7 @@ yazi-boot = { path = "../yazi-boot", version = "0.2.5" } yazi-config = { path = "../yazi-config", version = "0.2.5" } yazi-core = { path = "../yazi-core", version = "0.2.5" } yazi-dds = { path = "../yazi-dds", version = "0.2.5" } +yazi-fs = { path = "../yazi-fs", version = "0.2.5" } yazi-plugin = { path = "../yazi-plugin", version = "0.2.5" } yazi-proxy = { path = "../yazi-proxy", version = "0.2.5" } yazi-shared = { path = "../yazi-shared", version = "0.2.5" } diff --git a/yazi-fs/Cargo.toml b/yazi-fs/Cargo.toml new file mode 100644 index 000000000..15b342a5f --- /dev/null +++ b/yazi-fs/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "yazi-fs" +version = "0.2.5" +edition = "2021" +license = "MIT" +authors = [ "sxyazi " ] +description = "Yazi file system compatibility layer" +homepage = "https://yazi-rs.github.io" +repository = "https://github.com/sxyazi/yazi" + +[dependencies] +yazi-shared = { path = "../yazi-shared", version = "0.2.5" } + +# External dependencies +anyhow = "1.0.86" +opendal = "0.47.0" +serde = { version = "1.0.203", features = [ "derive" ] } +tokio = { version = "1.38.0", features = [ "full" ] } +toml = { version = "0.8.14", features = [ "preserve_order" ] } diff --git a/yazi-fs/src/lib.rs b/yazi-fs/src/lib.rs new file mode 100644 index 000000000..10b96f499 --- /dev/null +++ b/yazi-fs/src/lib.rs @@ -0,0 +1,3 @@ +#![allow(clippy::option_map_unit_fn)] + +pub mod providers; diff --git a/yazi-fs/src/providers/mod.rs b/yazi-fs/src/providers/mod.rs new file mode 100644 index 000000000..3780a19c0 --- /dev/null +++ b/yazi-fs/src/providers/mod.rs @@ -0,0 +1,7 @@ +#![allow(clippy::module_inception)] + +mod provider; +mod providers; + +pub use provider::*; +pub use providers::*; diff --git a/yazi-fs/src/providers/provider.rs b/yazi-fs/src/providers/provider.rs new file mode 100644 index 000000000..30ba71a29 --- /dev/null +++ b/yazi-fs/src/providers/provider.rs @@ -0,0 +1,20 @@ +use std::{collections::HashMap, str::FromStr}; + +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Provider { + pub name: String, + #[serde(rename = "type")] + pub type_: String, + pub config: HashMap, +} + +impl TryFrom for opendal::Operator { + type Error = anyhow::Error; + + fn try_from(value: Provider) -> Result { + let scheme = opendal::Scheme::from_str(&value.name)?; + Ok(opendal::Operator::via_map(scheme, value.config)?) + } +} diff --git a/yazi-fs/src/providers/providers.rs b/yazi-fs/src/providers/providers.rs new file mode 100644 index 000000000..03068a96a --- /dev/null +++ b/yazi-fs/src/providers/providers.rs @@ -0,0 +1,47 @@ +use std::{collections::HashMap, ops::Deref}; + +use anyhow::Result; +use serde::{Deserialize, Deserializer}; +use yazi_shared::Xdg; + +use crate::providers::Provider; + +pub struct Providers(HashMap); + +impl Deref for Providers { + type Target = HashMap; + + fn deref(&self) -> &Self::Target { &self.0 } +} + +impl Default for Providers { + fn default() -> Self { + let s = std::fs::read_to_string(Xdg::state_dir().join(".secret.toml")).unwrap_or_default(); + toml::from_str(&s).unwrap() + } +} + +impl<'de> Deserialize<'de> for Providers { + fn deserialize(deserializer: D) -> std::result::Result + where + D: Deserializer<'de>, + { + #[derive(Deserialize, Default)] + struct Outer { + providers: Shadow, + } + #[derive(Deserialize, Default)] + struct Shadow { + rules: Vec, + } + + let outer = Outer::deserialize(deserializer)?; + let result: Result<_> = + outer.providers.rules.into_iter().map(|p| Ok((p.name.clone(), p.try_into()?))).collect(); + + match result { + Ok(v) => Ok(Providers(v)), + Err(e) => Err(serde::de::Error::custom(e)), + } + } +} diff --git a/yazi-shared/src/fs/file.rs b/yazi-shared/src/fs/file.rs index 4488c4c40..003f1045d 100644 --- a/yazi-shared/src/fs/file.rs +++ b/yazi-shared/src/fs/file.rs @@ -1,9 +1,9 @@ -use std::{cell::Cell, ffi::OsStr, fs::Metadata, ops::{Add, Deref}, time::{Duration, SystemTime}}; +use std::{cell::Cell, ffi::OsStr, fs::Metadata, ops::Deref}; -use anyhow::{anyhow, Result}; +use anyhow::Result; use tokio::fs; -use crate::{fs::{Cha, ChaKind, Url, SCHEMES}, theme::IconCache}; +use crate::{fs::{Cha, ChaKind, Url}, theme::IconCache}; #[derive(Clone, Debug, Default)] pub struct File { @@ -23,9 +23,10 @@ impl Deref for File { impl File { #[inline] pub async fn from(url: Url) -> Result { - if url.is_remote().is_some() { - return Self::from_remote(url).await; - } + // TODO: refactor this + // if url.is_remote().is_some() { + // return Self::from_remote(url).await; + // } let meta = fs::symlink_metadata(&url).await?; Ok(Self::from_meta(url, meta).await) @@ -61,37 +62,38 @@ impl File { Self { url, cha: Cha::from(meta).with_kind(ck), link_to, icon: Default::default() } } + // TODO: refactor this /// Build a new file from remote. - pub async fn from_remote(url: Url) -> Result { - let scheme = url.is_remote().ok_or(anyhow!("not a remote file"))?; - let op = SCHEMES.get(scheme)?; - - let meta = op.stat(&url.as_path().to_string_lossy()).await?; - let mut kind = ChaKind::default(); - if meta.is_dir() { - kind |= ChaKind::DIR; - } - let cha = Cha { - kind, - len: meta.content_length(), - accessed: None, - created: None, - modified: meta - .last_modified() - .map(|v| SystemTime::UNIX_EPOCH.add(Duration::from_micros(v.timestamp_micros() as u64))), - // Always return 774 for remote files. - #[cfg(unix)] - permissions: 0774, - // Always return current user for remote files. - #[cfg(unix)] - uid: unsafe { libc::getuid().into() }, - // Always return current group for remote files. - #[cfg(unix)] - gid: unsafe { libc::getgid().into() }, - }; - - Ok(Self { url, cha, link_to: None, icon: Default::default() }) - } + // pub async fn from_remote(url: Url) -> Result { + // let scheme = url.is_remote().ok_or(anyhow!("not a remote file"))?; + // let op = SCHEMES.get(scheme)?; + + // let meta = op.stat(&url.as_path().to_string_lossy()).await?; + // let mut kind = ChaKind::default(); + // if meta.is_dir() { + // kind |= ChaKind::DIR; + // } + // let cha = Cha { + // kind, + // len: meta.content_length(), + // accessed: None, + // created: None, + // modified: meta + // .last_modified() + // .map(|v| SystemTime::UNIX_EPOCH.add(Duration::from_micros(v.timestamp_micros() as u64))), + // // Always return 774 for remote files. + // #[cfg(unix)] + // permissions: 0774, + // // Always return current user for remote files. + // #[cfg(unix)] + // uid: unsafe { libc::getuid().into() }, + // // Always return current group for remote files. + // #[cfg(unix)] + // gid: unsafe { libc::getgid().into() }, + // }; + + // Ok(Self { url, cha, link_to: None, icon: Default::default() }) + // } #[inline] pub fn from_dummy(url: &Url) -> Self { Self { url: url.to_owned(), ..Default::default() } } diff --git a/yazi-shared/src/fs/mod.rs b/yazi-shared/src/fs/mod.rs index 5f80dccab..9cd7865e8 100644 --- a/yazi-shared/src/fs/mod.rs +++ b/yazi-shared/src/fs/mod.rs @@ -3,7 +3,6 @@ mod file; mod fns; mod op; mod path; -mod schemes; mod url; pub use cha::*; @@ -11,5 +10,4 @@ pub use file::*; pub use fns::*; pub use op::*; pub use path::*; -pub use schemes::*; pub use url::*; diff --git a/yazi-shared/src/fs/schemes.rs b/yazi-shared/src/fs/schemes.rs deleted file mode 100644 index 84954d466..000000000 --- a/yazi-shared/src/fs/schemes.rs +++ /dev/null @@ -1,33 +0,0 @@ -use std::{collections::HashMap, str::FromStr}; - -use anyhow::{anyhow, Result}; -use opendal::Operator; - -use crate::RoCell; - -/// SCHEMES is the read only cell of schemes that already loaded. -pub static SCHEMES: RoCell = RoCell::new(); - -/// Schemes carries all the schemes defined in the configuration file. -#[derive(Debug)] -pub struct Schemes(HashMap); - -impl Schemes { - /// Build schemes from iterator. - pub fn from_iter( - iter: impl IntoIterator)>, - ) -> Result { - let mut schemes = HashMap::new(); - for (name, typ, config) in iter { - let scheme = opendal::Scheme::from_str(&typ)?; - let operator = Operator::via_map(scheme, config)?; - schemes.insert(name, operator); - } - Ok(Self(schemes)) - } - - /// Get operator by scheme name. - pub fn get(&self, scheme: &str) -> Result { - self.0.get(scheme).cloned().ok_or(anyhow!("storage scheme {scheme} is not configured")) - } -}