Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c037d3e586 | ||
|
|
228c47ab77 | ||
|
|
413d7a8e4e | ||
|
|
c332c8e3d4 | ||
|
|
ea67ba3394 | ||
|
|
a7dbfb08b3 |
11
hooks.yaml
Normal file
11
hooks.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# For use with pre-commit.
|
||||||
|
# See usage instructions at http://pre-commit.com
|
||||||
|
|
||||||
|
- id: yamllint
|
||||||
|
name: yamllint
|
||||||
|
description: This hook runs yamllint.
|
||||||
|
entry: yamllint
|
||||||
|
language: python
|
||||||
|
files: \.(yaml|yml)$
|
||||||
@@ -632,7 +632,7 @@ class IndentationTestCase(RuleTestCase):
|
|||||||
' date: 1991\n'
|
' date: 1991\n'
|
||||||
'...\n', conf)
|
'...\n', conf)
|
||||||
|
|
||||||
def test_consistent(self):
|
def test_consistent_spaces(self):
|
||||||
conf = ('indentation: {spaces: consistent,\n'
|
conf = ('indentation: {spaces: consistent,\n'
|
||||||
' indent-sequences: whatever}\n'
|
' indent-sequences: whatever}\n'
|
||||||
'document-start: disable\n')
|
'document-start: disable\n')
|
||||||
@@ -713,6 +713,142 @@ class IndentationTestCase(RuleTestCase):
|
|||||||
'- b\n'
|
'- b\n'
|
||||||
'- c\n', conf)
|
'- c\n', conf)
|
||||||
|
|
||||||
|
def test_consistent_spaces_and_indent_sequences(self):
|
||||||
|
conf = 'indentation: {spaces: consistent, indent-sequences: true}'
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(3, 1))
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(7, 5))
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
'- a\n'
|
||||||
|
'- b\n'
|
||||||
|
'- c\n', conf, problem1=(7, 1))
|
||||||
|
|
||||||
|
conf = 'indentation: {spaces: consistent, indent-sequences: false}'
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(7, 5))
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(7, 3))
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
'- a\n'
|
||||||
|
'- b\n'
|
||||||
|
'- c\n', conf, problem1=(3, 3))
|
||||||
|
|
||||||
|
conf = ('indentation: {spaces: consistent,\n'
|
||||||
|
' indent-sequences: consistent}')
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(7, 5))
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
'- a\n'
|
||||||
|
'- b\n'
|
||||||
|
'- c\n', conf, problem1=(7, 1))
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
'- a\n'
|
||||||
|
'- b\n'
|
||||||
|
'- c\n', conf)
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(7, 5))
|
||||||
|
|
||||||
|
conf = 'indentation: {spaces: consistent, indent-sequences: whatever}'
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf)
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
'- a\n'
|
||||||
|
'- b\n'
|
||||||
|
'- c\n', conf)
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
'- 1\n'
|
||||||
|
'- 2\n'
|
||||||
|
'- 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
'- a\n'
|
||||||
|
'- b\n'
|
||||||
|
'- c\n', conf)
|
||||||
|
self.check('---\n'
|
||||||
|
'list one:\n'
|
||||||
|
' - 1\n'
|
||||||
|
' - 2\n'
|
||||||
|
' - 3\n'
|
||||||
|
'list two:\n'
|
||||||
|
' - a\n'
|
||||||
|
' - b\n'
|
||||||
|
' - c\n', conf, problem1=(7, 5))
|
||||||
|
|
||||||
def test_indent_sequences_whatever(self):
|
def test_indent_sequences_whatever(self):
|
||||||
conf = 'indentation: {spaces: 4, indent-sequences: whatever}'
|
conf = 'indentation: {spaces: 4, indent-sequences: whatever}'
|
||||||
self.check('---\n'
|
self.check('---\n'
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ indentation, etc."""
|
|||||||
|
|
||||||
|
|
||||||
APP_NAME = 'yamllint'
|
APP_NAME = 'yamllint'
|
||||||
APP_VERSION = '1.6.0'
|
APP_VERSION = '1.6.1'
|
||||||
APP_DESCRIPTION = __doc__
|
APP_DESCRIPTION = __doc__
|
||||||
|
|
||||||
__author__ = u'Adrien Vergé'
|
__author__ = u'Adrien Vergé'
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ class LintProblem(object):
|
|||||||
return '%d:%d: %s' % (self.line, self.column, self.message)
|
return '%d:%d: %s' % (self.line, self.column, self.message)
|
||||||
|
|
||||||
|
|
||||||
def get_costemic_problems(buffer, conf):
|
def get_cosmetic_problems(buffer, conf):
|
||||||
rules = conf.enabled_rules()
|
rules = conf.enabled_rules()
|
||||||
|
|
||||||
# Split token rules from line rules
|
# Split token rules from line rules
|
||||||
@@ -193,7 +193,7 @@ def _run(buffer, conf):
|
|||||||
# right line
|
# right line
|
||||||
syntax_error = get_syntax_error(buffer)
|
syntax_error = get_syntax_error(buffer)
|
||||||
|
|
||||||
for problem in get_costemic_problems(buffer, conf):
|
for problem in get_cosmetic_problems(buffer, conf):
|
||||||
# Insert the syntax error (if any) at the right place...
|
# Insert the syntax error (if any) at the right place...
|
||||||
if (syntax_error and syntax_error.line <= problem.line and
|
if (syntax_error and syntax_error.line <= problem.line and
|
||||||
syntax_error.column <= problem.column):
|
syntax_error.column <= problem.column):
|
||||||
|
|||||||
@@ -469,7 +469,19 @@ def _check(conf, token, prev, next, nextnext, context):
|
|||||||
if context['indent-sequences'] is False:
|
if context['indent-sequences'] is False:
|
||||||
indent = context['stack'][-1].indent
|
indent = context['stack'][-1].indent
|
||||||
elif context['indent-sequences'] is True:
|
elif context['indent-sequences'] is True:
|
||||||
indent = detect_indent(context['stack'][-1].indent, next)
|
if (context['spaces'] == 'consistent' and
|
||||||
|
next.start_mark.column -
|
||||||
|
context['stack'][-1].indent == 0):
|
||||||
|
# In this case, the block sequence item is not indented
|
||||||
|
# (while it should be), but we don't know yet the
|
||||||
|
# indentation it should have (because `spaces` is
|
||||||
|
# `consistent` and its value has not been computed yet
|
||||||
|
# -- this is probably the beginning of the document).
|
||||||
|
# So we choose an arbitrary value (2).
|
||||||
|
indent = 2
|
||||||
|
else:
|
||||||
|
indent = detect_indent(context['stack'][-1].indent,
|
||||||
|
next)
|
||||||
else: # 'whatever' or 'consistent'
|
else: # 'whatever' or 'consistent'
|
||||||
if next.start_mark.column == context['stack'][-1].indent:
|
if next.start_mark.column == context['stack'][-1].indent:
|
||||||
# key:
|
# key:
|
||||||
|
|||||||
Reference in New Issue
Block a user