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