Module: utils.PyColorize — IPython 5.3.0 documentation

# Module: `utils.PyColorize`

Class and program to colorize python source code for ANSI terminals.

Based on an HTML code highlighter by Jurgen Hermann found at: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52298

Modifications by Fernando Perez (fperez@colorado.edu).

Information on the original HTML highlighter follows:

MoinMoin - Python Source Parser

Title: Colorize Python source using the built-in tokenizer

Submitter: Jurgen Hermann Last Updated:2001/04/06

Version no:1.2

Description:

This code is part of MoinMoin (http://moin.sourceforge.net/) and converts Python source code to HTML markup, rendering comments, keywords, operators, numeric and string literals in different colors.

It shows how to use the built-in keyword, token and tokenize modules to scan Python source code and re-emit it with no changes to its original formatting (which is the hard part).

## 1 Class

class `IPython.utils.PyColorize.` `Parser`(color_table=None, out=<open file '<stdout>', mode 'w'>, parent=None, style=None)

  Bases: `IPython.utils.colorable.Colorable`

  Format colored Python source.

  `__init__`(color_table=None, out=<open file '<stdout>', mode 'w'>, parent=None, style=None)

    Create a parser with a specified color table and output channel.

    Call format() to process code.

  `format2`(raw, out=None, scheme=u'')

    Parse and send the colored source.

    If out and scheme are not specified, the defaults (given to constructor) are used.

    out should be a file-type object. Optionally, out can be given as the string ‘str’ and the parser will automatically return the output in a string.

## 1 Function

`IPython.utils.PyColorize.` `main`(argv=None)

  Run as a command-line script: colorize a python file or stdin using ANSI color escapes and print to stdout.

  Inputs:

  > - argv(None): a list of strings like sys.argv[1:] giving the command-line arguments. If None, use sys.argv[1:].