[Chore] clear dead code (#9)

* [Chore] clear dead code

* [Delete] unused dependencies
This commit is contained in:
Mist 2024-02-23 17:17:07 +08:00 committed by GitHub
parent ee5f61d37b
commit 72ef0912aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 13 additions and 386 deletions

313
snap-server/Cargo.lock generated
View file

@ -88,7 +88,7 @@ dependencies = [
"flate2", "flate2",
"futures-core", "futures-core",
"h2", "h2",
"http 0.2.11", "http",
"httparse", "httparse",
"httpdate", "httpdate",
"itoa", "itoa",
@ -123,7 +123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511" checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511"
dependencies = [ dependencies = [
"bytestring", "bytestring",
"http 0.2.11", "http",
"regex 1.10.3", "regex 1.10.3",
"serde", "serde",
"tracing", "tracing",
@ -325,12 +325,6 @@ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
] ]
[[package]]
name = "anyhow"
version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
[[package]] [[package]]
name = "arboard" name = "arboard"
version = "3.3.1" version = "3.3.1"
@ -350,20 +344,6 @@ dependencies = [
"x11rb", "x11rb",
] ]
[[package]]
name = "auto_generate_cdp"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7af08ed49930c50104b2f1699d257e5053fb1809e370647bde9c58b31d65d417"
dependencies = [
"convert_case",
"proc-macro2",
"quote",
"serde",
"serde_json",
"ureq",
]
[[package]] [[package]]
name = "autocfg" name = "autocfg"
version = "1.1.0" version = "1.1.0"
@ -671,47 +651,6 @@ dependencies = [
"typenum", "typenum",
] ]
[[package]]
name = "darling"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
dependencies = [
"darling_core",
"darling_macro",
]
[[package]]
name = "darling_core"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn 1.0.109",
]
[[package]]
name = "darling_macro"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
dependencies = [
"darling_core",
"quote",
"syn 1.0.109",
]
[[package]]
name = "data-encoding"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
[[package]] [[package]]
name = "deflate" name = "deflate"
version = "0.7.20" version = "0.7.20"
@ -731,37 +670,6 @@ dependencies = [
"powerfmt", "powerfmt",
] ]
[[package]]
name = "derive_builder"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
dependencies = [
"derive_builder_macro",
]
[[package]]
name = "derive_builder_core"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "derive_builder_macro"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
dependencies = [
"derive_builder_core",
"syn 1.0.109",
]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "0.99.17" version = "0.99.17"
@ -847,12 +755,6 @@ dependencies = [
"zune-inflate", "zune-inflate",
] ]
[[package]]
name = "fastrand"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
[[package]] [[package]]
name = "fdeflate" name = "fdeflate"
version = "0.3.4" version = "0.3.4"
@ -1033,7 +935,7 @@ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
"futures-util", "futures-util",
"http 0.2.11", "http",
"indexmap", "indexmap",
"slab", "slab",
"tokio", "tokio",
@ -1057,29 +959,6 @@ version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
[[package]]
name = "headless_chrome"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05dec19562a4024376a8a13c3a1b40a3b8006c5bb35c43f7d62d672cfe7b943c"
dependencies = [
"anyhow",
"auto_generate_cdp",
"base64 0.21.7",
"derive_builder",
"log",
"rand 0.8.5",
"regex 1.10.3",
"serde",
"serde_json",
"tempfile",
"thiserror",
"tungstenite",
"url",
"which",
"winreg",
]
[[package]] [[package]]
name = "home" name = "home"
version = "0.5.9" version = "0.5.9"
@ -1100,17 +979,6 @@ dependencies = [
"itoa", "itoa",
] ]
[[package]]
name = "http"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
dependencies = [
"bytes",
"fnv",
"itoa",
]
[[package]] [[package]]
name = "http-range" name = "http-range"
version = "0.1.5" version = "0.1.5"
@ -1129,12 +997,6 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]] [[package]]
name = "idna" name = "idna"
version = "0.5.0" version = "0.5.0"
@ -1791,21 +1653,6 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "ring"
version = "0.17.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
dependencies = [
"cc",
"cfg-if 1.0.0",
"getrandom",
"libc",
"spin",
"untrusted",
"windows-sys 0.52.0",
]
[[package]] [[package]]
name = "rmp" name = "rmp"
version = "0.8.12" version = "0.8.12"
@ -1876,37 +1723,6 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "rustls"
version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
dependencies = [
"log",
"ring",
"rustls-pki-types",
"rustls-webpki",
"subtle",
"zeroize",
]
[[package]]
name = "rustls-pki-types"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "048a63e5b3ac996d78d402940b5fa47973d2d080c6c6fffa1d0f19c4445310b7"
[[package]]
name = "rustls-webpki"
version = "0.102.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
dependencies = [
"ring",
"rustls-pki-types",
"untrusted",
]
[[package]] [[package]]
name = "ryu" name = "ryu"
version = "1.0.16" version = "1.0.16"
@ -2042,7 +1858,6 @@ dependencies = [
"actix-web", "actix-web",
"actix-web-actors", "actix-web-actors",
"arboard", "arboard",
"headless_chrome",
"image 0.24.8", "image 0.24.8",
"image-base64", "image-base64",
"neovim-lib", "neovim-lib",
@ -2062,17 +1877,6 @@ dependencies = [
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
[[package]]
name = "socks"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b"
dependencies = [
"byteorder",
"libc",
"winapi",
]
[[package]] [[package]]
name = "spin" name = "spin"
version = "0.9.8" version = "0.9.8"
@ -2082,18 +1886,6 @@ dependencies = [
"lock_api", "lock_api",
] ]
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "subtle"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.109" version = "1.0.109"
@ -2116,18 +1908,6 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "tempfile"
version = "3.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
dependencies = [
"cfg-if 1.0.0",
"fastrand",
"rustix",
"windows-sys 0.52.0",
]
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.57" version = "1.0.57"
@ -2276,25 +2056,6 @@ dependencies = [
"once_cell", "once_cell",
] ]
[[package]]
name = "tungstenite"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
dependencies = [
"byteorder",
"bytes",
"data-encoding",
"http 1.0.0",
"httparse",
"log",
"rand 0.8.5",
"sha1",
"thiserror",
"url",
"utf-8",
]
[[package]] [[package]]
name = "typenum" name = "typenum"
version = "1.17.0" version = "1.17.0"
@ -2347,30 +2108,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "untrusted"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "ureq"
version = "2.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35"
dependencies = [
"base64 0.21.7",
"flate2",
"log",
"once_cell",
"rustls",
"rustls-pki-types",
"rustls-webpki",
"socks",
"url",
"webpki-roots",
]
[[package]] [[package]]
name = "url" name = "url"
version = "2.5.0" version = "2.5.0"
@ -2382,12 +2119,6 @@ dependencies = [
"percent-encoding", "percent-encoding",
] ]
[[package]]
name = "utf-8"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
[[package]] [[package]]
name = "utf8-ranges" name = "utf8-ranges"
version = "1.0.5" version = "1.0.5"
@ -2509,34 +2240,12 @@ dependencies = [
"web-sys", "web-sys",
] ]
[[package]]
name = "webpki-roots"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
dependencies = [
"rustls-pki-types",
]
[[package]] [[package]]
name = "weezl" name = "weezl"
version = "0.1.8" version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
[[package]]
name = "which"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
"home",
"once_cell",
"rustix",
"windows-sys 0.48.0",
]
[[package]] [[package]]
name = "winapi" name = "winapi"
version = "0.3.9" version = "0.3.9"
@ -2766,16 +2475,6 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winreg"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
"cfg-if 1.0.0",
"windows-sys 0.48.0",
]
[[package]] [[package]]
name = "x11rb" name = "x11rb"
version = "0.13.0" version = "0.13.0"
@ -2813,12 +2512,6 @@ dependencies = [
"syn 2.0.48", "syn 2.0.48",
] ]
[[package]]
name = "zeroize"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
[[package]] [[package]]
name = "zstd" name = "zstd"
version = "0.13.0" version = "0.13.0"

