Commit Graph

101 Commits (10ad302e2f2c654f33c451763be69554167af308)
 

Author SHA1 Message Date
Adrien Vergé 10ad302e2f Tests: Explicit encoding for spec examples
YAML specification examples contain unusual characters, let's explicit
`encoding='utf-8'` to prevent bugs.
9 years ago
Adrien Vergé 73d9322813 linter: Test run on str, unicode, bytes and stream
Previously it was not tested, and broke on Python 2 `unicode` inputs.
9 years ago
Adrien Vergé ca0ebe4583 yamllint version 1.0.2 9 years ago
Adrien Vergé e6dc67fd0a Distribution: Add MANIFEST.in
`yamllint/conf/*.yml` remains in `setup.py`'s `package_data` because it
needs to be installed when running `pip install .`.

`docs/*` and `tests/yaml-1.2-spec-examples/*` just need to be packaged,
they can go in the manifest.
9 years ago
Adrien Vergé 611a560082 yamllint version 1.0.1 9 years ago
Adrien Vergé 83384fa4cf Doc: Fix man page redundant description 9 years ago
Adrien Vergé 3ab3784a75 cli: Remove shebang
A shebang is present at the beginning of file, it dates from the time
when `yamllint/cli.py` was `bin/yamllint`, i.e. an executable launcher.
Since this is not the case anymore (see `entry_points` section in
`setup.py`), let's remove it.
9 years ago
Adrien Vergé 2f75e92a66 Doc: Add a configuration example in README 9 years ago
Adrien Vergé 64caa95b6a yamllint version 1.0.0 9 years ago
Adrien Vergé fff09fa2df Distribution: Ship example files from spec in sdist
Closes: #1
9 years ago
Adrien Vergé 316bee8c98 yamllint version 0.7.2 9 years ago
Adrien Vergé 6c8af97a40 Tests: unblacklist remaining spec examples
Since !!tags are now supported.
9 years ago
Adrien Vergé 647d84ff94 Rules: indentation: Handle tags 9 years ago
Adrien Vergé 8eb0d0ad74 Tests: unblacklist spec example 7.16
As is it supported -- it just lacks some indentation.
9 years ago
Adrien Vergé 4bc3d5a01c Rules: indentation: Handle anchors 9 years ago
Adrien Vergé 48c7d65c54 parser: Provide nextnext for token rules
Because the indentation rule sometimes needs to look two tokens forward
(in case of anchors for instance).
9 years ago
Adrien Vergé 62fa4cbe39 Tests: indentation: Test the indent stack
The "indentation stack" is iteratively built by the `check()` function
of the indentation rule. It is important, since everything in the rule
relies on it.

This patch adds tests to make sure the stack is correctly built for some
known structures.
9 years ago
Adrien Vergé 8d38d349ac Rules: indentation: Rewrite stack generation
"Indentation stack" generation was not done properly, hence did not work
in all cases. This commit does a cleaner rewriting.
9 years ago
Adrien Vergé 3f264806b9 yamllint version 0.7.1 9 years ago
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