clint: add support for --stdin-filename

This commit is contained in:
Daniel Hahler 2018-10-05 16:16:09 +02:00
parent 2351b931dd
commit 1e7eb20c91

View File

@ -66,7 +66,7 @@ _USAGE = """
Syntax: clint.py [--verbose=#] [--output=vs7] [--filter=-x,+y,...]
[--counting=total|toplevel|detailed] [--root=subdir]
[--linelength=digits] [--record-errors=file]
[--suppress-errors=file]
[--suppress-errors=file] [--stdin-filename=filename]
<file> [file] ...
The style guidelines this tries to follow are those in
@ -168,6 +168,9 @@ Syntax: clint.py [--verbose=#] [--output=vs7] [--filter=-x,+y,...]
suppress-errors=file
Errors listed in the given file will not be reported.
stdin-filename=filename
Use specified filename when reading from stdin (file "-").
"""
# We categorize each error message we print. Here are the categories.
@ -3461,6 +3464,8 @@ def ProcessFile(filename, vlevel, extra_check_functions=[]):
if sys.version_info < (3, 0):
stdin = stdin.decode('utf8')
lines = stdin.split('\n')
if _cpplint_state.stdin_filename is not None:
filename = _cpplint_state.stdin_filename
else:
lines = codecs.open(
filename, 'r', 'utf8', 'replace').read().split('\n')
@ -3541,7 +3546,9 @@ def ParseArguments(args):
'linelength=',
'extensions=',
'record-errors=',
'suppress-errors='])
'suppress-errors=',
'stdin-filename=',
])
except getopt.GetoptError:
PrintUsage('Invalid arguments.')
@ -3551,6 +3558,7 @@ def ParseArguments(args):
counting_style = ''
record_errors_file = None
suppress_errors_file = None
stdin_filename = None
for (opt, val) in opts:
if opt == '--help':
@ -3587,6 +3595,8 @@ def ParseArguments(args):
record_errors_file = val
elif opt == '--suppress-errors':
suppress_errors_file = val
elif opt == '--stdin-filename':
stdin_filename = val
if not filenames:
PrintUsage('No files were specified.')
@ -3597,6 +3607,7 @@ def ParseArguments(args):
_SetCountingStyle(counting_style)
_SuppressErrorsFrom(suppress_errors_file)
_RecordErrorsTo(record_errors_file)
_cpplint_state.stdin_filename = stdin_filename
return filenames