Add NEWS entry as per RDM's suggestion (the bug was actually present
[python.git] / Doc / library / tabnanny.rst
blobb86971df33b3b9d3cd75eeb61c6ca7527be7f35b
1 :mod:`tabnanny` --- Detection of ambiguous indentation
2 ======================================================
4 .. module:: tabnanny
5    :synopsis: Tool for detecting white space related problems in Python source files in a
6               directory tree.
7 .. moduleauthor:: Tim Peters <tim_one@users.sourceforge.net>
8 .. sectionauthor:: Peter Funk <pf@artcom-gmbh.de>
10 .. rudimentary documentation based on module comments
12 For the time being this module is intended to be called as a script. However it
13 is possible to import it into an IDE and use the function :func:`check`
14 described below.
16 .. note::
18    The API provided by this module is likely to change in future releases; such
19    changes may not be backward compatible.
22 .. function:: check(file_or_dir)
24    If *file_or_dir* is a directory and not a symbolic link, then recursively
25    descend the directory tree named by *file_or_dir*, checking all :file:`.py`
26    files along the way.  If *file_or_dir* is an ordinary Python source file, it is
27    checked for whitespace related problems.  The diagnostic messages are written to
28    standard output using the print statement.
31 .. data:: verbose
33    Flag indicating whether to print verbose messages. This is incremented by the
34    ``-v`` option if called as a script.
37 .. data:: filename_only
39    Flag indicating whether to print only the filenames of files containing
40    whitespace related problems.  This is set to true by the ``-q`` option if called
41    as a script.
44 .. exception:: NannyNag
46    Raised by :func:`tokeneater` if detecting an ambiguous indent. Captured and
47    handled in :func:`check`.
50 .. function:: tokeneater(type, token, start, end, line)
52    This function is used by :func:`check` as a callback parameter to the function
53    :func:`tokenize.tokenize`.
55 .. XXX document errprint, format_witnesses, Whitespace, check_equal, indents,
56    reset_globals
59 .. seealso::
61    Module :mod:`tokenize`
62       Lexical scanner for Python source code.