File tree Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Original file line number Diff line number Diff line change @@ -67,22 +67,40 @@ fn main() {
67
67
std:: process:: exit ( 0 ) ;
68
68
}
69
69
70
+ fn usage < S : Into < String > > ( reason : S ) {
71
+ print ! ( "{}\n \r usage: rustfmt [-h Help] [--write-mode=[true/false]] <file_name>" , reason. into( ) ) ;
72
+ std:: process:: exit ( 1 ) ;
73
+ }
74
+
70
75
fn determine_params < I > ( args : I ) -> ( Vec < String > , WriteMode )
71
76
where I : Iterator < Item = String >
72
77
{
73
- let prefix = "--write-mode=" ;
78
+ let arg_prefix = "-" ;
79
+ let write_mode_prefix = "--write-mode=" ;
80
+ let help_mode = "-h" ;
81
+ let long_help_mode = "--help" ;
74
82
let mut write_mode = WriteMode :: Replace ;
75
83
76
84
// The NewFile option currently isn't supported because it requires another
77
85
// parameter, but it can be added later.
78
- let args = args. filter ( |arg| {
79
- if arg. starts_with ( prefix) {
80
- write_mode = FromStr :: from_str ( & arg[ prefix. len ( ) ..] ) . expect ( "Unrecognized write mode" ) ;
86
+ let args: Vec < String > = args. filter ( |arg| {
87
+ if arg. starts_with ( write_mode_prefix) {
88
+ write_mode = FromStr :: from_str ( & arg[ write_mode_prefix. len ( ) ..] ) . expect ( "Unrecognized write mode" ) ;
89
+ false
90
+ } else if arg. starts_with ( help_mode) || arg. starts_with ( long_help_mode) {
91
+ usage ( "" ) ;
92
+ false
93
+ } else if arg. starts_with ( arg_prefix) {
94
+ usage ( "Invalid argument" ) ;
81
95
false
82
96
} else {
83
97
true
84
98
}
85
99
} ) . collect ( ) ;
100
+ if args. len ( ) < 2 {
101
+ usage ( "Please provide a file to be formatted" ) ;
102
+ }
103
+
86
104
87
105
( args, write_mode)
88
106
}
You can’t perform that action at this time.
0 commit comments