Return value instead of stream from kill (#12480)

# Description
The `kill` command returns a stream with a single value. This PR changes
it to simply return the value.

# User-Facing Changes
Technically a breaking change.
This commit is contained in:
Ian Manske 2024-04-12 15:44:27 +00:00 committed by GitHub
parent 3eb9c2a565
commit 741e3c3d8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -147,23 +147,21 @@ impl Command for Kill {
}); });
} }
let val = String::from( let mut output =
String::from_utf8(output.stdout) String::from_utf8(output.stdout).map_err(|e| ShellError::GenericError {
.map_err(|e| ShellError::GenericError { error: "failed to convert output to string".into(),
error: "failed to convert output to string".into(), msg: e.to_string(),
msg: e.to_string(), span: Some(call.head),
span: Some(call.head), help: None,
help: None, inner: vec![],
inner: vec![], })?;
})?
.trim_end(), output.truncate(output.trim_end().len());
);
if val.is_empty() { if output.is_empty() {
Ok(Value::nothing(call.head).into_pipeline_data()) Ok(Value::nothing(call.head).into_pipeline_data())
} else { } else {
Ok(vec![Value::string(val, call.head)] Ok(Value::string(output, call.head).into_pipeline_data())
.into_iter()
.into_pipeline_data(engine_state.ctrlc.clone()))
} }
} }