Nicolas Williams
8212750fe9
Add cross-compilation notes to README
...
A detailed set of instruction as to how to setup a cross-compilation
environment for OS X and Win32/64 would be nice.
2014-06-04 18:36:30 -05:00
Nicolas Williams
35b6b949e3
Add -j option to scripts/crosscompile
2014-06-04 18:36:30 -05:00
Nicolas Williams
d1ea3ab89d
Add flags argument to jv_parser_new()
...
For extensibility. We might add streaming parser options, even binary
JSON encoding options.
2014-06-04 18:35:30 -05:00
Nicolas Williams
ae625d0de7
Revert "Add -I / --online-input for huge top-level arrays"
...
This reverts commit 77936a594d .
There are too many odd bugs in this mode, and it turns out to be a bad
idea anyways. Instead, in the future a better option will be to pursue
alternative parsers, such as:
- streaming parser that outputs only when a new leaf value is added or
an array/object is opened/closed; options here include whether to
include a path in each output;
- parsers for binary JSON encodings (there's a variety of them).
Then one might run jq with a streaming parser and use `reduce` to
coalesce inputs from some depth down (instead of from one level down as
the reverted commit had intended).
Besides, a fully streaming parser is desirable in some cases, therefore
we should have such a thing as an option.
I've explored modifying the current parser to support a streaming
option, but it only makes the code very difficult to follow, which is
one reason that alternate parsers makes sense. At any rate, this is all
for the future. For now there's no streaming of individual texts, just
text sequences.
2014-06-04 18:15:58 -05:00
Nicolas Williams
5fb82d1018
Fix tests failures on Windows
...
And Solaris 8 and 9 too, no doubt. The problem was that non-standard
vsnprintf()s that return -1 when the buffer is too small were not
properly supported.
2014-06-02 00:56:01 -05:00
Nicolas Williams
f9d1b94496
Update .gitignore and config/.gitignore
2014-06-01 22:32:53 -05:00
Nico Williams
854ff5643a
Merge pull request #367 from slapresta/del-docs
...
Documented `del` command
2014-05-20 22:11:01 -05:00
Nico Williams
d46f5d29fa
Merge pull request #360 from slapresta/275-unique-by
...
unique_by(.foo) function
2014-05-12 00:30:55 -05:00
Nicolas Williams
022a418894
Make pthread tls configurable for Mingw build
...
For the Mingw build we don't want to pull in the pthread DLL just
because we can autodetect pthread support. That would make the jq.exe
binary not self-contained.
2014-04-17 20:17:06 -05:00
Nicolas Williams
d056668f4f
Add autoconf checks for pthreads; fix #340
2014-04-16 18:42:36 -05:00
Nico Williams
917334d18a
Merge pull request #332 from jingweno/master
...
Add link to jq playground
2014-03-20 23:47:40 -05:00
Nico Williams
6f0a9521e1
Merge pull request #176 from pearkes/new-tutorial
...
Docs: Update the tutorial to use GitHub's API
2014-03-13 00:57:54 -05:00
Nicolas Williams
aee5c3ecb0
Fix for #303 in the sources
2014-03-13 00:57:33 -05:00
Nico Williams
da0d575649
Merge pull request #278 from polyester/master
...
work with newer versions of automake
2014-03-13 00:52:58 -05:00
Nicolas Williams
74d2216da2
Test arrays and friend filters
2014-03-13 00:29:53 -05:00
Nicolas Williams
769314a8a2
Document scalars
2014-03-13 00:29:53 -05:00
Nicolas Williams
831be04027
Also add scalars
2014-03-13 00:29:53 -05:00
Nicolas Williams
1a1adf73e8
Document arrays, objects, ...
2014-03-13 00:29:53 -05:00
Nicolas Williams
4402c6d806
One more recursive merge test
2014-03-12 23:44:21 -05:00
Nicolas Williams
219bb9ecb7
Make libm tests more portable
2014-03-06 21:38:10 -06:00
Nico Williams
88fd2ee4f2
Merge pull request #310 from arodland/master
...
Make jq --raw-output --unbuffered work
2014-03-03 13:46:38 -06:00
Nicolas Williams
15faf9dc3b
Add cbrt (cube root)
2014-02-21 10:51:16 -06:00
Nicolas Williams
59302fd208
Add missing trig functions and barebones test
2014-02-21 10:49:21 -06:00
Nicolas Williams
24202d1ecf
Remove non-standard exp10()
2014-02-21 10:49:10 -06:00
Nicolas Williams
fe29d3d3fa
Add ?, .[]?, and .. operators
...
Make XPath-like `//a/b` recursive structure traversal easier in jq,
which then becomes:
..|.a?.b?
The `?` operator suppresses errors about . not being an array or object.
The `..` operator is equivalent to calling the new `recurse_down`
built-in, which in turn is equivalent to
recurse(.[]?)
Note that `..a` is not supported; neither is `...a`. That could be add
added, but it doesn't seem worth the trouble of saving the need to type
a '|'.
2014-02-20 15:33:07 -06:00
Nico Williams
3d33412e9a
Merge pull request #300 from lcd047/master
...
Fix building of the manual
2014-02-19 11:21:04 -06:00
Nico Williams
b23fae9ee3
Merge pull request #296 from slapresta/all-any
...
Added `all` and `any` builtins
2014-02-16 22:45:49 -06:00
Nicolas Williams
1fa55a3fae
Fix cut-n-paste in leaf_paths; doc and test 'em
2014-02-05 23:14:05 -06:00
Nicolas Williams
a45c937f80
#285 add and builtins
2014-02-05 15:23:32 -06:00
Nicolas Williams
106fdf5114
Fix #201 ; check that bison accepts --warnings
2014-01-01 23:10:00 -06:00
Nicolas Williams
99f170adc3
Fix version for make dist on master
...
- Re-remove VERSION file and all traces of it
- Pass a decent version indicator to AC_INIT (using git describe)
When we tag 1.4 this will produce 1.4 as the version string when
building on the HEAD of that tag.
2013-12-31 17:19:40 -06:00
Nicolas Williams
e12d0ffd1e
Document --version
2013-12-26 18:48:51 -06:00
Nicolas Williams
a71138a43a
Add jv_dumpf() and jv_show()
...
jv_dumpf() takes a FILE *.
jv_show() is intended for use in debuggers, so it dumps the jv to stderr
and it does not jv_free() the jv, so it's safe to
"call jv_show(some_jv, -1)" in a debugger. If flags == -1 then the jv
will be shown pretty-printed and in color.
2013-12-26 18:40:34 -06:00
Nicolas Williams
cb976b9a50
Document .foo.bar in manual
2013-12-26 18:25:31 -06:00
Nicolas Williams
060eb39bf9
Document exit numbers
2013-12-26 12:54:07 -06:00
Nicolas Williams
ab363e9e50
Normalize errors for -e
2013-12-26 12:54:03 -06:00
Nicolas Williams
41a8ae7557
Fix doc typos (.[foo] wanted to be .["foo"])
2013-12-25 17:09:27 -06:00
Nicolas Williams
1956abbedf
Add note to jq.1 about shell quoting
2013-12-25 17:05:32 -06:00
Nicolas Williams
0966230ba8
Fix memmem() error
2013-12-17 08:40:03 -06:00
Nicolas Williams
474386a1d9
Complete more-arity feature not complete
...
And test
2013-12-11 14:14:26 -06:00
Nicolas Williams
3a1dab5396
Fix double-free typo in print_error()
2013-12-06 23:25:06 -06:00
Nicolas Williams
dac081e183
Fix manual.yml
2013-12-06 11:58:55 -06:00
Nicolas Williams
3ba7c97b2a
Add self to AUTHORS
2013-12-04 18:21:42 -06:00
Nicolas Williams
54635000c5
Conditionally #define _GNU_SOURCE in compile.c
2013-12-04 18:21:42 -06:00
Nicolas Williams
426edff09c
Add tests for string index by string and builtins
2013-12-04 18:21:42 -06:00
Nicolas Williams
b37ce20c2a
Add index and rindex builtins
2013-12-04 18:21:42 -06:00
Nicolas Williams
cac14a531d
Add index strings by string; return string indexes
...
% jq '.[","]'
"a,bc,def,ghij,klmno"
[1,4,8,13]
%
2013-12-04 18:21:42 -06:00
Nicolas Williams
ae7a042876
Make length return abs value of numeric inputs
2013-12-04 18:21:42 -06:00
Nicolas Williams
eb165459aa
Add callback interface for errors
...
Printing to stderr is not the right answer for a library.
2013-12-04 18:21:41 -06:00
Nicolas Williams
04bc2ef7cf
Add jv_string_vfmt()
2013-12-04 18:21:41 -06:00
Nicolas Williams
09104ce531
Document ltrimstr and rtrimstr
2013-12-04 18:21:41 -06:00
Nicolas Williams
9fa2173825
Test ltrimstr and rtrimstr functions
2013-12-04 18:21:41 -06:00
Nicolas Williams
346da34432
Add ltrimstr and rtrimstr functions
2013-12-04 18:21:41 -06:00
Nicolas Williams
fa316ac430
Document -u / --unslurp option
2013-12-04 18:21:41 -06:00
Nicolas Williams
77936a594d
Add -I / --online-input for huge top-level arrays
2013-12-04 18:21:41 -06:00
Nicolas Williams
4e07eac356
Document -e / --exit-status argument
2013-12-04 18:21:40 -06:00
Nicolas Williams
d018e43ddc
Add -e | --exit-status CLI option
2013-12-04 18:21:40 -06:00
Nicolas Williams
8cee66e609
Document tojson and fromjson builtins
2013-12-04 18:21:40 -06:00
Nicolas Williams
3c4248192d
Test tojson and fromjson
2013-12-04 18:21:40 -06:00
Nicolas Williams
255f8ef5be
Add tojson and fromjson builtins
2013-12-04 18:21:40 -06:00
Nicolas Williams
20b32db5af
Document split function
2013-12-04 18:21:40 -06:00
Nicolas Williams
b634722c8a
Document string multiplication and division
2013-12-04 18:21:40 -06:00
Nicolas Williams
c9e8581f45
Document string functions and slicing
2013-12-04 18:21:39 -06:00
Nicolas Williams
da129f6664
Test string slicing
2013-12-04 18:21:39 -06:00
Nicolas Williams
884e6c7d8b
Add string slicing
2013-12-04 18:21:39 -06:00
Nicolas Williams
5aadaa79eb
Add tests for string division/splitting
2013-12-04 18:21:39 -06:00
Nicolas Williams
cf562961b7
Add string division by string (split on separator)
2013-12-04 18:21:39 -06:00
Nicolas Williams
63bed9bdf1
Test starts/endswith and string multiplication
2013-12-04 18:21:39 -06:00
Nicolas Williams
5989dbdfcf
Add string multiplication by number
2013-12-04 18:21:39 -06:00
Nicolas Williams
db19a11399
Add startswith/endswith
2013-12-04 18:21:38 -06:00
Nicolas Williams
6c734cb609
Add explode/implode jq functions to match jv API
2013-12-04 18:21:38 -06:00
Nicolas Williams
ef41d1cb57
Use uint32_t for codepoint in jv_string_append_codepoint()
2013-12-04 18:21:38 -06:00
Nicolas Williams
08b4a34a8e
Add jv string utility functions
...
jv_string_empty()
-> return an empty string with given allocated length (for fast
appends)
jv_string_append_codepoint
-> append a single codepoint (int) to the given string
jv_string_explode
-> return an array of codepoints making up a string
jv_string_implode
-> return the UTF-8 encoding of an array of codepoint numbers
2013-12-04 18:21:38 -06:00
Nicolas Williams
1fc5656762
Support more arguments for defs
2013-12-04 18:21:38 -06:00
Nicolas Williams
3dcdc582ea
Document floor
2013-06-21 15:27:34 -05:00
Nicolas Williams
7c4171d414
Add floor operator
2013-06-21 15:27:34 -05:00
Nicolas Williams
1d839ff9df
Document mod
2013-06-21 15:27:34 -05:00
Nicolas Williams
3403d07912
Add mod (and setmod) operators
2013-06-21 15:27:34 -05:00
Nicolas Williams
e8643787cf
Update .gitignore
2013-06-21 12:41:57 -05:00
Nicolas Williams
298b2a6033
Add libjq autoconf goo
2013-06-21 11:57:12 -05:00
Nicolas Williams
c791428905
Quiet setup.sh re: tmp dir
2013-06-21 11:57:11 -05:00
Nicolas Williams
3216d7683a
Fix serious bug in handling of --argfile
2013-06-18 19:05:52 -05:00
Nicolas Williams
e4094c8664
Fix leaks in jv_load_file()
2013-06-18 19:05:52 -05:00
Nicolas Williams
da09544bb0
Remove accidentally introduced use of fopen "e"
2013-06-17 17:27:25 -05:00
Nicolas Williams
fe03bea191
Remove last remnant of main.h
2013-06-16 08:06:52 -05:00
Nicolas Williams
0ed6347d47
Allow --run-tests to take a file argument
2013-06-15 17:37:15 -05:00
Nicolas Williams
3f86e97f70
Fixup API to get closer to a libjq
2013-06-15 17:37:15 -05:00
Nicolas Williams
bbf4e05fde
Move slurp_file() into library as jv_load_file()
...
Needed as part of creating a libjq.
2013-06-15 00:08:59 -05:00
Nicolas Williams
03598bb5d6
Add --argfile variant of --arg (issue #117 )
...
This is useful when one has a database (in JSON form) to query using jq
input data.
% echo '{"a":1, "c":5}' > db.json
% echo '"c"'|./jq --argfile f /tmp/a '$f[.]'
5
% echo '"a"'|./jq --argfile f /tmp/a '$f[.]'
1
% echo '"b"'|./jq --argfile f /tmp/a '$f[.]'
null
%
2013-05-23 13:52:06 -05:00
Nicolas Williams
fb3c124af1
Rename complex to nontrivial for safety ( #113 )
2013-05-07 18:46:13 -05:00
Nicolas Williams
65deaaacf5
Fix #111 : exit(1) when inputs are not valid JSON
2013-05-06 12:36:53 -05:00
Nicolas Williams
a136c3b7c9
Build and install libjq
2013-04-28 20:12:49 -05:00
Nicolas Williams
312ab754a2
Remove unnecessary #includes
2013-04-28 20:12:15 -05:00
Nicolas Williams
87e9c64003
Remove globals/make jq_init/next/teardown() an API
2013-04-28 18:46:21 -05:00