Yamllint: Difference between revisions
Jump to navigation
Jump to search
(Created page with "== yamllint == Install: apt install yamllint Use: yamllint file.yaml Note: * Defaults to max lines 80 limit Doc: https://yamllint.readthedocs.io/en/stable/ == yaml == See yaml") |
|||
| (8 intermediate revisions by the same user not shown) | |||
| Line 12: | Line 12: | ||
Doc: | Doc: | ||
https://yamllint.readthedocs.io/en/stable/ | https://yamllint.readthedocs.io/en/stable/ | ||
== Common Errors and Warnings == | |||
Obvious Errors (that shouldn't be errors, that I turned into warnings): | |||
<pre> | |||
* error line too long (94 > 80 characters) (line-length) | |||
* error no new line character at the end of file (new-line-at-end-of-file) | |||
** error too many blank lines (1 > 0) (empty-lines) | |||
^^ And then sometimes it doesn't want the new new line at end of file, not sure why - just can't win! | |||
</pre> | |||
Errors related to bad indentation: | |||
<pre> | |||
* error wrong indentation: expected 4 but found 2 (indentation) | |||
* error syntax error: expected <block end>, but found '<block mapping start>' (syntax) | |||
* error wrong indentation: expected 7 but found 8 (indentation) | |||
* error syntax error: mapping values are not allowed here (syntax) | |||
</pre> | |||
Error related to incomplete quoting: | |||
<pre> | |||
* error syntax error: expected <block end>, but found '<scalar>' (syntax) | |||
</pre> | |||
Obvious Warnings: | |||
<pre> | |||
* warning missing document start "---" (document-start) | |||
* warning comment not indented like content (comments-indentation) | |||
</pre> | |||
== config file == | |||
Specify config with: | |||
yamllint -c .yamllint file.yaml | |||
Default config location: | |||
* a file named .yamllint, .yamllint.yaml, or .yamllint.yml in the current working directory, or a parent directory (the search for this file is terminated at the user’s home or filesystem root) | |||
* a filename referenced by $YAMLLINT_CONFIG_FILE, if set | |||
* a file named $XDG_CONFIG_HOME/yamllint/config or ~/.config/yamllint/config, if present | |||
WARNING: ~/.yamllint or ~/.yamllint.yml ~/.yamllint.yaml should work, but doesn't seem to work for me? | |||
This did work: | |||
~/.config/yamllint/config | |||
So I did this: | |||
ln -s ~/.config/yamllint/config ~/.yamllint | |||
== default configuration == | |||
See https://yamllint.readthedocs.io/en/stable/configuration.html#default-configuration | |||
Default: | |||
<pre> | |||
--- | |||
yaml-files: | |||
- '*.yaml' | |||
- '*.yml' | |||
- '.yamllint' | |||
rules: | |||
anchors: enable | |||
braces: enable | |||
brackets: enable | |||
colons: enable | |||
commas: enable | |||
comments: | |||
level: warning | |||
comments-indentation: | |||
level: warning | |||
document-end: disable | |||
document-start: | |||
level: warning | |||
empty-lines: enable | |||
empty-values: disable | |||
float-values: disable | |||
hyphens: enable | |||
indentation: enable | |||
key-duplicates: enable | |||
key-ordering: disable | |||
line-length: enable | |||
new-line-at-end-of-file: enable | |||
new-lines: enable | |||
octal-values: disable | |||
quoted-strings: disable | |||
trailing-spaces: enable | |||
truthy: | |||
level: warning | |||
</pre> | |||
== Extending Configuration == | |||
Extending to disable comments indentation: | |||
<pre> | |||
# This is my first, very own configuration file for yamllint! | |||
# It extends the default conf by adjusting some options. | |||
extends: default | |||
rules: | |||
comments-indentation: disable # don't bother me with this rule | |||
</pre> | |||
Turn no end of line error into warning: | |||
<pre> | |||
new-line-at-end-of-file: | |||
level: warning | |||
</pre> | |||
Extending to extend line length: | |||
<pre> | |||
# 80 chars should be enough, but don't fail if a line is longer | |||
line-length: | |||
max: 120 | |||
level: warning | |||
</pre> | |||
== yaml == | == yaml == | ||
See [[ | See [[YAML]] | ||
== keywords == | |||
Latest revision as of 21:02, 25 February 2024
yamllint
Install:
apt install yamllint
Use:
yamllint file.yaml
Note:
- Defaults to max lines 80 limit
Doc:
https://yamllint.readthedocs.io/en/stable/
Common Errors and Warnings
Obvious Errors (that shouldn't be errors, that I turned into warnings):
* error line too long (94 > 80 characters) (line-length) * error no new line character at the end of file (new-line-at-end-of-file) ** error too many blank lines (1 > 0) (empty-lines) ^^ And then sometimes it doesn't want the new new line at end of file, not sure why - just can't win!
Errors related to bad indentation:
* error wrong indentation: expected 4 but found 2 (indentation) * error syntax error: expected <block end>, but found '<block mapping start>' (syntax) * error wrong indentation: expected 7 but found 8 (indentation) * error syntax error: mapping values are not allowed here (syntax)
Error related to incomplete quoting:
* error syntax error: expected <block end>, but found '<scalar>' (syntax)
Obvious Warnings:
* warning missing document start "---" (document-start) * warning comment not indented like content (comments-indentation)
config file
Specify config with:
yamllint -c .yamllint file.yaml
Default config location:
- a file named .yamllint, .yamllint.yaml, or .yamllint.yml in the current working directory, or a parent directory (the search for this file is terminated at the user’s home or filesystem root)
- a filename referenced by $YAMLLINT_CONFIG_FILE, if set
- a file named $XDG_CONFIG_HOME/yamllint/config or ~/.config/yamllint/config, if present
WARNING: ~/.yamllint or ~/.yamllint.yml ~/.yamllint.yaml should work, but doesn't seem to work for me?
This did work:
~/.config/yamllint/config
So I did this:
ln -s ~/.config/yamllint/config ~/.yamllint
default configuration
See https://yamllint.readthedocs.io/en/stable/configuration.html#default-configuration
Default:
---
yaml-files:
- '*.yaml'
- '*.yml'
- '.yamllint'
rules:
anchors: enable
braces: enable
brackets: enable
colons: enable
commas: enable
comments:
level: warning
comments-indentation:
level: warning
document-end: disable
document-start:
level: warning
empty-lines: enable
empty-values: disable
float-values: disable
hyphens: enable
indentation: enable
key-duplicates: enable
key-ordering: disable
line-length: enable
new-line-at-end-of-file: enable
new-lines: enable
octal-values: disable
quoted-strings: disable
trailing-spaces: enable
truthy:
level: warning
Extending Configuration
Extending to disable comments indentation:
# This is my first, very own configuration file for yamllint! # It extends the default conf by adjusting some options. extends: default rules: comments-indentation: disable # don't bother me with this rule
Turn no end of line error into warning:
new-line-at-end-of-file:
level: warning
Extending to extend line length:
# 80 chars should be enough, but don't fail if a line is longer
line-length:
max: 120
level: warning
yaml
See YAML