diff --git a/yamllint/rules/quoted_strings.py b/yamllint/rules/quoted_strings.py index aaa635d..afe1516 100644 --- a/yamllint/rules/quoted_strings.py +++ b/yamllint/rules/quoted_strings.py @@ -72,9 +72,11 @@ from yamllint.linter import LintProblem ID = 'quoted-strings' TYPE = 'token' CONF = {'quote-type': ('any', 'single', 'double'), - 'required': (True, False, 'only-when-needed')} + 'required': (True, False, 'only-when-needed'), + 'quote-percent': (True, False)} DEFAULT = {'quote-type': 'any', - 'required': True} + 'required': True, + 'quote-percent': False} DEFAULT_SCALAR_TAG = u'tag:yaml.org,2002:str' START_TOKENS = {'#', '*', '!', '?', '@', '`', '&', @@ -129,6 +131,9 @@ def check(conf, token, prev, next, nextnext, context): elif not token.plain: + if conf['quote-percent']: + START_TOKENS.add('%') + # Quotes are disallowed when not needed if (tag == DEFAULT_SCALAR_TAG and token.value and token.value[0] not in START_TOKENS):