1
1
mirror of https://github.com/wader/fq.git synced 2024-11-30 09:58:13 +03:00
Commit Graph

245 Commits

Author SHA1 Message Date
Mattias Wadman
366f6b185c interp: Support force decode as -o force=true 2022-02-05 17:24:42 +01:00
Mattias Wadman
7c5215347d bitio,decode: Refactor bitio usage and make buffer slicing more correct
Remove bitio.Buffer layer. bitio.Buffer was a kitchen sink layer with helpers
now it's just a buffer and most functions have been moved to decode instead.

bitio package now only have primitive types and functions simialar to standard
library io and bytes packages.

Make nearly eveything internally use bitio.Bit* interfaces so that slicing work
correctly this will also make it possible to start experimenting with more
complicated silcing helpers, ex things like:
breplace(.header.bitrate; 123) to get a new buffer with bitrate changed.
2022-02-04 21:41:53 +01:00
Mattias Wadman
710c29b24e doc: Color edges in diagram based on dest 2022-02-02 19:39:33 +01:00
Mattias Wadman
2ab395a03b protobuf: Add note about sub message decoding
Fix and cleanup some other doc also
2022-02-01 22:22:19 +01:00
Mattias Wadman
6b51b0676f doc: More display alias leftover fixes 2022-01-29 13:22:10 +01:00
Mattias Wadman
f0ce7179b2 doc: Document display and some more jq hints
Also fixed some verbose -> dv leftovers
2022-01-29 13:10:25 +01:00
Mattias Wadman
bc20f09fdb
Merge pull request #117 from wader/make-cleanup-targets
make: Cleanup some not very used targets
2022-01-29 12:31:10 +01:00
Mattias Wadman
b66e3287f2
Merge pull request #112 from wader/interp-cleanup-d-alises
interp: Cleanup display aliases, now: d, da, dd, dv, ddv
2022-01-29 12:28:46 +01:00
Mattias Wadman
fc52f20ed1
Merge pull request #116 from wader/doc-fix-filenames
doc,matroska: Fix filesname in example
2022-01-29 12:27:38 +01:00
Mattias Wadman
bf170be8ea make: Cleanup some not very used targets 2022-01-29 12:27:15 +01:00
Mattias Wadman
2efc3cba9b
Merge pull request #115 from wader/doc-example-usages
doc,interp: Add some example usages to cli help
2022-01-29 12:26:08 +01:00
Mattias Wadman
7bc2521938 doc,interp: Add some example usages to cli help 2022-01-29 12:21:51 +01:00
Mattias Wadman
8e47fb1a85 doc,matroska: Fix filesname in example 2022-01-29 12:20:47 +01:00
Mattias Wadman
a8664ed5ba doc: Add per format documentation 2022-01-29 12:01:36 +01:00
Mattias Wadman
fc0aacb654 interp: Cleanup display aliases, now: d, da, dd, dv, ddv
Think it makes sense to have them all start with d.
Also f is often used as function argument name.
2022-01-28 18:25:38 +01:00
Mattias Wadman
c52a1a2364 doc: Use f($a; $b) instead of jq f/2 notation
Also some general polish
2022-01-27 09:55:45 +01:00
Mattias Wadman
e792598c69 interp: Add grep_by/1 to recursively match using a filter
Refactor other grep functions to use it
2022-01-24 18:26:25 +01:00
Xentripetal
ee184075b7 Parse header using avro decoders. Still not certain this is the best idea. Will get opinions before finalizing. 2022-01-19 21:00:44 -06:00
Xentripetal
6e1f338ac3 Pull latest from wader 2022-01-19 19:39:12 -06:00
Xentripetal
06085a26f6 Undo change to doc/file.mp4. I have no idea how this got changed in the first place? Maybe some macos shenanigans. 2022-01-19 19:07:08 -06:00
Mattias Wadman
059e287227 todo: Cleanup add some known issues and deoder ideas 2022-01-18 17:52:51 +01:00
Mattias Wadman
6ca4767e24 doc: Improve formats graph a bit
Force all dep edges to go from east to north
2022-01-16 20:12:40 +01:00
Mattias Wadman
8e9700d0bd doc: Improve readme a bit and add torepr example 2022-01-15 19:26:58 +01:00
Xentripetal
788fd0258f Pull latest from wader 2022-01-13 20:59:56 -06:00
Mattias Wadman
8092151e52
Merge pull request #77 from wader/formats-sorts
formats: Sort and make lists less likely to cause collision
2022-01-12 18:42:05 +01:00
Mattias Wadman
729a6cae1e formats: Sort and make lists less likely to cause collision 2022-01-12 18:35:28 +01:00
Mattias Wadman
59b88034d4 doc: Document dev dependencies and related PRs/issues etc 2022-01-12 18:29:33 +01:00
Mattias Wadman
0b0f28e966 cbor: Add decoder
Does not decode sematic tag types
Also fixes broken float16 support

