@@ -93,6 +93,11 @@ fn main() -> Result<()> {
93
93
return Err ( Error :: GitNotInstalled ) ;
94
94
}
95
95
96
+ let possible_languages: Vec < String > = Language :: iter ( )
97
+ . filter ( |language| * language != Language :: Unknown )
98
+ . map ( |language| language. to_string ( ) . to_lowercase ( ) )
99
+ . collect ( ) ;
100
+
96
101
let matches = App :: new ( crate_name ! ( ) )
97
102
. version ( crate_version ! ( ) )
98
103
. author ( "o2sh <[email protected] >" )
@@ -109,8 +114,14 @@ fn main() -> Result<()> {
109
114
. short ( "a" )
110
115
. long ( "ascii_language" )
111
116
. takes_value ( true )
112
- . default_value ( "" )
113
- . help ( "Overrides showing the dominant language ascii logo" ) ,
117
+ . possible_values (
118
+ & possible_languages
119
+ . iter ( )
120
+ . map ( |l| l. as_str ( ) )
121
+ . collect :: < Vec < & str > > ( ) ,
122
+ )
123
+ . case_insensitive ( true )
124
+ . help ( "Overrides showing the dominant language ascii logo." ) ,
114
125
)
115
126
. arg (
116
127
Arg :: with_name ( "disable_field" )
@@ -179,7 +190,8 @@ Possible values: [{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}]",
179
190
. long ( "image" )
180
191
. takes_value ( true )
181
192
. help ( "Sets a custom image to use instead of the ascii logo" ) ,
182
- ) . arg (
193
+ )
194
+ . arg (
183
195
Arg :: with_name ( "no-merges" )
184
196
. short ( "m" )
185
197
. long ( "no-merges" )
@@ -197,9 +209,11 @@ Possible values: [{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}]",
197
209
}
198
210
199
211
let dir = String :: from ( matches. value_of ( "directory" ) . unwrap ( ) ) ;
200
- let custom_logo: Language =
201
- Language :: from_str ( & matches. value_of ( "ascii_language" ) . unwrap ( ) . to_lowercase ( ) )
202
- . unwrap_or ( Language :: Unknown ) ;
212
+ let custom_logo: Language = if let Some ( ascii_language) = matches. value_of ( "ascii_language" ) {
213
+ Language :: from_str ( & ascii_language. to_lowercase ( ) ) . unwrap ( )
214
+ } else {
215
+ Language :: Unknown
216
+ } ;
203
217
let mut disable_fields = InfoFieldOn {
204
218
..Default :: default ( )
205
219
} ;
0 commit comments