@@ -46,99 +46,33 @@ async fn main() -> Result<()> {
46
46
. with_env_filter ( EnvFilter :: from_default_env ( ) )
47
47
. init ( ) ;
48
48
49
- match & WargCli :: parse ( ) {
50
- WargCli :: Config ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
51
- WargCli :: Info ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
52
- WargCli :: Key ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
53
- WargCli :: Lock ( cmd) => {
54
- with_interactive_retry ( |retry : Option < Retry > | async {
55
- if let Err ( e) = cmd. clone ( ) . exec ( retry) . await {
56
- if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
57
- describe_client_error_or_retry ( e) . await ?;
58
- } else {
59
- eprintln ! ( "error: {e:?}" ) ;
60
- }
61
- exit ( 1 ) ;
62
- }
63
- Ok ( ( ) )
64
- } )
65
- . await ?
66
- }
67
- WargCli :: Bundle ( cmd) => {
68
- with_interactive_retry ( |retry : Option < Retry > | async {
69
- if let Err ( e) = cmd. clone ( ) . exec ( retry) . await {
70
- if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
71
- describe_client_error_or_retry ( e) . await ?;
72
- } else {
73
- eprintln ! ( "error: {e:?}" ) ;
74
- }
75
- exit ( 1 ) ;
76
- }
77
- Ok ( ( ) )
78
- } )
79
- . await ?
80
- }
81
- WargCli :: Dependencies ( cmd) => {
82
- with_interactive_retry ( |retry : Option < Retry > | async {
83
- if let Err ( e) = cmd. clone ( ) . exec ( retry) . await {
84
- if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
85
- describe_client_error_or_retry ( e) . await ?;
86
- } else {
87
- eprintln ! ( "error: {e:?}" ) ;
88
- }
89
- exit ( 1 ) ;
90
- }
91
- Ok ( ( ) )
92
- } )
93
- . await ?
94
- }
95
- WargCli :: Download ( cmd) => {
96
- with_interactive_retry ( |retry : Option < Retry > | async {
97
- if let Err ( e) = cmd. clone ( ) . exec ( retry) . await {
98
- if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
99
- describe_client_error_or_retry ( e) . await ?;
100
- } else {
101
- eprintln ! ( "error: {e:?}" ) ;
102
- }
103
- exit ( 1 ) ;
104
- }
105
- Ok ( ( ) )
106
- } )
107
- . await ?
108
- }
109
- WargCli :: Update ( cmd) => {
110
- with_interactive_retry ( |retry : Option < Retry > | async {
111
- if let Err ( e) = cmd. clone ( ) . exec ( retry) . await {
112
- if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
113
- describe_client_error_or_retry ( e) . await ?;
114
- } else {
115
- eprintln ! ( "error: {e:?}" ) ;
116
- }
117
- exit ( 1 ) ;
118
- }
119
- Ok ( ( ) )
120
- } )
121
- . await ?
122
- }
123
- WargCli :: Publish ( cmd) => {
124
- with_interactive_retry ( |retry : Option < Retry > | async {
125
- if let Err ( e) = cmd. clone ( ) . exec ( retry) . await {
126
- if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
127
- describe_client_error_or_retry ( e) . await ?;
128
- } else {
129
- eprintln ! ( "error: {e:?}" ) ;
130
- }
131
- exit ( 1 ) ;
132
- }
133
- Ok ( ( ) )
134
- } )
135
- . await ?
49
+ with_interactive_retry ( |retry : Option < Retry > | async {
50
+ if let Err ( e) = match WargCli :: parse ( ) {
51
+ WargCli :: Config ( cmd) => cmd. exec ( ) . await ,
52
+ WargCli :: Info ( cmd) => cmd. exec ( ) . await ,
53
+ WargCli :: Key ( cmd) => cmd. exec ( ) . await ,
54
+ WargCli :: Lock ( cmd) => cmd. exec ( retry) . await ,
55
+ WargCli :: Bundle ( cmd) => cmd. exec ( retry) . await ,
56
+ WargCli :: Dependencies ( cmd) => cmd. exec ( retry) . await ,
57
+ WargCli :: Download ( cmd) => cmd. exec ( retry) . await ,
58
+ WargCli :: Update ( cmd) => cmd. exec ( retry) . await ,
59
+ WargCli :: Publish ( cmd) => cmd. exec ( retry) . await ,
60
+ WargCli :: Reset ( cmd) => cmd. exec ( ) . await ,
61
+ WargCli :: Clear ( cmd) => cmd. exec ( ) . await ,
62
+ WargCli :: Login ( cmd) => cmd. exec ( ) . await ,
63
+ WargCli :: Logout ( cmd) => cmd. exec ( ) . await ,
64
+ } {
65
+ if let Some ( e) = e. downcast_ref :: < ClientError > ( ) {
66
+ describe_client_error_or_retry ( e) . await ?;
67
+ } else {
68
+ eprintln ! ( "error: {e:?}" ) ;
69
+ }
70
+ exit ( 1 ) ;
136
71
}
137
- WargCli :: Reset ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
138
- WargCli :: Clear ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
139
- WargCli :: Login ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
140
- WargCli :: Logout ( cmd) => cmd. clone ( ) . exec ( ) . await ?,
141
- }
72
+
73
+ Ok ( ( ) )
74
+ } )
75
+ . await ?;
142
76
143
77
Ok ( ( ) )
144
78
}
@@ -162,9 +96,9 @@ async fn describe_client_error_or_retry(e: &ClientError) -> Result<()> {
162
96
let registry = terms. next ( ) ;
163
97
if let ( Some ( namespace) , Some ( registry) ) = ( namespace, registry) {
164
98
let prompt = format ! (
165
- "The package `{}`, does not exist in the registry you're using.\n However, the package namespace `{namespace}` does exist in the registry at {registry}.\n Would you like to configure your warg cli to use this registry for packages with this namespace in the future? y/N\n " ,
166
- name. name( )
167
- ) ;
99
+ "The package `{}`, does not exist in the registry you're using.\n However, the package namespace `{namespace}` does exist in the registry at {registry}.\n Would you like to configure your warg cli to use this registry for packages with this namespace in the future? y/N\n " ,
100
+ name. name( )
101
+ ) ;
168
102
if Confirm :: with_theme ( & ColorfulTheme :: default ( ) )
169
103
. with_prompt ( prompt)
170
104
. interact ( )
0 commit comments