WindSoilder
4f57c5d56e
Fix multi-line redirection inside a block (#7808)
# Description
Fixes: #7786
The issue is because the lite block is wrong while converting from lex
tokens
# What happened internally?
Take the following as example:
```
❯ def foobar [] {
'hello' out> /tmp/output.1
'world' out> /tmp/output.2
}
```
## Before:
```
LiteBlock { block: [
LitePipeline { commands: [
Command(None, LiteCommand { comments: [], parts: [Span { start: 40900, end:40907 }] }),
Redirection(Span { start: 40908, end: 40912 }, Stdout, LiteCommand { comments: [], parts: [Span { start: 40913, end: 40926 }] })]
},
LitePipeline { commands: [
Redirection(Span { start: 40908, end: 40912 }, Stdout, LiteCommand { comments: [], parts: [Span { start: 40929, end: 40936 }] }), // this is wrong, should be command.
Redirection(Span { start: 40937, end: 40941 }, Stdout, LiteCommand { comments: [], parts: [Span { start: 40942, end: 40955 }] })]
}] }
```
## After:
```
LiteBlock { block: [
LitePipeline { commands: [
Command(None, LiteCommand { comments: [], parts: [Span { start: 40824, end: 40831 }] }),
Redirection(Span { start: 40832, end: 40836 }, Stdout, LiteCommand { comments: [], parts: [Span { start: 40837, end: 40850 }] })]
},
LitePipeline { commands: [
Command(None, LiteCommand { comments: [], parts: [Span { start: 40854, end: 40861 }] }),
Redirection(Span { start: 40862, end: 40866 }, Stdout, LiteCommand { comments: [], parts: [Span { start: 40867, end: 40880 }] })]
}
] }
```
# 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.
2023-01-23 06:32:56 +13:00
..
2022-12-09 11:20:58 -05:00
2022-12-23 01:48:53 -05:00
2022-06-26 00:35:23 +03:00
2023-01-04 23:50:18 +01:00
2022-11-23 16:55:13 +13:00
2023-01-15 15:03:32 +13:00
2022-08-10 08:43:56 -05:00
2022-08-18 11:58:51 -05:00
2022-11-22 16:58:11 -08:00
2022-02-16 07:38:02 -05:00
last, skip, drop, take until, take while, skip until, skip while, where, reverse, shuffle, append, prepend and sort-by raise error when given non-lists (#7623)
2022-12-31 13:35:12 +02:00
2023-01-04 23:50:18 +01:00
last, skip, drop, take until, take while, skip until, skip while, where, reverse, shuffle, append, prepend and sort-by raise error when given non-lists (#7623)
2022-12-31 13:35:12 +02:00
2022-12-23 01:48:53 -05:00
2022-12-30 17:44:37 +02:00
2022-12-10 19:24:06 +02:00
2022-12-10 19:24:06 +02:00
2023-01-02 17:09:55 -08:00
2022-11-25 09:39:16 +13:00
2022-12-31 13:27:09 +02:00
2023-01-16 12:43:46 +01:00
2022-02-07 14:54:06 -05:00
2022-11-25 09:39:16 +13:00
2022-08-12 21:13:50 -05:00
2022-12-31 13:18:53 +02:00
2023-01-02 14:45:43 -08:00
2022-11-24 16:58:15 +13:00
last, skip, drop, take until, take while, skip until, skip while, where, reverse, shuffle, append, prepend and sort-by raise error when given non-lists (#7623)
2022-12-31 13:35:12 +02:00
2022-11-21 17:04:36 +01:00
2022-02-17 06:40:24 -05:00
2022-11-01 11:36:54 -07:00
2022-02-07 14:54:06 -05:00
2022-07-12 06:03:50 -05:00
2022-02-16 07:38:02 -05:00
2022-12-22 00:33:26 +02:00
2022-08-02 10:26:16 -05:00
2023-01-20 00:07:34 +01:00
2023-01-03 21:08:05 -08:00
2022-09-11 11:48:27 +03:00
2023-01-15 15:03:32 +13:00
2022-12-19 13:10:02 +01:00
2022-08-06 10:11:03 -05:00
2023-01-02 14:45:43 -08:00
2022-10-15 18:00:38 +02:00
2022-02-16 12:24:45 -06:00
2022-11-09 16:43:24 -08:00
2022-12-30 17:44:37 +02:00
2022-05-18 20:47:26 -05:00
2022-11-21 14:35:11 +01:00
2022-11-10 22:33:15 +01:00
2022-07-04 06:31:50 +12:00
2023-01-03 21:08:05 -08:00
2022-02-07 14:54:06 -05:00
2022-11-11 19:51:08 +13:00
2022-12-10 19:24:06 +02:00
2023-01-15 15:03:32 +13:00
2023-01-15 15:03:32 +13:00
2022-11-23 17:01:27 +13:00
2022-12-13 11:56:44 -05:00
2022-12-22 16:38:07 -08:00
2022-12-06 19:51:55 +02:00
2022-08-07 13:30:40 -05:00
2022-11-24 16:58:15 +13:00
2023-01-02 14:45:43 -08:00
2022-08-07 13:30:40 -05:00
2023-01-15 15:03:32 +13:00
2023-01-02 17:09:55 -08:00
2022-07-02 09:54:49 -05:00
2022-02-09 05:58:54 -05:00
2023-01-23 06:32:56 +13:00
2023-01-04 23:50:18 +01:00
2022-11-20 07:22:42 -06:00
2022-12-23 01:48:53 -05:00
2022-11-25 09:39:16 +13:00
last, skip, drop, take until, take while, skip until, skip while, where, reverse, shuffle, append, prepend and sort-by raise error when given non-lists (#7623)
2022-12-31 13:35:12 +02:00
2022-08-04 06:59:20 -05:00
2022-12-23 01:48:53 -05:00
2022-09-11 11:48:27 +03:00
2023-01-13 11:00:30 -08:00
2023-01-15 10:54:30 -08:00
2023-01-02 14:45:43 -08:00
2022-02-07 14:54:06 -05:00
2022-11-09 17:06:47 -08:00
2023-01-03 21:08:05 -08:00
2022-08-08 06:31:24 -05:00
last, skip, drop, take until, take while, skip until, skip while, where, reverse, shuffle, append, prepend and sort-by raise error when given non-lists (#7623)
2022-12-31 13:35:12 +02:00
2022-12-01 07:11:30 -06:00
2022-12-22 00:21:03 +02:00
2022-02-07 14:54:06 -05:00
2022-02-19 19:26:47 -05:00
2022-02-07 14:54:06 -05:00
2023-01-15 15:03:32 +13:00
2022-12-22 16:38:07 -08:00
2022-11-27 07:19:02 +13:00
2022-06-22 19:19:06 -05:00
2023-01-16 12:43:46 +01:00
2022-12-02 11:36:01 +01:00
2022-11-23 15:46:20 -08:00
2022-12-08 07:31:57 +13:00
2022-12-08 07:31:57 +13:00
2022-12-30 17:44:37 +02:00
last, skip, drop, take until, take while, skip until, skip while, where, reverse, shuffle, append, prepend and sort-by raise error when given non-lists (#7623)
2022-12-31 13:35:12 +02:00
2022-03-24 16:42:41 +13:00
2023-01-15 15:03:32 +13:00
2022-12-22 12:30:10 -08:00
2022-02-09 05:58:54 -05:00
2022-12-08 12:02:11 +13:00