Fixes #71
2022-01-12 17:56:03 +01:00
Mattias Wadman
149cb3f45a interp: Add torepr/0 that converts decode value into what it reptresents
Ex: fq -d msgpack torepr file.msgpack
Willoutput the JSON representation of the msgpack

Make per format *_torepr functions internal
2022-01-12 17:33:58 +01:00
Mattias Wadman
809210bea6 doc: Add more dev tips 2022-01-11 12:28:21 +01:00
Mattias Wadman
a6bf62ce19 msgpack: Add decoder
Fixes #25
2022-01-10 19:33:09 +01:00
Mattias Wadman
af8e7efc61 bencode: Add decoder
Closes #63
2022-01-10 10:52:14 +01:00
Mattias Wadman
a0ccde99a5
Merge pull request #65 from wader/doc-dev-help
doc,dev: Add some more decoder implementation help
2022-01-09 17:03:42 +01:00
Mattias Wadman
b4694b6b9b doc,dev: Add some more decoder implementation help 2022-01-09 16:57:11 +01:00
Mattias Wadman
b3a09805a4 interp: Document bit opts funcs and add some error tests 2022-01-09 10:43:07 +01:00
Mattias Wadman
2c3e41111d doc,make: Add release script 2022-01-06 09:57:47 +01:00
Mattias Wadman
628f0f403d bson: Add decoder
Only supports basic types for now
2022-01-06 00:51:37 +01:00
Mattias Wadman
681dbc26b7 elf,ar: Add ar decoder, improved elf decoder
Add x86, 386, arm64, arm v6, arm v7 linux elf test files
2022-01-05 22:05:09 +01:00
Mattias Wadman
e365f22084 interp: Cleanup stdio usage and functions 2022-01-05 21:41:11 +01:00
Mattias Wadman
966863cb47 doc,dev: Add note how to setup windows dev env 2022-01-04 22:14:57 +01:00
Mattias Wadman
a41f0d4b5f windows: Correct @builtin include path join
Failed because go embed paths always uses /
Switch to always use forward slash paths internally

