Skip to content

Commit

Permalink
repl: Make prompt for array and iter more jqish
Browse files Browse the repository at this point in the history
Really need to refactor script.go some day into a proper parser
  • Loading branch information
wader committed Jan 10, 2022
1 parent ece2fd7 commit 9770b00
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion internal/script/script.go
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ func ParseCases(s string) *Case {

// TODO: better section splitter, too much heuristics now
for _, section := range SectionParser(regexp.MustCompile(
`^\$ .*$|^stdin:$|^stderr:$|^exitcode:.*$|^#.*$|^/.*:|^[^<:|]+>.*$`,
`^\$ .*$|^stdin:$|^stderr:$|^exitcode:.*$|^#.*$|^/.*:|^[^<|"]+>.*$`,
), s) {
n, v := section.Name, section.Value

Expand Down
4 changes: 2 additions & 2 deletions pkg/interp/repl.jq
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ def _prompt:
)
end
, "]"
, if length > 1 then "[\(length)]" else empty end
, if length > 1 then "[0:\(length)]" else empty end
] | join("")
else
( . as $c
Expand All @@ -146,7 +146,7 @@ def _prompt:
if length == 0 then "empty"
else
[ (.[0] | _value)
, if length > 1 then ", ...[\(length)]" else empty end
, if length > 1 then ", ...[0:\(length)][]" else empty end
] | join("")
end;
[ _repl_level
Expand Down
8 changes: 4 additions & 4 deletions pkg/interp/testdata/inputs.fqtest
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,14 @@ exitcode: 4
stderr:
error: /a: probe: failed to decode (try -d FORMAT)
$ fq -i -d raw . /a /b /c
raw, ...[3]> ._format
raw, ...[0:3][]> ._format
"raw"
"raw"
"raw"
raw, ...[3]> ^D
raw, ...[0:3][]> ^D
$ fq -i -s -d raw . /a /b /c
[raw, ...][3]> .[]._format
[raw, ...][0:3]> .[]._format
"raw"
"raw"
"raw"
[raw, ...][3]> ^D
[raw, ...][0:3]> ^D
26 changes: 13 additions & 13 deletions pkg/interp/testdata/repl.fqtest
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,26 @@ null> 1 | 2 | repl
3
> number> ^D
null> 1,2,3 | repl
> number, ...[3]> .
> number, ...[0:3][]> .
1
2
3
> number, ...[3]> ^D
> number, ...[0:3][]> ^D
null> (1 | raw | .unknown0), 1 | repl
> .unknown0 string, ...[2]> ^D
> .unknown0 string, ...[0:2][]> ^D
null> def f: 1; f,f | repl
> number, ...[2]> .
> number, ...[0:2][]> .
1
1
> number, ...[2]> ^D
> number, ...[0:2][]> ^D
null> [1,2,3] | repl
> [number, ...][3]> .
> [number, ...][0:3]> .
[
1,
2,
3
]
> [number, ...][3]> ^D
> [number, ...][0:3]> ^D
null> [1] | repl
> [number]> .
[
Expand All @@ -52,17 +52,17 @@ $ fq -i 'empty'
empty> 1
empty> ^D
$ fq -i 1,2,3
number, ...[3]> .*2
number, ...[0:3][]> .*2
2
4
6
number, ...[3]> ^D
number, ...[0:3][]> ^D
$ fq -i '[1,2,3]'
[number, ...][3]> repl({compact: true})
> [number, ...][3]> tovalue
[number, ...][0:3]> repl({compact: true})
> [number, ...][0:3]> tovalue
[1,2,3]
> [number, ...][3]> ^D
[number, ...][3]> ^D
> [number, ...][0:3]> ^D
[number, ...][0:3]> ^D
$ fq -i -d mp3 '.headers[0]' /test.mp3
.headers[0] id3v2> ^D
$ fq -i -d mp3 . /test.mp3
Expand Down

0 comments on commit 9770b00

Please sign in to comment.