1
1
mirror of https://github.com/wader/fq.git synced 2024-11-24 03:05:22 +03:00
Commit Graph

67 Commits

Author SHA1 Message Date
Mattias Wadman
03f450f82e interp: Skip redundant includes
Speeds up interp quite a bit.
Also good as i've start to use more includes to make code easier to follow
where thigns come from and also makes jq-lsp happier.

Also rename evalContext to evalInstace to make it less confused with context.
2022-02-24 12:44:26 +01:00
Mattias Wadman
9dc59e5d39 interp: Move _is_decode_value to jq
Make _extype work like type
2022-02-15 22:20:32 +01:00
Mattias Wadman
af053811cf repl,interp: Make stdio work during completion
Unbreaks completion using options
2022-02-11 20:04:07 +01:00
Mattias Wadman
48a19cb82c interp: Add paste function to allow pasting text into REPL etc
Also refactor readline and eval args into option struct and partinally start
addressing some side effects during completion.
2022-02-11 17:59:06 +01:00
Mattias Wadman
77ab667bfa interp: Use absolute path in errors
Make it easier to find parse error in init.jq etc
2022-02-11 16:34:20 +01:00
Mattias Wadman
06245d1295 binary,decode,doc: Rename buffer to binary and add some documentation
Rename buffer to binary. Still some work left what to call buffer/binary in decode code.
Document decode value and binary type
Fix proper unit padding for tobytes and add still undocumenated extra padding argument.
Add some additional binary tests
2022-02-08 22:20:28 +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
ca68e6a1e4 interp: Add Platform() method to OS interface
Felt bad that main should have to know about it
2022-01-29 11:31:36 +01:00
Mattias Wadman
233d86a384 fq: Add arch and os to --version 2022-01-26 18:09:59 +01:00
Mattias Wadman
898dfec1d1 lint: Fix typeassert and case exhaustive warnings 2022-01-25 17:23:41 +01:00
Mattias Wadman
edad481878 num,mathextra: Rename num package to mathextra
Think it makes more sense
2022-01-15 19:00:42 +01:00
Mattias Wadman
e365f22084 interp: Cleanup stdio usage and functions 2022-01-05 21:41:11 +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
55b1d5c3e7 interp: Move _registry to decode
More related to decode than interp. Maybe should have a format.go?
2021-12-25 16:29:45 +01:00
Mattias Wadman
fa350c6165 interp: Move display to jq 2021-12-06 21:08:40 +01:00
Mattias Wadman
4558192e7c interp: Cleanup buffer code and implement ExtType() 2021-12-06 21:08:40 +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
d48ebc12ee decode: Simplify Compound.Children
Not a array reference anymore but instead pass around Compound reference
2021-12-03 00:06:11 +01:00
Mattias Wadman
36e5562e5b interp: Rename value.* to decode.* as it makes more sense 2021-12-02 21:43:16 +01:00
Mattias Wadman
01a407a462 interp: Rename s/bufferrange/buffer and cleanup 2021-11-30 21:10:26 +01:00
Mattias Wadman
69e4eea920 interp: Better error if format/group is not found 2021-11-22 13:28:18 +01:00
Mattias Wadman
abcecb8156 interp: Remove unused []byte type 2021-11-22 01:46:06 +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
ffb5adff1d registry: Move to pkg/registry, feels better 2021-11-18 01:22:21 +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
5cd5633374 interp: Move jq function impls closer to where they belong 2021-11-16 11:43:11 +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
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
6cacc9b398 interp: Move *CtxWriter to ioextra, some comments cleanup 2021-11-05 17:28:29 +01:00
Mattias Wadman
ff2077bc0f interp: Simplify Function, aliases done in jq now 2021-11-05 17:28:29 +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
67898cb44a interp: Cleanup, use BufferRange for _open, progress for all decode 2021-10-30 01:17:14 +02:00
Mattias Wadman
97f7317928 interp: Rework repl prompt code and fix some whitespace issues again 2021-10-28 12:08:19 +02:00
Mattias Wadman
80a69977a1 interp: Fix file leak and always cache for now 2021-10-26 11:50:59 +02:00
Mattias Wadman
826c8bd555 interp: Make include abs path work again 2021-10-26 11:02:30 +02:00
Mattias Wadman
95ec5e1077 Cleanup and rename s/BufferView/BufferRange 2021-10-21 00:48:30 +02:00
Mattias Wadman
7298a4cd8d interp: Add buffer match support to find and grep 2021-10-17 01:26:30 +02:00
Mattias Wadman
e86b45bd1a Add *grep/1/2 and find/1/2 2021-10-13 01:27:04 +02:00
Mattias Wadman
1c3c65b191 interp: Rework buffer, still confusing 2021-10-05 22:26:05 +02:00
Mattias Wadman
b641c77216 interp: Cleanup unfinished/broken preview 2021-10-02 20:42:11 +02:00
Mattias Wadman
13e98d44be lint: Fix unused bufferRange and toBufferView 2021-09-28 02:07:44 +02:00
Mattias Wadman
618c1ea79f interp: Refactor/Rename BufferView
TODO: fix bit level dump again
2021-09-28 01:46:32 +02:00
Mattias Wadman
3ff0c9b5e0 lint: Enable errcheck adnd revive 2021-09-27 11:01:14 +02:00
Mattias Wadman
0cce5ec61f interp: Reorganize, move out repl and options, more functions to funcs.jq 2021-09-22 21:08:36 +02:00
Mattias Wadman
528e6b91ab interp: Refactor and use mapstructure 2021-09-22 01:35:27 +02:00
Mattias Wadman
6ce4ba919b interp: Use snake_case for all options 2021-09-22 00:32:57 +02:00
Mattias Wadman
3e7e133047 interp: Move formats func def to jq 2021-09-21 16:42:35 +02:00
Mattias Wadman
7423f450ef interp: Cleanup output types 2021-09-12 13:08:56 +02:00
Mattias Wadman
c9777aaded repl: completion in jq 2021-09-12 13:08:56 +02:00