2007-08-15 11:28:22 -03:00
|
|
|
:mod:`rlcompleter` --- Completion function for GNU readline
|
|
|
|
===========================================================
|
|
|
|
|
|
|
|
.. module:: rlcompleter
|
|
|
|
:synopsis: Python identifier completion, suitable for the GNU readline library.
|
2016-06-11 16:02:54 -03:00
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
|
|
|
|
|
2011-01-27 16:38:46 -04:00
|
|
|
**Source code:** :source:`Lib/rlcompleter.py`
|
|
|
|
|
|
|
|
--------------
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
The :mod:`!rlcompleter` module defines a completion function suitable to be
|
|
|
|
passed to :func:`~readline.set_completer` in the :mod:`readline` module.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
When this module is imported on a Unix platform with the :mod:`readline` module
|
|
|
|
available, an instance of the :class:`Completer` class is automatically created
|
2023-12-15 04:57:23 -04:00
|
|
|
and its :meth:`~Completer.complete` method is set as the
|
|
|
|
:ref:`readline completer <readline-completion>`. The method provides
|
|
|
|
completion of valid Python :ref:`identifiers and keywords <identifiers>`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Example::
|
|
|
|
|
|
|
|
>>> import rlcompleter
|
|
|
|
>>> import readline
|
|
|
|
>>> readline.parse_and_bind("tab: complete")
|
|
|
|
>>> readline. <TAB PRESSED>
|
Merged revisions 64475,64544-64545,64550,64557-64558,64565,64570,64577,64582-64583,64585,64590,64592-64593,64625,64630,64638,64647,64655-64656,64663-64664 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r64475 | raymond.hettinger | 2008-06-22 22:29:28 -0500 (Sun, 22 Jun 2008) | 1 line
Issue 3161: Missing import and test.
........
r64544 | georg.brandl | 2008-06-26 16:12:55 -0500 (Thu, 26 Jun 2008) | 2 lines
Use newer versions of externals.
........
r64545 | benjamin.peterson | 2008-06-26 16:23:30 -0500 (Thu, 26 Jun 2008) | 1 line
add a htmlview directive
........
r64550 | brett.cannon | 2008-06-26 19:32:16 -0500 (Thu, 26 Jun 2008) | 2 lines
Ignore .pyc and .pyo files.
........
r64557 | mark.dickinson | 2008-06-27 05:11:52 -0500 (Fri, 27 Jun 2008) | 3 lines
Remove trailing 'L's from numerator and denominator in the
repr() of a Fraction instance.
........
r64558 | mark.dickinson | 2008-06-27 06:03:21 -0500 (Fri, 27 Jun 2008) | 2 lines
Add Jean Brouwers for his work on math.sum
........
r64565 | raymond.hettinger | 2008-06-27 16:34:24 -0500 (Fri, 27 Jun 2008) | 1 line
Fix whitespace in example code.
........
r64570 | hyeshik.chang | 2008-06-27 20:04:31 -0500 (Fri, 27 Jun 2008) | 8 lines
Give information for compililation of _multiprocessing.SemLock on FreeBSD:
FreeBSD's P1003.1b semaphore support is highly experimental and
it's disabled by default. Even if a user loads the experimental
kernel module manually, _multiprocessing doesn't work correctly due
to several known incompatibilities around sem_unlink and sem_getvalue,
yet.
........
r64577 | raymond.hettinger | 2008-06-28 17:16:53 -0500 (Sat, 28 Jun 2008) | 1 line
Issue 3230: Do not the set specific size macro.
........
r64582 | benjamin.peterson | 2008-06-28 18:06:05 -0500 (Sat, 28 Jun 2008) | 2 lines
convert test_audioop to unittest. Thanks to Giampaolo Rodola.
........
r64583 | benjamin.peterson | 2008-06-28 18:06:49 -0500 (Sat, 28 Jun 2008) | 1 line
rewrap
........
r64585 | benjamin.peterson | 2008-06-28 18:35:31 -0500 (Sat, 28 Jun 2008) | 1 line
fix typo
........
r64590 | benjamin.peterson | 2008-06-29 08:43:07 -0500 (Sun, 29 Jun 2008) | 1 line
reinstate the ending backtick. thanks Nick :)
........
r64592 | vinay.sajip | 2008-06-29 16:25:28 -0500 (Sun, 29 Jun 2008) | 2 lines
Removed out-of-date comment in _install_handlers and
used issubclass in place of equality comparison of classes.
........
r64593 | vinay.sajip | 2008-06-29 16:27:15 -0500 (Sun, 29 Jun 2008) | 1 line
Updated to reflect change in logging.config to remove out-of-date comment in _install_handlers and the use of issubclass in place of equality comparison of classes.
........
r64625 | georg.brandl | 2008-07-01 14:59:00 -0500 (Tue, 01 Jul 2008) | 2 lines
Add a link to PEP 324.
........
r64630 | georg.brandl | 2008-07-01 15:18:10 -0500 (Tue, 01 Jul 2008) | 2 lines
#3216: fix Execute's parameter description.
........
r64638 | georg.brandl | 2008-07-01 15:50:02 -0500 (Tue, 01 Jul 2008) | 2 lines
#1410739: add a footnote about "is" and "unusual" behavior.
........
r64647 | benjamin.peterson | 2008-07-01 18:33:06 -0500 (Tue, 01 Jul 2008) | 1 line
add ABC to the glossary
........
r64655 | mark.dickinson | 2008-07-02 04:37:01 -0500 (Wed, 02 Jul 2008) | 7 lines
Replace occurrences of '\d' with '[0-9]' in Decimal regex, to make sure
that the behaviour of Decimal doesn't change if/when re.UNICODE becomes
assumed in Python 3.0.
Also add a check that alternative Unicode digits (e.g. u'\N{FULLWIDTH
DIGIT ONE}') are *not* accepted in a numeric string.
........
r64656 | nick.coghlan | 2008-07-02 08:09:19 -0500 (Wed, 02 Jul 2008) | 1 line
Issue 3190: pydoc now hides module __package__ attributes
........
r64663 | jesse.noller | 2008-07-02 11:44:09 -0500 (Wed, 02 Jul 2008) | 1 line
Reenable the manager tests with Amaury's threading fix
........
r64664 | facundo.batista | 2008-07-02 11:52:55 -0500 (Wed, 02 Jul 2008) | 4 lines
Issue #449227: Now with the rlcompleter module, callable objects are
added a '(' when completed.
........
2008-07-02 17:22:54 -03:00
|
|
|
readline.__doc__ readline.get_line_buffer( readline.read_init_file(
|
|
|
|
readline.__file__ readline.insert_text( readline.set_completer(
|
|
|
|
readline.__name__ readline.parse_and_bind(
|
2007-08-15 11:28:22 -03:00
|
|
|
>>> readline.
|
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
The :mod:`!rlcompleter` module is designed for use with Python's
|
2013-05-04 15:08:35 -03:00
|
|
|
:ref:`interactive mode <tut-interactive>`. Unless Python is run with the
|
|
|
|
:option:`-S` option, the module is automatically imported and configured
|
|
|
|
(see :ref:`rlcompleter-config`).
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
On platforms without :mod:`readline`, the :class:`Completer` class defined by
|
|
|
|
this module can still be used for custom purposes.
|
|
|
|
|
|
|
|
|
|
|
|
.. _completer-objects:
|
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
.. class:: Completer
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
Completer objects have the following method:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
.. method:: Completer.complete(text, state)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
Return the next possible completion for *text*.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
When called by the :mod:`readline` module, this method is called
|
|
|
|
successively with ``state == 0, 1, 2, ...`` until the method returns
|
|
|
|
``None``.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
If called for *text* that doesn't include a period character (``'.'``), it will
|
|
|
|
complete from names currently defined in :mod:`__main__`, :mod:`builtins` and
|
|
|
|
keywords (as defined by the :mod:`keyword` module).
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2023-12-15 04:57:23 -04:00
|
|
|
If called for a dotted name, it will try to evaluate anything without obvious
|
|
|
|
side-effects (functions will not be evaluated, but it can generate calls to
|
|
|
|
:meth:`~object.__getattr__`) up to the last part, and find matches for the
|
|
|
|
rest via the :func:`dir` function. Any exception raised during the
|
|
|
|
evaluation of the expression is caught, silenced and :const:`None` is
|
|
|
|
returned.
|