added a server remove command
This commit is contained in:
+9
-1
@@ -501,7 +501,15 @@ pub fn run_tui(
|
||||
println!("todo");
|
||||
}
|
||||
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 => {
|
||||
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::TcpStream;
|
||||
use std::path::PathBuf;
|
||||
use std::process::{Command, Stdio};
|
||||
use std::process::{Command, CommandArgs, Stdio};
|
||||
use std::sync::mpsc::Receiver;
|
||||
use std::sync::{Arc, Mutex, mpsc::Sender, mpsc::channel};
|
||||
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" => {
|
||||
self.prompt.action = Some(ToolMessage::SelectServer);
|
||||
self.prompt.num_responses = 1;
|
||||
|
||||
Reference in New Issue
Block a user