forks/sorcery
git clone https://git.gae.moe/forks/sorcery
3356bff
main
1mod forge; 2mod refresh; 3mod ui; 4 5use std:: io::{ self , IsTerminal }; 6use std:: path:: PathBuf ; 7 8use anyhow::{ Result , bail}; 9use clap:: Parser ; 10 11# [ derive ( Parser )] 12# [ command ( name = "sorcery-ssh" )] 13struct Cli { 14# [ arg ( long , env = "SORCERY_REPOSITORIES" , value_name = "DIR" )] 15repositories : PathBuf , 16# [ arg ( long , env = "SORCERY_CONTROL_SOCKET" , value_name = "PATH" )] 17control_socket : Option < PathBuf >, 18# [ arg ( long , env = "SORCERY_CLONE_URL_BASE" , value_name = "URL" )] 19clone_url_base : Option < String >, 20} 21 22fn main () ->Result <()> { 23let cli =Cli :: parse (); 24if !io:: stdin (). is_terminal () || !io:: stdout (). is_terminal () { 25bail! ( "interactive session needs a terminal; try `ssh -t`" ); 26} 27 ui:: run ( cli. repositories , cli. clone_url_base , cli. control_socket ) 28}