Related to #21
2022-01-04 22:10:53 +01:00
Mattias Wadman
b9aef39ed4 pcap,pcapng,bsd_loopback_frame: Add decoder, refactor link frame into a group
Also fix incorrect struct name s/UDPDatagramIn/UDPPayloadIn/
2022-01-03 21:06:27 +01:00
Mathieu Aubin
30aa0925cf
typ and links 2022-01-01 05:45:03 -05:00
Mattias Wadman
d440c4fa11
Merge pull request #45 from wader/doc-improve2
doc: Some more dev infomration
2021-12-31 17:18:24 +01:00
Mattias Wadman
6db7218093 doc: Some more dev infomration 2021-12-31 17:13:16 +01:00
Mathieu Aubin
c90e3e1d0c
typpp 2021-12-30 08:56:50 -05:00
Xentripetal
27789f2da5 Regenerate docs 2021-12-29 16:30:55 -06:00
Mattias Wadman
63485efda8 doc: Add hopes, pronounce and some more examples 2021-12-28 23:13:23 +01:00
Mattias Wadman
eb4a6fdbd6 doc: Remove empty comment 2021-12-22 19:34:06 +01:00
Mattias Wadman
6491d08fb0 doc: Add more common usages 2021-12-22 19:33:21 +01:00
Mattias Wadman
916cb30618 doc: Improve usage examples as bit 2021-12-20 17:21:07 +01:00
Mattias Wadman
d02c7c42ff doc: Add some more usage examples 2021-12-20 15:15:43 +01:00
Mattias Wadman
e1e8a236e6 doc: Add color/unicode section and move config section 2021-12-19 11:51:24 +01:00
Mattias Wadman
f7c7801bbe interp: Rework buffer regex support
Now all regexp functions should work similar to string version for buffers.
Added scan_toend that works as scan but outputs buffer from match to end of buffer,
useful when trying to decode a format and you dont know or care to limit.
2021-12-17 16:23:44 +01:00
Mattias Wadman
6ed2e2e72e interp: dump: Indicate arrays using jq-syntax
Related to #16
2021-12-08 16:24:28 +01:00
Mattias Wadman
9aec91a675 interp: match: Fix issue with regexp meta characters when matching using a buffer 2021-12-04 17:24:43 +01:00
Mattias Wadman
be46d5f4c1 doc: Cleanup todo and add some dev notes 2021-12-04 17:23:34 +01:00
Mattias Wadman
a7a58c8fb2 fq: Rename main.go to fq.go 2021-12-03 10:35:52 +01:00
Mattias Wadman
f55b1af6ac inet: Add tcp and ipv4 reassembly
Also add tcp_stream and udp_payload to decode content
2021-11-29 18:42:18 +01:00
Mattias Wadman
2f9d93d0ce doc: Improved readme and cleanup todo 2021-11-29 13:34:45 +01:00
Mattias Wadman
1f61704ad5 doc: Regenerate svg after ansisvg monospace update 2021-11-25 15:02:15 +01:00
Mattias Wadman
7b7faaf02b pcap: Add pcap, pcapng, ether8023, ipv4, udp, udp 2021-11-24 18:13:00 +01:00
Mattias Wadman
d6d3265b34 doc: Update README a bit 2021-11-22 14:16:59 +01:00
Mattias Wadman
df5bd19c75 doc: Update TODO 2021-11-21 22:13:26 +01:00
Mattias Wadman
1047d909ac doc: Document io packages a bit 2021-11-21 21:55:53 +01:00
Mattias Wadman
0480a2f722 decode: Some format decode and sub buffer work 2021-11-20 18:56:59 +01:00
Mattias Wadman
07b421011f interp: add topath/0 and make todescription return null if there is none
Move out more code from funcs.jq
2021-11-19 11:44:23 +01:00
Mattias Wadman
07c7daaf92 doc: Some rewording 2021-11-19 00:23:04 +01:00
Mattias Wadman
d838d2f613 zip: Add format decoder 2021-11-19 00:22:26 +01:00
Mattias Wadman
986d5ecc50 decode: Move registry package to decode/registry and add a format group type 2021-11-17 16:59:56 +01:00
Mattias Wadman
f9f866000e interp,decode: Add force option to ignore asserts 2021-11-16 13:03:56 +01:00
Mattias Wadman
3fafee8559 interp: Clearer help for -d 2021-11-16 08:43:29 +01:00
Mattias Wadman
1b32b42f93 decode: Major decode API refactor
Generate more code
More generic and comfortable API
Improve and Update format decoder to new API
Add some more format tests
2021-11-15 21:12:07 +01:00
Mattias Wadman
4c6de82354 dev: Add summary how start to dump tree works 2021-11-05 23:52:31 +01:00
Mattias Wadman
bfec366613 gojq: Update fq fork 2021-11-05 17:40:21 +01:00
Mattias Wadman
6a15625587 interp,decode: Refactor out Scalar from Value and merge Array/Struct into Compound
Also add tosym, toactual
2021-11-05 17:29:22 +01:00
Mattias Wadman
d469edfcbc doc,make: Correctly strip out graphviz version from svg 2021-11-02 16:16:26 +01:00
Mattias Wadman
571bf29ab2 Change project title 2021-11-01 17:47:36 +01:00
Mattias Wadman
95b9c3253a make: doc/formats.svg: Ignore graphviz verison to get less diff 2021-11-01 17:44:37 +01:00
Mattias Wadman
96cc1283cd interp: Eval options in jq instead of calling jq from go
Simpler and causes less weird performance issues
2021-11-01 17:05:36 +01:00
Mattias Wadman
13fae09172 interp: Don't print context cancel 2021-11-01 13:01:05 +01:00
Mattias Wadman
0660ff08c6 interp: Clear up confusing --rawfile (add a jq alias) 2021-11-01 13:01:05 +01:00
Mattias Wadman
0d693aa59e interp: Add line between usage and args help 2021-10-30 18:35:21 +02:00
Mattias Wadman
08142063b3 doc: Fix typos and old examples 2021-10-29 18:46:19 +02:00
Mattias Wadman
88eade9ab9 ogg: Add flac support
Refactor flac_streaminfo and flac_metadata from flac_metadatablocks
Some deocde bitbuf api cleanup
2021-10-29 18:30:16 +02:00
Mattias Wadman
1d83554b4a todo: Add note about test and capture with buffer 2021-10-26 11:01:37 +02:00
Mattias Wadman
4d94c9a549 todo: Clenaup a bit 2021-10-23 10:42:06 +02:00
Mattias Wadman
bc1b3bf819 todo: Add note about symbols and iprint improvments 2021-10-22 11:01:48 +02:00
Mattias Wadman
eedfd16b40 interp: Replace find with overloaded match that support buffer 2021-10-20 21:16:13 +02:00
Mattias Wadman
5052bae18e decode,interp: Refactor to allow decode/fillgap a range 2021-10-19 14:38:11 +02:00
Mattias Wadman
2b35d28f3b flac_picture,mp4: avif images and data fallback is image format fails 2021-10-19 01:58:07 +02:00
Mattias Wadman
d6d94842b5 interp: Remove --options, probably just confusing 2021-10-18 00:59:35 +02:00
Mattias Wadman
7f36f703dd Add to/bytes/bits[range] 2021-10-17 14:43:37 +02:00
Mattias Wadman
a050adca49 doc: Regenerate demo.svg 2021-10-17 01:26:51 +02:00
Mattias Wadman
7298a4cd8d interp: Add buffer match support to find and grep 2021-10-17 01:26:30 +02:00
Mattias Wadman
15d85e1043 doc: Add find/1 find/2 2021-10-13 19:43:53 +02:00
Mattias Wadman
583bc3834a doc: Regenerate demo.svg 2021-10-13 01:28:47 +02:00
Mattias Wadman
e86b45bd1a Add *grep/1/2 and find/1/2 2021-10-13 01:27:04 +02:00
Mattias Wadman
18e3e207d3 doc: Regenerate demo.svg with newer ansisvg 2021-10-12 18:00:06 +02:00
Mattias Wadman
eee3c4eeb6 doc: Use unicode pipe in demo 2021-10-10 17:25:03 +02:00
Mattias Wadman
4cee498e06 readme: Nicer demo 2021-10-10 02:17:29 +02:00
Mattias Wadman
0af4c2b8f4 todo: Update about readline 2021-10-10 01:25:26 +02:00
Mattias Wadman
b641c77216 interp: Cleanup unfinished/broken preview 2021-10-02 20:42:11 +02:00
Mattias Wadman
c997536f14 interp: Add root, buffer_root, format_root, parent and parents 2021-09-28 01:46:29 +02:00
Mattias Wadman
17a708ff2b todo: Remove fixed repl item 2021-09-27 11:00:35 +02:00
Mattias Wadman
00b7c18b65 doc: Some more doc work 2021-09-24 15:41:23 +02:00
Mattias Wadman
6ce4ba919b interp: Use snake_case for all options 2021-09-22 00:32:57 +02:00
Mattias Wadman
976e992c31 interp: Move progress logic to jq 2021-09-20 17:47:40 +02:00
Mattias Wadman
d03a1c910b todo: add echo '{} {} {}' | jq difference 2021-09-19 15:04:59 +02:00
Mattias Wadman
90c19c6cc1 make,test: Move testjq to own script and reuse fq binary
Remove version from --help for now
2021-09-19 11:50:41 +02:00
Mattias Wadman
242525f8de doc: Move formats to own file 2021-09-19 10:31:43 +02:00
Mattias Wadman
93fd097b53 cli: Add -M -C support and default to color if tty 2021-09-19 01:19:48 +02:00
Mattias Wadman
6fa5ae8ca3 doc: Some fixes 2021-09-19 00:51:15 +02:00
Mattias Wadman
a7459b3db7 doc: Some basic usage and cleanup 2021-09-18 19:27:46 +02:00
Mattias Wadman
f83931759e todo: Add some known issues 2021-09-18 18:44:52 +02:00
Mattias Wadman
75b59dbeff make: Move doc generate to helper script 2021-09-18 18:24:12 +02:00
Mattias Wadman
797bd4d652 flac: Refactor flac_metadatablock into flac_metadatablocks
metadatablocks are not really used alone
2021-09-17 15:46:13 +02:00
Mattias Wadman
b55f24a5ac todo: Add ignore range check idea 2021-09-14 14:53:45 +02:00
Mattias Wadman
26ea6d87fc doc: Cleanup 2021-09-14 12:56:09 +02:00
Mattias Wadman
8440e8a68d doc: Cleanup todo and dev a bit 2021-09-12 13:08:56 +02:00
Mattias Wadman
c9777aaded repl: completion in jq 2021-09-12 13:08:56 +02:00
Mattias Wadman
d350971fa2 cli: Add --decode-file VAR PATH support 2021-09-12 13:08:55 +02:00
Mattias Wadman
f5ffd32096 cli: Implement --arg, --argjson and --rawfile 2021-09-12 13:08:55 +02:00
Mattias Wadman
0a97f86f32 doc: Cleanup and note about repl limit 2021-09-12 13:08:55 +02:00
Mattias Wadman
a1312101c2 doc: Cleanup and add note about . argument 2021-09-12 13:08:55 +02:00
Mattias Wadman
905c0ab74e fq: Add chunk/1 2021-09-12 13:08:55 +02:00
Mattias Wadman
25f5ad7566 fq,cli: Rename chunk to streaks, cleanup 2021-09-12 13:08:55 +02:00
Mattias Wadman
08018825cb mp4: Fix field name typo for sample_composition_time_offsets_present 2021-09-12 13:08:54 +02:00
Mattias Wadman
10d7ed7806 cli: Fix error filename on script error 2021-09-12 13:08:54 +02:00
Mattias Wadman
ac8cfca500 cli: Make --raw-string work with input/0 and inputs/0
Also lots of refactor
2021-09-12 13:08:54 +02:00
Mattias Wadman
21a74fa0c3 doc: Update 2021-09-12 13:08:54 +02:00
Mattias Wadman
6356a84f15 cli: Add --raw-string 2021-09-12 13:08:54 +02:00
Mattias Wadman
4242bf6013 *_annexb: Refactor into avc/hevc_annexb 2021-09-12 13:08:54 +02:00
Mattias Wadman
f4b11b4be2 mpeg_annexb: Add format 2021-09-12 13:08:53 +02:00
Mattias Wadman
b849895970 fq: Add truncate array support to dump/display 2021-09-12 13:08:53 +02:00
Mattias Wadman
fb13fe57fa doc: Update todo 2021-09-12 13:08:53 +02:00
Mattias Wadman
e2ff2a277a cli: Move help/0 to inter.jq, better help for -n 2021-09-12 13:08:53 +02:00
Mattias Wadman
5a82224ef8 doc: Update 2021-09-12 13:08:53 +02:00
Mattias Wadman
a926c8f109 dev: Some debug notes 2021-09-12 13:08:53 +02:00
Mattias Wadman
b9b0326009 doc: fq - jq for files 2021-09-12 13:08:52 +02:00
Mattias Wadman
77f97aade2 builtin: Add chunk_by, count_by and debug 2021-09-12 13:08:51 +02:00
Mattias Wadman
f8ab00eb84 cli: Remove unused eval debug arg 2021-09-12 13:08:50 +02:00
Mattias Wadman
ae5566a6ce cli: Include paths and some refactor 2021-09-12 13:08:50 +02:00
Mattias Wadman
78eb73724a cli: Nicer usage and indent input iteration 2021-09-12 13:08:49 +02:00
Mattias Wadman
970465996c Init 2021-09-12 13:08:42 +02:00