1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use std::io::{self, Write};
use storage::Backend;
use super::{LalResult, CliError};
pub fn query(backend: &Backend, _env: Option<&str>, component: &str, last: bool) -> LalResult<()> {
if component.to_lowercase() != component {
return Err(CliError::InvalidComponentName(component.into()));
}
let env = match _env {
None => {
error!("query is no longer allowed without an explicit environment");
return Err(CliError::EnvironmentUnspecified)
},
Some(e) => e
};
if last {
let ver = backend.get_latest_version(component, env)?;
println!("{}", ver);
} else {
let vers = backend.get_versions(component, env)?;
for v in vers {
println!("{}", v);
if io::stdout().flush().is_err() {
return Ok(());
}
}
}
Ok(())
}