nushell/crates/nu-command/src
panicbit 6b4d06d8a7
do not emit None mid-stream during parse (#9925)
<!--
if this PR closes one or more issues, you can automatically link the PR
with
them by using one of the [*linking
keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword),
e.g.
- this PR should close #issue 

you can also mention related issues, PRs or discussions!
-->

# Description
<!--
Thank you for improving Nushell. Please, check our [contributing
guide](../CONTRIBUTING.md) and talk to the core team before making major
changes.

Description of your pull request goes here. **Provide examples and/or
screenshots** if your changes affect the user experience.
-->
Currently `parse` acts like a `.filter` over an iterator, except that it
emits `None` for elements that can't be parsed. This causes consumers of
the adapted iterator to stop iterating too early. The correct behaviour
is to keep pulling the inner iterator until either the end of it is
reached or an element can be parsed.

- this PR should close #9906 

# User-Facing Changes
<!-- List of all changes that impact the user experience here. This
helps us keep track of breaking changes. -->
List streams won't be truncated anymore after the first parse failure.

# Tests + Formatting
<!--
Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- [x] `cargo fmt --all -- --check` to check standard code formatting
(`cargo fmt --all` applies these changes)
- [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect -A clippy::result_large_err` to check that
you're using the standard code style
- [-] `cargo test --workspace` to check that all tests pass

- `cargo run -- -c "use std testing; testing run-tests --path
crates/nu-std"` to run the tests for the standard library

> **Note**
> from `nushell` you can also use the `toolkit` as follows
> ```bash
> use toolkit.nu # or use an `env_change` hook to activate it
automatically
> toolkit check pr
> ```
-->
- [x] `cargo fmt --all -- --check` to check standard code formatting
(`cargo fmt --all` applies these changes)
- [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect -A clippy::result_large_err` to check that
you're using the standard code style
- [x] `cargo test --workspace` to check that all tests pass
  - 11 tests fail, but the same 11 tests fail on main as well
- [x] `cargo run -- -c "use std testing; testing run-tests --path
crates/nu-std"` to run the tests for the standard library

# 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.
-->
2023-08-06 06:17:03 -05:00
..
charting revert: move to ahash (#9464) 2023-06-18 15:27:57 +12:00
conversions Add format duration to replace into duration --convert (#9788) 2023-07-30 22:23:36 +02:00
database handle sqlite tables better by surrounding with brackets (#9752) 2023-07-20 11:20:56 -05:00
date rename from date format to format date (#9902) 2023-08-04 06:06:00 +12:00
debug Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
deprecated updates let-env signature to remove required params (#9917) 2023-08-04 14:06:41 -05:00
env Input output checking (#9680) 2023-07-14 15:20:35 +12:00
experimental Add functions for each Value case (#9736) 2023-07-21 08:20:33 -05:00
filesystem fix removing symlinks on windows (#9704) 2023-07-20 20:16:03 +02:00
filters update items signature to allow any output (#9896) 2023-08-02 08:42:26 -05:00
formats Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
generators Document and critically review ShellError variants - Ep. 2 (#8326) 2023-03-06 11:31:07 +01:00
hash Fix signatures for cellpath access of records (#9793) 2023-07-26 23:13:57 +02:00
help Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
math Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
misc REFACTOR: move source out of deprecated commands (#9060) 2023-05-04 00:02:03 +02:00
network Accept records for http subcommand headers (-H) (#9771) 2023-07-30 22:28:48 +02:00
path fixed the bug ~ | path type return empty string (#9853) 2023-07-31 07:47:18 -05:00
platform Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
random Add functions for each Value case (#9736) 2023-07-21 08:20:33 -05:00
shells Fix usage for the exit command. (#9450) 2023-06-16 10:09:02 +02:00
strings do not emit None mid-stream during parse (#9925) 2023-08-06 06:17:03 -05:00
system Enable macOS foreground process handling (#9909) 2023-08-04 15:43:35 -05:00
viewers Add an option to set header on border (style) (#9920) 2023-08-04 13:50:47 -05:00
default_context.rs rename from date format to format date (#9902) 2023-08-04 06:06:00 +12:00
example_test.rs Remove Signature.vectorizes_over_list entirely (#9777) 2023-07-26 23:34:43 +02:00
hook.rs cratification: move the bytes command to nu-cmd-extra (#9509) 2023-06-23 12:23:08 -07:00
lib.rs cratification: move the bytes command to nu-cmd-extra (#9509) 2023-06-23 12:23:08 -07:00
progress_bar.rs cp progress bar implementation (#8012) 2023-02-22 11:57:38 -08:00
sort_utils.rs Support passing an empty list to sort, uniq, sort-by, and uniq-by (issue #5957) (#8669) 2023-03-29 19:55:38 -07:00