Commit Graph

332 Commits (790662d36932d2a1ab422f7ce3d26f5c9a496e97)
 

Author SHA1 Message Date
Adrien Vergé 9a82b99d4b Rules: indentation: Fix multi-line flows
To detect this as correct indentations:

    top:
      rules: [
        {
          foo: 1
        },
        {
          foo: 2
          bar: [
            a, b, c
          ],
        },
      ]
9 years ago
Adrien Vergé ba140ad42c Tests: Remove ghost character from YAML spec example 9 years ago
Adrien Vergé 0e04ee29e6 Doc: Update description 9 years ago
Adrien Vergé ba9d86d645 yamllint version 0.7.0 9 years ago
Adrien Vergé 3f4f13e848 Doc: Update screenshot to include 'key-duplicates' 9 years ago
Adrien Vergé f6bab05e8a Rules: Add the 'key-duplicates' rule 9 years ago
Adrien Vergé c16eec4681 Style: Fix indentation not multiple of four 9 years ago
Adrien Vergé 68618be4cc Rules: indentation: Handle sets
Sets are like mappings, that do not contain values. Example:

    set:
      ? key one
      ? key two
      ? [non, scalar, key]
9 years ago
Adrien Vergé 431a379c81 Tests: Add tests from YAML 1.2 specification
Write all examples from http://www.yaml.org/spec/1.2/spec.html in
independent files in tests/yaml-1.2-spec-examples; and test them with
yamllint.
9 years ago
Adrien Vergé 6b5948c06b Tests: Reorganize common and global tests 9 years ago
Adrien Vergé dd163ed551 Rules: indentation: Fix flow sequences with multi-line scalars
Typically sequences like this:

    ["multi
      line 1", "multi
                line 2"]
9 years ago
Adrien Vergé 14c99da2bb Tests: Add test cases for empty flows 9 years ago
Adrien Vergé cae100071a Rules: indentation: Add support for cleared sequence entries
The following construction is valid YAML, and its indentation should be
correctly handled:

    - this is
    -
      a
    -
      sequence:
        with cleared entries
9 years ago
Adrien Vergé 7cb7b4f669 Rules: commas: Add 'min-spaces-after'
Since such constructions are allowed and valid YAML:

    - [one,two, three,four]

this commit adds a `min-spaces-after` option that defaults to 1.
9 years ago
Adrien Vergé d2b5f69309 Doc: Update Vim integration documentation
Since it has been merged into Syntastic:
https://github.com/scrooloose/syntastic/commit/8c4dadc
https://github.com/scrooloose/syntastic/pull/1675
9 years ago
Adrien Vergé a7d39b5492 yamllint version 0.6.0 9 years ago
Adrien Vergé 4410bc3e23 Rules: indentation: Fix check-multi-line-strings
For strings that continue on next line at a lower indentation level:

    Blaise Pascal: Je vous écris une longue lettre parce que
      je n'ai pas le temps d'en écrire une courte.
9 years ago
Adrien Vergé 97c446907c Rules: line-length: Add option `allow-non-breakable-words` 9 years ago
Adrien Vergé 376a6ed484 Doc: Enhance short description 9 years ago
Adrien Vergé a1eb9d7d2f yamllint version 0.5.2 9 years ago
Adrien Vergé 45538fb08a Doc: Explicit installation by adding `sudo` in README 9 years ago
Adrien Vergé be998593dd Distribution: Create script with `setup.py` 9 years ago
Adrien Vergé 5ed496f471 Distribution: Remove unneeded `setup_requires`
With the new project layout, `pyyaml` is not needed anymore for parsing
setup.py.
9 years ago
Adrien Vergé dbbecb5875 Refactor project layout to import yamllint alone
Currently importing yamllint recursively imports its submodules, which
finally requires having pyyaml installed. This is a problem when you
just want to import APP_VERSION from yamllint. For instance, setup.py
imports yamllint to know the version, but doesn't know yet that pyyaml
is to be installed, because it is stated in setup.py itself.

To solve this, yamllint/__init__.py will only contain constants. The
linting functions will be in yamllint/linter.py.
9 years ago
Adrien Vergé 7b147cb411 Tests: Remove Python 2.6 from CI tests
Because:

1. It is old. VERY old.

2. Some useful methods (`assertRaisesRegexp`, `assertIsInstance`) are
   only available from Python 2.7.
9 years ago
Adrien Vergé fc108e7cee Config: Refactor to use YamlLintConfig objects 9 years ago
Adrien Vergé 792bdf99b4 yamllint version 0.5.1 9 years ago
Adrien Vergé 92798dbda9 Distribution: Add new keywords 9 years ago
Adrien Vergé e3ebea6033 Distribution: Fix broken setup_requires
The `pyyaml` dependency is needed in `install_requires` but also in
`setup_requires`, because running `setup.py` requires importing
`yamllint`, which itself imports `yaml`.
9 years ago
Adrien Vergé 7983c66093 Doc: Clarify Python compatibility in README 9 years ago
Adrien Vergé fee72d484e Doc: Add a screenshot 9 years ago
Adrien Vergé 387d14f816 yamllint version 0.5.0 9 years ago
Adrien Vergé ba8a9d0ba1 Doc: Give an explicit link from configuration to rules 9 years ago
Adrien Vergé 26b5364be4 Doc: Add Read The Docs status badge in README 9 years ago
Adrien Vergé 47d6534e75 Doc: Write the configuration page 9 years ago
Adrien Vergé 237db5aeef Doc: Document how to use the yamllint Python module 9 years ago
Adrien Vergé 6e9de02eac Doc: Update index
Add a brief description and remove unused links.
9 years ago
Adrien Vergé 044c049462 Doc: Document rules 9 years ago
Adrien Vergé 48589176c7 Doc: Convert README.md to README.rst 9 years ago
Adrien Vergé 38234a1d3c Doc: Generate documentation with Sphinx
HTML documentation should be built with sphinx. This enables easy
integration with Read The Docs [1]. It can also be generated manually by
running:

    make -C docs html

A man page can be generated by running:

    make -C docs man

[1]: http://yamllint.readthedocs.org/
9 years ago
Adrien Vergé 1bfd18097a Rules: indentation: Add 'check-multi-line-strings' option
This options allows the user to control whether to lint indentation
inside multi-line scalars or not.

When enabled, such YAML source will be detected as a problem:

    - C code: void main() {
                  printf("foo");
              }

whereas this one would not:

    - C code: void main() {
              printf("foo");
              }
9 years ago
Adrien Vergé 08f99ccc19 Rules: new-lines: Force `type` to be in ('unix', 'dos') 9 years ago
Adrien Vergé 7b6f024448 yamllint version 0.4.0 9 years ago
Adrien Vergé 75b4758c95 cli: 'standard' format: Print filename only when error 9 years ago
Adrien Vergé 0e98df2643 cli: Allow passing directories as arguments
For instance:

    yamllint .
    yamllint file.yml ../my-other-dir
9 years ago
Adrien Vergé d4189083d0 Introduce the 'cli' module and call it from the script 9 years ago
Adrien Vergé 67d13d60ae Rules: indentation: Check multi-line scalars 9 years ago
Adrien Vergé 96465008ab Rules: Fix `spaces_before` when prev is multi-line scalar
YAML content like the following one produced an error, because the
multi-line ScalarToken ends at the beginning of the 4th line (the one
with the value):

    ? >
        multi-line
        key
    : value
9 years ago
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
9 years ago
Adrien Vergé 6a24781f96 Tests: indentation: Add explicit keys test cases 9 years ago