Commit Graph

302 Commits

Author SHA1 Message Date
Mike Farah cbd03f8a93 Added new recipe 2023-12-13 10:41:56 +11:00
Mike Farah a988cd9005 Updating JSON doc: NDJSON spec deprecated, prefer JSON Lines 2023-12-01 11:39:02 +11:00
Mike Farah 779b26310e Updating references to yq being a YAML processor 2023-11-30 15:32:21 +11:00
Ville Skyttä 998b4edb34
Grammar fixes (#1877) 2023-11-23 11:54:25 +11:00
Mike Farah 13d1bbb45f
Generic ast (#1829)
Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
2023-10-18 12:11:53 +11:00
Kim Alvefur 7c78a15b23
Lua output fixes (#1811)
* encoder_lua: Handle explicitly positive infinity

* encoder_lua: Fix inclusion of pre-/suffix when prettyPrinted

It seems certain operations like --prettyPrint or subset selections does
not produce a DocumentNode, which is where the lua pre- and suffix was
printed, causing those to be omitted.

* encoder_lua: Improve Tag handling robustness

Using the method call seems more reliable in case the input parser
forgets to set the tag.
2023-10-12 11:25:26 +11:00
Mike Farah d113344abf Added tonumber support #71 2023-10-05 15:15:01 +11:00
Kim Alvefur 5fa41624c9
Add support for Lua input (#1810) 2023-10-03 16:00:51 +11:00
Mike Farah ee900ec997 Added kind operator 2023-10-02 14:43:12 +11:00
Mike Farah 0cf3adf5dd Adding another xml test; spelling fixes 2023-09-26 14:43:08 +10:00
-pthread -Wall 05ad1dad90
Fix typos (#1798) 2023-09-26 14:18:18 +10:00
Mike Farah cdb9b56066 Spellig with cspell 2023-09-19 10:43:11 +10:00
Mike Farah c66480448d Added recipes documentation 2023-09-01 14:40:33 +10:00
Mike Farah cda69bff5e Adding recipes 2023-09-01 12:17:54 +10:00
Mike Farah e5564c18fe Another xml example 2023-09-01 11:52:58 +10:00
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