Skip to content

Commit ce4756e

Browse files
authored
Merge pull request #142 from ZapAnton/fix_language_name_mismatch
Fix mismatch of language names between output and `-a` input
2 parents 493a07f + e419f93 commit ce4756e

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

Diff for: src/language.rs

+3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ pub enum Language {
1111
C,
1212
Clojure,
1313
CoffeeScript,
14+
#[strum(serialize = "c++")]
1415
Cpp,
16+
#[strum(serialize = "c#")]
1517
Csharp,
1618
CSS,
1719
D,
@@ -34,6 +36,7 @@ pub enum Language {
3436
Lua,
3537
Markdown,
3638
Nim,
39+
#[strum(serialize = "objective-c")]
3740
ObjectiveC,
3841
Perl,
3942
Php,

Diff for: src/main.rs

+20-6
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ fn main() -> Result<()> {
9393
return Err(Error::GitNotInstalled);
9494
}
9595

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+
96101
let matches = App::new(crate_name!())
97102
.version(crate_version!())
98103
.author("o2sh <[email protected]>")
@@ -109,8 +114,14 @@ fn main() -> Result<()> {
109114
.short("a")
110115
.long("ascii_language")
111116
.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."),
114125
)
115126
.arg(
116127
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}]",
179190
.long("image")
180191
.takes_value(true)
181192
.help("Sets a custom image to use instead of the ascii logo"),
182-
).arg(
193+
)
194+
.arg(
183195
Arg::with_name("no-merges")
184196
.short("m")
185197
.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}]",
197209
}
198210

199211
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+
};
203217
let mut disable_fields = InfoFieldOn {
204218
..Default::default()
205219
};

0 commit comments

Comments
 (0)