Go directly to langauge by name
This commit is contained in:
parent
73612d1465
commit
fe0e58efe7
@ -229,10 +229,10 @@ impl Repl {
|
||||
"help" => {
|
||||
println!("Commands:");
|
||||
println!("exit | quit");
|
||||
println!("lang [show|next|previous]");
|
||||
println!("lang(uage) [go|show|next|previous]");
|
||||
println!("set [show|hide] [tokens|parse|symbols|eval|llvm]");
|
||||
}
|
||||
"lang" => {
|
||||
"lang" | "language" => {
|
||||
match commands.get(1) {
|
||||
Some(&"show") => {
|
||||
for (i, lang) in self.languages.iter().enumerate() {
|
||||
@ -243,6 +243,22 @@ impl Repl {
|
||||
}
|
||||
}
|
||||
},
|
||||
Some(&"go") => {
|
||||
match commands.get(2) {
|
||||
None => println!("Must specify a language name"),
|
||||
Some(&desired_name) => {
|
||||
for (i, _) in self.languages.iter().enumerate() {
|
||||
let lang_name = self.languages[i].get_language_name();
|
||||
if lang_name.to_lowercase() == desired_name.to_lowercase() {
|
||||
self.current_language_index = i;
|
||||
println!("Switching to {}", self.languages[self.current_language_index].get_language_name());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
println!("Language {} not found", desired_name);
|
||||
}
|
||||
}
|
||||
},
|
||||
Some(&"next") => {
|
||||
self.current_language_index = (self.current_language_index + 1) % self.languages.len();
|
||||
println!("Switching to {}", self.languages[self.current_language_index].get_language_name());
|
||||
|
Loading…
Reference in New Issue
Block a user