1use dscode_terminal::{TerminalEventSender, TerminalManager};
6
7struct PrintSender;
8
9impl TerminalEventSender for PrintSender {
10 fn send_output(&self, terminal_id: &str, data: &str) {
11 print!("[{}] {}", terminal_id, data);
12 }
13
14 fn send_close(&self, terminal_id: &str) {
15 println!("[{}] closed", terminal_id);
16 }
17}
18
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 manager.start_reading(&id)?;
28
29 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 manager.resize_terminal(&id, 120, 40)?;
34
35 manager.close_terminal(&id)?;
37
38 Ok(())
39}