mirror of
https://github.com/wader/fq.git
synced 2024-11-24 11:16:09 +03:00
0a043f9096
Now repl, slurp and help implemented using same query rewrite. Include filename context in error if possible. Add spew function that does opposite of slurp. Start of help infra, not done or documented yet. Show error pointer on parse error. Rename internal eval to _eval and make eval be wrapper that does rewrite and has various eror handling etc. Nicer repl, slupr and help errors.
102 lines
1.7 KiB
Plaintext
102 lines
1.7 KiB
Plaintext
/a:
|
|
a
|
|
/b:
|
|
b
|
|
/c:
|
|
c
|
|
$ fq -d raw todescription /a /b /c
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
$ fq -d raw '(.,inputs) | todescription' /a /b /c
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
$ fq -d raw '(.,input,input,input) | try todescription catch .' /a /b /c
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
exitcode: 5
|
|
stderr:
|
|
error: /c: break
|
|
$ fq -d raw -n '(.,inputs) | try todescription catch .' /a /b /c
|
|
"expected decode value but got: null (null)"
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
$ fq -d raw -n 'inputs | try todescription catch .' /a /b /c
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
$ fq -d raw -n '[inputs | try todescription catch .]' /a /b /c
|
|
[
|
|
"/a",
|
|
"/b",
|
|
"/c"
|
|
]
|
|
$ fq -d raw -n '(input,input,input,input) | todescription' /a /b /c
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
exitcode: 5
|
|
stderr:
|
|
error: /c: break
|
|
$ fq -d raw input_filename
|
|
"<stdin>"
|
|
stdin:
|
|
test
|
|
$ fq -d raw input_filename /a /b /c
|
|
"/a"
|
|
"/b"
|
|
"/c"
|
|
$ fq -d raw input_filename /a /non-existing /c
|
|
"/a"
|
|
"/c"
|
|
exitcode: 2
|
|
stderr:
|
|
error: /non-existing: no such file or directory
|
|
$ fq -d raw '(' /a /b /c
|
|
exitcode: 3
|
|
stderr:
|
|
error: arg:1:2: unexpected token <EOF>
|
|
$ fq -d raw bla /a /b /c
|
|
exitcode: 3
|
|
stderr:
|
|
error: arg: function not defined: bla/0
|
|
$ fq -d raw '1+"a"' /a /b /c
|
|
exitcode: 5
|
|
stderr:
|
|
error: /a: cannot add: number (1) and string ("a")
|
|
error: /b: cannot add: number (1) and string ("a")
|
|
error: /c: cannot add: number (1) and string ("a")
|
|
$ fq -s -d raw '[.[] | todescription]' /a /b /c
|
|
[
|
|
"/a",
|
|
"/b",
|
|
"/c"
|
|
]
|
|
$ fq -n -s -d raw . /a /b /c
|
|
null
|
|
$ fq . /a
|
|
exitcode: 4
|
|
stderr:
|
|
error: /a: probe: failed to decode (try -d FORMAT)
|
|
$ fq -i -d raw . /a /b /c
|
|
raw, ...[0:3][]> ._format
|
|
"raw"
|
|
"raw"
|
|
"raw"
|
|
raw, ...[0:3][]> ^D
|
|
$ fq -i -s -d raw . /a /b /c
|
|
[raw, ...][0:3]> .[]._format
|
|
"raw"
|
|
"raw"
|
|
"raw"
|
|
[raw, ...][0:3]> ^D
|
|
$ fq
|
|
exitcode: 4
|
|
stdin:
|
|
test
|
|
stderr:
|
|
error: <stdin>: probe: failed to decode (try -d FORMAT)
|