From 328ad7fc61bdd3b3de5d5f9f9dbbfc04be7801c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Ma=C5=82ek?= Date: Mon, 22 Mar 2021 12:22:25 +0100 Subject: [PATCH] line_length: skip all hash signs starting comment --- tests/rules/test_line_length.py | 10 ++++++++++ yamllint/rules/line_length.py | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/rules/test_line_length.py b/tests/rules/test_line_length.py index d63afb3..fc3f0e8 100644 --- a/tests/rules/test_line_length.py +++ b/tests/rules/test_line_length.py @@ -116,6 +116,16 @@ class LineLengthTestCase(RuleTestCase): 'long_line: http://localhost/very/very/long/url\n' '...\n', conf, problem=(2, 21)) + conf = 'line-length: {max: 20, allow-non-breakable-words: true}' + self.check('---\n' + '# http://www.verylongurlurlurlurlurlurlurlurl.com\n' + 'key:\n' + ' value:\n', conf) + self.check('---\n' + '## http://www.verylongurlurlurlurlurlurlurlurl.com\n' + 'key:\n' + ' value:\n', conf) + conf = ('line-length: {max: 20, allow-non-breakable-words: true}\n' 'trailing-spaces: disable') self.check('---\n' diff --git a/yamllint/rules/line_length.py b/yamllint/rules/line_length.py index 0431240..0289747 100644 --- a/yamllint/rules/line_length.py +++ b/yamllint/rules/line_length.py @@ -140,7 +140,11 @@ def check(conf, line): start += 1 if start != line.end: - if line.buffer[start] in ('#', '-'): + if line.buffer[start] in ('#'): + idx = line.buffer.find(' ', start, line.end) + if idx != -1: + start = idx + 1 + elif line.buffer[start] in ('-'): start += 2 if line.buffer.find(' ', start, line.end) == -1: