single: ! (exclamation); in a command interpreter
An interpreter instance will recognize a command name ``foo`` if and only if it
- has a method :meth:`do_foo`. As a special case, a line beginning with the
+ has a method :meth:`!do_foo`. As a special case, a line beginning with the
character ``'?'`` is dispatched to the method :meth:`do_help`. As another
special case, a line beginning with the character ``'!'`` is dispatched to the
- method :meth:`do_shell` (if such a method is defined).
+ method :meth:`!do_shell` (if such a method is defined).
This method will return when the :meth:`postcmd` method returns a true value.
The *stop* argument to :meth:`postcmd` is the return value from the command's
corresponding :meth:`!do_\*` method.
If completion is enabled, completing commands will be done automatically, and
- completing of commands args is done by calling :meth:`complete_foo` with
+ completing of commands args is done by calling :meth:`!complete_foo` with
arguments *text*, *line*, *begidx*, and *endidx*. *text* is the string prefix
we are attempting to match: all returned matches must begin with it. *line* is
the current input line with leading whitespace removed, *begidx* and *endidx*
are the beginning and ending indexes of the prefix text, which could be used to
provide different completion depending upon which position the argument is in.
- All subclasses of :class:`Cmd` inherit a predefined :meth:`do_help`. This
+
+.. method:: Cmd.do_help(arg)
+
+ All subclasses of :class:`Cmd` inherit a predefined :meth:`!do_help`. This
method, called with an argument ``'bar'``, invokes the corresponding method
- :meth:`help_bar`, and if that is not present, prints the docstring of
- :meth:`do_bar`, if available. With no argument, :meth:`do_help` lists all
+ :meth:`!help_bar`, and if that is not present, prints the docstring of
+ :meth:`!do_bar`, if available. With no argument, :meth:`!do_help` lists all
available help topics (that is, all commands with corresponding
:meth:`!help_\*` methods or commands that have docstrings), and also lists any
undocumented commands.
.. attribute:: Cmd.use_rawinput
A flag, defaulting to true. If true, :meth:`cmdloop` uses :func:`input` to
- display a prompt and read the next command; if false, :meth:`sys.stdout.write`
- and :meth:`sys.stdin.readline` are used. (This means that by importing
+ display a prompt and read the next command; if false, :data:`sys.stdout.write() <sys.stdout>`
+ and :data:`sys.stdin.readline() <sys.stdin>` are used. (This means that by importing
:mod:`readline`, on systems that support it, the interpreter will automatically
support :program:`Emacs`\ -like line editing and command-history keystrokes.)
the commands in the :mod:`turtle` module.
Basic turtle commands such as :meth:`~turtle.forward` are added to a
-:class:`Cmd` subclass with method named :meth:`do_forward`. The argument is
+:class:`Cmd` subclass with method named :meth:`!do_forward`. The argument is
converted to a number and dispatched to the turtle module. The docstring is
used in the help utility provided by the shell.
The example also includes a basic record and playback facility implemented with
the :meth:`~Cmd.precmd` method which is responsible for converting the input to
-lowercase and writing the commands to a file. The :meth:`do_playback` method
-reads the file and adds the recorded commands to the :attr:`cmdqueue` for
+lowercase and writing the commands to a file. The :meth:`!do_playback` method
+reads the file and adds the recorded commands to the :attr:`~Cmd.cmdqueue` for
immediate playback::
import cmd, sys