View file

@ -9,7 +9,6 @@ actix-files = "0.6.5"
actix-web = "4.5.1" actix-web = "4.5.1"
actix-web-actors = "4.3.0" actix-web-actors = "4.3.0"
arboard = "3.3.1" arboard = "3.3.1"
headless_chrome = "1.0.9"
image = "0.24.8" image = "0.24.8"
image-base64 = "0.1.0" image-base64 = "0.1.0"
neovim-lib = "0.6.1" neovim-lib = "0.6.1"

View file

@ -1,21 +0,0 @@
use arboard::Clipboard;
use arboard::ImageData;
use image::load_from_memory;
pub fn copy_base64_image_into_clipboard(base64_image: String) {
copy_memory_image_into_clipboard(&image_base64::from_base64(base64_image))
}
pub fn copy_memory_image_into_clipboard(buffer: &Vec<u8>) {
let dynamic_image = load_from_memory(buffer).unwrap();
let image = ImageData {
width: dynamic_image.width() as usize,
height: dynamic_image.height() as usize,
bytes: dynamic_image.as_bytes().into(),
};
let mut clipboard = Clipboard::new().unwrap();
clipboard.set_image(image).unwrap();
}

View file

@ -6,14 +6,10 @@ pub mod neovim;
use actix::{Actor, Addr, Context}; use actix::{Actor, Addr, Context};
use arguments::parse_string_first; use arguments::parse_string_first;
pub use config::Config; pub use config::Config;
use headless_chrome::{protocol::cdp::Page, Browser, Tab};
pub use messages::Message; pub use messages::Message;
use neovim::Neovim; use neovim::Neovim;
use serde_json::{json, Value}; use serde_json::Value;
use std::{ use std::sync::{Arc, Mutex};
error::Error,
sync::{Arc, Mutex},
};
use crate::{ use crate::{
event::Event, event::Event,
@ -43,39 +39,16 @@ impl EventHandler {
} }
} }
pub fn open_browser(&self) -> Result<Arc<Tab>, Box<dyn Error>> {
let browser = Browser::default()?;
let tab = browser.new_tab()?;
tab.navigate_to(format!("http://localhost:{}", self.port).as_str())?;
Ok(tab)
}
pub fn start_listen(&mut self) { pub fn start_listen(&mut self) {
let receiver = self.neovim.lock().unwrap().create_receiver(); let receiver = self.neovim.lock().unwrap().create_receiver();
for (event_name, values) in receiver { for (event_name, values) in receiver {
// self.neovim.lock().unwrap().print(&event_name);
match Message::from(event_name.clone()) { match Message::from(event_name.clone()) {
Message::OpenPreview => { Message::OpenPreview => {
let _ = webbrowser::open(format!("http://localhost:{}", self.port).as_str()); let _ = webbrowser::open(format!("http://localhost:{}", self.port).as_str());
} }
Message::Copy => { // The Copy message is not implement yet, but will support in the future
// let _png_data = tab Message::Copy => {}
// .wait_for_element("#frame")
// .unwrap()
// .capture_screenshot(Page::CaptureScreenshotFormatOption::Png)
// .unwrap();
//
// std::fs::write("hello_world.png", _png_data).unwrap();
// self.server.do_send(ClientMessage {
// msg: Event::new("copy", json!("{}")).into(),
// })
}
Message::PreviewCode => self.server.do_send(ClientMessage { Message::PreviewCode => self.server.do_send(ClientMessage {
msg: Event::new( msg: Event::new(
"code", "code",

View file

@ -1,14 +1,10 @@
mod clipboard;
mod event; mod event;
mod event_handler; mod event_handler;
mod port; mod port;
mod server; mod server;
mod session; mod session;
use std::{ use std::sync::{Arc, Mutex};
net::TcpListener,
sync::{Arc, Mutex},
};
use actix::{Actor, Addr, Arbiter}; use actix::{Actor, Addr, Arbiter};
use actix_files::{Files, NamedFile}; use actix_files::{Files, NamedFile};
@ -17,10 +13,8 @@ use actix_web::{
App, Error, HttpRequest, HttpResponse, HttpServer, Responder, App, Error, HttpRequest, HttpResponse, HttpServer, Responder,
}; };
use actix_web_actors::ws; use actix_web_actors::ws;
use clipboard::copy_memory_image_into_clipboard;
use event_handler::neovim::Neovim; use event_handler::neovim::Neovim;
use event_handler::EventHandler; use event_handler::EventHandler;
use headless_chrome::{protocol::cdp::Page, Browser, Tab};
use port::get_available_port; use port::get_available_port;
use server::Server; use server::Server;
use session::Session; use session::Session;

View file

@ -44,16 +44,17 @@ pub struct ConfigSetupMessage {
pub struct Server { pub struct Server {
rng: ThreadRng, rng: ThreadRng,
sessions: HashMap<SessionID, Recipient<ServerMessage>>, sessions: HashMap<SessionID, Recipient<ServerMessage>>,
neovim: Arc<Mutex<Neovim>>, // The neovim instance used for send message to neovim client
_neovim: Arc<Mutex<Neovim>>,
config: Option<Config>, config: Option<Config>,
} }
impl Server { impl Server {
pub fn new(neovim: Arc<Mutex<Neovim>>) -> Server { pub fn new(_neovim: Arc<Mutex<Neovim>>) -> Server {
Server { Server {
rng: rand::thread_rng(), rng: rand::thread_rng(),
sessions: HashMap::new(), sessions: HashMap::new(),
neovim, _neovim,
config: None, config: None,
} }
} }

View file

@ -13,10 +13,6 @@ use std::{
const HEARTBEAT_INTERVAL: Duration = Duration::from_secs(5); const HEARTBEAT_INTERVAL: Duration = Duration::from_secs(5);
const CLIENT_TIMEOUT: Duration = Duration::from_secs(30); const CLIENT_TIMEOUT: Duration = Duration::from_secs(30);
fn is_valid_base64_image(base64_image: &str) -> bool {
base64_image.starts_with("data:image/png;base64")
}
pub struct Session { pub struct Session {
id: usize, id: usize,
server: Arc<Addr<Server>>, server: Arc<Addr<Server>>,
@ -91,15 +87,7 @@ impl StreamHandler<Result<ws::Message, ws::ProtocolError>> for Session {
Ok(ws::Message::Pong(_)) => { Ok(ws::Message::Pong(_)) => {
self.heartbeat = Instant::now(); self.heartbeat = Instant::now();
} }
Ok(ws::Message::Text(text)) => { Ok(ws::Message::Text(text)) => ctx.text(text),
// let image = text.to_string();
// if !is_valid_base64_image(&image) {
ctx.text(text)
// }
// copy_base64_image_into_clipboard(image);
}
Ok(ws::Message::Binary(bin)) => ctx.binary(bin), Ok(ws::Message::Binary(bin)) => ctx.binary(bin),
_ => (), _ => (),
} }