Tony
b6285c5922
feat: add in operator (inverse of has)
...
Add the `in` operator to check if a value is present in a mapping (as a
key) or sequence (as an element). This mirrors jq's `in` operator which
is defined as the inverse of `has`.
Usage:
. as $m | "key" | in($m) -- check map key existence
. as $m | "value" | in($m) -- check array value membership
.[] | select(.type | in(["a","b"])) -- filter by membership
Fixes #2322
2026-05-27 16:33:32 +08:00
Copilot
44c55c8a54
Add system(command; args) operator (disabled by default) ( #2640 )
...
* Initial plan
* Add system(command; args) operator with --enable-system-operator flag
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/8a11e9a0-10d2-4f2a-ae29-4e9d0bfc266f
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
* Update pkg/yqlib/operator_system.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Evaluate system command/args per matched node using SingleReadonlyChildContext
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/dca841eb-3f63-4f23-adeb-556431560420
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
* Add yqFlags to expressionScenario for doc command snippets; fix system op docs
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/3f8a5375-25fd-4428-a8e6-b630194c36b2
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
* Update pkg/yqlib/doc/operators/headers/system-operators.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update pkg/yqlib/doc/operators/system-operators.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Validate command node type and handle multiple results with debug log
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/928aabc5-ad71-41d8-94ab-403942e3f92d
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove deprecated --enable-system-operator alias; use --security-enable-system-operator consistently
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/286b95e9-b6d7-4ab8-b401-2d7a03853922
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Address deep review feedback: error on disabled, strict arg/cmd validation, debug logs, docs
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/fbfba2db-60ea-4c20-a4c2-0fd396b80c81
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
Co-authored-by: Mike Farah <mikefarah@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-10 20:06:46 +10:00
Copilot
7d8d3ab902
Replace gopkg.in/op/go-logging.v1 with log/slog ( #2635 )
...
* Initial plan
* Replace gopkg.in/op/go-logging.v1 with log/slog
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
Agent-Logs-Url: https://github.com/mikefarah/yq/sessions/aa9c12f4-21b9-4633-9868-6b56585b247f
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mikefarah <1151925+mikefarah@users.noreply.github.com>
2026-03-26 20:41:54 +11:00
Mike Farah
4bbffa9022
Fixed merge globbing wildcards in keys #2564
2026-01-31 15:44:50 +11:00
Mike Farah
c6ecad1546
Support negative parent indices
2025-12-20 15:36:49 +11:00
Mike Farah
c716d157f2
Fixing parsing of escaped characters in strenv #2506
2025-11-16 09:22:21 +11:00
Mike Farah
e49e588ab5
Fixing parsing of escaped characters #2506
2025-11-16 09:12:13 +11:00
Mike Farah
3050ca5303
Adding first operator
2025-11-09 16:12:17 +11:00
Mike Farah
78bc9baffd
Added parents operator
2025-11-09 16:12:17 +11:00
Marco Vito Moscaritolo
f168172bf4
remove unused variable parameters from functions
2024-11-16 11:48:53 +11:00
Mike Farah
1846006082
Can traverse straight from parent operator (parent.blah)
2024-09-06 12:46:23 +10:00
Mike Farah
d58870b056
Adding splat[] short hand to explode,collect,flatten,groupby,path,pivot,select and more
2024-06-16 10:48:01 +10:00
Mike Farah
d9af2dd976
Support env[] expression #2071
2024-06-15 21:56:32 +10:00
Matt Benson
101cf14b8c
min/max operators ( #1992 )
...
* min/max operators
* min, max operator headers
2024-03-30 13:34:36 +11:00
Matt Benson
3283c65dc4
pivot operator ( #1993 )
2024-03-30 13:29:35 +11:00
Matt Benson
f5bfe5a248
omit operator ( #1989 )
2024-03-23 17:15:45 +11:00
Mike Farah
76a0da3937
Refactoring load op
2024-03-12 15:57:26 +11:00
Mike Farah
8a07e3da3d
Can specify parent levels #1970
2024-03-12 10:49:26 +11:00
Mike Farah
e092329bf3
String interpolation! #1149
2024-03-05 14:10:12 +11:00
Mike Farah
72a78472af
Added tostring #72
2024-03-05 10:40:55 +11:00
Mike Farah
447bf28cd8
Introduced 'format' to encapsulate encoding and decoding formats together
2024-02-24 16:37:13 +11:00
Mike Farah
571caa696a
Refactoring Output types
2024-02-24 14:58:11 +11:00
Mike Farah
2dda0a203d
Comments in yq expressions! #1919
2024-02-09 13:54:27 +11:00
Mike Farah
4cf123fed5
Fixed to_entries[]
2023-12-12 15:44:34 +11:00
Mike Farah
d113344abf
Added tonumber support #71
2023-10-05 15:15:01 +11:00
Mike Farah
ee900ec997
Added kind operator
2023-10-02 14:43:12 +11:00
Mike Farah
cdb9b56066
Spellig with cspell
2023-09-19 10:43:11 +10:00
Mike Farah
71f95ab87b
Fixed .a!= parsing issue #1711
2023-08-30 09:40:57 +10:00
TJ Miller
a466821e8f
Added divide and modulo operators ( #1593 )
...
* Added divide operator (#49 )
* Tidy up divide operator logic
* Added modulo operator
* Fix divide test typo
* Add divide by zero test
* Handle int modulo by 0 and add tests
* Tidy up divide/modulo operator node creation
* Fix linter errors
2023-03-15 20:14:23 +11:00
Robert Brennan
9539877ff6
Add filter operation ( #1588 )
...
* add filter operation
* add tests
* add tests
* revert debug
* simplify filter
* fix tests
* remove logs
2023-03-09 10:30:47 +11:00
Mike Farah
d17fd9424e
Added shuffle command #1503
2023-02-11 05:08:20 +11:00
Mike Farah
915ab69922
Added to_unix operator
2023-02-02 12:56:16 +11:00
Mike Farah
75920481b1
Added from_unix operator #1535
2023-02-02 12:42:36 +11:00
Mike Farah
d21bb920d6
Added shell string encoder (@sh) #1526
2023-02-02 12:23:08 +11:00
Mike Farah
3b1bcac5b3
review feed back on URI
2023-01-25 11:18:48 +11:00
Mike Farah
6d7d76a3f1
Adds @uri/@urid #1529
2023-01-23 11:37:18 +11:00
Mike Farah
4478bd14c9
Fixed loading yaml with header issue #1445
2022-11-25 12:05:56 +11:00
Mike Farah
e02bb71948
Fixed parsing of newline character in string expression #1430
2022-11-14 16:40:59 +11:00
Mike Farah
04847502bf
Can use expressions in slice #1419
2022-11-10 18:03:18 +11:00
Mike Farah
bd5e5dc965
Array to map operator for #1415
2022-11-08 13:40:00 +11:00
Mike Farah
d99614f55a
Slice array ( #1403 )
2022-10-29 18:15:21 +11:00
Mike Farah
880397d549
Refactored decoder responsibilities ( #1402 )
...
- improved comment handling
- yaml decoder now responsible for leading content work around
2022-10-28 14:16:46 +11:00
Mike Farah
24bbffd71e
xml prefs should be part of API
2022-10-25 14:27:16 +11:00
Mike Farah
6d6b693fb3
Added XML processing instructions and directive support ( #1396 )
2022-10-24 10:09:42 +11:00
Mike Farah
b5b81abb90
Added DELPATHS operator
2022-10-05 20:09:53 +11:00
Mike Farah
da3f3b93b4
Added SETPATH operator
2022-10-05 14:12:08 +11:00
Mike Farah
55a7fdfd8a
Added is_key operator
2022-09-30 10:27:35 +10:00
Mike Farah
b4ca184108
Added new "c" flag to clobber custom tags when needed
2022-08-29 15:38:21 +10:00
Mike Farah
a696dceea4
Added string trim operator
2022-08-08 13:35:57 +10:00
Mike Farah
c8815f5ab9
Csv decoder ( #1290 )
...
* WIP: adding CSV decoder
* Adding CSV decoder
* Added CSV roundtrip
* Fixing from review
2022-08-01 10:28:34 +10:00