From 1b9d5dcd95f61f44694955feed4ae51c98b02030 Mon Sep 17 00:00:00 2001 From: Penwing Date: Tue, 16 Jan 2024 11:07:53 +0100 Subject: [PATCH] terminal ui added --- Cargo.lock | 412 ++++++---------------------------------------------- Cargo.toml | 3 +- src/main.rs | 50 +++++-- 3 files changed, 77 insertions(+), 388 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 357d4d6..625a067 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -113,22 +113,13 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "aho-corasick" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5" -dependencies = [ - "memchr 2.7.1", -] - [[package]] name = "aho-corasick" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ - "memchr 2.7.1", + "memchr", ] [[package]] @@ -144,7 +135,7 @@ dependencies = [ "jni", "jni-sys", "libc", - "log 0.4.20", + "log", "ndk", "ndk-context", "ndk-sys", @@ -165,7 +156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08" dependencies = [ "clipboard-win", - "log 0.4.20", + "log", "objc", "objc-foundation", "objc_id", @@ -253,7 +244,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-lite 1.13.0", - "log 0.4.20", + "log", "parking", "polling 2.8.0", "rustix 0.37.27", @@ -442,21 +433,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -592,10 +568,8 @@ version = "0.1.0" dependencies = [ "eframe", "egui_extras", - "env_logger 0.10.1", + "env_logger", "rfd", - "run_shell", - "syntect", ] [[package]] @@ -605,7 +579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf" dependencies = [ "bitflags 2.4.1", - "log 0.4.20", + "log", "polling 3.3.1", "rustix 0.38.30", "slab", @@ -725,7 +699,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" dependencies = [ "bytes", - "memchr 2.7.1", + "memchr", ] [[package]] @@ -817,15 +791,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - [[package]] name = "derivative" version = "2.2.0" @@ -894,7 +859,7 @@ dependencies = [ "glutin-winit", "image", "js-sys", - "log 0.4.20", + "log", "objc", "parking_lot", "percent-encoding", @@ -917,7 +882,7 @@ dependencies = [ "accesskit", "ahash", "epaint", - "log 0.4.20", + "log", "nohash-hasher", "serde", ] @@ -931,7 +896,7 @@ dependencies = [ "accesskit_winit", "arboard", "egui", - "log 0.4.20", + "log", "raw-window-handle 0.5.2", "smithay-clipboard", "web-time", @@ -947,7 +912,7 @@ checksum = "753c36d3e2f7a32425af5290af2e52efb3471ea3a263b87f003b5433351b0fd7" dependencies = [ "egui", "enum-map", - "log 0.4.20", + "log", "mime_guess2", "serde", ] @@ -961,7 +926,7 @@ dependencies = [ "bytemuck", "egui", "glow", - "log 0.4.20", + "log", "memoffset 0.7.1", "wasm-bindgen", "web-sys", @@ -1030,16 +995,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "env_logger" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" -dependencies = [ - "log 0.3.9", - "regex 0.2.11", -] - [[package]] name = "env_logger" version = "0.10.1" @@ -1048,7 +1003,7 @@ checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" dependencies = [ "humantime", "is-terminal", - "log 0.4.20", + "log", "termcolor", ] @@ -1063,7 +1018,7 @@ dependencies = [ "bytemuck", "ecolor", "emath", - "log 0.4.20", + "log", "nohash-hasher", "parking_lot", "serde", @@ -1075,17 +1030,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "errno" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", -] - [[package]] name = "errno" version = "0.3.8" @@ -1096,16 +1040,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "error-code" version = "2.3.1" @@ -1188,12 +1122,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foreign-types" version = "0.5.0" @@ -1251,7 +1179,7 @@ dependencies = [ "fastrand 1.9.0", "futures-core", "futures-io", - "memchr 2.7.1", + "memchr", "parking", "pin-project-lite", "waker-fn", @@ -1292,7 +1220,7 @@ dependencies = [ "futures-io", "futures-sink", "futures-task", - "memchr 2.7.1", + "memchr", "pin-project-lite", "pin-utils", "slab", @@ -1389,7 +1317,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" dependencies = [ "khronos_api", - "log 0.4.20", + "log", "xml-rs", ] @@ -1623,12 +1551,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - [[package]] name = "jni" version = "0.21.1" @@ -1639,7 +1561,7 @@ dependencies = [ "cfg-if", "combine", "jni-sys", - "log 0.4.20", + "log", "thiserror", "walkdir", "windows-sys 0.45.0", @@ -1675,18 +1597,6 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.152" @@ -1714,21 +1624,6 @@ dependencies = [ "redox_syscall 0.4.1", ] -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -1751,15 +1646,6 @@ dependencies = [ "scopeguard", ] -[[package]] -name = "log" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -dependencies = [ - "log 0.4.20", -] - [[package]] name = "log" version = "0.4.20" @@ -1775,15 +1661,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memchr" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a" -dependencies = [ - "libc", -] - [[package]] name = "memchr" version = "2.7.1" @@ -1851,7 +1728,7 @@ checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ "bitflags 2.4.1", "jni-sys", - "log 0.4.20", + "log", "ndk-sys", "num_enum", "raw-window-handle 0.5.2", @@ -1892,15 +1769,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" -[[package]] -name = "nom" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aec50c70fd288702bcd93284a8444607f3292dbdf2a30de5ea5dcdbe72287b" -dependencies = [ - "memchr 1.0.2", -] - [[package]] name = "num-traits" version = "0.2.17" @@ -2014,28 +1882,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "onig" -version = "6.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" -dependencies = [ - "bitflags 1.3.2", - "libc", - "once_cell", - "onig_sys", -] - -[[package]] -name = "onig_sys" -version = "69.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" -dependencies = [ - "cc", - "pkg-config", -] - [[package]] name = "orbclient" version = "0.3.47" @@ -2146,20 +1992,6 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" -[[package]] -name = "plist" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" -dependencies = [ - "base64", - "indexmap", - "line-wrap", - "quick-xml 0.31.0", - "serde", - "time", -] - [[package]] name = "png" version = "0.17.11" @@ -2184,7 +2016,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "libc", - "log 0.4.20", + "log", "pin-project-lite", "windows-sys 0.48.0", ] @@ -2203,12 +2035,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2249,16 +2075,7 @@ version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" dependencies = [ - "memchr 2.7.1", -] - -[[package]] -name = "quick-xml" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" -dependencies = [ - "memchr 2.7.1", + "memchr", ] [[package]] @@ -2330,29 +2147,16 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "regex" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" -dependencies = [ - "aho-corasick 0.6.10", - "memchr 2.7.1", - "regex-syntax 0.5.6", - "thread_local", - "utf8-ranges", -] - [[package]] name = "regex" version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ - "aho-corasick 1.1.2", - "memchr 2.7.1", + "aho-corasick", + "memchr", "regex-automata", - "regex-syntax 0.8.2", + "regex-syntax", ] [[package]] @@ -2361,26 +2165,11 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ - "aho-corasick 1.1.2", - "memchr 2.7.1", - "regex-syntax 0.8.2", + "aho-corasick", + "memchr", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" -dependencies = [ - "ucd-util", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.8.2" @@ -2399,7 +2188,7 @@ dependencies = [ "gobject-sys", "gtk-sys", "js-sys", - "log 0.4.20", + "log", "objc", "objc-foundation", "objc_id", @@ -2410,21 +2199,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "run_shell" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9504daf4912b22217ff6faa9c7707496037bdd200d8acfc87bce7ed271c8251e" -dependencies = [ - "env_logger 0.4.3", - "errno 0.2.8", - "lazy_static", - "libc", - "log 0.3.9", - "nom", - "regex 0.2.11", -] - [[package]] name = "rustix" version = "0.37.27" @@ -2432,7 +2206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", - "errno 0.3.8", + "errno", "io-lifetimes", "libc", "linux-raw-sys 0.3.8", @@ -2446,24 +2220,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ "bitflags 2.4.1", - "errno 0.3.8", + "errno", "libc", "linux-raw-sys 0.4.12", "windows-sys 0.52.0", ] -[[package]] -name = "ryu" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" - -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -2492,7 +2254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550" dependencies = [ "ab_glyph", - "log 0.4.20", + "log", "memmap2", "smithay-client-toolkit", "tiny-skia", @@ -2518,17 +2280,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "serde_json" -version = "1.0.111" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" -dependencies = [ - "itoa", - "ryu", - "serde", -] - [[package]] name = "serde_repr" version = "0.1.18" @@ -2610,7 +2361,7 @@ dependencies = [ "calloop-wayland-source", "cursor-icon", "libc", - "log 0.4.20", + "log", "memmap2", "rustix 0.38.30", "thiserror", @@ -2694,28 +2445,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syntect" -version = "4.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b20815bbe80ee0be06e6957450a841185fcf690fe0178f14d77a05ce2caa031" -dependencies = [ - "bincode", - "bitflags 1.3.2", - "flate2", - "fnv", - "lazy_static", - "lazycell", - "onig", - "plist", - "regex-syntax 0.6.29", - "serde", - "serde_derive", - "serde_json", - "walkdir", - "yaml-rust", -] - [[package]] name = "system-deps" version = "6.2.0" @@ -2777,44 +2506,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "thread_local" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "time" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" -dependencies = [ - "deranged", - "itoa", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" -dependencies = [ - "time-core", -] - [[package]] name = "tiny-skia" version = "0.11.3" @@ -2825,7 +2516,7 @@ dependencies = [ "arrayvec", "bytemuck", "cfg-if", - "log 0.4.20", + "log", "tiny-skia-path", ] @@ -2943,12 +2634,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "ucd-util" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd2fc5d32b590614af8b0a20d837f32eca055edd0bbead59a9cfe80858be003" - [[package]] name = "uds_windows" version = "1.1.0" @@ -3007,12 +2692,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf8-ranges" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba" - [[package]] name = "version-compare" version = "0.1.1" @@ -3064,7 +2743,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" dependencies = [ "bumpalo", - "log 0.4.20", + "log", "once_cell", "proc-macro2", "quote", @@ -3206,7 +2885,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" dependencies = [ "proc-macro2", - "quick-xml 0.30.0", + "quick-xml", "quote", ] @@ -3217,7 +2896,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" dependencies = [ "dlib", - "log 0.4.20", + "log", "once_cell", "pkg-config", ] @@ -3251,7 +2930,7 @@ dependencies = [ "core-foundation", "home", "jni", - "log 0.4.20", + "log", "ndk-context", "objc", "raw-window-handle 0.5.2", @@ -3549,7 +3228,7 @@ dependencies = [ "icrate", "js-sys", "libc", - "log 0.4.20", + "log", "memmap2", "ndk", "ndk-sys", @@ -3585,7 +3264,7 @@ version = "0.5.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" dependencies = [ - "memchr 2.7.1", + "memchr", ] [[package]] @@ -3666,7 +3345,7 @@ checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699" dependencies = [ "bitflags 2.4.1", "dlib", - "log 0.4.20", + "log", "once_cell", "xkeysym", ] @@ -3683,15 +3362,6 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "zbus" version = "3.14.1" @@ -3742,7 +3412,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "regex 1.10.2", + "regex", "syn 1.0.109", "zvariant_utils", ] diff --git a/Cargo.toml b/Cargo.toml index 6635936..dbbf4be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,5 +13,4 @@ env_logger = { version = "0.10.1", default-features = false, features = [ ] } rfd = "0.12.1" egui_extras = { version = "0.25.0" } -syntect = "4.6" -run_shell = "0.1.13" +#syntect = "4.6" diff --git a/src/main.rs b/src/main.rs index b99fd57..c61fcdb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,16 +4,12 @@ use eframe::egui; use std::fs; use std::path::Path; -use run_shell::*; - const TERMINAL_HEIGHT : f32 = 200.0; fn main() -> Result<(), eframe::Error> { //tools::code_editor::linked(); - println!("{}", cmd!("echo General Kenobi").stdout_utf8().unwrap()); - println!("{}", cmd!("pwd").stdout_utf8().unwrap()); env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`). let options = eframe::NativeOptions { @@ -29,11 +25,17 @@ fn main() -> Result<(), eframe::Error> { ) } +fn run_command(cmd : String) -> String { + cmd +} + struct MyApp { picked_path: Option, language: String, code: String, + command: String, + command_history: String, } impl Default for MyApp { @@ -41,12 +43,9 @@ impl Default for MyApp { Self { picked_path: None, language: "rs".into(), - code: "// A very simple example\n\ -fn main() {\n\ -\tprintln!(\"Hello world!\");\n\ -}\n\ -" - .into(), + code: "// A very simple example\nfn main() {\n\tprintln!(\"Hello world!\");\n}\n".into(), + command: "".into(), + command_history: "Welcome master".into(), } } } @@ -54,10 +53,34 @@ fn main() {\n\ impl eframe::App for MyApp { fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { - egui::SidePanel::left("my_left_panel").show(ctx, |ui| { + + //tree panel + egui::SidePanel::left("tree").show(ctx, |ui| { ui.label("Tree ?"); }); + //terminal panel + egui::TopBottomPanel::bottom("terminal").exact_height(TERMINAL_HEIGHT.clone()).show(ctx, |ui| { + ui.with_layout(egui::Layout::bottom_up(egui::Align::LEFT), |ui| { + ui.label(""); + ui.horizontal(|ui| { + let Self { command, .. } = self; + ui.label(">"); + let response = ui.add(egui::TextEdit::singleline(command).desired_width(f32::INFINITY).lock_focus(true)); + + if response.lost_focus() && ctx.input(|i| i.key_pressed(egui::Key::Enter)) { + self.command_history.push_str(&("\n".to_string() + &run_command(self.command.clone()))); + self.command = "".into(); + response.request_focus(); + } + }); + egui::ScrollArea::vertical().show(ui, |ui| { + ui.label(self.command_history.clone()); + }); + }); + }); + + //code panel egui::CentralPanel::default().show(ctx, |ui| { if ui.button("Open fileā€¦").clicked() { if let Some(path) = rfd::FileDialog::new().pick_file() { @@ -74,8 +97,8 @@ impl eframe::App for MyApp { }); } - let Self { language, code, .. } = self; + let Self { language, code, .. } = self; let theme = egui_extras::syntax_highlighting::CodeTheme::from_memory(ui.ctx()); let mut layouter = |ui: &egui::Ui, string: &str, wrap_width: f32| { let mut layout_job = @@ -97,9 +120,6 @@ impl eframe::App for MyApp { ); }); }); - egui::TopBottomPanel::bottom("terminal").min_height(TERMINAL_HEIGHT.clone()).show(ctx, |ui| { - ui.label("Terminal ?"); - }); } }