xref: /third_party/python/Doc/library/tabnanny.rst (revision 7db96d56)
17db96d56Sopenharmony_ci:mod:`tabnanny` --- Detection of ambiguous indentation
27db96d56Sopenharmony_ci======================================================
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci.. module:: tabnanny
57db96d56Sopenharmony_ci   :synopsis: Tool for detecting white space related problems in Python
67db96d56Sopenharmony_ci              source files in a directory tree.
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci.. moduleauthor:: Tim Peters <tim_one@users.sourceforge.net>
97db96d56Sopenharmony_ci.. sectionauthor:: Peter Funk <pf@artcom-gmbh.de>
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ci.. rudimentary documentation based on module comments
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci**Source code:** :source:`Lib/tabnanny.py`
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ci--------------
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_ciFor the time being this module is intended to be called as a script. However it
187db96d56Sopenharmony_ciis possible to import it into an IDE and use the function :func:`check`
197db96d56Sopenharmony_cidescribed below.
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ci.. note::
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ci   The API provided by this module is likely to change in future releases; such
247db96d56Sopenharmony_ci   changes may not be backward compatible.
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ci.. function:: check(file_or_dir)
287db96d56Sopenharmony_ci
297db96d56Sopenharmony_ci   If *file_or_dir* is a directory and not a symbolic link, then recursively
307db96d56Sopenharmony_ci   descend the directory tree named by *file_or_dir*, checking all :file:`.py`
317db96d56Sopenharmony_ci   files along the way.  If *file_or_dir* is an ordinary Python source file, it
327db96d56Sopenharmony_ci   is checked for whitespace related problems.  The diagnostic messages are
337db96d56Sopenharmony_ci   written to standard output using the :func:`print` function.
347db96d56Sopenharmony_ci
357db96d56Sopenharmony_ci
367db96d56Sopenharmony_ci.. data:: verbose
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci   Flag indicating whether to print verbose messages. This is incremented by the
397db96d56Sopenharmony_ci   ``-v`` option if called as a script.
407db96d56Sopenharmony_ci
417db96d56Sopenharmony_ci
427db96d56Sopenharmony_ci.. data:: filename_only
437db96d56Sopenharmony_ci
447db96d56Sopenharmony_ci   Flag indicating whether to print only the filenames of files containing
457db96d56Sopenharmony_ci   whitespace related problems.  This is set to true by the ``-q`` option if called
467db96d56Sopenharmony_ci   as a script.
477db96d56Sopenharmony_ci
487db96d56Sopenharmony_ci
497db96d56Sopenharmony_ci.. exception:: NannyNag
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci   Raised by :func:`process_tokens` if detecting an ambiguous indent. Captured and
527db96d56Sopenharmony_ci   handled in :func:`check`.
537db96d56Sopenharmony_ci
547db96d56Sopenharmony_ci
557db96d56Sopenharmony_ci.. function:: process_tokens(tokens)
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_ci   This function is used by :func:`check` to process tokens generated by the
587db96d56Sopenharmony_ci   :mod:`tokenize` module.
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_ci.. XXX document errprint, format_witnesses, Whitespace, check_equal, indents,
617db96d56Sopenharmony_ci   reset_globals
627db96d56Sopenharmony_ci
637db96d56Sopenharmony_ci
647db96d56Sopenharmony_ci.. seealso::
657db96d56Sopenharmony_ci
667db96d56Sopenharmony_ci   Module :mod:`tokenize`
677db96d56Sopenharmony_ci      Lexical scanner for Python source code.
68