Wind e281c03403
generate: switch the position of <initial> and <closure>, so the closure can have default parameters (#13393)
# Description
Close: #12083 
Close: #12084 

# User-Facing Changes
It's a breaking change because we have switched the position of
`<initial>` and `<closure>`, after the change, initial value will be
optional. So it's possible to do something like this:

```nushell
> let f = {|fib = [0, 1]| {out: $fib.0, next: [$fib.1, ($fib.0 + $fib.1)]} }
> generate $f | first 5
╭───┬───╮
│ 0 │ 0 │
│ 1 │ 1 │
│ 2 │ 1 │
│ 3 │ 2 │
│ 4 │ 3 │
╰───┴───╯
```

It will also raise error if user don't give initial value, and the
closure don't have default parameter.
```nushell
❯ let f = {|fib| {out: $fib.0, next: [$fib.1, ($fib.0 + $fib.1)]} }
❯ generate $f
Error:   × The initial value is missing
   ╭─[entry #5:1:1]
 1 │ generate $f
   · ────┬───
   ·     ╰── Missing intial value
   ╰────
  help: Provide <initial> value in generate, or assigning default value to closure parameter

```

# Tests + Formatting
Added some test cases.

---------

Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
2024-07-19 00:22:28 -07:00
..
2024-05-04 15:56:16 +03:00
2022-11-22 16:58:11 -08:00
2024-05-23 02:05:27 +00:00
2024-05-23 02:05:27 +00:00
2024-05-23 02:05:27 +00:00
2023-10-24 12:48:05 -05:00
2024-01-25 14:16:49 +08:00
2024-05-03 08:36:10 +08:00
2024-05-02 09:36:37 -04:00
2023-11-17 19:30:53 -06:00
2024-07-19 04:16:09 +00:00
2024-05-02 09:36:37 -04:00
2024-04-16 19:08:58 +08:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-02-17 10:51:20 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-05-03 08:36:10 +08:00
2024-05-03 08:36:10 +08:00
2024-03-11 19:46:04 +01:00
2024-07-19 04:16:09 +00:00