A simple opionated yaml formatter that keeps your comments!
yamlfmt is just a cli wrapper around the ruamel.yaml python library, which happens to have the unique quality of keeping comments.
Usage
Note: The formatting used is subject to change without notice. Once a format seems to stick v1.0 will be tagged and the format will not change.
❯ yamlfmt -h
usage: yamlfmt [-h] [-w] [file [file ...]]
positional arguments:
file file to parse
optional arguments:
-h, --help show this help message and exit
-w, --write write formatted outpout to (source) file instead of stdout
Examples
Lets see yamlfmt in action:
Simple example from ruamel.yaml docs
❯ yamlfmt <<EOF
# example
name:
# details
family: Smith # very common
given: Alice # one of the siblings
EOF
# example
name:
# details
family: Smith # very common
given: Alice # one of the siblings
Travis-CI nodejs example
❯ yamlfmt <<EOF
language: node_js
# test on two node.js versions: 0.6 and 0.8
node_js:
- 0.6
- 0.8
# configure notifications (email, IRC, campfire etc)
# please update this section to your needs!
notifications:
irc: "irc.freenode.org#travis"
EOF
language: node_js
# test on two node.js versions: 0.6 and 0.8
node_js:
- 0.6
- 0.8
# configure notifications (email, IRC, campfire etc)
# please update this section to your needs!
notifications:
irc: irc.freenode.org#travis
Complex example from ruamel.yaml docs
❯ yamlfmt <<EOF
- &CENTER {x: 1, y: 2}
- &LEFT {x: 0, y: 2}
- &BIG {r: 10}
- &SMALL {r: 1}
# All the following maps are equal:
# Explicit keys
- x: 1
y: 2
r: 10
label: center/big
# Merge one map
- <<: *CENTER
r: 10
label: center/big
# Merge multiple maps
- <<: [*CENTER, *BIG]
label: center/big
# Override
- <<: [*BIG, *LEFT, *SMALL]
x: 1
label: center/big
EOF
- &CENTER {x: 1, y: 2}
- &LEFT {x: 0, y: 2}
- &BIG {r: 10}
- &SMALL {r: 1}
# All the following maps are equal:
# Explicit keys
- x: 1
y: 2
r: 10
label: center/big
# Merge one map
- <<: *CENTER
r: 10
label: center/big
# Merge multiple maps
- <<: [*CENTER, *BIG]
label: center/big
# Override
- <<: [*BIG, *LEFT, *SMALL]
x: 1
label: center/big
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yamlfmt-0.1.4.tar.gz
(2.8 kB
view details)
File details
Details for the file yamlfmt-0.1.4.tar.gz.
File metadata
- Download URL: yamlfmt-0.1.4.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3407fa483db6678542c67a294c68d48d958fa3363c2197882e6ea08777fb0328
|
|
| MD5 |
41b8044e197b917b30b5a1ef771e5a1f
|
|
| BLAKE2b-256 |
6418360991dd0042cad0ee3ccd3fa2a646439871f834c72a8263393f17ffa4bc
|