Commit Graph

254 Commits (503bde9e707772e996c9f95c87e4f997da063405)
 

Author SHA1 Message Date
Adrien Vergé 8844855353 Doc: Remove old Debian install commands from README 9 years ago
Adrien Vergé 0eb310e102 Allow disabling yamllint checks using comments
Implement problem report disabling with comments in YAML source, for
instance:

    # The following mapping contains the same key twice,
    # but I know what I'm doing:
    key: value 1
    key: value 2  # yamllint disable-line rule:key-duplicates

or:

    # yamllint disable rule:colons
    - Lorem       : ipsum
      dolor       : sit amet,
      consectetur : adipiscing elit
    # yamllint enable rule:colons

Closes: #8
9 years ago
Adrien Vergé cdd094220c parser: Add tests for `Comment.is_inline()` 9 years ago
Adrien Vergé 7a7d98c96a parser: Iterate over lines + tokens + comments
Instead of iterating over lines and tokens (and find comments between
tokens in the comment rules), add a new `Comment` type and set rules
with `type = 'comment'`.
9 years ago
Adrien Vergé 9f99f25db5 linter: Assert that `_run()` is called with a buffer 9 years ago
Adrien Vergé 8c839a20c2 Config: Detect user config using `os.path.expanduser()`
Instead of `$HOME`, since the former works when `$HOME` is not set.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828033#10
9 years ago
Adrien Vergé 8e6e851c5b yamllint version 1.2.2 9 years ago
Adrien Vergé edd4cca02f Merge pull request #9 from michelebariani/master
Patch allow-non-breakable-words on '-'
9 years ago
Michele Bariani 867970258e Patch allow-non-breakable-words on '-' 9 years ago
Adrien Vergé d0cb5998c4 Merge pull request #7 from jwilk/spelling
Fix typos
9 years ago
Jakub Wilk a5c97220e7 Fix typos 9 years ago
Adrien Vergé 598e5e4370 Doc: Fix typo on configuration page intro 9 years ago
Adrien Vergé 03076ee214 Doc: Add a pointer to rules on configuration page intro 9 years ago
Adrien Vergé eabd349902 Config: Allow a user-global configuration file
Instead of just looking for `.yamllint` in the current working
directory, also look for `~/.config/yamllint/config` (using
`$XDG_CONFIG_HOME` or `$HOME`, see [1] and [2] for information).

[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html
[2]: https://wiki.archlinux.org/index.php/XDG_Base_Directory_support

Closes: #6
9 years ago
Adrien Vergé 1f1757ced4 yamllint version 1.2.1 9 years ago
Adrien Vergé 59d5bffbec Tests: cli: Detect and handle the `-d ''` case 9 years ago
Adrien Vergé 53da21934d Tests: Add many `cli.run` test cases 9 years ago
Adrien Vergé 0c36d0175c cli: Print EnvironmentErrors on stderr
Errors such as "no such file or directory" should not be printed on
standard output.
9 years ago
Adrien Vergé 20545febe5 CI: Lint project's *.yaml files as well as *.yml 9 years ago
Adrien Vergé 88ebcbbb93 Tests: Test cli.find_files_recursively 9 years ago
Adrien Vergé 08615ec4f8 Tests: config: Check the non-valid-yaml-config case 9 years ago
Adrien Vergé 29aceb430a Tests: indentation: Increase coverage 9 years ago
Adrien Vergé 159e29ea6a Rules: indentation: Remove non-existing case
A BlockMappingStartToken should always be followed by a KeyToken, on the
same line.
9 years ago
Adrien Vergé f9198b7a9b Rules: indentation: Fix B_SEQ instead of B_ENT
For example in this case, the scalar's parent is a B_ENT (only its
grandparent is a B_SEQ):

    - >
        multi
        line
9 years ago
Adrien Vergé 44236077dd Merge pull request #4 from adrienverge/indentation-imbricated-flows
Indentation: imbricated flows
9 years ago
Adrien Vergé 76f47e91ca Rules: indentation: Handle imbricated flows correctly
The following source -- although not loadable by pyyaml -- is valid
YAML:

    {{key}}: value

This was processed badly by yamllint. The same for `[[value]]`,
`{{{{{moustaches}}}}}` or:

    {[val,
      {{key: val,
        key2}}]}

