@@ -38,8 +38,11 @@ tag occur { req; optional; multi; }
38
38
type opt = rec ( name name, hasarg hasarg, occur occur) ;
39
39
40
40
fn mkname ( str nm) -> name {
41
- if ( str:: char_len ( nm) == 1 u) { ret short ( str:: char_at ( nm, 0 u) ) ; }
42
- else { ret long ( nm) ; }
41
+ ret if ( str:: char_len ( nm) == 1 u) {
42
+ short ( str:: char_at ( nm, 0 u) )
43
+ } else {
44
+ long( nm)
45
+ } ;
43
46
}
44
47
fn reqopt ( str name ) -> opt {
45
48
ret rec ( name=mkname ( name) , hasarg=yes, occur=req) ;
@@ -65,23 +68,23 @@ fn is_arg(str arg) -> bool {
65
68
ret str:: byte_len ( arg) > 1 u && arg. ( 0 ) == '-' as u8 ;
66
69
}
67
70
fn name_str ( name nm) -> str {
68
- alt ( nm) {
69
- case ( short ( ?ch) ) { ret str:: from_char ( ch) ; }
70
- case ( long ( ?s) ) { ret s ; }
71
- }
71
+ ret alt ( nm) {
72
+ case ( short ( ?ch) ) { str:: from_char ( ch) }
73
+ case ( long ( ?s) ) { s }
74
+ } ;
72
75
}
73
76
74
77
// FIXME rustboot workaround
75
78
fn name_eq ( name a, name b) -> bool {
76
- alt ( a) {
79
+ ret alt ( a) {
77
80
case ( long ( ?a) ) {
78
81
alt ( b) {
79
- case ( long ( ?b) ) { ret str:: eq ( a, b) ; }
80
- case ( _) { ret false ; }
82
+ case ( long ( ?b) ) { str:: eq ( a, b) }
83
+ case ( _) { false }
81
84
}
82
85
}
83
- case ( _) { if ( a == b) { ret true ; } else { ret false ; } }
84
- }
86
+ case ( _) { if ( a == b) { true } else { false } }
87
+ } ;
85
88
}
86
89
fn find_opt ( vec[ opt] opts , name nm) -> option:: t [ uint ] {
87
90
auto i = 0 u;
@@ -102,23 +105,23 @@ tag fail_ {
102
105
}
103
106
104
107
fn fail_str ( fail_ f) -> str {
105
- alt ( f) {
108
+ ret alt ( f) {
106
109
case ( argument_missing ( ?nm) ) {
107
- ret "Argument to option '" + nm + "' missing." ;
110
+ "Argument to option '" + nm + "' missing."
108
111
}
109
112
case ( unrecognized_option ( ?nm) ) {
110
- ret "Unrecognized option: '" + nm + "'." ;
113
+ "Unrecognized option: '" + nm + "'."
111
114
}
112
115
case ( option_missing ( ?nm) ) {
113
- ret "Required option '" + nm + "' missing." ;
116
+ "Required option '" + nm + "' missing."
114
117
}
115
118
case ( option_duplicated ( ?nm) ) {
116
- ret "option '" + nm + "' given more than once." ;
119
+ "option '" + nm + "' given more than once."
117
120
}
118
121
case ( unexpected_argument ( ?nm) ) {
119
- ret "Option " + nm + " does not take an argument." ;
122
+ "Option " + nm + " does not take an argument."
120
123
}
121
- }
124
+ } ;
122
125
}
123
126
124
127
tag result {
@@ -228,13 +231,13 @@ fn getopts(vec[str] args, vec[opt] opts) -> result {
228
231
}
229
232
230
233
fn opt_vals ( match m, str nm) -> vec[ optval ] {
231
- alt ( find_opt ( m. opts , mkname ( nm) ) ) {
232
- case ( some[ uint] ( ?id) ) { ret m. vals . ( id) ; }
234
+ ret alt ( find_opt ( m. opts , mkname ( nm) ) ) {
235
+ case ( some[ uint] ( ?id) ) { m. vals . ( id) }
233
236
case ( none[ uint] ) {
234
237
log_err "No option '" + nm + "' defined." ;
235
- fail;
238
+ fail
236
239
}
237
- }
240
+ } ;
238
241
}
239
242
fn opt_val ( match m, str nm) -> optval {
240
243
ret opt_vals ( m, nm) . ( 0 ) ;
@@ -243,10 +246,10 @@ fn opt_present(match m, str nm) -> bool {
243
246
ret vec:: len[ optval] ( opt_vals ( m, nm) ) > 0 u;
244
247
}
245
248
fn opt_str ( match m, str nm) -> str {
246
- alt ( opt_val ( m, nm) ) {
247
- case ( val ( ?s) ) { ret s ; }
248
- case ( _) { fail; }
249
- }
249
+ ret alt ( opt_val ( m, nm) ) {
250
+ case ( val ( ?s) ) { s }
251
+ case ( _) { fail }
252
+ } ;
250
253
}
251
254
fn opt_strs( match m, str nm) -> vec[ str ] {
252
255
let vec[ str] acc = [ ] ;
@@ -261,10 +264,10 @@ fn opt_strs(match m, str nm) -> vec[str] {
261
264
fn opt_maybe_str( match m, str nm) -> option:: t[ str] {
262
265
auto vals = opt_vals( m, nm) ;
263
266
if ( vec:: len[ optval] ( vals) == 0 u) { ret none[ str] ; }
264
- alt ( vals. ( 0 ) ) {
265
- case ( val( ?s) ) { ret some[ str] ( s) ; }
266
- case ( _) { ret none[ str] ; }
267
- }
267
+ ret alt ( vals. ( 0 ) ) {
268
+ case ( val( ?s) ) { some[ str] ( s) }
269
+ case ( _) { none[ str] }
270
+ } ;
268
271
}
269
272
270
273
// Local Variables:
0 commit comments