Use space-separated recipe paths in --choose
(#2115)
This commit is contained in:
parent
f5bb82dea3
commit
d2b10e04d3
@ -7,6 +7,13 @@ impl<'src> Namepath<'src> {
|
||||
pub(crate) fn join(&self, name: Name<'src>) -> Self {
|
||||
Self(self.0.iter().copied().chain(iter::once(name)).collect())
|
||||
}
|
||||
|
||||
pub(crate) fn spaced(&self) -> ModulePath {
|
||||
ModulePath {
|
||||
path: self.0.iter().map(|name| name.lexeme().into()).collect(),
|
||||
spaced: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'src> Display for Namepath<'src> {
|
||||
|
@ -261,14 +261,15 @@ impl Subcommand {
|
||||
};
|
||||
|
||||
for recipe in recipes {
|
||||
if let Err(io_error) = child
|
||||
.stdin
|
||||
.as_mut()
|
||||
.expect("Child was created with piped stdio")
|
||||
.write_all(format!("{}\n", recipe.namepath).as_bytes())
|
||||
{
|
||||
return Err(Error::ChooserWrite { io_error, chooser });
|
||||
}
|
||||
writeln!(
|
||||
child.stdin.as_mut().unwrap(),
|
||||
"{}",
|
||||
recipe.namepath.spaced()
|
||||
)
|
||||
.map_err(|io_error| Error::ChooserWrite {
|
||||
io_error,
|
||||
chooser: chooser.clone(),
|
||||
})?;
|
||||
}
|
||||
|
||||
let output = match child.wait_with_output() {
|
||||
|
Loading…
Reference in New Issue
Block a user