1use rustix::io::Errno;
2use snafu::Snafu;
3
4pub type Result<T, E = Error> = std::result::Result<T, E>;
5
6#[derive(Debug, Snafu)]
7#[snafu(visibility(pub(crate)))]
8pub enum Error {
9 #[snafu(display("Failed to get terminal attributes"))]
10 GetTerminalAttributes { source: Errno },
11 #[snafu(display("Failed to set terminal attributes"))]
12 SetTerminalAttributes { source: Errno },
13 #[snafu(display("Failed to switch to alternate screen"))]
14 SwitchToAlternateScreen { source: std::io::Error },
15 #[snafu(display("Failed to switch to main screen"))]
16 SwitchToMainScreen { source: std::io::Error },
17}