@@ -169,9 +169,18 @@ enum KeyCommands {
169169 /// The name of the key
170170 name : String ,
171171 } ,
172+
173+ /// Attach an existing key to a Litterbox
174+ Attach {
175+ /// The name of the key
176+ key_name : String ,
177+
178+ /// The name of the Litterbox
179+ litterbox_name : String ,
180+ } ,
172181}
173182
174- fn try_run ( ) -> Result < ( ) , LitterboxError > {
183+ fn run_menu ( ) -> Result < ( ) , LitterboxError > {
175184 let args = Args :: parse ( ) ;
176185 match args. command {
177186 Commands :: Prepare { name } => {
@@ -185,7 +194,7 @@ fn try_run() -> Result<(), LitterboxError> {
185194 println ! ( "Litterbox created!" ) ;
186195 }
187196 Commands :: Enter { name } => {
188- enter_distrobox ( & name) ?;
197+ enter_litterbox ( & name) ?;
189198 println ! ( "Exited Litterbox..." )
190199 }
191200 Commands :: List => {
@@ -196,7 +205,7 @@ fn try_run() -> Result<(), LitterboxError> {
196205 println ! ( "{table}" ) ;
197206 }
198207 Commands :: Delete { name } => {
199- delete_distrobox ( & name) ?;
208+ delete_litterbox ( & name) ?;
200209 }
201210 Commands :: Keys ( cmd) => process_key_cmd ( cmd) ?,
202211 }
@@ -215,14 +224,20 @@ fn process_key_cmd(cmd: KeyCommands) -> Result<(), LitterboxError> {
215224 KeyCommands :: Delete { name } => {
216225 keys. delete ( & name) ?;
217226 }
227+ KeyCommands :: Attach {
228+ key_name,
229+ litterbox_name,
230+ } => {
231+ keys. attach ( & key_name, & litterbox_name) ?;
232+ }
218233 }
219234 Ok ( ( ) )
220235}
221236
222237fn main ( ) {
223238 env_logger:: init ( ) ;
224239
225- if let Err ( e) = try_run ( ) {
240+ if let Err ( e) = run_menu ( ) {
226241 e. print ( ) ;
227242 }
228243}
0 commit comments