nushell/crates/nu-std/std
WindSoilder d2c87ad4b4
differentiating between --x and --x: bool (#10456)
# Description
Fixes: #10450 

This pr differentiating between `--x: bool` and `--x`

Here are examples which demostrate difference between them:
```nushell
def a [--x: bool] { $x };
a --x    # not allowed, you need to parse a value to the flag.
a        # it's allowed, and the value of `$x` is false, which behaves the same to `def a [--x] { $x }; a`
```

For boolean flag with default value, it works a little bit different to
#10450 mentioned:
```nushell
def foo [--option: bool = false] { $option }
foo                  # output false
foo --option         # not allowed, you need to parse a value to the flag.
foo --option true    # output true
```

# User-Facing Changes
After the pr, the following code is not allowed:
```nushell
def a [--x: bool] { $x }; a --x
```

Instead, you have to pass a value to flag `--x` like `a --x false`. But
bare flag works in the same way as before.

## Update: one more breaking change to help on #7260 
```
def foo [--option: bool] { $option == null }
foo
```
After the pr, if we don't use a boolean flag, the value will be `null`
instead of `true`. Because here `--option: bool` is treated as a flag
rather than a switch

---------

Co-authored-by: amtoine <stevan.antoine@gmail.com>
2023-09-23 10:20:48 +02:00
..
assert.nu Implement annotations support in test runner (#9406) 2023-07-02 10:41:33 +02:00
dirs.nu remove let-env, focus on mutating $env (#9574) 2023-07-01 07:57:51 +12:00
dt.nu Update internal use of decimal to float (#10333) 2023-09-13 23:53:55 +02:00
formats.nu add 'from ndjson' into standard library (#10283) 2023-09-11 14:59:07 +02:00
help.nu differentiating between --x and --x: bool (#10456) 2023-09-23 10:20:48 +02:00
input.nu Command to get individual keys (#9453) 2023-07-03 10:23:44 -05:00
iter.nu Add zip-into-record to std iter (#9395) 2023-06-10 20:15:30 +02:00
log.nu change LOG_FORMAT to NU_LOG_FORMAT in nu-std library (#10254) 2023-09-06 10:17:14 -07:00
math.nu move math constants to standard library (#9678) 2023-09-05 19:32:31 +02:00
mod.nu Optimize use of range in std repeat (#10353) 2023-09-13 07:50:09 -05:00
testing.nu fix the pretty printing of failing tests in std (#10373) 2023-09-14 20:11:08 +02:00
xml.nu Improve type hovers (#9515) 2023-06-29 05:19:48 +12:00