diff options
author | Raymond Hettinger <python@rcn.com> | 2012-07-09 08:17:22 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2012-07-09 08:17:22 (GMT) |
commit | 848245a0782b4f2b8142f1fa25cca08123e7f247 (patch) | |
tree | 5c9c43a3ac814efde956dae1599758638e01a813 /Tools | |
parent | cc4cffb8fad2341fcdf49d8a47cb7adcf71aa38b (diff) | |
download | cpython-848245a0782b4f2b8142f1fa25cca08123e7f247.zip cpython-848245a0782b4f2b8142f1fa25cca08123e7f247.tar.gz cpython-848245a0782b4f2b8142f1fa25cca08123e7f247.tar.bz2 |
Add verbose option for diagnostics
Diffstat (limited to 'Tools')
-rwxr-xr-x | Tools/scripts/highlight.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Tools/scripts/highlight.py b/Tools/scripts/highlight.py index ef010e8..ebf96b7 100755 --- a/Tools/scripts/highlight.py +++ b/Tools/scripts/highlight.py @@ -10,7 +10,7 @@ import keyword, tokenize, cgi, functools def is_builtin(s): 'Return True if s is the name of a builtin' - return s in vars(__builtins__) + return hasattr(__builtins__, s) def combine_range(lines, start, end): 'Join content from a range of lines between start and end' @@ -161,6 +161,8 @@ if __name__ == '__main__': help = 'build a complete html webpage') parser.add_argument('-s', '--section', action = 'store_true', help = 'show an HTML section rather than a complete webpage') + parser.add_argument('-v', '--verbose', action = 'store_true', + help = 'display categorized text to stderr') args = parser.parse_args() if args.section and (args.browser or args.complete): @@ -172,6 +174,12 @@ if __name__ == '__main__': source = f.read() classified_text = analyze_python(source) + if args.verbose: + classified_text = list(classified_text) + for line_upto_token, kind, line_thru_token in classified_text: + sys.stderr.write('%15s: %r\n' % ('leadin', line_upto_token)) + sys.stderr.write('%15s: %r\n\n' % (kind, line_thru_token)) + if args.complete or args.browser: encoded = build_html_page(classified_text, title=sourcefile) elif args.section: |