Skip to content

Commit

Permalink
doc: Improved readme and cleanup todo
Browse files Browse the repository at this point in the history
  • Loading branch information
wader committed Nov 29, 2021
1 parent db586eb commit 2f9d93d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@
"OSFS",
"Packetized",
"pcap",
"pcapng",
"pmezard",
"println",
"protobuf",
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# fq

Tool, language and decoders for exploring binary data.
Tool, language and decoders for inspecting binary data.

![fq demo](doc/demo.svg)

In most cases it works the same way of jq but instead of reading JSON it reads binary formats into
a JSON compatbile structure. Also each value knows from which bit ranges it comes from, can have
symbolic interprestations and knows how to be presented in a useful way.
In most cases fq works the same way as jq but instead of reading JSON it reads binary data.
The result is a JSON compatbile structures where each each value knows from which bit ranges
it comes from, can have symbolic interprestations and know how to be presented in useful ways.

**NOTE:** fq is early in development and many things are missing, broken or do not make sense. That also means there is a great opportunity to help out.
**NOTE:** fq is early in development and many things are missing, broken or do not make sense.
That also means there is a great opportunity to help out.

## Goals

Expand All @@ -27,7 +28,7 @@ For details see [usage.md](doc/usage.md)
## Install

Download archive from [releases](https://github.com/wader/fq/releases) page for your
platform, unarchive and move the executable to `PATH`.
platform, unarchive it and move the executable to `PATH` etc.

### Homebrew

Expand Down Expand Up @@ -80,7 +81,7 @@ See [dev.md](doc/dev.md)
## Thanks and related projects

This project would not have been possible without [itchyny](https://github.com/itchyny)'s
jq implementation [gojq](https://github.com/itchyny/gojq). Also want to thank
jq implementation [gojq](https://github.com/itchyny/gojq). I also want to thank
[HexFiend](https://github.com/HexFiend/HexFiend) for inspiration and ideas and [stedolan](https://github.com/stedolan)
for inventing the [jq](https://github.com/stedolan/jq) language.

Expand Down
5 changes: 2 additions & 3 deletions doc/TODO.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
### Known bugs to fix

- Value errors, can only be accessed with `._error`.
- Framed (add unknown in gaps) decode should be on struct level not format?
- Refactor decode.Value into interfaces(s) and impl per type?
- `tovalue({bits_format: "base64"})` only affect root value.
- Auto complete of non-global variables is broken. `scope` is broken for variables.
- `echo '{} {} {}' | jq` vs `echo '{} {} {}' | fq` works differently. fq currently decodes one root format and might add unknown fields etc. Maybe should work differently for `json` format?
- `format/0` overlap with jq builtin `format/1`. What to rename it to? `decode_format`?
- repl expression returning a value that produced lots of output can't be interrupted. This is becaus ctrl-C currently only interrupts the evaluation of the expression, outputted value is printed (`display`) by parent.
- repl expression returning a value that produced lots of output can't be interrupted. This is becaus ctrl-c currently only interrupts the eval interpreter, outputted value is printed (`display`) by parent interpreter.
- Rework cli/repl user interrupt (context cancel via ctrl-c), see comment in Interp.Main
- Optimize `Interp.Options` calls, now called per display. Cache per eval? needs to handle nested evals.

Expand Down Expand Up @@ -99,7 +99,6 @@

#### Formats

- Network protocols, pcap?
- Pass argument to format
- Value decoder in jq `u(32)`, `u32`?
- Warnings and errors
Expand Down

0 comments on commit 2f9d93d

Please sign in to comment.