added a server remove command
This commit is contained in:
+9
-1
@@ -501,7 +501,15 @@ pub fn run_tui(
|
|||||||
println!("todo");
|
println!("todo");
|
||||||
}
|
}
|
||||||
ToolMessage::DisconnectServer => {
|
ToolMessage::DisconnectServer => {
|
||||||
println!("todo");
|
if let Some(server) = state.servers.get(state.selected_server) {
|
||||||
|
if let Ok(mut lock) = server.lock() {
|
||||||
|
lock.action_que.push("disconnect".to_string());
|
||||||
|
let _ = state.main_tx.send(ToolMessage::Input((
|
||||||
|
0,
|
||||||
|
format!("server_remove_confim {}", state.selected_server),
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ToolMessage::ServerBrokerExit => {
|
ToolMessage::ServerBrokerExit => {
|
||||||
state.server_broker_running = false;
|
state.server_broker_running = false;
|
||||||
|
|||||||
+16
-1
@@ -11,7 +11,7 @@ use std::io::{self, BufRead, BufReader, Read, Write};
|
|||||||
use std::net::IpAddr;
|
use std::net::IpAddr;
|
||||||
use std::net::TcpStream;
|
use std::net::TcpStream;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::process::{Command, Stdio};
|
use std::process::{Command, CommandArgs, Stdio};
|
||||||
use std::sync::mpsc::Receiver;
|
use std::sync::mpsc::Receiver;
|
||||||
use std::sync::{Arc, Mutex, mpsc::Sender, mpsc::channel};
|
use std::sync::{Arc, Mutex, mpsc::Sender, mpsc::channel};
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
@@ -596,6 +596,21 @@ impl AppState {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
"remove_server" => {
|
||||||
|
let _ = self.main_tx.send(ToolMessage::DisconnectServer);
|
||||||
|
}
|
||||||
|
"server_remove_confim" => {
|
||||||
|
let args = command_args.unwrap();
|
||||||
|
let id = args.trim().parse::<usize>().unwrap();
|
||||||
|
self.servers.remove(id);
|
||||||
|
if self.selected_server == id && self.selected_server >= 1 {
|
||||||
|
let _ = self.main_tx.send(ToolMessage::Output((
|
||||||
|
0,
|
||||||
|
format!("[success] server {} removed!", self.selected_server),
|
||||||
|
)));
|
||||||
|
self.selected_server = self.selected_server - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
"select_server" => {
|
"select_server" => {
|
||||||
self.prompt.action = Some(ToolMessage::SelectServer);
|
self.prompt.action = Some(ToolMessage::SelectServer);
|
||||||
self.prompt.num_responses = 1;
|
self.prompt.num_responses = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user