DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/WindServiceHandlers/Terminal.rs
1//! # Terminal handlers
2//!
3//! Two related responsibilities:
4//!
5//! - `Terminal*` - operate on PTYs that are already registered via the
6//! `TerminalProvider` trait. Every method takes a provider-assigned
7//! `terminal_id` (`u64`).
8//! - `LocalPTY*` - read-only platform queries that don't touch any registered
9//! PTY: discover available shells, default shell, and the current process
10//! environment.
11//!
12//! Layout (one export per file, file name = identity):
13//! - `TerminalCreate::TerminalCreate`, `TerminalSendText::TerminalSendText`,
14//! `TerminalDispose::TerminalDispose`, `TerminalShow::TerminalShow`,
15//! `TerminalHide::TerminalHide`.
16//! - `LocalPTYGetProfiles::LocalPTYGetProfiles`,
17//! `LocalPTYGetDefaultShell::LocalPTYGetDefaultShell`,
18//! `LocalPTYGetEnvironment::LocalPTYGetEnvironment`.
19//! - `SerializeTerminalState::SerializeTerminalState` - snapshot all active
20//! terminals to `ISerializedTerminalState[]` for window-reload restoration.
21//! - `ReviveTerminalProcesses::ReviveTerminalProcesses` - respawn terminals
22//! from a previously serialised snapshot.
23//! - `AttachToProcess::AttachToProcess` - reconnect the workbench to an
24//! existing Mountain PTY after a window reload.
25//! - `DetachFromProcess::DetachFromProcess` - detach the workbench; PTY stays
26//! alive with output buffering for the next attach.
27
28pub mod AttachToProcess;
29
30pub mod LocalPTYCreateProcess;
31
32pub mod LocalPTYFreePortKillProcess;
33
34pub mod LocalPTYResize;
35
36pub mod DetachFromProcess;
37
38pub mod LocalPTYGetDefaultShell;
39
40pub mod LocalPTYGetEnvironment;
41
42pub mod LocalPTYGetProfiles;
43
44pub mod ReviveTerminalProcesses;
45
46pub mod SerializeTerminalState;
47
48pub mod TerminalCreate;
49
50pub mod TerminalDispose;
51
52pub mod TerminalHide;
53
54pub mod TerminalSendText;
55
56pub mod TerminalShow;