1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3#![deny(clippy::await_holding_lock)]
4
5#[cfg(any(unix, windows))]
8#[cfg_attr(windows, allow(dead_code))]
9mod automatic_rename;
10#[cfg(any(unix, windows))]
11#[cfg_attr(windows, allow(dead_code))]
12mod client_flags;
13#[cfg(any(unix, windows))]
14#[cfg_attr(windows, allow(dead_code))]
15mod clock_mode;
16#[cfg(any(unix, windows))]
17#[cfg_attr(windows, allow(dead_code))]
18mod control;
19#[cfg(any(unix, windows))]
20#[cfg_attr(windows, allow(dead_code))]
21mod control_mode;
22#[cfg(any(unix, windows))]
23#[cfg_attr(windows, allow(dead_code))]
24mod control_notifications;
25#[cfg(any(unix, windows))]
26#[cfg_attr(windows, allow(dead_code))]
27mod copy_mode;
28mod daemon;
29#[cfg(any(unix, windows))]
30mod diagnostic_log;
31#[cfg(any(unix, windows))]
32mod foreground_probe;
33#[cfg(any(unix, windows))]
34#[cfg_attr(windows, allow(dead_code))]
35mod format_runtime;
36#[cfg(any(unix, windows))]
37#[cfg_attr(windows, allow(dead_code))]
38mod handler;
39#[cfg(any(unix, windows))]
40#[cfg_attr(windows, allow(dead_code))]
41mod handler_support;
42#[cfg(any(unix, windows))]
43#[cfg_attr(windows, allow(dead_code))]
44mod hook_compat;
45#[cfg(any(unix, windows))]
46#[cfg_attr(windows, allow(dead_code))]
47mod hook_runtime;
48#[cfg(any(unix, windows))]
49mod host_name;
50#[cfg(any(unix, windows))]
51mod input_keys;
52#[cfg(any(unix, windows))]
53#[cfg_attr(windows, allow(dead_code))]
54mod key_table;
55#[cfg(any(unix, windows))]
56#[cfg_attr(windows, allow(dead_code))]
57mod keys;
58#[cfg(any(unix, windows))]
59#[cfg_attr(windows, allow(dead_code))]
60mod legacy_command;
61#[cfg(any(unix, windows))]
62mod limits;
63#[cfg(any(unix, windows))]
64#[cfg_attr(windows, allow(dead_code))]
65mod listener;
66#[cfg(any(unix, windows))]
67#[cfg_attr(windows, allow(dead_code))]
68mod listener_options;
69#[cfg(any(unix, windows))]
70#[cfg_attr(windows, allow(dead_code))]
71mod listener_signals;
72#[cfg(any(unix, windows))]
73mod mouse;
74#[cfg(any(unix, windows))]
75#[cfg_attr(windows, allow(dead_code))]
76mod outer_terminal;
77#[cfg(any(unix, windows))]
78#[cfg_attr(windows, allow(dead_code))]
79mod pane_indices;
80#[cfg(any(unix, windows))]
81#[cfg_attr(windows, allow(dead_code))]
82mod pane_io;
83#[cfg(unix)]
84mod pane_reader_runtime;
85#[cfg(any(unix, windows))]
86#[cfg_attr(windows, allow(dead_code))]
87mod pane_screen_state;
88#[cfg(any(unix, windows))]
89mod pane_state_journal;
90#[cfg(any(unix, windows))]
91#[cfg_attr(windows, allow(dead_code))]
92mod pane_terminal_lookup;
93#[cfg(any(unix, windows))]
94#[cfg_attr(windows, allow(dead_code))]
95mod pane_terminal_process;
96#[cfg(any(unix, windows))]
97#[cfg_attr(windows, allow(dead_code))]
98mod pane_terminals;
99#[cfg(any(unix, windows))]
100#[cfg_attr(windows, allow(dead_code))]
101mod pane_transcript;
102#[cfg(any(unix, windows))]
103#[cfg_attr(windows, allow(dead_code))]
104mod pane_visible_geometry;
105#[cfg(any(unix, windows))]
106mod perf_instrument;
107#[cfg(any(unix, windows))]
108#[cfg_attr(windows, allow(dead_code))]
109mod renderer;
110#[cfg(any(unix, windows))]
111#[cfg_attr(windows, allow(dead_code))]
112mod server_access;
113mod signals;
114#[cfg(any(unix, windows))]
115#[cfg_attr(windows, allow(dead_code))]
116mod socket_cleanup;
117#[cfg(any(unix, windows))]
118mod status_lines;
119#[cfg(any(unix, windows))]
120#[cfg_attr(windows, allow(dead_code))]
121mod status_ranges;
122#[cfg(any(unix, windows))]
123#[cfg_attr(windows, allow(dead_code))]
124mod terminal;
125#[cfg(test)]
126mod test_env;
127#[cfg(test)]
128mod test_shell;
129#[cfg(any(unix, windows))]
130mod tmux_shim;
131#[cfg(unix)]
132mod unix_socket;
133#[cfg(any(unix, windows))]
134#[cfg_attr(windows, allow(dead_code))]
135mod wait_for;
136#[cfg(all(any(unix, windows), feature = "web"))]
137mod web;
138#[cfg(windows)]
139mod windows_console_input;
140
141#[cfg(all(any(unix, windows), feature = "web", feature = "fuzzing"))]
143#[doc(hidden)]
144pub mod fuzzing {
145 pub fn websocket_client_frame(data: &[u8]) {
147 crate::web::fuzz_client_frame(data);
148 }
149}
150
151pub use daemon::{
152 default_socket_path, ConfigFileSelection, ConfigLoadOptions, DaemonConfig, ServerDaemon,
153 ServerHandle,
154};