Commit Graph

698 Commits

Author SHA1 Message Date
Kim Alvefur
0b54f9caca Add initial test for Lua encoder
Boilerplate mostly copied from toml_test.go
2023-08-05 17:08:38 +02:00
Kim Alvefur
58d14f7ea9 Return error instead of panic in Lua encoder 2023-08-05 17:08:38 +02:00
Kim Alvefur
f544580692 Add note about how Lua nil is unsuitable as table key
Could add some context tracking in the future to allow rejecting nil in
a table key context.
2023-08-05 17:08:38 +02:00
Kim Alvefur
5b7c00aa62 Reject unhandled scalar Tags in Lua encoder 2023-08-05 17:08:38 +02:00
Kim Alvefur
7830940a9a Handle special-case numbers in Lua encoder 2023-08-05 17:08:38 +02:00
Kim Alvefur
32277e2c7c Handle YAML case varied booleans in Lua encoder 2023-08-05 17:08:38 +02:00
Kim Alvefur
1ff44c5d52 Panic on unhandled YAML Kind in Lua encoder 2023-08-05 17:08:38 +02:00
Kim Alvefur
03560a3d84 Allow special characters in Lua prefix and suffix
--lua-suffix='});^M' didn't work, so taking this approach instead
2023-08-05 17:08:38 +02:00
Kim Alvefur
c4de13e874 Hook up settings for Lua output 2023-08-05 17:08:38 +02:00
Kim Alvefur
cabb73b12c Make output of unquoted Lua table keys optional
Generally safer and simpler to not do it.
2023-08-05 17:08:38 +02:00
Kim Alvefur
c8919f20da Quote Lua keywords in table keys
Keywords are not valid as unquoted keys, thus must be quoted
2023-08-05 17:08:38 +02:00
Kim Alvefur
21fda2eb3d Print simple keys unquoted in Lua output
String keys that satisfy the requirements for variable names can be used
as keys without quotes in tables.
2023-08-05 17:08:38 +02:00
Kim Alvefur
21c64fa945 Escape larger set of characters in Lua output
Started with a minimum of replacements, this should be more complete,
tho not all substitutions are strictly required in Lua.
2023-08-05 17:08:38 +02:00
Kim Alvefur
07b53fca7d Implement basic Lua output support
Ref #1700

