Commit Graph

29 Commits (ad5cec9c6ca8648d09a56308c5bbd7997ecf6f26)
 

Author SHA1 Message Date
Adrien Vergé ad5cec9c6c Config: Allow overriding only one option when extending 9 years ago
Adrien Vergé fb14cbdbd9 Config: Allow options to be in a pre-defined list 9 years ago
Adrien Vergé 8288a6f331 Rules: colons: Apply to '?' also 9 years ago
Adrien Vergé 9d8b0d4d2c Rules: commas: Don't allow a comma on a new line
Forbid such constructions:

    [ a, b, c
      , d, e ]
9 years ago
Adrien Vergé 39c878c819 Rules: indentation: Rewrite the algorithm (again)
Use a new, better thought algorithm that keeps an history stack with all
the parents indentations.
9 years ago
Adrien Vergé 222f7a27c1 Make syntax errors prevail over all yamllint problems 9 years ago
Adrien Vergé effb4db3b4 Tests: Rules: Remove unused `line` and `column` args
Now that every test case use the `problem=(x, y)` syntax.
9 years ago
Adrien Vergé d617eb70ae Rules: Keep a persistent context for token rules
This will be needed to build a clean indentation checking algorithm.
9 years ago
Adrien Vergé f09aef4f89 Rules: comments-indentation: Allow two levels
Previously only comments that were indented like the following content
line were allowed, e.g.:

    prev: line:
      # commented line
      current: line

With this change, such new cases are also allowed:

      prev: line
      # commented line 1
    # commented line 2
    current: line
9 years ago
Adrien Vergé 01c12f2462 Syntax errors: Use the BaseLoader for safety 9 years ago
Adrien Vergé 918f15b68d Make syntax errors prevail over yamllint 'warnings'
When both a syntax error (unability to parse a document) and a cosmetic
yamllint problem are found at the same place, the yamllint problem had
the priority -- and the syntax error was not displayed.

This had the following problem: if a rule is at the 'warning' level, its
problems will not make the `yamllint` script return a failure return
code (`!= 0`), even when it should (because there was a syntax error,
precisely).

This commit changes this behavior by preferring yamllint problems only
when they have the 'error' level.
9 years ago
Adrien Vergé 97e2210ec9 Don't treat non-importable YAML as syntax error
`yaml.load()` exceptions are not necessarily syntax errors. For
instance, the following YAML source cannot be `load()`ed into a Python
object, but is valid nonetheless:

    ? - Detroit Tigers
      - Chicago cubs
    :
      - 2001-07-23

    ? [ New York Yankees,
        Atlanta Braves ]
    : [ 2001-07-02, 2001-08-12,
        2001-08-14 ]

This commit detects syntax errors from `yaml.parse()` exceptions rather
than `yaml.load_all()`.
9 years ago
Adrien Vergé 1934206cef Rules: comments-indentation: Fix typo 9 years ago
Adrien Vergé 1235eba94e yamllint version 0.2.0 9 years ago
Adrien Vergé 11a14d4df8 Distribution: Update program description 9 years ago
Adrien Vergé 233a70adb3 Rules: Add the 'comments-indentation' rule 9 years ago
Adrien Vergé e81b73c111 Rules: indentation: Rewrite algorithm 9 years ago
Adrien Vergé 3989a09d32 Rules: comments: Allow empty comments 9 years ago
Adrien Vergé 5cc900f2a8 Rules: document-start: Allow directives 9 years ago
Adrien Vergé 851b9ac42c Rules: Add the 'comments' rule 9 years ago
Adrien Vergé 5c4c208b98 Rules: Add the 'braces' rule 9 years ago
Adrien Vergé d08eb22081 Rules: Add the 'brackets' rule 9 years ago
Adrien Vergé a5b384ab21 Rules: Add the 'commas' rule 9 years ago
Adrien Vergé cfea0661ed Rules: Make max-spaces-* generic
The goal being to use them in the 'colons', 'hyphens', 'commas', etc.
rules.
9 years ago
Adrien Vergé 07c5b4177c Rewrite syntax errors handling and test them
If a syntax errors occurs at the same place than a regular yamllint rule
error, only the yamllint one is issued.
9 years ago
Adrien Vergé bf96bdde01 Tests: Remove assertIsInstance to support Python 2.6 9 years ago
Adrien Vergé e2d68dac14 Tests: Travis and Coveralls integration 9 years ago
Adrien Vergé 47b44fe56c Distribution: Add a setup.py script 9 years ago
Adrien Vergé 350213b165 Initial commit 9 years ago