fn run() -> Result<Option<Launchable>, ProgramError> {
    configure_log();
    let launch_args = cli::read_launch_args()?;
    let should_quit = shell_install::init(&launch_args)?;
    if should_quit {
        return Ok(None);
    }
    let mut verb_store = VerbStore::new();
    let config = Conf::from_default_location()?;
    verb_store.init(&config);
    let context = AppContext {
        launch_args,
        verb_store,
    };
    let skin = skin::Skin::create(config.skin);
    App::new().run(&context, skin)
}
/// run the application, and maybe return a launchable
/// which must be run after broot
run the application, and maybe return a launchable
which must be run after broot
run the application and maybe return a launchable which must be run after broot
fn run() -> Result<Option<Launchable>, ProgramError> {
    configure_log();
    let launch_args = cli::read_launch_args()?;
    let should_quit = shell_install::init(&launch_args)?;
    if should_quit {
        return Ok(None);
    }
    let mut verb_store = VerbStore::new();
    let config = Conf::from_default_location()?;
    verb_store.init(&config);
    let context = AppContext {
        launch_args,
        verb_store,
    };
    let skin = skin::Skin::create(config.skin);
    App::new().run(&context, skin)
}
fn run ( ) -> Result < Option < Launchable > , ProgramError > { configure_log ( ) ; let launch_args = cli :: read_launch_args ( ) ? ; let should_quit = shell_install :: init ( & launch_args ) ? ; if should_quit { return Ok ( None ) ; } let mut verb_store = VerbStore :: new ( ) ; let config = Conf :: from_default_location ( ) ? ; verb_store . init ( & config ) ; let context = AppContext { launch_args , verb_store , } ; let skin = skin :: Skin :: create ( config . skin ) ; App :: new ( ) . run ( & context , skin ) }
run the application, and maybe return a launchable
which must be run after broot
run the application and maybe return a launchable which must be run after broot