Basic but working serialization to Lua tables.
2023-08-05 17:08:38 +02:00
Mike Farah
fcc04823ca Added docs on base64 only working with utf8 content 2023-05-23 15:38:08 +10:00
Mike Farah
5950329e2c Added docs on yes/no being strings in yaml spec 1.2 2023-05-23 15:35:39 +10:00
Mike Farah
4d50b001d1 Added test for null array json example 2023-05-04 14:48:57 +10:00
Arthur Fritz Santiago
d14eaa9b49
fix: runtime error: invalid memory address or nil pointer dereference (#1649) 2023-05-04 14:43:48 +10:00
Giorgio Gallo
80b42b81fd
Implement shell output format (#1645)
* fix typo in a comment

* implement shell output format

* fix a typo

* add two test cases, have source uses ascii only

* add integration tests and documentation

* add fixes after code revieew
2023-05-04 11:06:56 +10:00
Mike Farah
385921a3e2 Fixed passing of readonly context in pipe 2023-04-11 12:04:04 +10:00
Mike Farah
eba075294a Added scalar output for TOML (#1617) 2023-04-03 15:40:06 +10:00
Mike Farah
a389bb64b8 Fixed bug when splatting empty array #1613 2023-03-31 16:24:23 +11:00
Mike Farah
496035c75a toml docs 2023-03-31 10:24:12 +11:00
Valentin Lab
5fd2890d1b
Add `--nul-output|-0` flag to separate element with NUL character (#1550)
This is to ensure solid parsing of complex data (with any binary
content except NUL chars) by separating the `yq` root collection
member's output with NUL char. As a safe-guard, an error will be cast
if trying to use NUL character with content that contains itself NUL
characters inside.
2023-03-29 09:51:55 +11:00
Mike Farah
8d516ce535 Handle scalars in csv, xml files 2023-03-27 13:54:24 +11:00
Mike Farah
1b0a62d08d Handle scalars in property files 2023-03-27 13:51:08 +11:00
Mike Farah
7103b78d38
Draft: Toml (#1439)
* toml wip

* wip

* Fixed auto parsing toml

* Added build flag not to include toml

* Parse toml docs and tests

* minor updates
2023-03-26 10:59:15 +11:00
Mike Farah
95aafdd8d5 Fixed modulo docs 2023-03-18 14:53:36 +11:00
Mike Farah
fdce8fce13 Added docs 2023-03-18 14:51:31 +11:00
Mike Farah
dccba10997 added another base64 test 2023-03-18 14:33:48 +11:00
TJ Miller
69d3e3f3f8
Add support for decoding base64 strings without padding (#1604) 2023-03-18 14:30:35 +11:00
Mike Farah
ac8ffa287e doc gen 2023-03-16 13:41:10 +11:00
Abel Sen
fa6fac1a76
Minor typos (#1595)
* Remove extra backtick

* Reword explanation of update

* Reword explanation of relative update

* Change "remaple" to "remain"

* Change "clovver" to "clobber"

* Reword explanation of update for comment operators

* Reword explanation of relative update for comment operators

* Change "array" to "expression"

* Change "the golangs" to "Golang's"

* Change "golangs" to "Golang's"

* Change "can durations" to "can add durations"

* Change "array scalars" to "arrays"

* Change "beit" to "be it"

* Fix typo in `eval` tip

* Fix typo in header for `has` operation

* Add space before pipe in `line` operator example

* Fix typos in explanation of deep array merges

* Change "is now used" to "is now used."

* Change "object," to "object."

* Changes "indexes" to "indices"

* Remove extraneous copied text from `..` article

* Reword explanation of `...` operator

* Change "your are" to "you are"

* Add link to `string` operator docs in `select` article

* Change "is a" to "parameter specifies" in `string` operators article

* Change "new line" to "newline"

* Change "golang regex" to "Golang's regex"

* Change "golang" to "Golang"

* Add period

* Remove comma in `subtract` article

* Remove duplicate number subtraction example

* Remove comma in `traverse` operator article

* Clarify use of brackets when `read`ing with special characters
2023-03-16 13:39:36 +11: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
Mike Farah
360a47fddc Fixed npe in log #1596 2023-03-15 13:57:47 +11:00
Mike Farah
08a6cb65fe
Auto output format (#1599)
* Use file extension to auto detect output format!

* Use file extension to auto detect output format!

* formatting
2023-03-15 13:22:58 +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
ryenus
d30941b575
Detect input format based on file name extension (#1582)
* detect inputFormat from filename

* refactor and extract func InputFormatFromFilename

* detect inputFormat only when file is provided

* add test for automatic input format detection
2023-03-09 10:17:19 +11:00
Mike Farah
2195df9e7a Fixed xml encoding of ProcInst #1563, improved XML comment handling 2023-03-02 10:57:54 +11:00
Mike Farah
3f1f66a8ee Fixed merged anchor reference problem #1482 2023-03-01 13:45:35 +11:00
Anders Björklund
cf8cfbd865
Allow build without json and xml support (#1556)
* Refactor ordered_map into separate files

Separate json and xml, from the regular yaml.

Makes it possible to compile, without those...

* Refactor encoder and decoder creation

Use more consistent parameters vs globals

Return errors instead of calling panic()

* Allow build without json and xml support
2023-03-01 13:19:06 +11:00
Mike Farah
62d167c141
Variable loop - Fixes #1566 (#1577)
* Variable loop wip

* Variable loop wip

* Variable loop wip

* Variable loop wip

* Fixed variable operator to work like jq
2023-02-28 16:40:38 +11:00
Mike Farah
d17fd9424e Added shuffle command #1503 2023-02-11 05:08:20 +11:00
Mike Farah
a1698b740a Added ability to sort by multiple fields #1541 2023-02-11 04:46:39 +11:00
Vít Zikmund
93b7c999be
Use a lazy-quoting @sh encoder (#1548)
* Use a lazy-quoting @sh encoder

* Add internal quoting style switch to @sh

* Add test for stray empty quotes in @sh
2023-02-09 18:15:07 +11:00
Mike Farah
88a6b20ba5 Fixed date comparison with string date #1537 2023-02-02 13:30:48 +11:00
Mike Farah
915ab69922 Added to_unix operator 2023-02-02 12:56:16 +11:00
Mike Farah
f9f340b6bf Github pipeline not in AU tz :D 2023-02-02 12:47:59 +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