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