A linter for YAML files.
Go to file
Adrien Vergé 847f7e3fff Rules: comments: Fix bug when multi-line scalar
YAML content like the following one produced an error, because the
ScalarToken associated whose value is "this is plain text" ends at the
beginning of the 5th line (the one with the comment):

    ---
    string: >
      this is plain text

    # comment
2016-01-20 10:45:59 +01:00
bin Initial commit 2016-01-14 10:46:14 +01:00
tests Rules: comments: Fix bug when multi-line scalar 2016-01-20 10:45:59 +01:00
yamllint Rules: comments: Fix bug when multi-line scalar 2016-01-20 10:45:59 +01:00
.gitignore Initial commit 2016-01-14 10:46:14 +01:00
.travis.yml Tests: Travis and Coveralls integration 2016-01-14 10:46:16 +01:00
LICENSE Initial commit 2016-01-14 10:46:14 +01:00
README.md Doc: Update README with examples 2016-01-19 22:57:12 +01:00
setup.py Tests: Travis and Coveralls integration 2016-01-14 10:46:16 +01:00

yamllint

A linter for YAML files.

Build Status Coverage Status

Compatible with Python 2 & 3.

Usage

yamllint my_file.yml my_other_file.yaml ...
yamllint -c ~/myconfig my_file.yml
# To output a format parsable (by editors like Vim, emacs, etc.)
yamllint -f parsable my_file.yml

Installation

pip install yamllint

Configuration

There is no documentation yet, so here is what you need to know: you can override some rules, disable them or pass them in warning (instead of error). Have a look at the content of yamllint/conf/default.yml and create your own configuration file.

It could look like this:

# This is my first, very own configuration file for yamllint!
# It extends the default conf by adjusting some options.

extends: default

rules:
  # 80 should be enough, but don't fail if a line is longer
  line-length:
    max: 80
    level: warning

  # accept both
  #    key:
  #      - item
  # and
  #    key:
  #    - item
  indentation:
    indent-sequences: whatever

  # don't bother me with this rule
  comments-indentation: disable

Tip: if you have a .yamllint file in your working directory, it will be automatically loaded as configuration by yamllint.