Commit Graph

409 Commits

Author SHA1 Message Date
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