This patch corrects it and add corresponding test cases.

Related-to: #3
9 years ago
Adrien Vergé f98bed1085 Rules: indentation: Do not crash on unexpected token
Previously, when the indentation rule blocked on an unexpected token,
the program crashed with something like:

    File "/usr/lib/python3/dist-packages/yamllint/rules/indentation.py",
    line 434, in check
      assert context['stack'][-1].type == KEY
    AssertionError

Instead, we prefer report the error as a regular `LintProblem` and
continue processing.

Fixes: #3
9 years ago
Adrien Vergé a483524b63 Doc: Update installing section
Packages are now also available in Debian and Ubuntu.
9 years ago
Adrien Vergé 3a017a5a22 Doc: Update Neovim integration documentation
Since it has been merged into Neomake:
https://github.com/benekastah/neomake/commit/45dfc5
https://github.com/benekastah/neomake/pull/289
9 years ago
Adrien Vergé bab8137e2b Update .gitignore 9 years ago
Adrien Vergé 41733fc7a5 Use '.yaml' extension as default, not '.yml'
As someone said [1] on the internet:

    Say ".yaml" not ".yml".
    This is not MS-DOS, and YML is a Yahoo XML dialect.

Similarly, we use '.json', not '.jsn'.

[1]: https://github.com/ceph/s3-tests/commit/e17c56a
9 years ago
Adrien Vergé 688858e639 Doc: Reference Fedora and Ubuntu packages 9 years ago
Adrien Vergé dca3a54e63 yamllint version 1.2.0 9 years ago
Adrien Vergé 2dcfbd7e0d Conf: relaxed: Remove unneeded lines 9 years ago
Adrien Vergé 73d7a608e8 Conf: relaxed: Re-enable hyphens (in warning) 9 years ago
Adrien Vergé 1c0f164fbf Conf: relaxed: Set indentation's indent-sequences=consistent 9 years ago
Adrien Vergé 46e9108419 Rules: indentation: Add 'consistent' option for 'indent-sequences'
Using `indent-sequences: consistent` allows block sequences to be
indented or not to be, as long as it remains the same within the file.
9 years ago
Adrien Vergé 2f9e3cc71b Conf: relaxed: Set indentation to warning level 9 years ago
Adrien Vergé b13a03815a Conf: default: Use `spaces: consistent` for indentation 9 years ago
Adrien Vergé 9a7eec34b1 Rules: indentation: Fix `spaces: consitent` with broken flows 9 years ago
Adrien Vergé 5b62548ece Tests: indentation: Use 'spaces: consistent' by default 9 years ago
Adrien Vergé 8fca8a7a33 Config: Allow 'enable' keyword for rules
In the same manner as 'disable', 'enable' allows setting a rule on
without worrying about its options.
9 years ago
Adrien Vergé 69ef9a7272 Conf: relaxed: Set max line-length back to 80
Because 80 has been the default for years. But keep it as a warning, not
an error.
9 years ago
Adrien Vergé d8d1d92545 yamllint version 1.1.0 9 years ago
Adrien Vergé 7688567faa cli: Add the `-d` option to provide inline conf 9 years ago
Adrien Vergé 4e188f8801 Conf: Add a new pre-defined conf 'relaxed'
It is more tolerant than 'default'.
9 years ago
Adrien Vergé 5693b1dddf Rules: indentation: Add 'consistent' option for 'spaces'
Using `spaces: consistent` allows any number of spaces, as long as it
remains the same within the file.
9 years ago
Adrien Vergé fa420499c7 Config: Allow types in multiple choices
For instance, allow rules with:

    CONF = {'choice': (int, 'hardcoded-string'),
            'string-or-bool': (str, bool)}
9 years ago
Adrien Vergé adefe38a0d yamllint version 1.0.4 9 years ago
Adrien Vergé 7e11082353 Distribution: Restore spec examples in package_data
Put `tests/yaml-1.2-spec-examples/*` back in `setup.py`'s `package_data`
because they need to be installed when running `python setup.py build`,
so Debian packaging script `dh_auto_test -O--buildsystem=pybuild`
doesn't fail.

See also commit e6dc67f.
9 years ago