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
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