"rlcompleter" --- Completion function for GNU readline
******************************************************

**Code source :** Lib/rlcompleter.py

======================================================================

The "rlcompleter" module defines a completion function suitable to be
passed to "set_completer()" in the "readline" module.

When this module is imported on a Unix platform with the "readline"
module available, an instance of the "Completer" class is
automatically created and its "complete()" method is set as the
readline completer. The method provides completion of valid Python
identifiers and keywords.

Exemple :

   >>> 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.

The "rlcompleter" module is designed for use with Python's interactive
mode.  Unless Python is run with the "-S" option, the module is
automatically imported and configured (see Readline configuration).

Sur les plate-formes sans "readline", la classe "Completer" définie
par ce module peut quand même être utilisée pour des fins
personnalisées.

class rlcompleter.Completer

   Les objets pour la complétion (*Completer objects* en anglais)
   disposent de la méthode suivante :

   complete(text, state)

      Return the next possible completion for *text*.

      When called by the "readline" module, this method is called
      successively with "state == 0, 1, 2, ..." until the method
      returns "None".

      Si *text* ne contient pas un caractère point ("'.'"), il puise
      dans les noms actuellement définis dans "__main__", "builtins"
      ainsi que les mots-clés (ainsi que définis par le module
      "keyword")

      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 "__getattr__()") up to the last
      part, and find matches for the rest via the "dir()" function.
      Any exception raised during the evaluation of the expression is
      caught, silenced and "None" is returned.
