mirror of
https://github.com/nushell/nushell
synced 2024-12-27 05:23:11 +00:00
str-expand: new capability, empty collection item (#9750)
I added a new capability to `bracoxide` which is for `brace expansion` (it's almost like bash brace expressions). Anyway, this change adds this capability: `A{,B,C} | str expand`, returns: ```md - A - AB - AC ``` `A{B,,C} | str expand`, returns: ```md - AB - A - AC ``` `A{B,C,} | str expand`, returns: ```md - AB - AC - A ``` Updated examples, according to the new feature.
This commit is contained in:
parent
693cb5c142
commit
c01f2ee0e9
3 changed files with 42 additions and 3 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -372,9 +372,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bracoxide"
|
name = "bracoxide"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "218d42d1e9cdf071a7badff501a139dd6f598fe21348e5e5c4e2302e43bdcefb"
|
checksum = "ae76c117551a0459f61c57b573271778214287482c346d14591d2ea250ecbea5"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "brotli"
|
name = "brotli"
|
||||||
|
|
|
@ -94,7 +94,7 @@ url = "2.2"
|
||||||
uuid = { version = "1.3", features = ["v4"] }
|
uuid = { version = "1.3", features = ["v4"] }
|
||||||
wax = { version = "0.5" }
|
wax = { version = "0.5" }
|
||||||
which = { version = "4.4", optional = true }
|
which = { version = "4.4", optional = true }
|
||||||
bracoxide = "0.1.0"
|
bracoxide = "0.1.1"
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
winreg = "0.50"
|
winreg = "0.50"
|
||||||
|
|
|
@ -69,6 +69,45 @@ impl Command for SubCommand {
|
||||||
},)
|
},)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Example {
|
||||||
|
description: "Collection may include an empty item. It can be put at the start of the list.",
|
||||||
|
example: "\"A{,B,C}\" | str expand",
|
||||||
|
result: Some(Value::List{
|
||||||
|
vals: vec![
|
||||||
|
Value::test_string("A"),
|
||||||
|
Value::test_string("AB"),
|
||||||
|
Value::test_string("AC"),
|
||||||
|
],
|
||||||
|
span: Span::test_data()
|
||||||
|
},)
|
||||||
|
},
|
||||||
|
|
||||||
|
Example {
|
||||||
|
description: "Empty item can be at the end of the collection.",
|
||||||
|
example: "\"A{B,C,}\" | str expand",
|
||||||
|
result: Some(Value::List{
|
||||||
|
vals: vec![
|
||||||
|
Value::test_string("AB"),
|
||||||
|
Value::test_string("AC"),
|
||||||
|
Value::test_string("A"),
|
||||||
|
],
|
||||||
|
span: Span::test_data()
|
||||||
|
},)
|
||||||
|
},
|
||||||
|
|
||||||
|
Example {
|
||||||
|
description: "Empty item can be in the middle of the collection.",
|
||||||
|
example: "\"A{B,,C}\" | str expand",
|
||||||
|
result: Some(Value::List{
|
||||||
|
vals: vec![
|
||||||
|
Value::test_string("AB"),
|
||||||
|
Value::test_string("A"),
|
||||||
|
Value::test_string("AC"),
|
||||||
|
],
|
||||||
|
span: Span::test_data()
|
||||||
|
},)
|
||||||
|
},
|
||||||
|
|
||||||
Example {
|
Example {
|
||||||
description: "Also, it is possible to use one inside another. Here is a real-world example, that creates files:",
|
description: "Also, it is possible to use one inside another. Here is a real-world example, that creates files:",
|
||||||
example: "\"A{B{1,3},C{2,5}}D\" | str expand",
|
example: "\"A{B{1,3},C{2,5}}D\" | str expand",
|
||||||
|
|
Loading…
Reference in a new issue