# end of class/interface/method declaration # BUG: this breaks decorators which have curly braces inside them, like # @Target({ElementType.METHOD, ElementType.TYPE}) - only @Target( is shown if (ttype is token.Operator) and (value == '{') and def_started: def_started = False yield token.Text, "\n" if def_started: yield ttype, value if __name__ == "__main__": import os from pygments import highlight from pygments.lexers import JavaLexer from pygments.formatters import NullFormatter lex = JavaLexer() lex.add_filter(JavaAPIFilter()) for (path, dirs, files) in os.walk('~/repos/git/junit:junit/src/main/java/org/junit'): for fname in files: f = os.path.join(path, fname) if f.endswith("src/main/java/org/junit/Ignore.java"): code = open(f, 'r').read() print "---------- start %s ----------" % f print highlight(code, lex, NullFormatter()) print "---------- end %s ----------" % f