pub fn teardown(&self) -> Option<String> {
        let teardown = match self {
            Self::Full => MAIN_SCREEN.to_string(),
            Self::Inline(_) => format!("{}{}{}", clear::CurrentLine, clear::AfterCursor, "\r"),
        };

        Some(teardown)
    }
// After finishing with the program we want to restore the screen
//
// * In full mode that means going back to the main screen, with no changes
// * In inline mode that means cleaning the last line to print the result
After finishing with the program we want to restore the screen
In full mode that means going back to the main screen, with no changes
In inline mode that means cleaning the last line to print the result
After finishing with the program we want to restore the screen In full mode that means going back to the main screen with no changes In inline mode that means cleaning the last line to print the result
pub fn teardown(&self) -> Option<String> {
        let teardown = match self {
            Self::Full => MAIN_SCREEN.to_string(),
            Self::Inline(_) => format!("{}{}{}", clear::CurrentLine, clear::AfterCursor, "\r"),
        };
        Some(teardown)
    }
pub fn teardown ( & self ) -> Option < String > { let teardown = match self { Self :: Full => MAIN_SCREEN . to_string ( ) , Self :: Inline ( _ ) => format ! ( " " clear CurrentLine clear AfterCursor " \r " ) , } ; Some ( teardown ) }
After finishing with the program we want to restore the screen
 In full mode that means going back to the main screen, with no changes
 In inline mode that means cleaning the last line to print the result
After finishing with the program we want to restore the screen In full mode that means going back to the main screen with no changes In inline mode that means cleaning the last line to print the result
&self