## wraps local cpplint to produce verbose output without code harness import cpplint import sys def main(): FILTERS=('cpplint --verbose=0 --linelength=100 --filter=-legal/copyright,-build/include_order,' '-build/c++11,-build/namespaces,-build/class,-build/include,-build/include_subdir,-readability/inheritance,' '-readability/function,-readability/casting,-readability/namespace,-readability/alt_tokens,' '-readability/braces,-readability/fn_size,-whitespace/comments,-whitespace/braces,-whitespace/empty_loop_body,' '-whitespace/indent,-whitespace/newline,-runtime/explicit,-runtime/arrays,-runtime/int,-runtime/references,' '-runtime/string,-runtime/operator,-runtime/printf').split(' ') result = False files = sys.argv[1:] for loopfile in files: newargs = FILTERS + [loopfile] sys.argv = newargs try: cpplint.main() except SystemExit as e: last_result = e.args[0] result = result or last_result if (last_result): write_code_lines(loopfile) sys.exit(result) def write_code_lines(filename): with open(filename, 'r') as f: linenum = 1 for line in f: if (not '// by md-split' in line): sys.stdout.write('%3d %s' % (linenum, line)) linenum += 1 if __name__ == '__main__': main()