Commit Graph

795 Commits

Author SHA1 Message Date
Mike Farah
a9e7f669d0 Merged envsubst into env operators 2022-01-27 09:20:53 +11:00
Samuel Cormier-Iijima
8195ff8b9b
Add a new envsubst operator to replace environment variables in strings (#1082) 2022-01-25 19:33:30 +11:00
Mike Farah
9b1a7bf451 Added support for adding objects 2022-01-23 11:35:44 +11:00
Mike Farah
6e33132de9 Added support for *= 2022-01-22 16:40:17 +11:00
Mike Farah
a6c79f3410 Multiply, substract with custom types 2022-01-22 16:12:59 +11:00
Mike Farah
50df792e49 Auto cast for add 2022-01-22 13:17:16 +11:00
Mike Farah
6f24e878aa Updated README, better xml docs 2022-01-22 12:35:33 +11:00
Mike Farah
2526b03d67 Added JSON conversion tests and doc generation 2022-01-21 20:26:19 +11:00
Eng Zer Jun
e347090571
refactor: move from io/ioutil to io and os packages (#1068)
* refactor: move from io/ioutil to io and os packages

The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>

* build: update snapcraft `go-channel` to 1.17

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-01-21 19:50:53 +11:00
Mike Farah
de0716e875 Tweaking select docs 2022-01-15 18:22:26 +11:00
Mike Farah
21cdbab0d7 Improving select docs (#839) 2022-01-15 18:18:52 +11:00
Mike Farah
8c94a96ee0 New merge flag (n) to only merge in new fields (#1038) 2022-01-15 15:48:34 +11:00
Mike Farah
ec8ef312ef
Added XML encoding/decoding (#1067)
* Added XML encoding/decoding

* Minor fixes

* Improve yq doc

* Lint
2022-01-15 11:57:59 +11:00
Mike Farah
606ef91cc6 Better fix #1062 (return error instead of panic) 2022-01-14 15:40:24 +11:00
Mike Farah
78b45a3eb0 Fixed #1062 2022-01-14 15:22:55 +11:00
Mike Farah
84ddf1862f Fixed #1048 2022-01-14 14:55:25 +11:00
Mike Farah
ca1c5dab59 Can encode in XML! 2021-12-21 16:59:09 +11:00
Mike Farah
2ee9c65bc2 Added global xml prefs for simplicity 2021-12-21 16:52:54 +11:00
Mike Farah
6bcbd873a6 wip 2021-12-21 16:19:27 +11:00
Mike Farah
ae8df5ea87 wip 2021-12-21 16:08:37 +11:00
Mike Farah
851a43b9b6 wip 2021-12-21 15:56:08 +11:00
Mike Farah
df32baedf1
Added XML decoder (#1044) 2021-12-21 15:02:07 +11:00
Matthieu MOREL
59752fb36d
enable more linters (#1043)
* enable revive linter

* enable gochecknoinits linter

* enable unconvert linter

* enable unparam linter

* enable asciicheck linter

* enable depguard linter

* enable nakedret linter

* enable megacheck linter

* enable nolintlint linter

* enable predeclared linter

* Update go.yml

* Update go.yml
2021-12-21 09:30:08 +11:00
Mike Farah
ffd1f022aa Report while filename failed to parse #1030 2021-12-06 17:25:32 +11:00
Mike Farah
c17cf82791 Improving docs 2021-12-05 13:03:38 +11:00
Mike Farah
b4db4496d5 Improved tips and tricks 2021-12-05 11:12:09 +11:00
Mike Farah
8b04d972f3 Improved error message 2021-12-05 10:58:26 +11:00
Mike Farah
e22df34158 Added sort_by operator 2021-12-04 13:54:12 +11:00
Mike Farah
2f05f7390f wip 2021-12-04 13:25:32 +11:00
Mike Farah
dba41ffed7 Assignment op no longer clobbers anchor (#1029) 2021-12-03 09:23:24 +11:00
Mike Farah
855b3c4b47 Cleanup test 2021-12-02 20:06:51 +11:00
Mike Farah
df5128fa36 Added encoder tests 2021-12-02 20:06:51 +11:00
Mike Farah
f62cfe5ec9 Added encoder tests 2021-12-02 20:06:51 +11:00
Mike Farah
d0419ceedf Added csv, tsv output formats 2021-12-02 20:06:51 +11:00
Mike Farah
14f8f92b76 Added map, map_values 2021-12-01 10:32:36 +11:00
Mike Farah
54b355bffb Added another test 2021-12-01 09:14:18 +11:00
Mike Farah
1c50ae4e6a Added another test 2021-11-30 13:22:18 +11:00
Mike Farah
feb97c9872 Fixed collect op when working with multiple nodes 2021-11-30 13:19:44 +11:00
Rob Ferguson
d41b44dc42
Add accessor for the yq logger instance (#1013)
Allow consumers of yqlib to customize the logger instance.

Closes #432

Signed-off-by: Carolyn Van Slyck <me@carolynvanslyck.com>

Co-authored-by: Carolyn Van Slyck <me@carolynvanslyck.com>
Co-authored-by: Rob Ferguson <robert.j.ferguson@nasa.gov>
2021-11-30 10:51:49 +11:00
Mike Farah
176fec639d Better merge example 2021-11-29 21:28:25 +11:00
Mike Farah
f5f148cadb Better formatting of merge arrays example 2021-11-29 21:06:09 +11:00
Mike Farah
418bd1a806 Added credit for merge by array example 2021-11-29 20:56:04 +11:00
Mike Farah
4c7c0b83aa Better merge array by key example 2021-11-29 20:53:36 +11:00
Mike Farah
51e946e6ff Better merge array by key example 2021-11-29 20:46:12 +11:00
Mike Farah
8c5d1e0252 gci linter 2021-11-26 20:24:21 +11:00
Matthieu MOREL
15d7c9e118 enable misspell linter 2021-11-25 22:01:30 +11:00
Mike Farah
7e09a66b0b Fixing comments 2021-11-24 10:59:19 +11:00
Mike Farah
733e63d1fb Added more tests 2021-11-24 10:16:48 +11:00
Mike Farah
b44fecdfa5 Added key operator 2021-11-24 09:57:35 +11:00
Mike Farah
7f629d5e36 Added errorlint to devtools 2021-11-24 09:27:17 +11:00
Matthieu MOREL
8711042c98 enable errorlint linter 2021-11-24 09:14:02 +11:00
Mike Farah
3d620100f8 Improved load doc 2021-11-18 17:34:08 +11:00
Mike Farah
a804e7370f Minor improvement on handling front matter 2021-11-16 16:34:39 +11:00
Mike Farah
356eff3b0b wip 2021-11-16 16:21:08 +11:00
Mike Farah
33871bf007 Fixed header preprocessing! 2021-11-14 10:59:50 +11:00
Mike Farah
11b6261e8b remove leading content indicator 2021-11-14 10:59:50 +11:00
Mike Farah
5df71162c9 fixed printer test 2021-11-14 10:59:50 +11:00
Mike Farah
63f54563ea wip 2021-11-14 10:59:50 +11:00
Mike Farah
d912d7d178 wip 2021-11-14 10:59:50 +11:00
Mike Farah
0557439765 Update document generation script 2021-11-03 22:37:07 +11:00
Mike Farah
de90b3e85e gitbook wip 2021-11-03 22:37:07 +11:00
Mike Farah
08fc058934 Fix JSON encoding removing null #985 2021-10-30 13:37:21 +11:00
Mike Farah
0b2688c0f1 Split printer 2021-10-30 10:04:41 +11:00
Mike Farah
65fd001575 Improving docs 2021-10-28 09:15:28 +11:00
Mike Farah
d508ac3fa4 Fixed flatten error message 2021-10-26 15:43:43 +11:00
Mike Farah
80084e89cc Added flatten operator 2021-10-26 15:42:25 +11:00
Mike Farah
2491051fd9 Added group_by operator 2021-10-26 15:13:26 +11:00
Mike Farah
d390fdc641 better docs 2021-10-26 14:33:57 +11:00
Mike Farah
91717b3c5d Can specify indent in encode ops 2021-10-24 11:35:40 +11:00
Mike Farah
587af7f722 Fixed newline handling in encoder/decoder 2021-10-22 15:21:01 +11:00
Mike Farah
a1af1b95d0 better docs 2021-10-22 14:55:58 +11:00
Mike Farah
b1e64a0d80 Fixed newline handling when decoding/encoding 2021-10-22 14:53:39 +11:00
Mike Farah
7288d34778 Added decoder op 2021-10-22 12:37:47 +11:00
Mike Farah
cdc5ef7b15 Added encoder op 2021-10-22 12:00:47 +11:00
Mike Farah
5819dd0853 Fixed expression parsing bug #970 2021-10-18 11:47:03 +11:00
Mike Farah
0064b68ed9 Revert "Removed leadingContentPreProcessing flag - header preprocessing is stable"
This reverts commit 4ce9433468.
2021-10-15 11:47:00 +11:00
Mike Farah
e741e6d52f Man page wip 2021-10-15 10:39:33 +11:00
Mike Farah
948399f163 Man page wip 2021-10-15 09:59:08 +11:00
Mike Farah
0436b77d91 Man page wip 2021-10-15 09:51:42 +11:00
Mike Farah
4ce9433468 Removed leadingContentPreProcessing flag - header preprocessing is stable 2021-10-15 08:53:00 +11:00
Peter Matseykanets
dd259b4957 Make deepMatch report in linear time
The current implementation of the deepMatch() has the exponential runtime.
Given the long enough input and the pattern with multiple wildcards
it takes a while if ever to complete which can potentially be used
maliciously to cause a denial of service (cpu and memory consumption).

E.g. running this in the root of this repository
time yq eval '.jobs.publishDocker.steps.[] | select (.run == "****outputs")' .github/workflows/release.yml
gives on my laptop
25.11s user 0.06s system 99% cpu 25.182 total

Whereas the updated implementation gives
0.01s user 0.01s system 36% cpu 0.049 total

There are numerous similar CVEs reported for glob evaluation in
different shells/ftp-servers/libraries.

The replacement implementation with the linear runtime is shamelessly taken
verbatim from the briliant article by Russ Cox https://research.swtch.com/glob
2021-10-14 18:45:25 +11:00
Mike Farah
ed4d888bfa Speed up multiply 2021-10-11 14:46:46 +11:00
Mike Farah
79bc1f95cb Slight performance improvement to context.ChildContext 2021-10-11 12:56:27 +11:00
Mike Farah
4a4aae00af Sped up explode operator 2021-10-11 10:41:15 +11:00
Mike Farah
839f795710 Fixed select bug (#958) 2021-10-07 15:04:36 +11:00
Mike Farah
43e40a6dda Updating with documentation 2021-09-16 10:55:26 +10:00
Mike Farah
2292f0ffb4 Fixed with semicolon space issue 2021-09-15 22:24:03 +10:00
Mike Farah
2db8140d7f Added contains operator 2021-09-15 15:18:10 +10:00
Mike Farah
084a0f6f1e Merge branch 'subtract' 2021-09-12 21:59:07 +10:00
Mike Farah
6002604251 Added with operator 2021-09-12 21:52:02 +10:00
Mike Farah
b2ee131a4c Updated var to work like jq #934 2021-09-12 16:55:55 +10:00
Mike Farah
1cfbbde796 Added missing closing bracket error check 2021-09-12 15:49:50 +10:00
Mike Farah
13c42db238 Adding subtraction support for arrays 2021-09-07 16:58:34 +10:00
Mike Farah
3543a2dbdc Fixed union infinite loop #930 2021-09-05 11:07:40 +10:00
Mike Farah
8941573c1a Fixing alternative op bug #930 2021-09-02 15:36:23 +10:00
Mike Farah
eea2c97cd8 Can process hex numbers 2021-09-02 15:26:44 +10:00
Mike Farah
cb95ab1494 Fixed merge comment issue #919 2021-08-26 16:31:26 +10:00
Mike Farah
d18aa3e9e0 Added shorthand output formats 2021-08-20 15:46:33 +10:00
Mike Farah
4ba96d902b Fixed document header/footer comment handling when merging 2021-08-17 09:54:12 +10:00
Mike Farah
9de0d0aae1 Adding string readme 2021-08-01 18:47:04 +10:00
Mike Farah
669f6cf127 Added properties encoder test 2021-07-27 21:51:27 +10:00
Mike Farah
8c1a96d121 Properties encoder wip 2021-07-25 18:08:33 +10:00
Mike Farah
b64982a487 Properties encoder wip 2021-07-25 11:43:51 +10:00
Mike Farah
eeac03a437 Fixed merging arrays with merge anchors #899 2021-07-22 20:58:58 +10:00
Mike Farah
3b91ad5764 Handle leading comment with no new-line 2021-07-20 11:01:56 +10:00
Mike Farah
8508d3309b More efficient front matter processor 2021-07-20 10:38:42 +10:00
Mike Farah
4e628327c4 Better way of processing leading content 2021-07-20 10:19:55 +10:00
Mike Farah
bbebebe30c Fixed for most cases, except strip comments 2021-07-20 09:18:40 +10:00
Mike Farah
dafa114e65 Added printer tests 2021-07-19 20:12:04 +10:00
Mike Farah
519cf1dcd7 wip 2021-07-19 19:58:47 +10:00
Mike Farah
3a6f73e836 wip 2021-07-19 19:52:51 +10:00
Mike Farah
9c8253b582 Front matter processor seems to be working! 2021-07-18 13:17:35 +10:00
Mike Farah
555ad0762c Added front-matter handler 2021-07-18 12:28:46 +10:00
Mike Farah
f6e2ab5cef Remember comments in empty files 2021-07-16 22:08:22 +10:00
Mike Farah
28a8721f49 Handle empty files 2021-07-16 21:08:20 +10:00
Mike Farah
a13617407e Fixed EOF bug when processing empty files 2021-07-16 20:56:22 +10:00
Mike Farah
171ca2e053 Improving reg ex doc 2021-07-16 10:18:25 +10:00
Mike Farah
2f0fe8aa13 Increment version 2021-07-16 10:09:12 +10:00
Mike Farah
d74bb8e28d Adding magic to detect leading seperators 2021-07-15 11:34:49 +10:00
Mike Farah
5c0a5bd9d3 Added capture regex operator 2021-07-11 11:08:18 +10:00
Mike Farah
3394feee0d Added test for #878 2021-07-09 15:58:33 +10:00
Mike Farah
b9d01f1e95 Added test operator 2021-07-09 15:54:56 +10:00
Mike Farah
69c45ff64a Added match operator 2021-07-09 15:33:41 +10:00
Mike Farah
573618e4ce (wip) regex match op 2021-07-09 14:58:31 +10:00
Mike Farah
cc7ea83506 (wip) regex match op 2021-07-09 14:58:31 +10:00
Mike Farah
bae319ab7f Revert usage of filepath.Clean (azure compatability issues) 2021-07-08 10:26:35 +10:00
Mike Farah
38ce8618e1 Revert "Fix for gosec rule G304 - sanitize filepaths"
This reverts commit ffb6cbf769.
2021-07-08 10:14:01 +10:00
Mike Farah
cce3af001a Extract out compound assign logic, use it add and subtract ops 2021-07-07 20:00:46 +10:00
Mike Farah
b4b2e1217a Added another |= example 2021-07-07 19:53:33 +10:00
Mike Farah
b0074f5eba Fixes #870 2021-07-07 19:22:55 +10:00
Mike Farah
542efd8928 Update append array docs 2021-07-07 15:36:43 +10:00
Mike Farah
ce3e347157 Fixed append array issue https://github.com/mikefarah/yq/issues/874 2021-07-07 15:30:45 +10:00
Mike Farah
d1b6a6fdd9 Fixed merge bug https://github.com/mikefarah/yq/issues/880 2021-07-07 14:29:24 +10:00
Monica Debbeler
ffb6cbf769 Fix for gosec rule G304 - sanitize filepaths 2021-07-07 13:52:11 +10:00
Monica Debbeler
f67a83a5bc Fix for gosec rule G104 - handle errors 2021-07-07 13:50:04 +10:00
Mike Farah
da47318f42 Fixed newline issue https://github.com/mikefarah/yq/issues/855 2021-06-12 08:26:27 +10:00
Mike Farah
88bee2809f Fixed issue on creating objects using [] 2021-06-11 14:27:44 +10:00
Mike Farah
cb912ca188 Added more tests 2021-06-10 09:53:50 +10:00
Mike Farah
d1548ead71 Fixed alternative operator 2021-06-10 09:35:07 +10:00
Mike Farah
09c5ed24be Updating docs 2021-06-10 08:35:41 +10:00
Mike Farah
78af68f436 Added nested traversal examples 2021-06-10 08:31:26 +10:00
Mike Farah
01e478e81d Fixing entries test 2021-06-08 21:50:14 +10:00
Curtis Vogt
ed377a032d Add with_entries example using filtering 2021-06-08 21:38:54 +10:00
Mike Farah
fae2b2643c Added gofmt to format command 2021-06-01 10:52:14 +10:00
Mike Farah
dd86b5e7f2 Fixing doc 2021-05-28 17:00:25 +10:00
Mike Farah
f1f75683c1 Fixed nil RHS bug in alternative operator #838 2021-05-28 16:59:02 +10:00
Mike Farah
48eeb2a9df Fixes update-assign with collect object issue #830 2021-05-22 08:22:45 +10:00
Mike Farah
d18a6963f6 Fixes nested array indexing #824 2021-05-21 14:18:24 +10:00
Mike Farah
77edbb9f5c Fixing readonly ops not to modify context when paths dont exist 2021-05-16 15:02:31 +10:00
Mike Farah
179c44aacc Fixing readonly ops not to modify context when paths dont exist 2021-05-16 14:36:13 +10:00
Mike Farah
bc70c1fb16 Added blank alias example 2021-05-16 14:18:18 +10:00
Mike Farah
0b71a40797 Fixing readonly ops not to modify context when paths dont exist 2021-05-16 14:17:13 +10:00
Mike Farah
3f51a44596 Fixing readonly ops not to modify context when paths dont exist 2021-05-16 14:00:30 +10:00
Mike Farah
dc464a5b10 Added ability to escape double quotes in double quotes 2021-05-16 12:38:17 +10:00
Mike Farah
5340ed0ad3 Fixed handling of null expressions in equals op 2021-05-16 12:38:17 +10:00
Mike Farah
f4392f8658 Added any_c and all_c operators 2021-05-14 15:03:28 +10:00
Mike Farah
8e14b3b393 Added any and all operators 2021-05-14 14:29:55 +10:00
Mike Farah
8627441705 Added unique operator 2021-05-14 09:43:52 +10:00
Mike Farah
aa95ecd012 Update operator docs 2021-05-11 14:35:59 +10:00
Mike Farah
a2bd463a91 Fixed null issue with entry operators 2021-05-10 10:42:43 +10:00
Mike Farah
bb3ffd40b5 Added optional traverse flag 2021-05-09 15:36:33 +10:00
Mike Farah
cc08afc435 Added with_entries 2021-05-09 15:12:50 +10:00
Mike Farah
941a453163 Added from_entries op 2021-05-09 14:18:25 +10:00
Mike Farah
77630ca179 Added to_entries op 2021-05-09 13:59:23 +10:00
Mike Farah
ae4b606707 Fixed merge anchor bug #800 2021-05-09 13:26:02 +10:00
Mike Farah
37f3e21970 Fixed boolean op with empty context issue 2021-05-09 12:44:05 +10:00
Mike Farah
25d0787011 updating operator docs 2021-05-05 15:03:27 +10:00
Mike Farah
b5b8da0a1d Updating comment docs 2021-04-29 13:18:57 +10:00
Mike Farah
fa21510194 Moved multiply doc example lower 2021-04-29 12:03:56 +10:00
Mike Farah
f541194250 Added complex merge example 2021-04-28 20:35:10 +10:00
Mike Farah
38666f4db6 Added another style example for doc 2021-04-26 14:18:18 +10:00
Mike Farah
c8630fe4f3 Fixes delete issue #793 2021-04-25 12:05:56 +10:00
Mike Farah
87df9b1ae6 Updating operator doc 2021-04-24 17:41:06 +10:00
Mike Farah
b2a538bdfc Better string sub documentation 2021-04-16 16:07:40 +10:00
Mike Farah
daf0bfe1b9 Added string substitute command 2021-04-15 16:09:47 +10:00
Mike Farah
750a00ec35 Added "expand" to explode docs for searchability 2021-04-13 13:59:26 +10:00
Mike Farah
25e0a824c5 Fixed alternative operator when LHS has empty matches 2021-04-13 10:53:46 +10:00
Mike Farah
12d3425b4a Added subtract operator (numbers only) 2021-03-25 08:12:01 +11:00
Mike Farah
21a9e506cb Fixed merge comments 2021-03-19 12:54:03 +11:00
Mike Farah
3722367fbb Dont print doc separators for JSON (https://github.com/mikefarah/yq/issues/735) 2021-03-19 12:40:56 +11:00
Mike Farah
f7b50e9853 Fixed += operator (https://github.com/mikefarah/yq/issues/750) 2021-03-19 12:36:05 +11:00
Mike Farah
4f3fe256aa Fixed precedence of CREATE_MAP (https://github.com/mikefarah/yq/issues/753) 2021-03-19 12:09:32 +11:00
Mike Farah
e93c43f7a0 Improving docs 2021-02-26 11:31:43 +11:00
Mike Farah
2ed5b2ff59 Improved lexer performance! 2021-02-25 16:47:55 +11:00
Mike Farah
81136ad57e Arrays no longer deeply merge by defauly, like jq 2021-02-18 11:16:54 +11:00
Mike Farah
a6cd250987 nicer reduce example 2021-02-15 18:23:50 +11:00
Mike Farah
ee1f55630f nicer reduce example 2021-02-15 17:33:41 +11:00
Mike Farah
9072e8d3b3 Added context variable for reduce 2021-02-15 17:31:12 +11:00
Mike Farah
99b08fd612 Added reduce examples and doc 2021-02-15 16:38:53 +11:00
Mike Farah
b2317a14ef infix reduce 2021-02-15 16:06:37 +11:00
Mike Farah
3e5f7b147f infix reduce 2021-02-15 15:31:55 +11:00
Mike Farah
c4faa70143 wip - reduce! 2021-02-15 14:27:00 +11:00
Mike Farah
c4c8e5e7b0 Preserve comments on map keys 2021-02-11 10:58:40 +11:00
Mike Farah
e02ad4d7e8 Added space example to docs 2021-02-11 10:58:40 +11:00
Mike Farah
429c3ca65b Fixed merge dropping anchors 2021-02-11 10:58:40 +11:00
Mike Farah
cfcac6d1dc improving docs 2021-02-11 10:58:40 +11:00
Mike Farah
a5ddbca97f Fixing special character example 2021-02-11 10:58:40 +11:00
Mike Farah
30027a8cf4 Added not equals operator 2021-02-11 10:58:40 +11:00
Mike Farah
f92a42e4f8 Equals now only compares scalars 2021-02-11 10:58:40 +11:00
Mike Farah
3c466dc66e Fixed delete bug 2021-02-11 10:58:40 +11:00
Mike Farah
10600dd29a Fixed delete bug 2021-02-11 10:58:40 +11:00
Mike Farah
3a464272d4 Added variable doc 2021-02-11 10:58:40 +11:00
Mike Farah
691efadfac Fixed variable precedence 2021-02-11 10:58:40 +11:00
Mike Farah
6efe4c4797 Fixing op precedences 2021-02-11 10:58:40 +11:00
Mike Farah
9e56b364c2 Fixing op precedences 2021-02-11 10:58:40 +11:00
Mike Farah
85ec32e3db Added variables 2021-02-11 10:58:40 +11:00
Mike Farah
5c73132c8e Dont create entries when selecting 2021-02-11 10:58:40 +11:00
Mike Farah
c6efd5519b Pass context through operators
Allows more sophisticated functionality
2021-02-11 10:58:40 +11:00
Mike Farah
820a3320be Fixed length of null to be zero 2021-02-11 10:58:40 +11:00
Mike Farah
c77001f969 Can add and merge append to null 2021-02-11 10:58:40 +11:00
evnp
1be3b31bbc Don't escape HTML chars when converting to json
json.Encoder and json.Marshal implicitly use HTMLEscape to convert
>, <, &, with \u003c, \u003e, \u0026. This behavior carries over
to yq, where chars will be escaped when outputting json but not when
outputting yaml.

This changeset disables this behavior via encoder.SetEscapeHTML(false).
Unfortunately there is no equivalent option for json.Marshal, so its
single usage has been replaced with an encoder (with escaping disabled).
2021-02-11 10:58:40 +11:00
Mike Farah
6c14a80991 Fixed cross-function combinatorial bug 2021-02-11 10:58:40 +11:00
Mike Farah
76bd1896e9 wip 2021-02-11 10:58:40 +11:00
Mike Farah
c63801a8a5 thoughts 2021-02-11 10:58:40 +11:00
Mike Farah
f7cfdc29e1 cross function fix wip 2021-02-11 10:58:40 +11:00
Mike Farah
29f40dad59 Fixing multiply doc 2021-02-11 10:58:40 +11:00
Mike Farah
0707525b29 Added keys operator 2021-02-11 10:58:40 +11:00
Mike Farah
62acee54c3 Added split string operator 2021-02-11 10:58:40 +11:00
Mike Farah
d21c94cf4f Added join strings operator 2021-02-11 10:58:40 +11:00
Mike Farah
626e9cacaf Split doc operator 2021-02-11 10:58:40 +11:00
Mike Farah
02ef99560d Fixing add,multiply,alternative operator precendences 2021-02-11 10:58:40 +11:00
Mike Farah
c59209f041 Fixed remove comments example 2021-02-11 10:58:40 +11:00
Mike Farah
947ffb6986 Dont use pointer for env prefs (avoid nil) 2021-02-11 10:58:40 +11:00
Mike Farah
1a03031297 Dont use pointer for recursive prefs (avoid nil) 2021-02-11 10:58:40 +11:00
Mike Farah
2c7db0071a Dont use pointer for multiply prefs (avoid nil) 2021-02-11 10:58:40 +11:00
Mike Farah
0484d0232b Dont use pointer for commment prefs (avoid nil) 2021-02-11 10:58:40 +11:00
Mike Farah
91c72d2d9e Added merge if empty 2021-02-11 10:58:40 +11:00
Mike Farah
09ec740d45 Added operator level doc 2021-02-11 10:58:40 +11:00
Mike Farah
e86f83fb69 Renaming pathtree to expression 2021-02-11 10:58:40 +11:00
Mike Farah
7d5b6b5442 Removed global vars 2021-02-11 10:58:40 +11:00
Mike Farah
b749973fe0 UnwrapDoc now private 2021-02-11 10:58:40 +11:00
Mike Farah
ba223df4ac Moved eval function to eval interface 2021-02-11 10:58:40 +11:00
Mikhail Katychev
e6336bcb85 added lib_test.go 2021-02-11 10:58:40 +11:00
Mikhail Katychev
9ae03e0a1c added EvaluateNodes and EvaluateCandidateNodes to yqlib 2021-02-11 10:58:40 +11:00
Mike Farah
55712afea6 Merge now copies anchor names 2021-02-11 10:58:40 +11:00
Mike Farah
7518dac99c Fixed creation of candidateNode in operators to include file metadata 2021-02-11 10:58:40 +11:00
Mike Farah
49ac2bac13 Cleaning up exposed public api 2021-02-11 10:58:40 +11:00
Mike Farah
e28df367eb Fixed tag operator for top level node 2021-02-11 10:58:40 +11:00
Mike Farah
90ec05be54 Fixed equals operator for top level node 2021-02-11 10:58:40 +11:00
Mike Farah
8f5270cc63 Fixed has operator for top level node 2021-02-11 10:58:40 +11:00
Mike Farah
286590b01e fixing exposed functions and interfaces 2021-02-11 10:58:40 +11:00
Mike Farah
c1cf8b4e34 fixing exposed functions and interfaces 2021-02-11 10:58:40 +11:00
Mike Farah
461661112c Better add documentation 2021-02-11 10:58:40 +11:00
Mike Farah
578f2c27f9 Added scalar addition 2021-02-11 10:58:40 +11:00
Mike Farah
6ed037a9f6 Fixed collect at document level 2021-02-11 10:58:40 +11:00
Mike Farah
69386316f3 Better error handling will empty env 2021-02-11 10:58:40 +11:00
Mike Farah
a0e1f65b20 Better recursive decent docs 2021-02-11 10:58:40 +11:00
Mike Farah
8027f4c568 Better docIndex docs 2021-02-11 10:58:40 +11:00
Mike Farah
b13eb7083e Better env docs 2021-02-11 10:58:40 +11:00
Mike Farah
7a184bef78 Env Ops! 2021-02-11 10:58:40 +11:00
Mike Farah
34bc33d5c5 strenv 2021-02-11 10:58:40 +11:00
Mike Farah
4d8b64d05c wip 2021-02-11 10:58:40 +11:00
Mike Farah
2d9cc3c107 wip 2021-02-11 10:58:40 +11:00
Mike Farah
ceff2cc18d Added recurse examples 2021-02-11 10:58:40 +11:00
Mike Farah
db62a16007 Added another delete example 2021-02-11 10:58:40 +11:00
Mike Farah
2a6e423d2d Can assign-update tag 2021-02-11 10:58:40 +11:00
Mike Farah
5a1b81cbfc Can assign-update style 2021-02-11 10:58:40 +11:00
Mike Farah
8c1f7dfbd7 Can assign-update aliases and anchors 2021-02-11 10:58:40 +11:00
Mike Farah
2e81384eed Can assign-update comments 2021-02-11 10:58:40 +11:00
Mike Farah
bde419aaee Updated collect objcet doc 2021-02-11 10:58:40 +11:00
Mike Farah
9b185a4409 Added shorthand document index selection 2021-02-11 10:58:40 +11:00
Mike Farah
0c777a4967 Unwrap node in get tag to return proper tag at root level 2021-02-11 10:58:40 +11:00
Mike Farah
04491e13c3 Refactored doc generation, add fi fileIndex alias 2021-02-11 10:58:40 +11:00
Mike Farah
5aff50a345 Fixed updating yaml from other files 2021-02-11 10:58:40 +11:00
Mike Farah
9509831cff Updated docs 2020-12-29 22:35:57 +11:00
Mike Farah
94a563dfd8 Updated docs 2020-12-28 11:57:20 +11:00
Mike Farah
0328cfd619 Added prettyPrint flag 2020-12-28 11:40:41 +11:00
Mike Farah
88663a6ce3 Added recurse keys operator 2020-12-28 11:24:42 +11:00
Mike Farah
b10a9ccfc6 Removed TraversePrefs 2020-12-28 10:29:43 +11:00
Mike Farah
9e9e15df73 More scenarios 2020-12-27 23:00:46 +11:00
Mike Farah
6cc6fdf322 Cleaning code 2020-12-27 22:56:15 +11:00
Mike Farah
a88c2dc5d3 Traverse Array Operator 2020-12-27 22:48:20 +11:00
Mike Farah
ea231006ed Refactoring traverse 2020-12-27 09:55:08 +11:00
Mike Farah
80f187f1a4 Refactoring traverse 2020-12-27 09:51:34 +11:00
Mike Farah
98e8b3479f Fixed nested array splat path 2020-12-25 12:49:05 +11:00
Mike Farah
c09f7aa707 Cleaning up docs 2020-12-23 10:30:13 +11:00
Mike Farah
1b0bce5da6 Added alias operator;
alias, anchor and explode ops are now all documented together
2020-12-22 12:23:13 +11:00
Mike Farah
f112bde5fe Added anchor operator 2020-12-22 11:57:41 +11:00
Mike Farah
e5aa4a87a4 fixed test name 2020-12-22 11:47:58 +11:00
Mike Farah
f305e8fa12 Fixed delete full path 2020-12-22 11:45:51 +11:00
Mike Farah
2aab79431c moved string space test to op values test cases 2020-12-22 10:38:52 +11:00
djajcevic
540d4953f5 #607 Fix string value with spaces error 2020-12-22 10:29:21 +11:00
Mike Farah
ca8cd78616 Add now uses crossFunction 2020-12-21 11:54:03 +11:00
Mike Farah
9876b0ce8f Boolean operators now use the crossFunction util func 2020-12-21 11:42:35 +11:00
Mike Farah
a23272727d Added Alternative op 2020-12-21 11:32:34 +11:00
Mike Farah
bb088f6aa2 Added better error reporting 2020-12-17 14:19:46 +11:00
Mike Farah
a96b74e779 Added better error reporting 2020-12-17 14:02:54 +11:00
Mike Farah
09a9e1e7f0 handle multiple document streams 2020-12-15 14:33:50 +11:00
Mike Farah
db60746e4e Can now properly handle .a[] expressions 2020-12-09 12:15:14 +11:00
Mike Farah
a3e422ff76 added another test 2020-12-01 18:10:10 +11:00
Mike Farah
2c3357702d clarified pipe parsing tests 2020-12-01 18:08:41 +11:00
Mike Farah
c9dbf04da3 Added pipe and length docs, fix pipe precedence 2020-12-01 17:58:07 +11:00
Mike Farah
363fe5d283 Added sort keys operator 2020-12-01 15:06:54 +11:00
Mike Farah
08f579f4e3 Fixed create yaml 2020-12-01 14:06:49 +11:00
Mike Farah
c9229439f7 added exit status 2020-11-30 16:35:21 +11:00
Mike Farah
9bc66c80b6 Added write-inlplace flag 2020-11-30 16:05:07 +11:00
Mike Farah
8de10e550d wip - write in place 2020-11-29 20:25:47 +11:00
Mike Farah
1258fa199e Updated lib todo list 2020-11-28 11:25:10 +11:00
Mike Farah
3a030651a3 Added append equals, merge append. Fixed creating numeric arrays 2020-11-28 11:24:16 +11:00
Mike Farah
3f48201a19 wip 2020-11-28 10:46:04 +11:00
Mike Farah
3cecb4e383 wip 2020-11-28 10:41:09 +11:00
Mike Farah
13679e51e2 Added get key examples 2020-11-26 11:20:53 +11:00
Mike Farah
5205f01248 Fixed recursive decent on empty objects/arrays 2020-11-25 15:01:12 +11:00
Mike Farah
1ce30b25dc Add operator! 2020-11-24 13:07:19 +11:00
Mike Farah
3d6a231722 Added has operator 2020-11-24 11:38:39 +11:00
Mike Farah
3f04a1b52e Fixed empty array op 2020-11-22 13:50:32 +11:00
Mike Farah
aed598c736 Fixing docs 2020-11-22 13:16:54 +11:00
Mike Farah
e9fa873af8 path operator singular 2020-11-22 12:22:15 +11:00
Mike Farah
064cff1341 added path operator! 2020-11-22 12:19:57 +11:00
Mike Farah
fc3af441e5 Extracted out evaluators 2020-11-22 11:56:28 +11:00
Mike Farah
e451119014 Added File operators 2020-11-20 23:08:12 +11:00
Mike Farah
d38caf6bc2 Added File operators 2020-11-20 22:57:32 +11:00
Mike Farah
4e385a1b93 get file wip 2020-11-20 15:50:15 +11:00
Mike Farah
356aac5a1f fixed boolean example 2020-11-20 15:33:21 +11:00
Mike Farah
663413cd7a Fixed typo 2020-11-20 15:31:49 +11:00
Mike Farah
f03005f86d Fixed boolean ops 2020-11-20 15:29:53 +11:00
Mike Farah
bc87aca8d7 wip 2020-11-20 14:35:34 +11:00
Mike Farah
9674acf684 Fixed docker file, fixed doco 2020-11-19 22:53:05 +11:00
Mike Farah
8e1ce4ca70 Updated todo 2020-11-19 22:12:34 +11:00
Mike Farah
9bd9468526 Minor fixes 2020-11-19 22:11:26 +11:00
Mike Farah
75044e480c Added plain assignment 2020-11-19 17:08:13 +11:00
Mike Farah
36084a60a9 Added tag operator 2020-11-19 16:45:05 +11:00
Mike Farah
9b48cf80e0 updated todo 2020-11-18 20:43:36 +11:00
Mike Farah
bb3b08e648 wip style docs and test 2020-11-18 20:42:37 +11:00
Mike Farah
dcacad1e7e docs 2020-11-18 10:32:30 +11:00
Mike Farah
3356061e1e select doc 2020-11-18 09:52:03 +11:00
Mike Farah
2c062bc2a5 Added printer test 2020-11-18 09:52:03 +11:00
Mike Farah
088ec36acd include docs for tracking 2020-11-18 09:50:52 +11:00
Mike Farah
83cb6421df added test to ensure json keys remain in order 2020-11-17 16:17:38 +11:00
Mike Farah
a57944d123 Fixed printer 2020-11-16 12:09:57 +11:00
Mike Farah
b3efcdc202 more docs 2020-11-15 10:58:47 +11:00
Mike Farah
af2aa9ad91 more docs 2020-11-15 10:50:30 +11:00
Mike Farah
db4762ef7c more docs 2020-11-14 13:38:44 +11:00
Mike Farah
860655b4cd Better documentation generation 2020-11-13 21:34:43 +11:00
Mike Farah
d91b25840a Better documentation generation 2020-11-13 21:22:05 +11:00
Mike Farah
019acfe456 Better documentation generation 2020-11-13 20:58:01 +11:00
Mike Farah
af39fc737d Fixed linting 2020-11-13 14:07:11 +11:00
Mike Farah
708ff02e8d Fixed collect object for multi doc 2020-11-13 13:19:54 +11:00
Mike Farah
2edf64182b refining 2020-11-06 14:37:01 +11:00
Mike Farah
b290a65602 document index 2020-11-06 12:11:38 +11:00
Mike Farah
05520c2168 more tests 2020-11-06 11:45:18 +11:00
Mike Farah
5ab584afac comment ops! 2020-11-06 11:23:26 +11:00
Mike Farah
b1f139c965 refactored 2020-11-04 10:48:43 +11:00
Mike Farah
0cb2ff5b2e explode when outputting to json 2020-11-02 13:55:03 +11:00
Mike Farah
d6ff198d63 explode! 2020-11-02 13:43:45 +11:00
Mike Farah
e515b8c2db got style 2020-11-02 11:20:52 +11:00
Mike Farah
b63b9644aa multiply merge anchors 2020-10-30 12:40:44 +11:00
Mike Farah
461c3e719c merge anchors! 2020-10-30 12:00:48 +11:00
Mike Farah
643f2467ee simple anchors 2020-10-30 10:56:45 +11:00
Mike Farah
4edb3e9021 create object fixes 2020-10-28 13:00:26 +11:00