Sign inSign up

looztra/yamkix

By looztra

•Updated over 3 years ago

Opinionated Yaml formatter

Image
0

1.5K

looztra/yamkix repository overview

⁠yamkix

⁠Why?

⁠What?

> ./yamkix -h
usage: yamkix [-h] -i INPUT [-t TYP] [-o OUTPUT] [-n] [-e] [-q] [-f] [-d]

Format yaml input file. By default, explicit_start is `On`, explicit_end is
`Off` and array elements are pushed inwards the start of the matching
sequence. Comments are preserved thanks to default parsing mode `rt`.

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        the file to parse
  -t TYP, --typ TYP     the yaml parser mode. Can be `safe` or `rt`
  -o OUTPUT, --output OUTPUT
                        the name of the file to generate (same as input file
                        if not specied)
  -n, --no-explicit-start
                        by default, explicit start of the yaml doc is `On`,
                        you can disable it with this option
  -e, --explicit-end    by default, explicit end of the yaml doc is `Off`, you
                        can enable it with this option
  -q, --no-quotes-preserved
                        by default, quotes are preserverd you can disable this
                        with this option
  -f, --default-flow-style
                        enable the default flow style `Off` by default. In
                        default flow style (with typ=`rt`), maps and lists are
                        written like json
  -d, --no-dash-inwards
                        by default, dash are pushed inwards use `--no-dash-inwards` to have the dash start at the sequence level

⁠Config

  • Explicit start of yaml docs by defaut (you can disable it with --no-explicit-start)
  • Quotes preserved by default (you can disable it with --no-quotes-preserved)
  • Arrays elements pushed inwards by default (you can disable it with --no-dash-inwards)
  • Output file is input file by default
  • Comments preserved by default thanks to ruamel.yaml⁠ round_trip mode (you can disable it with --typ safe)

⁠Where does the name 'yamkix' come from?

⁠Usage

  • Install the package with pip install --user yamkix
  • Sample vscode task :
{
  "taskName": "format yaml with yamkix",
  "type": "shell",
  "command": "yamkix --input ${file}",
  "group": "build",
  "presentation": {
    "reveal": "always",
    "panel": "shared"
  },
  "problemMatcher": []
}

⁠Source Code

https://github.com/looztra/yamkix.git⁠

Tag summary

Content type

Image

Digest

sha256:cf80ea459…

Size

51.7 MB

Last updated

over 3 years ago

docker pull looztra/yamkix