Add support for escape characters, make nuon a JSON superset (#4706)

* WIP

* Finish adding escape support in strings

* Try to fix windows
This commit is contained in:
JT
2022-03-03 13:14:03 -05:00
committed by GitHub
parent 13f2048ffb
commit 7d0531d270
10 changed files with 271 additions and 78 deletions

View File

@ -226,7 +226,7 @@ mod test {
let span = Span::test_data();
let word = Value::test_string("1sec");
let expected = Value::Duration {
val: 1 * 1000 * 1000 * 1000,
val: 1000 * 1000 * 1000,
span,
};

View File

@ -48,7 +48,7 @@ impl Command for Parse {
},
Example {
description: "Parse a string using regex pattern",
example: "echo \"hi there\" | parse -r \"(?P<foo>\\w+) (?P<bar>\\w+)\"",
example: "echo \"hi there\" | parse -r '(?P<foo>\\w+) (?P<bar>\\w+)'",
result: Some(result),
},
]

View File

@ -123,7 +123,7 @@ mod regex {
cwd: dirs.test(), pipeline(
r#"
open nushell_git_log_oneline.txt
| parse --regex "(?P<Hash>\w+) (?P<Message>.+) \(#(?P<PR>\d+)\)"
| parse --regex "(?P<Hash>\\w+) (?P<Message>.+) \\(#(?P<PR>\\d+)\\)"
| get 1
| get PR
"#
@ -142,7 +142,7 @@ mod regex {
cwd: dirs.test(), pipeline(
r#"
open nushell_git_log_oneline.txt
| parse --regex "(\w+) (.+) \(#(\d+)\)"
| parse --regex "(\\w+) (.+) \\(#(\\d+)\\)"
| get 1
| get Capture1
"#
@ -161,7 +161,7 @@ mod regex {
cwd: dirs.test(), pipeline(
r#"
open nushell_git_log_oneline.txt
| parse --regex "(?P<Hash>\w+) (.+) \(#(?P<PR>\d+)\)"
| parse --regex "(?P<Hash>\\w+) (.+) \\(#(?P<PR>\\d+)\\)"
| get 1
| get Capture2
"#
@ -180,7 +180,7 @@ mod regex {
cwd: dirs.test(), pipeline(
r#"
open nushell_git_log_oneline.txt
| parse --regex "(?P<Hash>\w+ unfinished capture group"
| parse --regex "(?P<Hash>\\w+ unfinished capture group"
"#
));