Show available profiles on error
This commit is contained in:
parent
d3d3397121
commit
3afc004845
@ -542,7 +542,14 @@ Arguments:
|
||||
|path| format!("{} is not a valid UTF8 string", path.to_string_lossy())
|
||||
));
|
||||
|
||||
profile_string.parse().expect("unknown profile")
|
||||
profile_string.parse().unwrap_or_else(|_| {
|
||||
eprintln!("error: unknown profile {}", profile_string);
|
||||
eprintln!("help: the available profiles are:");
|
||||
for choice in Profile::all() {
|
||||
eprintln!("- {}", choice);
|
||||
}
|
||||
std::process::exit(1);
|
||||
})
|
||||
} else {
|
||||
t!(crate::setup::interactive_path())
|
||||
};
|
||||
|
@ -18,6 +18,10 @@ impl Profile {
|
||||
fn include_path(&self, src_path: &Path) -> PathBuf {
|
||||
PathBuf::from(format!("{}/src/bootstrap/defaults/config.{}.toml", src_path.display(), self))
|
||||
}
|
||||
|
||||
pub fn all() -> impl Iterator<Item = Self> {
|
||||
[Profile::Compiler, Profile::Codegen, Profile::Library, Profile::User].iter().copied()
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
Loading…
Reference in New Issue
Block a user