0
0
mirror of https://github.com/python/cpython.git synced 2024-11-29 00:56:12 +01:00
cpython/Doc/lib/librlcompleter.tex
Fred Drake 3c62d9e656 Several small changes, mostly to the markup, to improve consistency and
internal hyperlinking.  Move some things around, also for consistency
with other modules ("See also" stuff tends to live at the \section level,
before sub-sections, etc.).
2000-07-06 04:51:04 +00:00

64 lines
2.1 KiB
TeX

\section{\module{rlcompleter} ---
Completion function for readline}
\declaremodule{standard}{rlcompleter}
\platform{Unix}
\sectionauthor{Moshe Zadka}{mzadka@geocities.com}
\modulesynopsis{Python identifier completion in the readline library.}
The \module{rlcompleter} module defines a completion function for
the \refmodule{readline} module by completing valid Python identifiers
and keywords.
This module is \UNIX-specific due to it's dependence on the
\refmodule{readline} module.
The \module{rlcompleter} module defines the \class{Completer} class.
Example:
\begin{verbatim}
>>> import rlcompleter
>>> import readline
>>> readline.parse_and_bind("tab: complete")
>>> readline. <TAB PRESSED>
readline.__doc__ readline.get_line_buffer readline.read_init_file
readline.__file__ readline.insert_text readline.set_completer
readline.__name__ readline.parse_and_bind
>>> readline.
\end{verbatim}
The \module{rlcompleter} module is designed for use with Python's
interactive mode. A user can add the following lines to his or her
initialization file (identified by the \envvar{PYTHONSTARTUP}
environment variable) to get automatic \kbd{Tab} completion:
\begin{verbatim}
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
readline.parse_and_bind("tab: complete")
\end{verbatim}
\subsection{Completer Objects \label{completer-objects}}
Completer objects have the following method:
\begin{methoddesc}[Completer]{complete}{text, state}
Return the \var{state}th completion for \var{text}.
If called for \var{text} that doesn't include a period character
(\character{.}), it will complete from names currently defined in
\refmodule[main]{__main__}, \refmodule[builtin]{__builtin__} and
keywords (as defined by the \refmodule{keyword} module).
If called for a dotted name, it will try to evaluate anything without
obvious side-effects (i.e., functions will not be evaluated, but it
can generate calls to \method{__getattr__()}) upto the last part, and
find matches for the rest via the \function{dir()} function.
\end{methoddesc}