@@ -78,65 +78,59 @@ async fn run(args: CoffeeArgs, mut coffee: CoffeeManager) -> Result<(), CoffeeEr
78
78
}
79
79
}
80
80
}
81
- CoffeeCommand :: Remote {
82
- action,
83
- plugins,
84
- name,
85
- } => {
86
- if plugins {
87
- let result = coffee. get_plugins_in_remote ( & name. unwrap ( ) ) . await ;
88
- coffee_term:: show_list ( result) ?;
89
- } else {
90
- match action {
91
- Some ( RemoteAction :: Add { name, url } ) => {
92
- let mut spinner = term:: spinner ( format ! ( "Fetch remote from {url}" ) ) ;
93
- let result = coffee. add_remote ( & name, & url) . await ;
94
- if let Err ( err) = & result {
95
- spinner. error ( format ! ( "Error while add remote: {err}" ) ) ;
96
- return result;
97
- }
98
- spinner. message ( "Remote added!" ) ;
99
- spinner. finish ( ) ;
100
- }
101
- Some ( RemoteAction :: Rm { name } ) => {
102
- let mut spinner = term:: spinner ( format ! ( "Removing remote {name}" ) ) ;
103
- let result = coffee. rm_remote ( & name) . await ;
104
- if let Err ( err) = & result {
105
- spinner. error ( format ! ( "Error while removing the repository: {err}" ) ) ;
106
- return result;
107
- }
108
- spinner. message ( "Remote removed!" ) ;
109
- spinner. finish ( ) ;
81
+ CoffeeCommand :: Remote { action, name } => {
82
+ match action {
83
+ Some ( RemoteAction :: Add { name, url } ) => {
84
+ let mut spinner = term:: spinner ( format ! ( "Fetch remote from {url}" ) ) ;
85
+ let result = coffee. add_remote ( & name, & url) . await ;
86
+ if let Err ( err) = & result {
87
+ spinner. error ( format ! ( "Error while add remote: {err}" ) ) ;
88
+ return result;
110
89
}
111
- Some ( RemoteAction :: List { } ) => {
112
- let remotes = coffee. list_remotes ( ) . await ;
113
- coffee_term:: show_remote_list ( remotes) ?;
90
+ spinner. message ( "Remote added!" ) ;
91
+ spinner. finish ( ) ;
92
+ }
93
+ Some ( RemoteAction :: Rm { name } ) => {
94
+ let mut spinner = term:: spinner ( format ! ( "Removing remote {name}" ) ) ;
95
+ let result = coffee. rm_remote ( & name) . await ;
96
+ if let Err ( err) = & result {
97
+ spinner. error ( format ! ( "Error while removing the repository: {err}" ) ) ;
98
+ return result;
114
99
}
115
- None => {
116
- // This is the case when the user does not provides the
117
- // plugins flag, so we just show the remote repository
118
- // information
100
+ spinner. message ( "Remote removed!" ) ;
101
+ spinner. finish ( ) ;
102
+ }
103
+ Some ( RemoteAction :: Inspect { name } ) => {
104
+ let result = coffee. get_plugins_in_remote ( & name) . await ;
105
+ coffee_term:: show_list ( result) ?;
106
+ }
107
+ Some ( RemoteAction :: List { } ) => {
108
+ let remotes = coffee. list_remotes ( ) . await ;
109
+ coffee_term:: show_remote_list ( remotes) ?;
110
+ }
111
+ None => {
112
+ // This is the case when the user does not provides the
113
+ // plugins flag, so we just show the remote repository
114
+ // information
119
115
120
- // The name will be always Some because of the
121
- // arg_required_else_help = true in the clap
122
- // attribute
123
- let name =
124
- name. ok_or_else ( || error ! ( "No remote repository name provided" ) ) ?;
125
- let remotes = coffee. list_remotes ( ) . await ?;
126
- let remotes = remotes
127
- . remotes
128
- . ok_or_else ( || error ! ( "Couldn't get the remote repositories" ) ) ?;
129
- let remote = remotes
130
- . iter ( )
131
- . find ( |remote| remote. local_name == name)
132
- . ok_or_else ( || error ! ( "Couldn't find the remote repository" ) ) ?;
133
- // A workaround to show the remote repository information
134
- // in the same way as the list command
135
- let remote = Ok ( CoffeeRemote {
136
- remotes : Some ( vec ! [ remote. clone( ) ] ) ,
137
- } ) ;
138
- coffee_term:: show_remote_list ( remote) ?;
139
- }
116
+ // The name will be always Some because of the
117
+ // arg_required_else_help = true in the clap
118
+ // attribute
119
+ let name = name. ok_or_else ( || error ! ( "No remote repository name provided" ) ) ?;
120
+ let remotes = coffee. list_remotes ( ) . await ?;
121
+ let remotes = remotes
122
+ . remotes
123
+ . ok_or_else ( || error ! ( "Couldn't get the remote repositories" ) ) ?;
124
+ let remote = remotes
125
+ . iter ( )
126
+ . find ( |remote| remote. local_name == name)
127
+ . ok_or_else ( || error ! ( "Couldn't find the remote repository" ) ) ?;
128
+ // A workaround to show the remote repository information
129
+ // in the same way as the list command
130
+ let remote = Ok ( CoffeeRemote {
131
+ remotes : Some ( vec ! [ remote. clone( ) ] ) ,
132
+ } ) ;
133
+ coffee_term:: show_remote_list ( remote) ?;
140
134
}
141
135
}
142
136
}
0 commit comments