Skip to content

Apply directives to comment lines.#817

Open
skhal wants to merge 1 commit into
adrienverge:masterfrom
skhal:master
Open

Apply directives to comment lines.#817
skhal wants to merge 1 commit into
adrienverge:masterfrom
skhal:master

Conversation

@skhal

@skhal skhal commented Jun 28, 2026

Copy link
Copy Markdown

Google keep-sorted (https://github.com/google/keep-sorted) helps to keep YAML lines sorted between two marker comments, which is helpful in Ansible playbooks, pre-commit configs, etc.:

$ cat -n /tmp/example.yml
1  ---
2  example:
3    # keep-sorted start
4    - name: a
5    - name: c
6      b: bar
7    # keep-sorted end

Yamllint reports "rule:comments-indentation" violation on line 7:

$ yamllint -v
yamllint 1.38.0

$ yamllint /tmp/example.yml
/tmp/example.yml
  7:3       warning  comment not indented like content  (comments-indentation)

A directive to skip the next line does not work either:

$ cat -n /tmp/example_nolint.yml
1  ---
2  example:
3    # keep-sorted start
4    - name: one
5    - name: two
6      b: bar
7    # yamllint disable-line rule:comments-indentation
8    # keep-sorted end

$ yamllint /tmp/example_nolint.yml
/tmp/example_nolint.yml
  7:3       warning  comment not indented like content  (comments-indentation)

Note that the violation is for the directive itself because Yamllint does not apply directives to comments.

This change makes Yamllint apply the "next line directive" to comments.

Google keep-sorted (https://github.com/google/keep-sorted) helps to keep YAML
lines sorted between two marker comments, which is helpful in Ansible
playbooks, pre-commit configs, etc.:

    $ cat -n /tmp/example.yml
    1  ---
    2  example:
    3    # keep-sorted start
    4    - name: a
    5    - name: c
    6      b: bar
    7    # keep-sorted end

Yamllint reports "rule:comments-indentation" violation on line 7:

    $ yamllint -v
    yamllint 1.38.0

    $ yamllint /tmp/example.yml
    /tmp/example.yml
      7:3       warning  comment not indented like content  (comments-indentation)

A directive to skip the next line does not work either:

    $ cat -n /tmp/example_nolint.yml
    1  ---
    2  example:
    3    # keep-sorted start
    4    - name: one
    5    - name: two
    6      b: bar
    7    # yamllint disable-line rule:comments-indentation
    8    # keep-sorted end

    $ yamllint /tmp/example_nolint.yml
    /tmp/example_nolint.yml
      7:3       warning  comment not indented like content  (comments-indentation)

Note that the violation is for the directive itself because Yamllint
does not apply directives to comments.

This change makes Yamllint apply the "next line directive" to comments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant