Commit Graph

337 Commits

Author SHA1 Message Date
Mike Farah
44c7f3aec3 Preparing release notes 2023-08-11 13:52:50 +10:00
Kim Alvefur
d302d75c77
Implement basic Lua output support (#1745)
* Implement basic Lua output support

Ref #1700

Basic but working serialization to Lua tables.

* 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.

* 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.

* Quote Lua keywords in table keys

Keywords are not valid as unquoted keys, thus must be quoted

* Make output of unquoted Lua table keys optional

Generally safer and simpler to not do it.

* Hook up settings for Lua output

* Allow special characters in Lua prefix and suffix

--lua-suffix='});^M' didn't work, so taking this approach instead

* Panic on unhandled YAML Kind in Lua encoder

* Handle YAML case varied booleans in Lua encoder

* Handle special-case numbers in Lua encoder

* Reject unhandled scalar Tags in Lua encoder

* 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.

* Return error instead of panic in Lua encoder

* Add initial test for Lua encoder

Boilerplate mostly copied from toml_test.go

* Additional Lua output tests

* Generate Lua encoder documentation

Mostly just for the boilerplate

* Convert octal for Lua output

Lua doesn't have the 0oNNN syntax for octal integers, only decimal and
hexadecimal, hence those can be passed trough as is while octal needs
special treatment.

* Implement indentation in in Lua output

* Respect string Style in Lua encoder

Lua has 'single', "double" and [[ long ]] strings.

* Expand Lua examples

* Output line comments in Lua output

* Implement Lua globals output mode
2023-08-11 12:56:49 +10: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
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
eba075294a Added scalar output for TOML (#1617) 2023-04-03 15:40:06 +10:00
Mike Farah
496035c75a toml docs 2023-03-31 10:24:12 +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
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
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
2195df9e7a Fixed xml encoding of ProcInst #1563, improved XML comment handling 2023-03-02 10:57:54 +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
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
Mike Farah
6d7d76a3f1 Adds @uri/@urid #1529 2023-01-23 11:37:18 +11:00
Mike Farah
00c2be541d Added prepend array example 2023-01-11 12:19:46 +11:00
Mike Farah
9af55d555b Fixed handling of merging null #1501 2023-01-10 13:48:57 +11:00
Mike Farah
83c5e1bc83 Include blank new lines in leading header preprocessing #1462 2022-12-08 13:33:06 +11:00
Mike Farah
02be2b2918 Fixed issue where content surrounding tags are lost #1447 2022-11-27 17:29:27 +11:00
Mike Farah
3e795d020d Updating docs 2022-11-13 11:16:01 +11:00
Mike Farah
88ce6ffcbe Hotfix: actually update the default xml attribute prefix #1428 2022-11-13 11:13:34 +11:00
Mike Farah
ececd00fbd Updated default xml naming prefix 2022-11-10 22:22:55 +11:00
Mike Farah
04847502bf Can use expressions in slice #1419 2022-11-10 18:03:18 +11:00
Mike Farah
af7e36bd47 Improved set path example 2022-11-10 10:28:29 +11:00
Mike Farah
fdad478684 Improved set path example 2022-11-10 10:22:08 +11:00
Mike Farah
22f376bbfd Added set path example 2022-11-10 10:17:08 +11:00
Mike Farah
bd5e5dc965 Array to map operator for #1415 2022-11-08 13:40:00 +11:00
Mike Farah
cf02b90624 Fixed sorting by date #1412 2022-11-04 12:21:12 +11:00
Mike Farah
5af062a86f Added subset example 2022-11-01 09:29:05 +11:00
Mike Farah
6d6cd43255 docs 2022-10-29 18:22:30 +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
c1640fb10d Removing old version notice 2022-10-25 12:47:13 +11:00
Mike Farah
6d6b693fb3
Added XML processing instructions and directive support (#1396) 2022-10-24 10:09:42 +11:00
Mike Farah
6db7acbf69 Added custom sort map example 2022-10-17 15:03:47 +11:00
Mike Farah
d16ee386d2 Fixed broken link 2022-10-14 14:24:57 +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
7f4c8e1c78 Added comment operator examples 2022-09-30 11:30:31 +10:00
Mike Farah
60f30f8a48 Added comment operator examples 2022-09-30 11:26:36 +10:00
Mike Farah
2362451fda Added comment operator examples 2022-09-30 11:22:58 +10:00
Mike Farah
55a7fdfd8a Added is_key operator 2022-09-30 10:27:35 +10:00
Mike Farah
3dd5f0c80c Added another comment test 2022-09-30 10:15:41 +10:00
Mike Farah
be304a1102 Added another comment test 2022-09-30 09:46:07 +10:00
Mike Farah
a64eea3b1a Fixed bug in alternative op, dont evaluate RHS if LHS is truthy 2022-09-09 11:05:12 +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
a91a8ccc66 Improving docs 2022-08-01 14:12:35 +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
Mike Farah
b9a1ef89fe
Added NDJSON decoder (#1281) 2022-07-27 12:26:22 +10:00
Mike Farah
86c2b03630 Added error operator for custom validation #1259 2022-06-25 12:46:24 +10:00
Daniel Carbone
98b411f82e
adding support for --wrapScalar=false in properties encoder (#1241)
* adding support for --wrapScalar=false in properties encoder

* altering encoder and decoder tests somewhat

* adding .idea

* Revert "altering encoder and decoder tests somewhat"

This reverts commit e3655130e2.

* adding test scenario for encoding with wrapped scalars
2022-06-25 12:22:03 +10:00
rndmit
b9309a42a4
XML decoder additions (#1239)
* Add xml-keep-namespace and xml-raw-token features

* Add tests

* Change flags usage strings

* Append docs
2022-06-15 09:40:31 +10:00
Mike Farah
439bcaad25 Added multiple object example from PR #1226 2022-05-27 11:22:10 +10:00
Mike Farah
1e27e39927 Fixing typos (prefer UK english) 2022-05-25 11:02:18 +10:00
Mike Farah
5126f3dfee Fixed doc 2022-05-25 10:54:56 +10:00
Mike Farah
6bce23d9c2 Improved handling of trailing document comments 2022-05-25 10:54:03 +10:00
Christoph Stäbler
dee592eb3b
Fix typo (#1222) 2022-05-24 18:18:27 +10:00
Mike Farah
451d8643ee Updating merge docs 2022-05-24 16:16:58 +10:00
Mike Farah
72cdde78f6 Fixing issues found by codeql 2022-05-06 13:46:14 +10:00
Mike Farah
689c535a29 Updated unique docs 2022-04-29 12:16:57 +10:00
Mike Farah
90261a2fdd Added type as an alias for tag #1195 2022-04-27 09:11:43 +10:00
Mike Farah
b11075ec98 now assumes yaml idiomatic formatting when adding to empty maps/arrays 2022-04-15 08:27:22 +10:00
Mike Farah
523b8335d8 Fixing string docs 2022-04-01 13:21:55 +11:00
Mike Farah
0956eefb1a Fixed help links 2022-03-29 11:08:50 +11:00
Mike Farah
a9ed08a5f8 Fixed compare docs 2022-03-29 11:01:02 +11:00
Benjamin Wuethrich
ae71824adc
Fix Markdown link formatting (#1157)
* Fix Markdown link formatting

* Fix parens
2022-03-29 10:23:32 +11:00
Mike Farah
186b319093 Added from_props 2022-03-28 19:48:30 +11:00
Mike Farah
bbeae229ca Disable strict XML parsing by default #1155 2022-03-28 14:05:10 +11:00
Mike Farah
fb148c305a Added comparison ops (>,>=...) 2022-03-24 11:38:05 +11:00
Mike Farah
897604142f Better string docs 2022-03-23 10:28:45 +11:00
Mike Farah
03f57b7034 Bumping version 2022-03-20 13:03:40 +11:00
Mike Farah
78e9cc7998
Envsubst params (#1147)
* Can give envsubst optional arguments
2022-03-20 10:56:50 +11:00
Mike Farah
4bb2fa1652 Updated equals doc 2022-03-16 10:16:49 +11:00
Mike Farah
d27fb0ec78 Update multiply docs 2022-03-16 10:04:45 +11:00
Mike Farah
3924ed8a35 Bumping version 2022-03-10 13:50:53 +11:00
Mike Farah
58be9829f9 Added pick operator 2022-03-10 13:39:51 +11:00
Mike Farah
edbdb16ab7 Fixes auto expansion of properties #1127 2022-03-01 11:29:11 +11:00
Mike Farah
8698433d44 Added line and column operators 2022-02-27 11:56:46 +11:00
Mike Farah
0e0183b9ea Update load docs 2022-02-23 09:40:05 +11:00
Mike Farah
61978b34df Added load_base64 2022-02-23 09:38:17 +11:00
Mike Farah
d9bca65626 Added base64 support 2022-02-23 09:26:35 +11:00
Mike Farah
d7b158f855 Added string case operators 2022-02-22 16:17:23 +11:00
Mike Farah
71706af3d4 String op can now run on custom types 2022-02-22 14:50:45 +11:00
Mike Farah
8142e94349 Added reverse op 2022-02-22 14:15:31 +11:00
Mike Farah
fc447b46ce Fixed bad cature groups with multiple matches #1114 2022-02-20 13:28:13 +11:00
Mike Farah
75fffc17e1 Added support for load_props, added missing load_xml tests 2022-02-15 14:51:22 +11:00
Mike Farah
b35893d783
Date Time Ops (#1110)
* Added datetime operators

* Added date subtract support
2022-02-14 15:37:43 +11:00
Mike Farah
a5f6a80cf6 Added snake_case version of camelCase operators (snake case now prefered) 2022-02-11 09:05:17 +11:00
Mike Farah
a9c3617b4f
Decoder Properties (#1099)
* Decoder Properties

* Added properties round trip test

* Fixed property decode for github actions

* Refactored XML test to use common functions

* Switched formatScenario parameter order for more readablity
2022-02-10 12:02:53 +11:00
Mike Farah
1f367ac200 Added notification banner to docs 2022-02-06 14:39:46 +11:00
Mike Farah
d00153de71 Adding to array copies styling of previous elements #722 2022-02-04 09:24:48 +11:00