nushell/crates/nu-command/src
WMR 4fda6d7eaa
Add regex separators for split row/list/column (#8707)
# Description

Verified on discord with maintainer

Change adds regex separators in split rows/column/list. The primary
motivating reason was to make it easier to split on separators with
unbounded whitespace without requiring a lot of trim jiggery. But,
secondary motivation is the same as the set of all motivations for
adding split regex features to most languages.

# User-Facing Changes

Adds -r option to split rows/column/list.

# Tests + Formatting

Ran tests, however tests.nu fails with unrelated errors:

```
~/src/nushell> cargo run -- crates/nu-utils/standard_library/tests.nu                                                                                                                                                          04/02/2023 02:07:25 AM
    Finished dev [unoptimized + debuginfo] target(s) in 0.24s
     Running `target/debug/nu crates/nu-utils/standard_library/tests.nu`
INF|2023-04-02T02:07:27.060|Running tests in test_asserts
INF|2023-04-02T02:07:27.141|Running tests in test_dirs
Error:
  × list is just pwd after initialization

INF|2023-04-02T02:07:27.167|Running tests in test_logger
INF|2023-04-02T02:07:27.286|Running tests in test_std
Error:
  × some tests did not pass (see complete errors above):
  │
  │       test_asserts test_assert
  │       test_asserts test_assert_equal
  │       test_asserts test_assert_error
  │       test_asserts test_assert_greater
  │       test_asserts test_assert_greater_or_equal
  │       test_asserts test_assert_length
  │       test_asserts test_assert_less
  │       test_asserts test_assert_less_or_equal
  │       test_asserts test_assert_not_equal
  │     ⨯ test_dirs test_dirs_command
  │       test_logger test_critical
  │       test_logger test_debug
  │       test_logger test_error
  │       test_logger test_info
  │       test_logger test_warning
  │       test_std test_path_add
  │
```

Upon investigating seeing this difference:

```
╭───┬─────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 0 │ /var/folders/1f/ltbr1m8s5s1811k6n1rhpc0r0000gn/T/test_dirs_c1ed89d6-19f7-47c7-9e1f-74c39f3623b5         │
│ 1 │ /private/var/folders/1f/ltbr1m8s5s1811k6n1rhpc0r0000gn/T/test_dirs_c1ed89d6-19f7-47c7-9e1f-74c39f3623b5 │
╰───┴─────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

This seems unrelated to my changes, but can investigate further if
desired.

# 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.

Co-authored-by: Robert Waugh <robert@waugh.io>
2023-04-07 06:46:11 -05:00
..
bits Require that values that look like numbers parse as numberlike (#8635) 2023-03-28 19:31:38 +13:00
bytes make bytes at use ranges (#8710) 2023-04-03 04:28:36 +12:00
charting fix: fixed typo and improved Value TypeMismatch exceptions (#8324) 2023-03-22 09:47:40 +01:00
conversions Fix a bug with us not outputting as µs with the into duration command (#8691) 2023-03-31 16:01:48 -05:00
database Add pattern matching (#8590) 2023-03-24 14:52:01 +13:00
dataframe Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
date Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
debug Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
deprecated Allow NU_LIBS_DIR and friends to be const (#8538) 2023-04-05 19:56:48 +03:00
env Allow NU_LIBS_DIR and friends to be const (#8538) 2023-04-05 19:56:48 +03:00
experimental Uniformize usage() and extra_usage() message ending for commands helper. (#8268) 2023-02-28 21:33:02 -08:00
filesystem Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
filters Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
formats Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
generators Document and critically review ShellError variants - Ep. 2 (#8326) 2023-03-06 11:31:07 +01:00
hash Box ShellError in Value::Error (#8375) 2023-03-12 09:57:27 +01:00
math Add math exp command (issue #8661) (#8700) 2023-04-01 12:53:58 +02:00
misc Uniformize usage() and extra_usage() message ending for commands helper. (#8268) 2023-02-28 21:33:02 -08:00
network Fix record-to-JSON conversion for HTTP commands (#8663) 2023-03-29 11:55:51 -07:00
path Box ShellError in Value::Error (#8375) 2023-03-12 09:57:27 +01:00
platform Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
random Document and critically review ShellError variants - Ep. 3 (#8340) 2023-03-06 18:33:09 +01:00
shells Require that values that look like numbers parse as numberlike (#8635) 2023-03-28 19:31:38 +13:00
strings Add regex separators for split row/list/column (#8707) 2023-04-07 06:46:11 -05:00
system Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
viewers Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
default_context.rs Add math exp command (issue #8661) (#8700) 2023-04-01 12:53:58 +02:00
example_test.rs cratification: Example support (#8231) 2023-02-27 13:58:56 -08:00
hook.rs Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
input_handler.rs Box ShellError in Value::Error (#8375) 2023-03-12 09:57:27 +01:00
lib.rs feat: add a command_not_found hook (#8314) 2023-03-20 17:05:22 +13: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
util.rs make bytes at use ranges (#8710) 2023-04-03 04:28:36 +12:00