mirror of
https://github.com/nushell/nushell.git
synced 2025-07-01 15:11:52 +02:00
Pipeline operators: &&
and ||
(#7448)
# Description We got some feedback from folks used to other shells that `try/catch` isn't quite as convenient as things like `||`. This PR adds `&&` as a synonym for `;` and `||` as equivalent to what `try/catch` would do. # User-Facing Changes Adds `&&` and `||` pipeline operators. # Tests + Formatting Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass # After Submitting If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date.
This commit is contained in:
@ -113,6 +113,13 @@ impl Stack {
|
||||
.ok_or_else(|| ShellError::NushellFailed("No active overlay".into()))
|
||||
}
|
||||
|
||||
pub fn last_exit_code(&self, engine_state: &EngineState) -> Option<i64> {
|
||||
match self.get_env_var(engine_state, "LAST_EXIT_CODE") {
|
||||
Some(Value::Int { val, .. }) => Some(val),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn captures_to_stack(&self, captures: &HashMap<VarId, Value>) -> Stack {
|
||||
// FIXME: this is probably slow
|
||||
let mut env_vars = self.env_vars.clone();
|
||||
|
Reference in New Issue
Block a user