Builtin Commands¶
Applications which subclass cmd2.cmd2.Cmd
inherit a number of commands
which may be useful to your users. Developers can
Remove Builtin Commands if they do not want
them to be part of the application.
edit¶
This command launches an editor program and instructs it to open the given file name. Here’s an example:
(Cmd) edit ~/.ssh/config
The program to be launched is determined by the value of the editor setting.
set¶
A list of all user-settable parameters, with brief comments, is viewable from within a running application:
(Cmd) set --long
allow_style: Terminal # Allow ANSI text style sequences in output (valid values: Terminal, Always, Never)
continuation_prompt: > # On 2nd+ line of input
debug: False # Show full error stack on error
echo: False # Echo command issued into output
editor: vim # Program used by ``edit``
feedback_to_output: False # include nonessentials in `|`, `>` results
locals_in_py: False # Allow access to your application in py via self
max_completion_items: 50 # Maximum number of CompletionItems to display during tab completion
prompt: (Cmd) # The prompt issued to solicit input
quiet: False # Don't print nonessential feedback
timing: False # Report execution times
Any of these user-settable parameters can be set while running your app with
the set
command like so:
(Cmd) set allow_style Never
shell¶
Execute a command as if at the operating system shell prompt:
(Cmd) shell pwd -P
/usr/local/bin
Remove Builtin Commands¶
Developers may not want to offer the commands builtin to cmd2.cmd2.Cmd
to users of their application. To remove a command you must delete the method
implementing that command from the cmd2.cmd2.Cmd
object at runtime.
For example, if you wanted to remove the shell
command from your application:
class NoShellApp(cmd2.Cmd):
"""A simple cmd2 application."""
delattr(cmd2.Cmd, 'do_shell')