summaryrefslogtreecommitdiff
path: root/doxygen/man/man3
diff options
context:
space:
mode:
Diffstat (limited to 'doxygen/man/man3')
-rw-r--r--doxygen/man/man3/_Users_amrogers_Developer_Projects_.315
-rw-r--r--doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_.331
-rw-r--r--doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_.322
-rw-r--r--doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_pycon2010_.345
-rw-r--r--doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_example_.315
-rw-r--r--doxygen/man/man3/cmd2.3467
-rw-r--r--doxygen/man/man3/cmd2.py.3123
-rw-r--r--doxygen/man/man3/cmd2_Borg.356
-rw-r--r--doxygen/man/man3/cmd2_Cmd.32098
-rw-r--r--doxygen/man/man3/cmd2_Cmd2TestCase.3239
-rw-r--r--doxygen/man/man3/cmd2_EmbeddedConsoleExit.315
-rw-r--r--doxygen/man/man3/cmd2_EmptyStatement.315
-rw-r--r--doxygen/man/man3/cmd2_History.3228
-rw-r--r--doxygen/man/man3/cmd2_HistoryItem.384
-rw-r--r--doxygen/man/man3/cmd2_NotSettableError.315
-rw-r--r--doxygen/man/man3/cmd2_OptionParser.382
-rw-r--r--doxygen/man/man3/cmd2_OutputTrap.3114
-rw-r--r--doxygen/man/man3/cmd2_ParsedString.359
-rw-r--r--doxygen/man/man3/cmd2_PasteBufferError.356
-rw-r--r--doxygen/man/man3/cmd2_Statekeeper.392
-rw-r--r--doxygen/man/man3/cmd2_StubbornDict.3145
-rw-r--r--doxygen/man/man3/conf.3114
-rw-r--r--doxygen/man/man3/conf.py.367
-rw-r--r--doxygen/man/man3/example.337
-rw-r--r--doxygen/man/man3/example.py.332
-rw-r--r--doxygen/man/man3/example_CmdLineApp.395
-rw-r--r--doxygen/man/man3/fileutil.323
-rw-r--r--doxygen/man/man3/fileutil.py.325
-rw-r--r--doxygen/man/man3/graph.390
-rw-r--r--doxygen/man/man3/graph.py.331
-rw-r--r--doxygen/man/man3/ignoreBug.329
-rw-r--r--doxygen/man/man3/ignoreBug.py.328
-rw-r--r--doxygen/man/man3/pirate.330
-rw-r--r--doxygen/man/man3/pirate.py.332
-rw-r--r--doxygen/man/man3/pirate2.330
-rw-r--r--doxygen/man/man3/pirate2.py.332
-rw-r--r--doxygen/man/man3/pirate2_Pirate.372
-rw-r--r--doxygen/man/man3/pirate3.330
-rw-r--r--doxygen/man/man3/pirate3.py.332
-rw-r--r--doxygen/man/man3/pirate3_Pirate.3115
-rw-r--r--doxygen/man/man3/pirate4.330
-rw-r--r--doxygen/man/man3/pirate4.py.332
-rw-r--r--doxygen/man/man3/pirate4_Pirate.3127
-rw-r--r--doxygen/man/man3/pirate5.330
-rw-r--r--doxygen/man/man3/pirate5.py.332
-rw-r--r--doxygen/man/man3/pirate5_Pirate.3145
-rw-r--r--doxygen/man/man3/pirate6.330
-rw-r--r--doxygen/man/man3/pirate6.py.332
-rw-r--r--doxygen/man/man3/pirate6_Pirate.3170
-rw-r--r--doxygen/man/man3/pirate7.330
-rw-r--r--doxygen/man/man3/pirate7.py.332
-rw-r--r--doxygen/man/man3/pirate7_Pirate.3223
-rw-r--r--doxygen/man/man3/pirate8.330
-rw-r--r--doxygen/man/man3/pirate8.py.332
-rw-r--r--doxygen/man/man3/pirate8_Pirate.3253
-rw-r--r--doxygen/man/man3/pirate_Pirate.317
-rw-r--r--doxygen/man/man3/schematic.362
-rw-r--r--doxygen/man/man3/schematic.py.332
-rw-r--r--doxygen/man/man3/setup.3154
-rw-r--r--doxygen/man/man3/setup.py.368
60 files changed, 6521 insertions, 0 deletions
diff --git a/doxygen/man/man3/_Users_amrogers_Developer_Projects_.3 b/doxygen/man/man3/_Users_amrogers_Developer_Projects_.3
new file mode 100644
index 0000000..43d18f1
--- /dev/null
+++ b/doxygen/man/man3/_Users_amrogers_Developer_Projects_.3
@@ -0,0 +1,15 @@
+.TH "/Users/amrogers/Developer/Projects/ Directory Reference" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/ Directory Reference \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Directories"
+
+.in +1c
+.ti -1c
+.RI "directory \fBcmd2\fP"
+.br
+.in -1c
diff --git a/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_.3 b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_.3
new file mode 100644
index 0000000..05c1bc8
--- /dev/null
+++ b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_.3
@@ -0,0 +1,31 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/ Directory Reference" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/ Directory Reference \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Directories"
+
+.in +1c
+.ti -1c
+.RI "directory \fBdocs\fP"
+.br
+.ti -1c
+.RI "directory \fBexample\fP"
+.br
+.in -1c
+.SS "Files"
+
+.in +1c
+.ti -1c
+.RI "file \fBcmd2\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBignoreBug\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBsetup\&.py\fP"
+.br
+.in -1c
diff --git a/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_.3 b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_.3
new file mode 100644
index 0000000..014ba43
--- /dev/null
+++ b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_.3
@@ -0,0 +1,22 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/ Directory Reference" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/ Directory Reference \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Directories"
+
+.in +1c
+.ti -1c
+.RI "directory \fBpycon2010\fP"
+.br
+.in -1c
+.SS "Files"
+
+.in +1c
+.ti -1c
+.RI "file \fBconf\&.py\fP"
+.br
+.in -1c
diff --git a/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_pycon2010_.3 b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_pycon2010_.3
new file mode 100644
index 0000000..6da21a7
--- /dev/null
+++ b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_docs_pycon2010_.3
@@ -0,0 +1,45 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/ Directory Reference" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/ Directory Reference \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Files"
+
+.in +1c
+.ti -1c
+.RI "file \fBfileutil\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBgraph\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate2\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate3\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate4\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate5\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate6\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate7\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBpirate8\&.py\fP"
+.br
+.ti -1c
+.RI "file \fBschematic\&.py\fP"
+.br
+.in -1c
diff --git a/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_example_.3 b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_example_.3
new file mode 100644
index 0000000..2da496e
--- /dev/null
+++ b/doxygen/man/man3/_Users_amrogers_Developer_Projects_cmd2_example_.3
@@ -0,0 +1,15 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/example/ Directory Reference" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/example/ Directory Reference \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Files"
+
+.in +1c
+.ti -1c
+.RI "file \fBexample\&.py\fP"
+.br
+.in -1c
diff --git a/doxygen/man/man3/cmd2.3 b/doxygen/man/man3/cmd2.3
new file mode 100644
index 0000000..099fd47
--- /dev/null
+++ b/doxygen/man/man3/cmd2.3
@@ -0,0 +1,467 @@
+.TH "cmd2" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBBorg\fP"
+.br
+.ti -1c
+.RI "class \fBCmd\fP"
+.br
+.ti -1c
+.RI "class \fBCmd2TestCase\fP"
+.br
+.ti -1c
+.RI "class \fBEmbeddedConsoleExit\fP"
+.br
+.ti -1c
+.RI "class \fBEmptyStatement\fP"
+.br
+.ti -1c
+.RI "class \fBHistory\fP"
+.br
+.ti -1c
+.RI "class \fBHistoryItem\fP"
+.br
+.ti -1c
+.RI "class \fBNotSettableError\fP"
+.br
+.ti -1c
+.RI "class \fBOptionParser\fP"
+.br
+.ti -1c
+.RI "class \fBOutputTrap\fP"
+.br
+.ti -1c
+.RI "class \fBParsedString\fP"
+.br
+.ti -1c
+.RI "class \fBPasteBufferError\fP"
+.br
+.ti -1c
+.RI "class \fBStatekeeper\fP"
+.br
+.ti -1c
+.RI "class \fBStubbornDict\fP"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB_attr_get_\fP"
+.br
+.ti -1c
+.RI "def \fBcast\fP"
+.br
+.ti -1c
+.RI "def \fBget_paste_buffer\fP"
+.br
+.ti -1c
+.RI "def \fBget_paste_buffer\fP"
+.br
+.ti -1c
+.RI "def \fBljust\fP"
+.br
+.ti -1c
+.RI "def \fBoptions\fP"
+.br
+.ti -1c
+.RI "def \fBremaining_args\fP"
+.br
+.ti -1c
+.RI "def \fBreplace_with_file_contents\fP"
+.br
+.ti -1c
+.RI "def \fBstubbornDict\fP"
+.br
+.ti -1c
+.RI "def \fBwrite_to_paste_buffer\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "string \fB__version__\fP = '0\&.6\&.4'"
+.br
+.ti -1c
+.RI "\fBcan_clip\fP = False"
+.br
+.ti -1c
+.RI "list \fBoptions_defined\fP = []"
+.br
+.ti -1c
+.RI "string \fBpastebufferr\fP"
+.br
+.ti -1c
+.RI "string \fBteststring\fP = 'Testing for presence of xclip\&.'"
+.br
+.ti -1c
+.RI "\fBwrite_to_paste_buffer\fP = get_paste_buffer"
+.br
+.ti -1c
+.RI "tuple \fBxclipproc\fP = subprocess\&.Popen('xclip -sel clip', shell=True, stdout=subprocess\&.PIPE, stdin=subprocess\&.PIPE)"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+Variant on standard library's cmd with extra features.
+
+To use, simply import cmd2.Cmd instead of cmd.Cmd; use precisely as though you
+were using the standard library's cmd, while enjoying the extra features.
+
+Searchable command history (commands: "hi", "li", "run")
+Load commands from file, save to file, edit commands in file
+Multi-line commands
+Case-insensitive commands
+Special-character shortcut commands (beyond cmd's "@" and "!")
+Settable environment parameters
+Optional _onchange_{paramname} called when environment parameter changes
+Parsing commands with `optparse` options (flags)
+Redirection to file with >, >>; input from file with <
+Easy transcript-based testing of applications (see example/example.py)
+Bash-style ``select`` available
+
+Note that redirection with > and | will only work if `self.stdout.write()`
+is used in place of `print`. The standard library's `cmd` module is
+written to use `self.stdout.write()`,
+
+- Catherine Devlin, Jan 03 2008 - catherinedevlin.blogspot.com
+
+mercurial repository at http://www.assembla.com/wiki/show/python-cmd2
+.fi
+.PP
+
+.SH "Function Documentation"
+.PP
+.SS "def cmd2::_attr_get_ (obj, attr)\fC [private]\fP".PP
+.nf
+Returns an attribute's value, or None (no error) if undefined.
+ Analagous to .get() for dictionaries. Useful when checking for
+ value of options that may not have been defined on a given
+ method..fi
+.PP
+
+.PP
+Definition at line 98 of file cmd2\&.py'\&.
+.PP
+.nf
+98
+99 def _attr_get_(obj, attr):
+100 '''Returns an attribute's value, or None (no error) if undefined\&.
+101 Analagous to \&.get() for dictionaries\&. Useful when checking for
+102 value of options that may not have been defined on a given
+103 method\&.'''
+104 try:
+105 return getattr(obj, attr)
+106 except AttributeError:
+107 return None
+108
+109 optparse\&.Values\&.get = _attr_get_
+
+.fi
+.SS "def cmd2::cast (current, new)".PP
+.nf
+Tries to force a new value into the same type as the current..fi
+.PP
+
+.PP
+Definition at line 1412 of file cmd2\&.py'\&.
+.PP
+Referenced by cmd2::Cmd::do_set()\&.
+.PP
+.nf
+1412
+1413 def cast(current, new):
+1414 '''Tries to force a new value into the same type as the current\&.'''
+1415 typ = type(current)
+1416 if typ == bool:
+1417 try:
+1418 return bool(int(new))
+1419 except (ValueError, TypeError):
+1420 pass
+1421 try:
+1422 new = new\&.lower()
+1423 except:
+1424 pass
+1425 if (new=='on') or (new[0] in ('y','t')):
+1426 return True
+1427 if (new=='off') or (new[0] in ('n','f')):
+1428 return False
+1429 else:
+1430 try:
+1431 return typ(new)
+1432 except:
+1433 pass
+1434 print ('Problem setting parameter (now %s) to %s; incorrect type?' % (current, new))
+1435 return current
+
+.fi
+.SS "def cmd2::get_paste_buffer ()"
+.PP
+Definition at line 184 of file cmd2\&.py'\&.
+.PP
+Referenced by get_paste_buffer(), cmd2::Cmd::redirect_output(), and replace_with_file_contents()\&.
+.PP
+.nf
+184
+185 def get_paste_buffer():
+186 win32clipboard\&.OpenClipboard(0)
+187 try:
+188 result = win32clipboard\&.GetClipboardData()
+189 except TypeError:
+190 result = '' #non-text
+191 win32clipboard\&.CloseClipboard()
+ return result
+.fi
+.SS "def cmd2::get_paste_buffer (args)"
+.PP
+Definition at line 198 of file cmd2\&.py'\&.
+.PP
+References get_paste_buffer()\&.
+.PP
+.nf
+198
+199 def get_paste_buffer(*args):
+ raise OSError, pastebufferr % ('pywin32', 'Download from http://sourceforge\&.net/projects/pywin32/')
+.fi
+.SS "def cmd2::ljust (x, width, fillchar = \fC' '\fP)"
+.PP
+Definition at line 352 of file cmd2\&.py'\&.
+.PP
+Referenced by cmd2::Cmd::do_show()\&.
+.PP
+.nf
+352
+353 def ljust(x, width, fillchar=' '):
+354 'analogous to str\&.ljust, but works for lists'
+355 if hasattr(x, 'ljust'):
+356 return x\&.ljust(width, fillchar)
+357 else:
+358 if len(x) < width:
+359 x = (x + [fillchar] * width)[:width]
+360 return x
+
+.fi
+.SS "def cmd2::options (option_list, arg_desc = \fC'arg'\fP)".PP
+.nf
+Used as a decorator and passed a list of optparse-style options,
+ alters a cmd2 method to populate its ``opts`` argument from its
+ raw text argument.
+
+ Example: transform
+ def do_something(self, arg):
+
+ into
+ @options([make_option('-q', '--quick', action="store_true",
+ help="Makes things fast")],
+ "source dest")
+ def do_something(self, arg, opts):
+ if opts.quick:
+ self.fast_button = True
+ .fi
+.PP
+
+.PP
+Definition at line 112 of file cmd2\&.py'\&.
+.PP
+References remaining_args()\&.
+.PP
+Referenced by cmd2::Cmd::do_py(), pirate8::Pirate::do_sing(), and cmd2::Cmd::select()\&.
+.PP
+.nf
+112
+113 def options(option_list, arg_desc='arg'):
+114 '''Used as a decorator and passed a list of optparse-style options,
+115 alters a cmd2 method to populate its ``opts`` argument from its
+116 raw text argument\&.
+117
+118 Example: transform
+119 def do_something(self, arg):
+120
+121 into
+122 @options([make_option('-q', '--quick', action='store_true',
+123 help='Makes things fast')],
+124 'source dest')
+125 def do_something(self, arg, opts):
+126 if opts\&.quick:
+127 self\&.fast_button = True
+128 '''
+129 if not isinstance(option_list, list):
+130 option_list = [option_list]
+131 for opt in option_list:
+132 options_defined\&.append(pyparsing\&.Literal(opt\&.get_opt_string()))
+133 def option_setup(func):
+134 optionParser = OptionParser()
+135 for opt in option_list:
+136 optionParser\&.add_option(opt)
+137 optionParser\&.set_usage('%s [options] %s' % (func\&.__name__[3:], arg_desc))
+138 optionParser\&._func = func
+139 def new_func(instance, arg):
+140 try:
+141 opts, newArgList = optionParser\&.parse_args(arg\&.split())
+142 # Must find the remaining args in the original argument list, but
+143 # mustn't include the command itself
+144 #if hasattr(arg, 'parsed') and newArgList[0] == arg\&.parsed\&.command:
+145 # newArgList = newArgList[1:]
+146 newArgs = remaining_args(arg, newArgList)
+147 if isinstance(arg, ParsedString):
+148 arg = arg\&.with_args_replaced(newArgs)
+149 else:
+150 arg = newArgs
+151 except optparse\&.OptParseError, e:
+152 print (e)
+153 optionParser\&.print_help()
+154 return
+155 if hasattr(opts, '_exit'):
+156 return None
+157 result = func(instance, arg, opts)
+158 return result
+159 new_func\&.__doc__ = '%s\n%s' % (func\&.__doc__, optionParser\&.format_help())
+160 return new_func
+161 return option_setup
+
+.fi
+.SS "def cmd2::remaining_args (oldArgs, newArgList)".PP
+.nf
+
+Preserves the spacing originally in the argument after
+the removal of options.
+
+>>> remaining_args('-f bar bar cow', ['bar', 'cow'])
+'bar cow'
+.fi
+.PP
+
+.PP
+Definition at line 86 of file cmd2\&.py'\&.
+.PP
+Referenced by options()\&.
+.PP
+.nf
+86
+87 def remaining_args(oldArgs, newArgList):
+88 '''
+89 Preserves the spacing originally in the argument after
+90 the removal of options\&.
+91
+92 >>> remaining_args('-f bar bar cow', ['bar', 'cow'])
+93 'bar cow'
+94 '''
+95 pattern = '\s+'\&.join(re\&.escape(a) for a in newArgList) + '\s*$'
+96 matchObj = re\&.search(pattern, oldArgs)
+97 return oldArgs[matchObj\&.start():]
+
+.fi
+.SS "def cmd2::replace_with_file_contents (fname)"
+.PP
+Definition at line 336 of file cmd2\&.py'\&.
+.PP
+References get_paste_buffer()\&.
+.PP
+.nf
+336
+337 def replace_with_file_contents(fname):
+338 if fname:
+339 try:
+340 result = open(os\&.path\&.expanduser(fname[0]))\&.read()
+341 except IOError:
+342 result = '< %s' % fname[0] # wasn't a file after all
+343 else:
+344 result = get_paste_buffer()
+345 return result
+
+.fi
+.SS "def cmd2::stubbornDict (arg, kwarg)".PP
+.nf
+
+>>> sorted(stubbornDict('cow a bovine\\nhorse an equine').items())
+[('cow', 'a bovine'), ('horse', 'an equine')]
+>>> sorted(stubbornDict(['badger', 'porcupine a poky creature']).items())
+[('badger', ''), ('porcupine', 'a poky creature')]
+>>> sorted(stubbornDict(turtle='has shell', frog='jumpy').items())
+[('frog', 'jumpy'), ('turtle', 'has shell')]
+.fi
+.PP
+
+.PP
+Definition at line 321 of file cmd2\&.py'\&.
+.PP
+Referenced by cmd2::StubbornDict::__add__(), and cmd2::StubbornDict::__radd__()\&.
+.PP
+.nf
+321
+322 def stubbornDict(*arg, **kwarg):
+323 '''
+324 >>> sorted(stubbornDict('cow a bovine\\nhorse an equine')\&.items())
+325 [('cow', 'a bovine'), ('horse', 'an equine')]
+326 >>> sorted(stubbornDict(['badger', 'porcupine a poky creature'])\&.items())
+327 [('badger', ''), ('porcupine', 'a poky creature')]
+328 >>> sorted(stubbornDict(turtle='has shell', frog='jumpy')\&.items())
+329 [('frog', 'jumpy'), ('turtle', 'has shell')]
+330 '''
+331 result = {}
+332 for a in arg:
+333 result\&.update(StubbornDict\&.to_dict(a))
+334 result\&.update(kwarg)
+335 return StubbornDict(result)
+
+.fi
+.SS "def \fBcmd2::write_to_paste_buffer\fP (txt)"
+.PP
+Definition at line 192 of file cmd2\&.py'\&.
+.PP
+References write_to_paste_buffer\&.
+.PP
+.nf
+192
+193 def write_to_paste_buffer(txt):
+194 win32clipboard\&.OpenClipboard(0)
+195 win32clipboard\&.EmptyClipboard()
+196 win32clipboard\&.SetClipboardText(txt)
+ win32clipboard\&.CloseClipboard()
+.fi
+.SH "Variable Documentation"
+.PP
+.SS "string \fBcmd2::__version__\fP = '0\&.6\&.4'"
+.PP
+Definition at line 45 of file cmd2\&.py'\&.
+.SS "\fBcmd2::can_clip\fP = False"
+.PP
+Definition at line 202 of file cmd2\&.py'\&.
+.SS "list \fBcmd2::options_defined\fP = []"
+.PP
+Definition at line 110 of file cmd2\&.py'\&.
+.SS "string \fBcmd2::pastebufferr\fP"\fBInitial value:\fP
+.PP
+.nf
+1 '''Redirecting to or from paste buffer requires %s
+2 to be installed on operating system\&.
+3 %s'''
+.fi
+.PP
+Definition at line 177 of file cmd2\&.py'\&.
+.SS "string \fBcmd2::teststring\fP = 'Testing for presence of xclip\&.'"
+.PP
+Definition at line 227 of file cmd2\&.py'\&.
+.SS "def \fBcmd2::write_to_paste_buffer\fP = get_paste_buffer"
+.PP
+Definition at line 200 of file cmd2\&.py'\&.
+.PP
+Referenced by cmd2::Cmd::restore_output(), and write_to_paste_buffer()\&.
+.SS "tuple \fBcmd2::xclipproc\fP = subprocess\&.Popen('xclip -sel clip', shell=True, stdout=subprocess\&.PIPE, stdin=subprocess\&.PIPE)"
+.PP
+Definition at line 228 of file cmd2\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2.py.3 b/doxygen/man/man3/cmd2.py.3
new file mode 100644
index 0000000..90c3b1c
--- /dev/null
+++ b/doxygen/man/man3/cmd2.py.3
@@ -0,0 +1,123 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/cmd2.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/cmd2.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBcmd2::Borg\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::Cmd\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::Cmd2TestCase\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::EmbeddedConsoleExit\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::EmptyStatement\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::History\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::HistoryItem\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::NotSettableError\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::OptionParser\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::OutputTrap\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::ParsedString\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::PasteBufferError\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::Statekeeper\fP"
+.br
+.ti -1c
+.RI "class \fBcmd2::StubbornDict\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBcmd2\fP"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBcmd2::_attr_get_\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::cast\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::get_paste_buffer\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::get_paste_buffer\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::ljust\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::options\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::remaining_args\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::replace_with_file_contents\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::stubbornDict\fP"
+.br
+.ti -1c
+.RI "def \fBcmd2::write_to_paste_buffer\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "string \fBcmd2::__version__\fP = '0\&.6\&.4'"
+.br
+.ti -1c
+.RI "\fBcmd2::can_clip\fP = False"
+.br
+.ti -1c
+.RI "list \fBcmd2::options_defined\fP = []"
+.br
+.ti -1c
+.RI "string \fBcmd2::pastebufferr\fP"
+.br
+.ti -1c
+.RI "string \fBcmd2::teststring\fP = 'Testing for presence of xclip\&.'"
+.br
+.ti -1c
+.RI "\fBcmd2::write_to_paste_buffer\fP = get_paste_buffer"
+.br
+.ti -1c
+.RI "tuple \fBcmd2::xclipproc\fP = subprocess\&.Popen('xclip -sel clip', shell=True, stdout=subprocess\&.PIPE, stdin=subprocess\&.PIPE)"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_Borg.3 b/doxygen/man/man3/cmd2_Borg.3
new file mode 100644
index 0000000..d6a9d01
--- /dev/null
+++ b/doxygen/man/man3/cmd2_Borg.3
@@ -0,0 +1,56 @@
+.TH "cmd2::Borg" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::Borg \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherited by \fBcmd2::OutputTrap\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__new__\fP"
+.br
+.in -1c
+.SS "Static Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "dictionary \fB_shared_state\fP = {}"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+All instances of any Borg subclass will share state.
+from Python Cookbook, 2nd Ed., recipe 6.16.fi
+.PP
+
+.PP
+Definition at line 1450 of file cmd2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::Borg::__new__ (cls, a, k)"
+.PP
+Definition at line 1454 of file cmd2\&.py'\&.
+.PP
+.nf
+1454
+1455 def __new__(cls, *a, **k):
+1456 obj = object\&.__new__(cls, *a, **k)
+1457 obj\&.__dict__ = cls\&._shared_state
+ return obj
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "dictionary \fBcmd2::Borg::_shared_state\fP = {}\fC [static, private]\fP"
+.PP
+Definition at line 1453 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_Cmd.3 b/doxygen/man/man3/cmd2_Cmd.3
new file mode 100644
index 0000000..cd5c11d
--- /dev/null
+++ b/doxygen/man/man3/cmd2_Cmd.3
@@ -0,0 +1,2098 @@
+.TH "cmd2::Cmd" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::Cmd \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherited by \fBexample::CmdLineApp\fP, \fBpirate6::Pirate\fP, \fBpirate7::Pirate\fP, and \fBpirate8::Pirate\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__init__\fP"
+.br
+.ti -1c
+.RI "def \fBcmdloop\fP"
+.br
+.ti -1c
+.RI "def \fBcolorize\fP"
+.br
+.ti -1c
+.RI "def \fBcomplete_statement\fP"
+.br
+.ti -1c
+.RI "def \fBdo__relative_load\fP"
+.br
+.ti -1c
+.RI "def \fBdo_cmdenvironment\fP"
+.br
+.ti -1c
+.RI "def \fBdo_ed\fP"
+.br
+.ti -1c
+.RI "def \fBdo_EOF\fP"
+.br
+.ti -1c
+.RI "def \fBdo_help\fP"
+.br
+.ti -1c
+.RI "def \fBdo_history\fP"
+.br
+.ti -1c
+.RI "def \fBdo_list\fP"
+.br
+.ti -1c
+.RI "def \fBdo_load\fP"
+.br
+.ti -1c
+.RI "def \fBdo_pause\fP"
+.br
+.ti -1c
+.RI "def \fBdo_py\fP"
+.br
+.ti -1c
+.RI "def \fBdo_quit\fP"
+.br
+.ti -1c
+.RI "def \fBdo_run\fP"
+.br
+.ti -1c
+.RI "def \fBdo_save\fP"
+.br
+.ti -1c
+.RI "def \fBdo_set\fP"
+.br
+.ti -1c
+.RI "def \fBdo_shell\fP"
+.br
+.ti -1c
+.RI "def \fBdo_shortcuts\fP"
+.br
+.ti -1c
+.RI "def \fBdo_show\fP"
+.br
+.ti -1c
+.RI "def \fBfileimport\fP"
+.br
+.ti -1c
+.RI "def \fBfunc_named\fP"
+.br
+.ti -1c
+.RI "def \fBlast_matching\fP"
+.br
+.ti -1c
+.RI "def \fBonecmd\fP"
+.br
+.ti -1c
+.RI "def \fBonecmd_plus_hooks\fP"
+.br
+.ti -1c
+.RI "def \fBparsed\fP"
+.br
+.ti -1c
+.RI "def \fBperror\fP"
+.br
+.ti -1c
+.RI "def \fBpfeedback\fP"
+.br
+.ti -1c
+.RI "def \fBpostparse\fP"
+.br
+.ti -1c
+.RI "def \fBpostparsing_postcmd\fP"
+.br
+.ti -1c
+.RI "def \fBpostparsing_precmd\fP"
+.br
+.ti -1c
+.RI "def \fBpoutput\fP"
+.br
+.ti -1c
+.RI "def \fBpreparse\fP"
+.br
+.ti -1c
+.RI "def \fBpseudo_raw_input\fP"
+.br
+.ti -1c
+.RI "def \fBread_file_or_url\fP"
+.br
+.ti -1c
+.RI "def \fBredirect_output\fP"
+.br
+.ti -1c
+.RI "def \fBrestore_output\fP"
+.br
+.ti -1c
+.RI "def \fBrun_commands_at_invocation\fP"
+.br
+.ti -1c
+.RI "def \fBrunTranscriptTests\fP"
+.br
+.ti -1c
+.RI "def \fBselect\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBblankLineTerminationParser\fP"
+.br
+.ti -1c
+.RI "\fBblankLineTerminator\fP"
+.br
+.ti -1c
+.RI "\fBcontinuation_prompt\fP"
+.br
+.ti -1c
+.RI "\fBhistory\fP"
+.br
+.ti -1c
+.RI "\fBinitial_stdout\fP"
+.br
+.ti -1c
+.RI "\fBinputParser\fP"
+.br
+.ti -1c
+.RI "\fBintro\fP"
+.br
+.ti -1c
+.RI "\fBkept_sys\fP"
+.br
+.ti -1c
+.RI "\fBkeywords\fP"
+.br
+.ti -1c
+.RI "\fBlastcmd\fP"
+.br
+.ti -1c
+.RI "\fBmultilineCommand\fP"
+.br
+.ti -1c
+.RI "\fBmultilineParser\fP"
+.br
+.ti -1c
+.RI "\fBold_completer\fP"
+.br
+.ti -1c
+.RI "\fBparser\fP"
+.br
+.ti -1c
+.RI "\fBprompt\fP"
+.br
+.ti -1c
+.RI "\fBpystate\fP"
+.br
+.ti -1c
+.RI "\fBredirect\fP"
+.br
+.ti -1c
+.RI "\fBshortcuts\fP"
+.br
+.ti -1c
+.RI "\fBsingleLineParser\fP"
+.br
+.ti -1c
+.RI "\fBstdin\fP"
+.br
+.ti -1c
+.RI "\fBstdout\fP"
+.br
+.ti -1c
+.RI "\fBuse_rawinput\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBabbrev\fP = True"
+.br
+.ti -1c
+.RI "\fBblankLinesAllowed\fP = False"
+.br
+.ti -1c
+.RI "\fBcase_insensitive\fP = True"
+.br
+.ti -1c
+.RI "dictionary \fBcolorcodes\fP"
+.br
+.ti -1c
+.RI "tuple \fBcolors\fP = (platform\&.system() != 'Windows')"
+.br
+.ti -1c
+.RI "tuple \fBcommentGrammars\fP = pyparsing\&.Or([pyparsing\&.pythonStyleComment, pyparsing\&.cStyleComment])"
+.br
+.ti -1c
+.RI "tuple \fBcommentInProgress\fP = pyparsing\&.Literal('/*')"
+.br
+.ti -1c
+.RI "string \fBcontinuation_prompt\fP = '> '"
+.br
+.ti -1c
+.RI "\fBcurrent_script_dir\fP = None"
+.br
+.ti -1c
+.RI "\fBdebug\fP = False"
+.br
+.ti -1c
+.RI "string \fBdefault_file_name\fP = 'command\&.txt'"
+.br
+.ti -1c
+.RI "\fBdefault_to_shell\fP = False"
+.br
+.ti -1c
+.RI "string \fBdefaultExtension\fP = 'txt'"
+.br
+.ti -1c
+.RI "\fBdo__load\fP = do_load"
+.br
+.ti -1c
+.RI "\fBdo_edit\fP = do_ed"
+.br
+.ti -1c
+.RI "\fBdo_eof\fP = do_EOF"
+.br
+.ti -1c
+.RI "\fBdo_exit\fP = do_quit"
+.br
+.ti -1c
+.RI "\fBdo_hi\fP = do_history"
+.br
+.ti -1c
+.RI "\fBdo_l\fP = do_list"
+.br
+.ti -1c
+.RI "\fBdo_li\fP = do_list"
+.br
+.ti -1c
+.RI "\fBdo_q\fP = do_quit"
+.br
+.ti -1c
+.RI "\fBdo_r\fP = do_run"
+.br
+.ti -1c
+.RI "\fBecho\fP = False"
+.br
+.ti -1c
+.RI "tuple \fBeditor\fP = os\&.environ\&.get('EDITOR')"
+.br
+.ti -1c
+.RI "string \fBeditor\fP = 'notepad'"
+.br
+.ti -1c
+.RI "string \fBexcludeFromHistory\fP = '''run r list l \fBhistory\fP hi ed edit li eof'''"
+.br
+.ti -1c
+.RI "\fBfeedback_to_output\fP = False"
+.br
+.ti -1c
+.RI "string \fBhelp\fP = 'describe function of parameter'"
+.br
+.ti -1c
+.RI "\fBkept_state\fP = None"
+.br
+.ti -1c
+.RI "string \fBlegalChars\fP = u'!#$%\&.:?@_'"
+.br
+.ti -1c
+.RI "\fBlocals_in_py\fP = True"
+.br
+.ti -1c
+.RI "list \fBmultilineCommands\fP = []"
+.br
+.ti -1c
+.RI "string \fBnoSpecialParse\fP = 'set ed edit exit'"
+.br
+.ti -1c
+.RI "tuple \fBprefixParser\fP = pyparsing\&.Empty()"
+.br
+.ti -1c
+.RI "\fBquiet\fP = False"
+.br
+.ti -1c
+.RI "string \fBredirector\fP = '>'"
+.br
+.ti -1c
+.RI "list \fBreserved_words\fP = []"
+.br
+.ti -1c
+.RI "tuple \fBsaveparser\fP"
+.br
+.ti -1c
+.RI "tuple \fBsettable\fP"
+.br
+.ti -1c
+.RI "dictionary \fBshortcuts\fP = {'?': '\fBhelp\fP', '!': 'shell', '@': 'load', '@@': '_relative_load'}"
+.br
+.ti -1c
+.RI "list \fBterminators\fP = [';']"
+.br
+.ti -1c
+.RI "\fBtiming\fP = False"
+.br
+.ti -1c
+.RI "tuple \fBurlre\fP = re\&.compile('(https?://[-\\\\w\\\\\&./]+)')"
+.br
+.in -1c
+.SS "Private Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB_cmdloop\fP"
+.br
+.ti -1c
+.RI "def \fB_default\fP"
+.br
+.ti -1c
+.RI "def \fB_init_parser\fP"
+.br
+.in -1c
+.SS "Static Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fB_STOP_AND_EXIT\fP = True"
+.br
+.ti -1c
+.RI "int \fB_STOP_SCRIPT_NO_EXIT\fP = 999"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 361 of file cmd2\&.py'\&.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "def cmd2::Cmd::__init__ (self, args, kwargs)"
+.PP
+Definition at line 469 of file cmd2\&.py'\&.
+.PP
+.nf
+469
+470 def __init__(self, *args, **kwargs):
+471 cmd\&.Cmd\&.__init__(self, *args, **kwargs)
+472 self\&.initial_stdout = sys\&.stdout
+473 self\&.history = History()
+474 self\&.pystate = {}
+475 self\&.shortcuts = sorted(self\&.shortcuts\&.items(), reverse=True)
+476 self\&.keywords = self\&.reserved_words + [fname[3:] for fname in dir(self)
+477 if fname\&.startswith('do_')]
+478 self\&._init_parser()
+
+.fi
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::Cmd::_cmdloop (self, intro = \fCNone\fP)\fC [private]\fP".PP
+.nf
+Repeatedly issue a prompt, accept input, parse an initial prefix
+off the received input, and dispatch to action methods, passing them
+the remainder of the line as argument.
+.fi
+.PP
+
+.PP
+Definition at line 895 of file cmd2\&.py'\&.
+.PP
+Referenced by cmdloop()\&.
+.PP
+.nf
+895
+896 def _cmdloop(self, intro=None):
+897 '''Repeatedly issue a prompt, accept input, parse an initial prefix
+898 off the received input, and dispatch to action methods, passing them
+899 the remainder of the line as argument\&.
+900 '''
+901
+902 # An almost perfect copy from Cmd; however, the pseudo_raw_input portion
+903 # has been split out so that it can be called separately
+904
+905 self\&.preloop()
+906 if self\&.use_rawinput and self\&.completekey:
+907 try:
+908 import readline
+909 self\&.old_completer = readline\&.get_completer()
+910 readline\&.set_completer(self\&.complete)
+911 readline\&.parse_and_bind(self\&.completekey+': complete')
+912 except ImportError:
+913 pass
+914 try:
+915 if intro is not None:
+916 self\&.intro = intro
+917 if self\&.intro:
+918 self\&.stdout\&.write(str(self\&.intro)+'\n')
+919 stop = None
+920 while not stop:
+921 if self\&.cmdqueue:
+922 line = self\&.cmdqueue\&.pop(0)
+923 else:
+924 line = self\&.pseudo_raw_input(self\&.prompt)
+925 if (self\&.echo) and (isinstance(self\&.stdin, file)):
+926 self\&.stdout\&.write(line + '\n')
+927 stop = self\&.onecmd_plus_hooks(line)
+928 self\&.postloop()
+929 finally:
+930 if self\&.use_rawinput and self\&.completekey:
+931 try:
+932 import readline
+933 readline\&.set_completer(self\&.old_completer)
+934 except ImportError:
+935 pass
+936 return stop
+
+.fi
+.SS "def cmd2::Cmd::_default (self, statement)\fC [private]\fP"
+.PP
+Definition at line 868 of file cmd2\&.py'\&.
+.PP
+References pirate6::Pirate::default(), pirate8::Pirate::default(), pirate7::Pirate::default(), default_to_shell, and postparsing_postcmd()\&.
+.PP
+.nf
+868
+869 def _default(self, statement):
+870 arg = statement\&.full_parsed_statement()
+871 if self\&.default_to_shell:
+872 result = os\&.system(arg)
+873 if not result:
+874 return self\&.postparsing_postcmd(None)
+875 return self\&.postparsing_postcmd(self\&.default(arg))
+
+.fi
+.SS "def cmd2::Cmd::_init_parser (self)\fC [private]\fP"
+.PP
+Definition at line 493 of file cmd2\&.py'\&.
+.PP
+.nf
+493
+494 def _init_parser(self):
+495 r'''
+496 >>> c = Cmd()
+497 >>> c\&.multilineCommands = ['multiline']
+498 >>> c\&.case_insensitive = True
+499 >>> c\&._init_parser()
+500 >>> print (c\&.parser\&.parseString('')\&.dump())
+501 []
+502 >>> print (c\&.parser\&.parseString('')\&.dump())
+503 []
+504 >>> print (c\&.parser\&.parseString('/* empty command */')\&.dump())
+505 []
+506 >>> print (c\&.parser\&.parseString('plainword')\&.dump())
+507 ['plainword', '']
+508 - command: plainword
+509 - statement: ['plainword', '']
+510 - command: plainword
+511 >>> print (c\&.parser\&.parseString('termbare;')\&.dump())
+512 ['termbare', '', ';', '']
+513 - command: termbare
+514 - statement: ['termbare', '', ';']
+515 - command: termbare
+516 - terminator: ;
+517 - terminator: ;
+518 >>> print (c\&.parser\&.parseString('termbare; suffx')\&.dump())
+519 ['termbare', '', ';', 'suffx']
+520 - command: termbare
+521 - statement: ['termbare', '', ';']
+522 - command: termbare
+523 - terminator: ;
+524 - suffix: suffx
+525 - terminator: ;
+526 >>> print (c\&.parser\&.parseString('barecommand')\&.dump())
+527 ['barecommand', '']
+528 - command: barecommand
+529 - statement: ['barecommand', '']
+530 - command: barecommand
+531 >>> print (c\&.parser\&.parseString('COMmand with args')\&.dump())
+532 ['command', 'with args']
+533 - args: with args
+534 - command: command
+535 - statement: ['command', 'with args']
+536 - args: with args
+537 - command: command
+538 >>> print (c\&.parser\&.parseString('command with args and terminator; and suffix')\&.dump())
+539 ['command', 'with args and terminator', ';', 'and suffix']
+540 - args: with args and terminator
+541 - command: command
+542 - statement: ['command', 'with args and terminator', ';']
+543 - args: with args and terminator
+544 - command: command
+545 - terminator: ;
+546 - suffix: and suffix
+547 - terminator: ;
+548 >>> print (c\&.parser\&.parseString('simple | piped')\&.dump())
+549 ['simple', '', '|', ' piped']
+550 - command: simple
+551 - pipeTo: piped
+552 - statement: ['simple', '']
+553 - command: simple
+554 >>> print (c\&.parser\&.parseString('double-pipe || is not a pipe')\&.dump())
+555 ['double', '-pipe || is not a pipe']
+556 - args: -pipe || is not a pipe
+557 - command: double
+558 - statement: ['double', '-pipe || is not a pipe']
+559 - args: -pipe || is not a pipe
+560 - command: double
+561 >>> print (c\&.parser\&.parseString('command with args, terminator;sufx | piped')\&.dump())
+562 ['command', 'with args, terminator', ';', 'sufx', '|', ' piped']
+563 - args: with args, terminator
+564 - command: command
+565 - pipeTo: piped
+566 - statement: ['command', 'with args, terminator', ';']
+567 - args: with args, terminator
+568 - command: command
+569 - terminator: ;
+570 - suffix: sufx
+571 - terminator: ;
+572 >>> print (c\&.parser\&.parseString('output into > afile\&.txt')\&.dump())
+573 ['output', 'into', '>', 'afile\&.txt']
+574 - args: into
+575 - command: output
+576 - output: >
+577 - outputTo: afile\&.txt
+578 - statement: ['output', 'into']
+579 - args: into
+580 - command: output
+581 >>> print (c\&.parser\&.parseString('output into;sufx | pipethrume plz > afile\&.txt')\&.dump())
+582 ['output', 'into', ';', 'sufx', '|', ' pipethrume plz', '>', 'afile\&.txt']
+583 - args: into
+584 - command: output
+585 - output: >
+586 - outputTo: afile\&.txt
+587 - pipeTo: pipethrume plz
+588 - statement: ['output', 'into', ';']
+589 - args: into
+590 - command: output
+591 - terminator: ;
+592 - suffix: sufx
+593 - terminator: ;
+594 >>> print (c\&.parser\&.parseString('output to paste buffer >> ')\&.dump())
+595 ['output', 'to paste buffer', '>>', '']
+596 - args: to paste buffer
+597 - command: output
+598 - output: >>
+599 - statement: ['output', 'to paste buffer']
+600 - args: to paste buffer
+601 - command: output
+602 >>> print (c\&.parser\&.parseString('ignore the /* commented | > */ stuff;')\&.dump())
+603 ['ignore', 'the /* commented | > */ stuff', ';', '']
+604 - args: the /* commented | > */ stuff
+605 - command: ignore
+606 - statement: ['ignore', 'the /* commented | > */ stuff', ';']
+607 - args: the /* commented | > */ stuff
+608 - command: ignore
+609 - terminator: ;
+610 - terminator: ;
+611 >>> print (c\&.parser\&.parseString('has > inside;')\&.dump())
+612 ['has', '> inside', ';', '']
+613 - args: > inside
+614 - command: has
+615 - statement: ['has', '> inside', ';']
+616 - args: > inside
+617 - command: has
+618 - terminator: ;
+619 - terminator: ;
+620 >>> print (c\&.parser\&.parseString('multiline has > inside an unfinished command')\&.dump())
+621 ['multiline', ' has > inside an unfinished command']
+622 - multilineCommand: multiline
+623 >>> print (c\&.parser\&.parseString('multiline has > inside;')\&.dump())
+624 ['multiline', 'has > inside', ';', '']
+625 - args: has > inside
+626 - multilineCommand: multiline
+627 - statement: ['multiline', 'has > inside', ';']
+628 - args: has > inside
+629 - multilineCommand: multiline
+630 - terminator: ;
+631 - terminator: ;
+632 >>> print (c\&.parser\&.parseString('multiline command /* with comment in progress;')\&.dump())
+633 ['multiline', ' command /* with comment in progress;']
+634 - multilineCommand: multiline
+635 >>> print (c\&.parser\&.parseString('multiline command /* with comment complete */ is done;')\&.dump())
+636 ['multiline', 'command /* with comment complete */ is done', ';', '']
+637 - args: command /* with comment complete */ is done
+638 - multilineCommand: multiline
+639 - statement: ['multiline', 'command /* with comment complete */ is done', ';']
+640 - args: command /* with comment complete */ is done
+641 - multilineCommand: multiline
+642 - terminator: ;
+643 - terminator: ;
+644 >>> print (c\&.parser\&.parseString('multiline command ends\n\n')\&.dump())
+645 ['multiline', 'command ends', '\n', '\n']
+646 - args: command ends
+647 - multilineCommand: multiline
+648 - statement: ['multiline', 'command ends', '\n', '\n']
+649 - args: command ends
+650 - multilineCommand: multiline
+651 - terminator: ['\n', '\n']
+652 - terminator: ['\n', '\n']
+653 >>> print (c\&.parser\&.parseString('multiline command 'with term; ends' now\n\n')\&.dump())
+654 ['multiline', 'command 'with term; ends' now', '\n', '\n']
+655 - args: command 'with term; ends' now
+656 - multilineCommand: multiline
+657 - statement: ['multiline', 'command 'with term; ends' now', '\n', '\n']
+658 - args: command 'with term; ends' now
+659 - multilineCommand: multiline
+660 - terminator: ['\n', '\n']
+661 - terminator: ['\n', '\n']
+662 >>> print (c\&.parser\&.parseString('what if 'quoted strings /* seem to ' start comments?')\&.dump())
+663 ['what', 'if 'quoted strings /* seem to ' start comments?']
+664 - args: if 'quoted strings /* seem to ' start comments?
+665 - command: what
+666 - statement: ['what', 'if 'quoted strings /* seem to ' start comments?']
+667 - args: if 'quoted strings /* seem to ' start comments?
+668 - command: what
+669 '''
+670 #outputParser = (pyparsing\&.Literal('>>') | (pyparsing\&.WordStart() + '>') | pyparsing\&.Regex('[^=]>'))('output')
+671 outputParser = (pyparsing\&.Literal(self\&.redirector *2) | \
+672 (pyparsing\&.WordStart() + self\&.redirector) | \
+673 pyparsing\&.Regex('[^=]' + self\&.redirector))('output')
+674
+675 terminatorParser = pyparsing\&.Or([(hasattr(t, 'parseString') and t) or pyparsing\&.Literal(t) for t in self\&.terminators])('terminator')
+676 stringEnd = pyparsing\&.stringEnd ^ '\nEOF'
+677 self\&.multilineCommand = pyparsing\&.Or([pyparsing\&.Keyword(c, caseless=self\&.case_insensitive) for c in self\&.multilineCommands])('multilineCommand')
+678 oneLineCommand = (~self\&.multilineCommand + pyparsing\&.Word(self\&.legalChars))('command')
+679 pipe = pyparsing\&.Keyword('|', identChars='|')
+680 self\&.commentGrammars\&.ignore(pyparsing\&.quotedString)\&.setParseAction(lambda x: '')
+681 doNotParse = self\&.commentGrammars | self\&.commentInProgress | pyparsing\&.quotedString
+682 afterElements = \
+683 pyparsing\&.Optional(pipe + pyparsing\&.SkipTo(outputParser ^ stringEnd, ignore=doNotParse)('pipeTo')) + \
+684 pyparsing\&.Optional(outputParser + pyparsing\&.SkipTo(stringEnd, ignore=doNotParse)\&.setParseAction(lambda x: x[0]\&.strip())('outputTo'))
+685 if self\&.case_insensitive:
+686 self\&.multilineCommand\&.setParseAction(lambda x: x[0]\&.lower())
+687 oneLineCommand\&.setParseAction(lambda x: x[0]\&.lower())
+688 if self\&.blankLinesAllowed:
+689 self\&.blankLineTerminationParser = pyparsing\&.NoMatch
+690 else:
+691 self\&.blankLineTerminator = (pyparsing\&.lineEnd + pyparsing\&.lineEnd)('terminator')
+692 self\&.blankLineTerminator\&.setResultsName('terminator')
+693 self\&.blankLineTerminationParser = ((self\&.multilineCommand ^ oneLineCommand) + pyparsing\&.SkipTo(self\&.blankLineTerminator, ignore=doNotParse)\&.setParseAction(lambda x: x[0]\&.strip())('args') + self\&.blankLineTerminator)('statement')
+694 self\&.multilineParser = (((self\&.multilineCommand ^ oneLineCommand) + pyparsing\&.SkipTo(terminatorParser, ignore=doNotParse)\&.setParseAction(lambda x: x[0]\&.strip())('args') + terminatorParser)('statement') +
+695 pyparsing\&.SkipTo(outputParser ^ pipe ^ stringEnd, ignore=doNotParse)\&.setParseAction(lambda x: x[0]\&.strip())('suffix') + afterElements)
+696 self\&.multilineParser\&.ignore(self\&.commentInProgress)
+697 self\&.singleLineParser = ((oneLineCommand + pyparsing\&.SkipTo(terminatorParser ^ stringEnd ^ pipe ^ outputParser, ignore=doNotParse)\&.setParseAction(lambda x:x[0]\&.strip())('args'))('statement') +
+698 pyparsing\&.Optional(terminatorParser) + afterElements)
+699 #self\&.multilineParser = self\&.multilineParser\&.setResultsName('multilineParser')
+700 #self\&.singleLineParser = self\&.singleLineParser\&.setResultsName('singleLineParser')
+701 self\&.blankLineTerminationParser = self\&.blankLineTerminationParser\&.setResultsName('statement')
+702 self\&.parser = self\&.prefixParser + (
+703 stringEnd |
+704 self\&.multilineParser |
+705 self\&.singleLineParser |
+706 self\&.blankLineTerminationParser |
+707 self\&.multilineCommand + pyparsing\&.SkipTo(stringEnd, ignore=doNotParse)
+708 )
+709 self\&.parser\&.ignore(self\&.commentGrammars)
+710
+711 inputMark = pyparsing\&.Literal('<')
+712 inputMark\&.setParseAction(lambda x: '')
+713 fileName = pyparsing\&.Word(self\&.legalChars + '/\\')
+714 inputFrom = fileName('inputFrom')
+715 inputFrom\&.setParseAction(replace_with_file_contents)
+716 # a not-entirely-satisfactory way of distinguishing < as in 'import from' from <
+717 # as in 'lesser than'
+718 self\&.inputParser = inputMark + pyparsing\&.Optional(inputFrom) + pyparsing\&.Optional('>') + \
+719 pyparsing\&.Optional(fileName) + (pyparsing\&.stringEnd | '|')
+720 self\&.inputParser\&.ignore(self\&.commentInProgress)
+
+.fi
+.SS "def cmd2::Cmd::cmdloop (self)"
+.PP
+Definition at line 1283 of file cmd2\&.py'\&.
+.PP
+References _cmdloop(), run_commands_at_invocation(), and runTranscriptTests()\&.
+.PP
+.nf
+1283
+1284 def cmdloop(self):
+1285 parser = optparse\&.OptionParser()
+1286 parser\&.add_option('-t', '--test', dest='test',
+1287 action='store_true',
+1288 help='Test against transcript(s) in FILE (wildcards OK)')
+1289 (callopts, callargs) = parser\&.parse_args()
+1290 if callopts\&.test:
+1291 self\&.runTranscriptTests(callargs)
+1292 else:
+1293 if not self\&.run_commands_at_invocation(callargs):
+1294 self\&._cmdloop()
+
+.fi
+.SS "def cmd2::Cmd::colorize (self, val, color)".PP
+.nf
+Given a string (``val``), returns that string wrapped in UNIX-style
+ special characters that turn on (and then off) text color and style.
+ If the ``colors`` environment paramter is ``False``, or the application
+ is running on Windows, will return ``val`` unchanged.
+ ``color`` should be one of the supported strings (or styles):
+ red/blue/green/cyan/magenta, bold, underline.fi
+.PP
+
+.PP
+Definition at line 435 of file cmd2\&.py'\&.
+.PP
+Referenced by pirate7::Pirate::do_sing(), and pirate8::Pirate::do_sing()\&.
+.PP
+.nf
+435
+436 def colorize(self, val, color):
+437 '''Given a string (``val``), returns that string wrapped in UNIX-style
+438 special characters that turn on (and then off) text color and style\&.
+439 If the ``colors`` environment paramter is ``False``, or the application
+440 is running on Windows, will return ``val`` unchanged\&.
+441 ``color`` should be one of the supported strings (or styles):
+442 red/blue/green/cyan/magenta, bold, underline'''
+443 if self\&.colors and (self\&.stdout == self\&.initial_stdout):
+444 return self\&.colorcodes[color][True] + val + self\&.colorcodes[color][False]
+445 return val
+
+.fi
+.SS "def cmd2::Cmd::complete_statement (self, line)".PP
+.nf
+Keep accepting lines of input until the command is complete..fi
+.PP
+
+.PP
+Definition at line 794 of file cmd2\&.py'\&.
+.PP
+References commentGrammars, continuation_prompt, parsed(), and pseudo_raw_input()\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.PP
+.nf
+794
+795 def complete_statement(self, line):
+796 '''Keep accepting lines of input until the command is complete\&.'''
+797 if (not line) or (
+798 not pyparsing\&.Or(self\&.commentGrammars)\&.
+799 setParseAction(lambda x: '')\&.transformString(line)):
+800 raise EmptyStatement
+801 statement = self\&.parsed(line)
+802 while statement\&.parsed\&.multilineCommand and (statement\&.parsed\&.terminator == ''):
+803 statement = '%s\n%s' % (statement\&.parsed\&.raw,
+804 self\&.pseudo_raw_input(self\&.continuation_prompt))
+805 statement = self\&.parsed(statement)
+806 if not statement\&.parsed\&.command:
+807 raise EmptyStatement
+808 return statement
+
+.fi
+.SS "def cmd2::Cmd::do__relative_load (self, arg = \fCNone\fP)".PP
+.nf
+
+Runs commands in script at file or URL; if this is called from within an
+already-running script, the filename will be interpreted relative to the
+already-running script's directory..fi
+.PP
+
+.PP
+Definition at line 1206 of file cmd2\&.py'\&.
+.PP
+References current_script_dir, and do__load\&.
+.PP
+.nf
+1206
+1207 def do__relative_load(self, arg=None):
+1208 '''
+1209 Runs commands in script at file or URL; if this is called from within an
+1210 already-running script, the filename will be interpreted relative to the
+1211 already-running script's directory\&.'''
+1212 if arg:
+1213 arg = arg\&.split(None, 1)
+1214 targetname, args = arg[0], (arg[1:] or [''])[0]
+1215 targetname = os\&.path\&.join(self\&.current_script_dir or '', targetname)
+1216 self\&.do__load('%s %s' % (targetname, args))
+
+.fi
+.SS "def cmd2::Cmd::do_cmdenvironment (self, args)".PP
+.nf
+Summary report of interactive parameters..fi
+.PP
+
+.PP
+Definition at line 446 of file cmd2\&.py'\&.
+.PP
+References case_insensitive, settable, and terminators\&.
+.PP
+.nf
+446
+447 def do_cmdenvironment(self, args):
+448 '''Summary report of interactive parameters\&.'''
+449 self\&.stdout\&.write('''
+450 Commands are %(casesensitive)scase-sensitive\&.
+451 Commands may be terminated with: %(terminators)s
+452 Settable parameters: %(settable)s\n''' % \
+453 { 'casesensitive': (self\&.case_insensitive and 'not ') or '',
+454 'terminators': str(self\&.terminators),
+455 'settable': ' '\&.join(self\&.settable)
+456 })
+
+.fi
+.SS "def cmd2::Cmd::do_ed (self, arg)".PP
+.nf
+ed: edit most recent command in text editor
+ed [N]: edit numbered command from history
+ed [filename]: edit specified file name
+
+commands are run after editor is closed.
+"set edit (program-name)" or set EDITOR environment variable
+to control which editing program is used..fi
+.PP
+
+.PP
+Definition at line 1128 of file cmd2\&.py'\&.
+.PP
+References default_file_name, do__load, editor, history, and last_matching()\&.
+.PP
+.nf
+1128
+1129 def do_ed(self, arg):
+1130 '''ed: edit most recent command in text editor
+1131 ed [N]: edit numbered command from history
+1132 ed [filename]: edit specified file name
+1133
+1134 commands are run after editor is closed\&.
+1135 'set edit (program-name)' or set EDITOR environment variable
+1136 to control which editing program is used\&.'''
+1137 if not self\&.editor:
+1138 raise EnvironmentError('Please use 'set editor' to specify your text editing program of choice\&.')
+1139 filename = self\&.default_file_name
+1140 if arg:
+1141 try:
+1142 buffer = self\&.last_matching(int(arg))
+1143 except ValueError:
+1144 filename = arg
+1145 buffer = ''
+1146 else:
+1147 buffer = self\&.history[-1]
+1148
+1149 if buffer:
+1150 f = open(os\&.path\&.expanduser(filename), 'w')
+1151 f\&.write(buffer or '')
+1152 f\&.close()
+1153
+1154 os\&.system('%s %s' % (self\&.editor, filename))
+ self\&.do__load(filename)
+.fi
+.SS "def cmd2::Cmd::do_EOF (self, arg)"
+.PP
+Definition at line 937 of file cmd2\&.py'\&.
+.PP
+References _STOP_SCRIPT_NO_EXIT\&.
+.PP
+.nf
+937
+938 def do_EOF(self, arg):
+ return self\&._STOP_SCRIPT_NO_EXIT # End of script; should not exit app
+.fi
+.SS "def cmd2::Cmd::do_help (self, arg)"
+.PP
+Definition at line 457 of file cmd2\&.py'\&.
+.PP
+References func_named(), and stdout\&.
+.PP
+.nf
+457
+458 def do_help(self, arg):
+459 if arg:
+460 funcname = self\&.func_named(arg)
+461 if funcname:
+462 fn = getattr(self, funcname)
+463 try:
+464 fn\&.optionParser\&.print_help(file=self\&.stdout)
+465 except AttributeError:
+466 cmd\&.Cmd\&.do_help(self, funcname[3:])
+467 else:
+468 cmd\&.Cmd\&.do_help(self, arg)
+
+.fi
+.SS "def cmd2::Cmd::do_history (self, arg, opts)".PP
+.nf
+history [arg]: lists past commands issued
+
+| no arg: list all
+| arg is integer: list one history item, by index
+| arg is string: string search
+| arg is /enclosed in forward-slashes/: regular expression search
+.fi
+.PP
+
+.PP
+Definition at line 1083 of file cmd2\&.py'\&.
+.PP
+References history, and poutput()\&.
+.PP
+.nf
+1083
+1084 def do_history(self, arg, opts):
+1085 '''history [arg]: lists past commands issued
+1086
+1087 | no arg: list all
+1088 | arg is integer: list one history item, by index
+1089 | arg is string: string search
+1090 | arg is /enclosed in forward-slashes/: regular expression search
+1091 '''
+1092 if arg:
+1093 history = self\&.history\&.get(arg)
+1094 else:
+1095 history = self\&.history
+1096 for hi in history:
+1097 if opts\&.script:
+1098 self\&.poutput(hi)
+1099 else:
+ self\&.stdout\&.write(hi\&.pr())
+.fi
+.SS "def cmd2::Cmd::do_list (self, arg)".PP
+.nf
+list [arg]: lists last command issued
+
+no arg -> list most recent command
+arg is integer -> list one history item, by index
+a..b, a:b, a:, ..b -> list spans from a (or start) to b (or end)
+arg is string -> list all commands matching string search
+arg is /enclosed in forward-slashes/ -> regular expression search
+.fi
+.PP
+
+.PP
+Definition at line 1108 of file cmd2\&.py'\&.
+.PP
+References poutput()\&.
+.PP
+.nf
+1108
+1109 def do_list(self, arg):
+1110 '''list [arg]: lists last command issued
+1111
+1112 no arg -> list most recent command
+1113 arg is integer -> list one history item, by index
+1114 a\&.\&.b, a:b, a:, \&.\&.b -> list spans from a (or start) to b (or end)
+1115 arg is string -> list all commands matching string search
+1116 arg is /enclosed in forward-slashes/ -> regular expression search
+1117 '''
+1118 try:
+1119 history = self\&.history\&.span(arg or '-1')
+1120 except IndexError:
+1121 history = self\&.history\&.search(arg)
+1122 for hi in history:
+1123 self\&.poutput(hi\&.pr())
+
+.fi
+.SS "def cmd2::Cmd::do_load (self, arg = \fCNone\fP)".PP
+.nf
+Runs script of command(s) from a file or URL..fi
+.PP
+
+.PP
+Definition at line 1218 of file cmd2\&.py'\&.
+.PP
+.nf
+1218
+1219 def do_load(self, arg=None):
+1220 '''Runs script of command(s) from a file or URL\&.'''
+1221 if arg is None:
+1222 targetname = self\&.default_file_name
+1223 else:
+1224 arg = arg\&.split(None, 1)
+1225 targetname, args = arg[0], (arg[1:] or [''])[0]\&.strip()
+1226 try:
+1227 target = self\&.read_file_or_url(targetname)
+1228 except IOError, e:
+1229 self\&.perror('Problem accessing script from %s: \n%s' % (targetname, e))
+1230 return
+1231 keepstate = Statekeeper(self, ('stdin','use_rawinput','prompt',
+1232 'continuation_prompt','current_script_dir'))
+1233 self\&.stdin = target
+1234 self\&.use_rawinput = False
+1235 self\&.prompt = self\&.continuation_prompt = ''
+1236 self\&.current_script_dir = os\&.path\&.split(targetname)[0]
+1237 stop = self\&._cmdloop()
+1238 self\&.stdin\&.close()
+1239 keepstate\&.restore()
+1240 self\&.lastcmd = ''
+ return stop and (stop != self\&._STOP_SCRIPT_NO_EXIT)
+.fi
+.SS "def cmd2::Cmd::do_pause (self, arg)"
+.PP
+Definition at line 1031 of file cmd2\&.py'\&.
+.PP
+.nf
+1031
+1032 def do_pause(self, arg):
+1033 'Displays the specified text then waits for the user to press RETURN\&.'
+1034 raw_input(arg + '\n')
+
+.fi
+.SS "def cmd2::Cmd::do_py (self, arg)".PP
+.nf
+
+py <command>: Executes a Python command.
+py: Enters interactive Python mode.
+End with ``Ctrl-D`` (Unix) / ``Ctrl-Z`` (Windows), ``quit()``, '`exit()``.
+Non-python commands can be issued with ``cmd("your command")``.
+Run python code from external files with ``run("filename.py")``
+.fi
+.PP
+
+.PP
+Definition at line 1039 of file cmd2\&.py'\&.
+.PP
+References do_py(), locals_in_py, onecmd_plus_hooks(), cmd2::options(), perror(), pystate, stdin, and stdout\&.
+.PP
+Referenced by do_py()\&.
+.PP
+.nf
+1039
+1040 def do_py(self, arg):
+1041 '''
+1042 py <command>: Executes a Python command\&.
+1043 py: Enters interactive Python mode\&.
+1044 End with ``Ctrl-D`` (Unix) / ``Ctrl-Z`` (Windows), ``quit()``, '`exit()``\&.
+1045 Non-python commands can be issued with ``cmd('your command')``\&.
+1046 Run python code from external files with ``run('filename\&.py')``
+1047 '''
+1048 self\&.pystate['self'] = self
+1049 arg = arg\&.parsed\&.raw[2:]\&.strip()
+1050 localvars = (self\&.locals_in_py and self\&.pystate) or {}
+1051 interp = InteractiveConsole(locals=localvars)
+1052 interp\&.runcode('import sys, os;sys\&.path\&.insert(0, os\&.getcwd())')
+1053 if arg\&.strip():
+1054 interp\&.runcode(arg)
+1055 else:
+1056 def quit():
+1057 raise EmbeddedConsoleExit
+1058 def onecmd_plus_hooks(arg):
+1059 return self\&.onecmd_plus_hooks(arg + '\n')
+1060 def run(arg):
+1061 try:
+1062 file = open(arg)
+1063 interp\&.runcode(file\&.read())
+1064 file\&.close()
+1065 except IOError, e:
+1066 self\&.perror(e)
+1067 self\&.pystate['quit'] = quit
+1068 self\&.pystate['exit'] = quit
+1069 self\&.pystate['cmd'] = onecmd_plus_hooks
+1070 self\&.pystate['run'] = run
+1071 try:
+1072 cprt = 'Type 'help', 'copyright', 'credits' or 'license' for more information\&.'
+1073 keepstate = Statekeeper(sys, ('stdin','stdout'))
+1074 sys\&.stdout = self\&.stdout
+1075 sys\&.stdin = self\&.stdin
+1076 interp\&.interact(banner= 'Python %s on %s\n%s\n(%s)\n%s' %
+1077 (sys\&.version, sys\&.platform, cprt, self\&.__class__\&.__name__, self\&.do_py\&.__doc__))
+1078 except EmbeddedConsoleExit:
+1079 pass
+1080 keepstate\&.restore()
+
+.fi
+.SS "def cmd2::Cmd::do_quit (self, arg)"
+.PP
+Reimplemented in \fBpirate6::Pirate\fP, \fBpirate7::Pirate\fP, and \fBpirate8::Pirate\fP'\&.
+.PP
+Definition at line 941 of file cmd2\&.py'\&.
+.PP
+References _STOP_AND_EXIT\&.
+.PP
+.nf
+941
+942 def do_quit(self, arg):
+ return self\&._STOP_AND_EXIT
+.fi
+.SS "def cmd2::Cmd::do_run (self, arg)".PP
+.nf
+run [arg]: re-runs an earlier command
+
+no arg -> run most recent command
+arg is integer -> run one history item, by index
+arg is string -> run most recent command by string search
+arg is /enclosed in forward-slashes/ -> run most recent by regex
+.fi
+.PP
+
+.PP
+Definition at line 1243 of file cmd2\&.py'\&.
+.PP
+References last_matching(), onecmd_plus_hooks(), and pfeedback()\&.
+.PP
+.nf
+1243
+1244 def do_run(self, arg):
+1245 '''run [arg]: re-runs an earlier command
+1246
+1247 no arg -> run most recent command
+1248 arg is integer -> run one history item, by index
+1249 arg is string -> run most recent command by string search
+1250 arg is /enclosed in forward-slashes/ -> run most recent by regex
+1251 '''
+1252 'run [N]: runs the SQL that was run N commands ago'
+1253 runme = self\&.last_matching(arg)
+1254 self\&.pfeedback(runme)
+1255 if runme:
+ stop = self\&.onecmd_plus_hooks(runme)
+.fi
+.SS "def cmd2::Cmd::do_save (self, arg)".PP
+.nf
+`save [N] [filename.ext]`
+
+Saves command from history to file.
+
+| N => Number of command (from history), or `*`;
+| most recent command if omitted.fi
+.PP
+
+.PP
+Definition at line 1160 of file cmd2\&.py'\&.
+.PP
+References default_file_name, do_save(), history, perror(), and pfeedback()\&.
+.PP
+Referenced by do_save()\&.
+.PP
+.nf
+1160
+1161 def do_save(self, arg):
+1162 '''`save [N] [filename\&.ext]`
+1163
+1164 Saves command from history to file\&.
+1165
+1166 | N => Number of command (from history), or `*`;
+1167 | most recent command if omitted'''
+1168
+1169 try:
+1170 args = self\&.saveparser\&.parseString(arg)
+1171 except pyparsing\&.ParseException:
+1172 self\&.perror('Could not understand save target %s' % arg)
+1173 raise SyntaxError(self\&.do_save\&.__doc__)
+1174 fname = args\&.fname or self\&.default_file_name
+1175 if args\&.idx == '*':
+1176 saveme = '\n\n'\&.join(self\&.history[:])
+1177 elif args\&.idx:
+1178 saveme = self\&.history[int(args\&.idx)-1]
+1179 else:
+1180 saveme = self\&.history[-1]
+1181 try:
+1182 f = open(os\&.path\&.expanduser(fname), 'w')
+1183 f\&.write(saveme)
+1184 f\&.close()
+1185 self\&.pfeedback('Saved to %s' % (fname))
+1186 except Exception, e:
+1187 self\&.perror('Error saving %s' % (fname))
+1188 raise
+
+.fi
+.SS "def cmd2::Cmd::do_set (self, arg)".PP
+.nf
+
+Sets a cmd2 parameter. Accepts abbreviated parameter names so long
+as there is no ambiguity. Call without arguments for a list of
+settable parameters with their values..fi
+.PP
+
+.PP
+Definition at line 1000 of file cmd2\&.py'\&.
+.PP
+References cmd2::cast(), do_show(), and settable\&.
+.PP
+.nf
+1000
+1001 def do_set(self, arg):
+1002 '''
+1003 Sets a cmd2 parameter\&. Accepts abbreviated parameter names so long
+1004 as there is no ambiguity\&. Call without arguments for a list of
+1005 settable parameters with their values\&.'''
+1006 try:
+1007 statement, paramName, val = arg\&.parsed\&.raw\&.split(None, 2)
+1008 val = val\&.strip()
+1009 paramName = paramName\&.strip()\&.lower()
+1010 if paramName not in self\&.settable:
+1011 hits = [p for p in self\&.settable if p\&.startswith(paramName)]
+1012 if len(hits) == 1:
+1013 paramName = hits[0]
+1014 else:
+1015 return self\&.do_show(paramName)
+1016 currentVal = getattr(self, paramName)
+1017 if (val[0] == val[-1]) and val[0] in (''', '''):
+1018 val = val[1:-1]
+1019 else:
+1020 val = cast(currentVal, val)
+1021 setattr(self, paramName, val)
+1022 self\&.stdout\&.write('%s - was: %s\nnow: %s\n' % (paramName, currentVal, val))
+1023 if currentVal != val:
+1024 try:
+1025 onchange_hook = getattr(self, '_onchange_%s' % paramName)
+1026 onchange_hook(old=currentVal, new=val)
+1027 except AttributeError:
+1028 pass
+1029 except (ValueError, AttributeError, NotSettableError), e:
+1030 self\&.do_show(arg)
+
+.fi
+.SS "def cmd2::Cmd::do_shell (self, arg)"
+.PP
+Definition at line 1035 of file cmd2\&.py'\&.
+.PP
+.nf
+1035
+1036 def do_shell(self, arg):
+1037 'execute a command as if at the OS prompt\&.'
+1038 os\&.system(arg)
+
+.fi
+.SS "def cmd2::Cmd::do_shortcuts (self, args)".PP
+.nf
+Lists single-key shortcuts available..fi
+.PP
+
+.PP
+Definition at line 479 of file cmd2\&.py'\&.
+.PP
+References shortcuts\&.
+.PP
+.nf
+479
+480 def do_shortcuts(self, args):
+481 '''Lists single-key shortcuts available\&.'''
+482 result = '\n'\&.join('%s: %s' % (sc[0], sc[1]) for sc in sorted(self\&.shortcuts))
+483 self\&.stdout\&.write('Single-key shortcuts for other commands:\n%s\n' % (result))
+
+.fi
+.SS "def cmd2::Cmd::do_show (self, arg, opts)".PP
+.nf
+Shows value of a parameter..fi
+.PP
+
+.PP
+Definition at line 982 of file cmd2\&.py'\&.
+.PP
+References cmd2::ljust(), poutput(), and settable\&.
+.PP
+Referenced by do_set()\&.
+.PP
+.nf
+982
+983 def do_show(self, arg, opts):
+984 '''Shows value of a parameter\&.'''
+985 param = arg\&.strip()\&.lower()
+986 result = {}
+987 maxlen = 0
+988 for p in self\&.settable:
+989 if (not param) or p\&.startswith(param):
+990 result[p] = '%s: %s' % (p, str(getattr(self, p)))
+991 maxlen = max(maxlen, len(result[p]))
+992 if result:
+993 for p in sorted(result):
+994 if opts\&.long:
+995 self\&.poutput('%s # %s' % (result[p]\&.ljust(maxlen), self\&.settable[p]))
+996 else:
+997 self\&.poutput(result[p])
+998 else:
+999 raise NotImplementedError('Parameter '%s' not supported (type 'show' for list of parameters)\&.' % param)
+
+.fi
+.SS "def cmd2::Cmd::fileimport (self, statement, source)"
+.PP
+Definition at line 1258 of file cmd2\&.py'\&.
+.PP
+.nf
+1258
+1259 def fileimport(self, statement, source):
+1260 try:
+1261 f = open(os\&.path\&.expanduser(source))
+1262 except IOError:
+1263 self\&.stdout\&.write('Couldn't read from file %s\n' % source)
+1264 return ''
+1265 data = f\&.read()
+1266 f\&.close()
+1267 return data
+
+.fi
+.SS "def cmd2::Cmd::func_named (self, arg)"
+.PP
+Definition at line 755 of file cmd2\&.py'\&.
+.PP
+References abbrev, and keywords\&.
+.PP
+Referenced by do_help()\&.
+.PP
+.nf
+755
+756 def func_named(self, arg):
+757 result = None
+758 target = 'do_' + arg
+759 if target in dir(self):
+760 result = target
+761 else:
+762 if self\&.abbrev: # accept shortened versions of commands
+763 funcs = [fname for fname in self\&.keywords if fname\&.startswith(arg)]
+764 if len(funcs) == 1:
+765 result = 'do_' + funcs[0]
+ return result
+.fi
+.SS "def cmd2::Cmd::last_matching (self, arg)"
+.PP
+Definition at line 1100 of file cmd2\&.py'\&.
+.PP
+References history\&.
+.PP
+Referenced by do_ed(), and do_run()\&.
+.PP
+.nf
+1100
+1101 def last_matching(self, arg):
+1102 try:
+1103 if arg:
+1104 return self\&.history\&.get(arg)[-1]
+1105 else:
+1106 return self\&.history[-1]
+1107 except IndexError:
+ return None
+.fi
+.SS "def cmd2::Cmd::onecmd (self, line)".PP
+.nf
+Interpret the argument as though it had been typed in response
+to the prompt.
+
+This may be overridden, but should not normally need to be;
+see the precmd() and postcmd() methods for useful execution hooks.
+The return value is a flag indicating whether interpretation of
+commands by the interpreter should stop.
+
+This (`cmd2`) version of `onecmd` already override's `cmd`'s `onecmd`.
+
+.fi
+.PP
+
+.PP
+Definition at line 844 of file cmd2\&.py'\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.PP
+.nf
+844
+845 def onecmd(self, line):
+846 '''Interpret the argument as though it had been typed in response
+847 to the prompt\&.
+848
+849 This may be overridden, but should not normally need to be;
+850 see the precmd() and postcmd() methods for useful execution hooks\&.
+851 The return value is a flag indicating whether interpretation of
+852 commands by the interpreter should stop\&.
+853
+854 This (`cmd2`) version of `onecmd` already override's `cmd`'s `onecmd`\&.
+855
+856 '''
+857 statement = self\&.parsed(line)
+858 self\&.lastcmd = statement\&.parsed\&.raw
+859 funcname = self\&.func_named(statement\&.parsed\&.command)
+860 if not funcname:
+861 return self\&._default(statement)
+862 try:
+863 func = getattr(self, funcname)
+864 except AttributeError:
+865 return self\&._default(statement)
+866 stop = func(statement)
+867 return stop
+
+.fi
+.SS "def cmd2::Cmd::onecmd_plus_hooks (self, line)"
+.PP
+Definition at line 766 of file cmd2\&.py'\&.
+.PP
+References complete_statement(), excludeFromHistory, onecmd(), perror(), pfeedback(), pirate3::Pirate::postcmd(), pirate4::Pirate::postcmd(), pirate5::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), pirate6::Pirate::postcmd(), postparsing_postcmd(), postparsing_precmd(), pirate3::Pirate::precmd(), pirate4::Pirate::precmd(), pirate5::Pirate::precmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), pirate6::Pirate::precmd(), redirect_output(), restore_output(), and timing\&.
+.PP
+Referenced by do_py(), do_run(), and run_commands_at_invocation()\&.
+.PP
+.nf
+766
+767 def onecmd_plus_hooks(self, line):
+768 # The outermost level of try/finally nesting can be condensed once
+769 # Python 2\&.4 support can be dropped\&.
+770 stop = 0
+771 try:
+772 try:
+773 statement = self\&.complete_statement(line)
+774 (stop, statement) = self\&.postparsing_precmd(statement)
+775 if stop:
+776 return self\&.postparsing_postcmd(stop)
+777 if statement\&.parsed\&.command not in self\&.excludeFromHistory:
+778 self\&.history\&.append(statement\&.parsed\&.raw)
+779 try:
+780 self\&.redirect_output(statement)
+781 timestart = datetime\&.datetime\&.now()
+782 statement = self\&.precmd(statement)
+783 stop = self\&.onecmd(statement)
+784 stop = self\&.postcmd(stop, statement)
+785 if self\&.timing:
+786 self\&.pfeedback('Elapsed: %s' % str(datetime\&.datetime\&.now() - timestart))
+787 finally:
+788 self\&.restore_output(statement)
+789 except EmptyStatement:
+790 return 0
+791 except Exception, e:
+792 self\&.perror(str(e), statement)
+793 finally:
+ return self\&.postparsing_postcmd(stop)
+.fi
+.SS "def cmd2::Cmd::parsed (self, raw, kwargs)"
+.PP
+Definition at line 726 of file cmd2\&.py'\&.
+.PP
+References parsed(), postparse(), preparse(), and shortcuts\&.
+.PP
+Referenced by complete_statement(), cmd2::ParsedString::full_parsed_statement(), parsed(), and cmd2::ParsedString::with_args_replaced()\&.
+.PP
+.nf
+726
+727 def parsed(self, raw, **kwargs):
+728 if isinstance(raw, ParsedString):
+729 p = raw
+730 else:
+731 # preparse is an overridable hook; default makes no changes
+732 s = self\&.preparse(raw, **kwargs)
+733 s = self\&.inputParser\&.transformString(s\&.lstrip())
+734 s = self\&.commentGrammars\&.transformString(s)
+735 for (shortcut, expansion) in self\&.shortcuts:
+736 if s\&.lower()\&.startswith(shortcut):
+737 s = s\&.replace(shortcut, expansion + ' ', 1)
+738 break
+739 result = self\&.parser\&.parseString(s)
+740 result['raw'] = raw
+741 result['command'] = result\&.multilineCommand or result\&.command
+742 result = self\&.postparse(result)
+743 p = ParsedString(result\&.args)
+744 p\&.parsed = result
+745 p\&.parser = self\&.parsed
+746 for (key, val) in kwargs\&.items():
+747 p\&.parsed[key] = val
+748 return p
+
+.fi
+.SS "def cmd2::Cmd::perror (self, errmsg, statement = \fCNone\fP)"
+.PP
+Definition at line 404 of file cmd2\&.py'\&.
+.PP
+References debug\&.
+.PP
+Referenced by do_py(), do_save(), and onecmd_plus_hooks()\&.
+.PP
+.nf
+404
+405 def perror(self, errmsg, statement=None):
+406 if self\&.debug:
+407 traceback\&.print_exc()
+ print (str(errmsg))
+.fi
+.SS "def cmd2::Cmd::pfeedback (self, msg)".PP
+.nf
+For printing nonessential feedback. Can be silenced with `quiet`.
+ Inclusion in redirected output is controlled by `feedback_to_output`..fi
+.PP
+
+.PP
+Definition at line 408 of file cmd2\&.py'\&.
+.PP
+References feedback_to_output, poutput(), and quiet\&.
+.PP
+Referenced by do_run(), do_save(), and onecmd_plus_hooks()\&.
+.PP
+.nf
+408
+409 def pfeedback(self, msg):
+410 '''For printing nonessential feedback\&. Can be silenced with `quiet`\&.
+411 Inclusion in redirected output is controlled by `feedback_to_output`\&.'''
+412 if not self\&.quiet:
+413 if self\&.feedback_to_output:
+414 self\&.poutput(msg)
+415 else:
+ print (msg)
+.fi
+.SS "def cmd2::Cmd::postparse (self, parseResult)"
+.PP
+Definition at line 723 of file cmd2\&.py'\&.
+.PP
+Referenced by parsed()\&.
+.PP
+.nf
+723
+724 def postparse(self, parseResult):
+725 return parseResult
+
+.fi
+.SS "def cmd2::Cmd::postparsing_postcmd (self, stop)"
+.PP
+Definition at line 752 of file cmd2\&.py'\&.
+.PP
+Referenced by _default(), and onecmd_plus_hooks()\&.
+.PP
+.nf
+752
+753 def postparsing_postcmd(self, stop):
+754 return stop
+
+.fi
+.SS "def cmd2::Cmd::postparsing_precmd (self, statement)"
+.PP
+Definition at line 749 of file cmd2\&.py'\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.PP
+.nf
+749
+750 def postparsing_precmd(self, statement):
+751 stop = 0
+ return stop, statement
+.fi
+.SS "def cmd2::Cmd::poutput (self, msg)".PP
+.nf
+Convenient shortcut for self.stdout.write(); adds newline if necessary..fi
+.PP
+
+.PP
+Definition at line 398 of file cmd2\&.py'\&.
+.PP
+Referenced by do_history(), do_list(), do_show(), pfeedback(), and select()\&.
+.PP
+.nf
+398
+399 def poutput(self, msg):
+400 '''Convenient shortcut for self\&.stdout\&.write(); adds newline if necessary\&.'''
+401 if msg:
+402 self\&.stdout\&.write(msg)
+403 if msg[-1] != '\n':
+ self\&.stdout\&.write('\n')
+.fi
+.SS "def cmd2::Cmd::preparse (self, raw, kwargs)"
+.PP
+Definition at line 721 of file cmd2\&.py'\&.
+.PP
+Referenced by parsed()\&.
+.PP
+.nf
+721
+722 def preparse(self, raw, **kwargs):
+ return raw
+.fi
+.SS "def cmd2::Cmd::pseudo_raw_input (self, prompt)".PP
+.nf
+copied from cmd's cmdloop; like raw_input, but accounts for changed stdin, stdout.fi
+.PP
+
+.PP
+Definition at line 876 of file cmd2\&.py'\&.
+.PP
+References use_rawinput\&.
+.PP
+Referenced by complete_statement()\&.
+.PP
+.nf
+876
+877 def pseudo_raw_input(self, prompt):
+878 '''copied from cmd's cmdloop; like raw_input, but accounts for changed stdin, stdout'''
+879
+880 if self\&.use_rawinput:
+881 try:
+882 line = raw_input(prompt)
+883 except EOFError:
+884 line = 'EOF'
+885 else:
+886 self\&.stdout\&.write(prompt)
+887 self\&.stdout\&.flush()
+888 line = self\&.stdin\&.readline()
+889 if not len(line):
+890 line = 'EOF'
+891 else:
+892 if line[-1] == '\n': # this was always true in Cmd
+893 line = line[:-1]
+894 return line
+
+.fi
+.SS "def cmd2::Cmd::read_file_or_url (self, fname)"
+.PP
+Definition at line 1189 of file cmd2\&.py'\&.
+.PP
+References defaultExtension\&.
+.PP
+.nf
+1189
+1190 def read_file_or_url(self, fname):
+1191 # TODO: not working on localhost
+1192 if isinstance(fname, file):
+1193 result = open(fname, 'r')
+1194 else:
+1195 match = self\&.urlre\&.match(fname)
+1196 if match:
+1197 result = urllib\&.urlopen(match\&.group(1))
+1198 else:
+1199 fname = os\&.path\&.expanduser(fname)
+1200 try:
+1201 result = open(os\&.path\&.expanduser(fname), 'r')
+1202 except IOError:
+1203 result = open('%s\&.%s' % (os\&.path\&.expanduser(fname),
+1204 self\&.defaultExtension), 'r')
+1205 return result
+
+.fi
+.SS "def cmd2::Cmd::redirect_output (self, statement)"
+.PP
+Definition at line 809 of file cmd2\&.py'\&.
+.PP
+References cmd2::get_paste_buffer(), kept_state, kept_sys, redirect, redirector, and stdout\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.PP
+.nf
+809
+810 def redirect_output(self, statement):
+811 if statement\&.parsed\&.pipeTo:
+812 self\&.kept_state = Statekeeper(self, ('stdout',))
+813 self\&.kept_sys = Statekeeper(sys, ('stdout',))
+814 self\&.redirect = subprocess\&.Popen(statement\&.parsed\&.pipeTo, shell=True, stdout=subprocess\&.PIPE, stdin=subprocess\&.PIPE)
+815 sys\&.stdout = self\&.stdout = self\&.redirect\&.stdin
+816 elif statement\&.parsed\&.output:
+817 if (not statement\&.parsed\&.outputTo) and (not can_clip):
+818 raise EnvironmentError('Cannot redirect to paste buffer; install ``xclip`` and re-run to enable')
+819 self\&.kept_state = Statekeeper(self, ('stdout',))
+820 self\&.kept_sys = Statekeeper(sys, ('stdout',))
+821 if statement\&.parsed\&.outputTo:
+822 mode = 'w'
+823 if statement\&.parsed\&.output == 2 * self\&.redirector:
+824 mode = 'a'
+825 sys\&.stdout = self\&.stdout = open(os\&.path\&.expanduser(statement\&.parsed\&.outputTo), mode)
+826 else:
+827 sys\&.stdout = self\&.stdout = tempfile\&.TemporaryFile(mode='w+')
+828 if statement\&.parsed\&.output == '>>':
+829 self\&.stdout\&.write(get_paste_buffer())
+
+.fi
+.SS "def cmd2::Cmd::restore_output (self, statement)"
+.PP
+Definition at line 830 of file cmd2\&.py'\&.
+.PP
+References kept_state, and cmd2::write_to_paste_buffer\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.PP
+.nf
+830
+831 def restore_output(self, statement):
+832 if self\&.kept_state:
+833 if statement\&.parsed\&.output:
+834 if not statement\&.parsed\&.outputTo:
+835 self\&.stdout\&.seek(0)
+836 write_to_paste_buffer(self\&.stdout\&.read())
+837 elif statement\&.parsed\&.pipeTo:
+838 for result in self\&.redirect\&.communicate():
+839 self\&.kept_state\&.stdout\&.write(result or '')
+840 self\&.stdout\&.close()
+841 self\&.kept_state\&.restore()
+842 self\&.kept_sys\&.restore()
+843 self\&.kept_state = None
+
+.fi
+.SS "def cmd2::Cmd::run_commands_at_invocation (self, callargs)"
+.PP
+Definition at line 1278 of file cmd2\&.py'\&.
+.PP
+References _STOP_AND_EXIT, and onecmd_plus_hooks()\&.
+.PP
+Referenced by cmdloop()\&.
+.PP
+.nf
+1278
+1279 def run_commands_at_invocation(self, callargs):
+1280 for initial_command in callargs:
+1281 if self\&.onecmd_plus_hooks(initial_command + '\n'):
+1282 return self\&._STOP_AND_EXIT
+
+.fi
+.SS "def cmd2::Cmd::runTranscriptTests (self, callargs)"
+.PP
+Definition at line 1268 of file cmd2\&.py'\&.
+.PP
+Referenced by cmdloop()\&.
+.PP
+.nf
+1268
+1269 def runTranscriptTests(self, callargs):
+1270 class TestMyAppCase(Cmd2TestCase):
+1271 CmdApp = self\&.__class__
+1272 self\&.__class__\&.testfiles = callargs
+1273 sys\&.argv = [sys\&.argv[0]] # the --test argument upsets unittest\&.main()
+1274 testcase = TestMyAppCase()
+1275 runner = unittest\&.TextTestRunner()
+1276 result = runner\&.run(testcase)
+1277 result\&.printErrors()
+
+.fi
+.SS "def cmd2::Cmd::select (self, options, prompt = \fC'Your choice? '\fP)".PP
+.nf
+Presents a numbered menu to the user. Modelled after
+ the bash shell's SELECT. Returns the item chosen.
+
+ Argument ``options`` can be:
+
+ | a single string -> will be split into one-word options
+ | a list of strings -> will be offered as options
+ | a list of tuples -> interpreted as (value, text), so
+ that the return value can differ from
+ the text advertised to the user .fi
+.PP
+
+.PP
+Definition at line 946 of file cmd2\&.py'\&.
+.PP
+References cmd2::options(), and poutput()\&.
+.PP
+.nf
+946
+947 def select(self, options, prompt='Your choice? '):
+948 '''Presents a numbered menu to the user\&. Modelled after
+949 the bash shell's SELECT\&. Returns the item chosen\&.
+950
+951 Argument ``options`` can be:
+952
+953 | a single string -> will be split into one-word options
+954 | a list of strings -> will be offered as options
+955 | a list of tuples -> interpreted as (value, text), so
+956 that the return value can differ from
+957 the text advertised to the user '''
+958 if isinstance(options, basestring):
+959 options = zip(options\&.split(), options\&.split())
+960 fulloptions = []
+961 for opt in options:
+962 if isinstance(opt, basestring):
+963 fulloptions\&.append((opt, opt))
+964 else:
+965 try:
+966 fulloptions\&.append((opt[0], opt[1]))
+967 except IndexError:
+968 fulloptions\&.append((opt[0], opt[0]))
+969 for (idx, (value, text)) in enumerate(fulloptions):
+970 self\&.poutput(' %2d\&. %s\n' % (idx+1, text))
+971 while True:
+972 response = raw_input(prompt)
+973 try:
+974 response = int(response)
+975 result = fulloptions[response - 1][0]
+976 break
+977 except ValueError:
+978 pass # loop and ask again
+979 return result
+
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBcmd2::Cmd::_STOP_AND_EXIT\fP = True\fC [static, private]\fP"
+.PP
+Definition at line 416 of file cmd2\&.py'\&.
+.PP
+Referenced by do_quit(), and run_commands_at_invocation()\&.
+.SS "int \fBcmd2::Cmd::_STOP_SCRIPT_NO_EXIT\fP = 999\fC [static, private]\fP"
+.PP
+Definition at line 417 of file cmd2\&.py'\&.
+.PP
+Referenced by do_EOF()\&.
+.SS "\fBcmd2::Cmd::abbrev\fP = True\fC [static]\fP"
+.PP
+Definition at line 374 of file cmd2\&.py'\&.
+.PP
+Referenced by func_named()\&.
+.SS "\fBcmd2::Cmd::blankLinesAllowed\fP = False\fC [static]\fP"
+.PP
+Definition at line 490 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::blankLineTerminationParser\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::blankLineTerminator\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::case_insensitive\fP = True\fC [static]\fP"
+.PP
+Definition at line 363 of file cmd2\&.py'\&.
+.PP
+Referenced by do_cmdenvironment()\&.
+.SS "dictionary \fBcmd2::Cmd::colorcodes\fP\fC [static]\fP"\fBInitial value:\fP
+.PP
+.nf
+{'bold':{True:'\x1b[1m',False:'\x1b[22m'},
+ 'cyan':{True:'\x1b[36m',False:'\x1b[39m'},
+ 'blue':{True:'\x1b[34m',False:'\x1b[39m'},
+ 'red':{True:'\x1b[31m',False:'\x1b[39m'},
+ 'magenta':{True:'\x1b[35m',False:'\x1b[39m'},
+ 'green':{True:'\x1b[32m',False:'\x1b[39m'},
+ 'underline':{True:'\x1b[4m',False:'\x1b[24m'}}
+.fi
+.PP
+Definition at line 427 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::Cmd::colors\fP = (platform\&.system() != 'Windows')\fC [static]\fP"
+.PP
+Definition at line 434 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::Cmd::commentGrammars\fP = pyparsing\&.Or([pyparsing\&.pythonStyleComment, pyparsing\&.cStyleComment])\fC [static]\fP"
+.PP
+Definition at line 485 of file cmd2\&.py'\&.
+.PP
+Referenced by complete_statement()\&.
+.SS "tuple \fBcmd2::Cmd::commentInProgress\fP = pyparsing\&.Literal('/*')\fC [static]\fP"
+.PP
+Definition at line 487 of file cmd2\&.py'\&.
+.SS "string \fBcmd2::Cmd::continuation_prompt\fP = '> '\fC [static]\fP"
+.PP
+Definition at line 364 of file cmd2\&.py'\&.
+.PP
+Referenced by complete_statement()\&.
+.SS "\fBcmd2::Cmd::continuation_prompt\fP"
+.PP
+Definition at line 1218 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::current_script_dir\fP = None\fC [static]\fP"
+.PP
+Definition at line 375 of file cmd2\&.py'\&.
+.PP
+Referenced by do__relative_load()\&.
+.SS "\fBcmd2::Cmd::debug\fP = False\fC [static]\fP"
+.PP
+Definition at line 379 of file cmd2\&.py'\&.
+.PP
+Referenced by perror()\&.
+.SS "string \fBcmd2::Cmd::default_file_name\fP = 'command\&.txt'\fC [static]\fP"
+.PP
+Definition at line 373 of file cmd2\&.py'\&.
+.PP
+Referenced by do_ed(), and do_save()\&.
+.SS "\fBcmd2::Cmd::default_to_shell\fP = False\fC [static]\fP"
+.PP
+Reimplemented in \fBpirate7::Pirate\fP, and \fBpirate8::Pirate\fP'\&.
+.PP
+Definition at line 370 of file cmd2\&.py'\&.
+.PP
+Referenced by _default()\&.
+.SS "string \fBcmd2::Cmd::defaultExtension\fP = 'txt'\fC [static]\fP"
+.PP
+Definition at line 372 of file cmd2\&.py'\&.
+.PP
+Referenced by read_file_or_url()\&.
+.SS "\fBcmd2::Cmd::do__load\fP = do_load\fC [static]\fP"
+.PP
+Definition at line 1241 of file cmd2\&.py'\&.
+.PP
+Referenced by do__relative_load(), and do_ed()\&.
+.SS "\fBcmd2::Cmd::do_edit\fP = do_ed\fC [static]\fP"
+.PP
+Definition at line 1155 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_eof\fP = do_EOF\fC [static]\fP"
+.PP
+Definition at line 939 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_exit\fP = do_quit\fC [static]\fP"
+.PP
+Definition at line 943 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_hi\fP = do_history\fC [static]\fP"
+.PP
+Definition at line 1124 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_l\fP = do_list\fC [static]\fP"
+.PP
+Definition at line 1125 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_li\fP = do_list\fC [static]\fP"
+.PP
+Definition at line 1126 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_q\fP = do_quit\fC [static]\fP"
+.PP
+Definition at line 944 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::do_r\fP = do_run\fC [static]\fP"
+.PP
+Definition at line 1256 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::echo\fP = False\fC [static]\fP"
+.PP
+Definition at line 362 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::Cmd::editor\fP = os\&.environ\&.get('EDITOR')\fC [static]\fP"
+.PP
+Definition at line 418 of file cmd2\&.py'\&.
+.PP
+Referenced by do_ed()\&.
+.SS "string \fBcmd2::Cmd::editor\fP = 'notepad'\fC [static]\fP"
+.PP
+Definition at line 421 of file cmd2\&.py'\&.
+.SS "string \fBcmd2::Cmd::excludeFromHistory\fP = '''run r list l \fBhistory\fP hi ed edit li eof'''\fC [static]\fP"
+.PP
+Definition at line 369 of file cmd2\&.py'\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.SS "\fBcmd2::Cmd::feedback_to_output\fP = False\fC [static]\fP"
+.PP
+Definition at line 377 of file cmd2\&.py'\&.
+.PP
+Referenced by pfeedback()\&.
+.SS "string \fBcmd2::Cmd::help\fP = 'describe function of parameter'\fC [static]\fP"
+.PP
+Reimplemented in \fBpirate8::Pirate\fP'\&.
+.PP
+Definition at line 981 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::history\fP"
+.PP
+Definition at line 469 of file cmd2\&.py'\&.
+.PP
+Referenced by do_ed(), do_history(), do_save(), and last_matching()\&.
+.SS "\fBcmd2::Cmd::initial_stdout\fP"
+.PP
+Definition at line 469 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::inputParser\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::intro\fP"
+.PP
+Definition at line 898 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::kept_state\fP = None\fC [static]\fP"
+.PP
+Definition at line 381 of file cmd2\&.py'\&.
+.PP
+Referenced by redirect_output(), and restore_output()\&.
+.SS "\fBcmd2::Cmd::kept_sys\fP"
+.PP
+Definition at line 809 of file cmd2\&.py'\&.
+.PP
+Referenced by redirect_output()\&.
+.SS "\fBcmd2::Cmd::keywords\fP"
+.PP
+Definition at line 469 of file cmd2\&.py'\&.
+.PP
+Referenced by func_named()\&.
+.SS "\fBcmd2::Cmd::lastcmd\fP"
+.PP
+Definition at line 854 of file cmd2\&.py'\&.
+.SS "string \fBcmd2::Cmd::legalChars\fP = u'!#$%\&.:?@_'\fC [static]\fP"
+.PP
+Definition at line 367 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::locals_in_py\fP = True\fC [static]\fP"
+.PP
+Definition at line 380 of file cmd2\&.py'\&.
+.PP
+Referenced by do_py()\&.
+.SS "\fBcmd2::Cmd::multilineCommand\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.SS "list \fBcmd2::Cmd::multilineCommands\fP = []\fC [static]\fP"
+.PP
+Reimplemented in \fBpirate7::Pirate\fP, \fBpirate8::Pirate\fP, and \fBexample::CmdLineApp\fP'\&.
+.PP
+Definition at line 491 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::multilineParser\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.SS "string \fBcmd2::Cmd::noSpecialParse\fP = 'set ed edit exit'\fC [static]\fP"
+.PP
+Definition at line 371 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::old_completer\fP"
+.PP
+Definition at line 898 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::parser\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.PP
+Referenced by cmd2::ParsedString::full_parsed_statement(), and cmd2::ParsedString::with_args_replaced()\&.
+.SS "tuple \fBcmd2::Cmd::prefixParser\fP = pyparsing\&.Empty()\fC [static]\fP"
+.PP
+Definition at line 484 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::prompt\fP"
+.PP
+Reimplemented in \fBpirate6::Pirate\fP, \fBpirate7::Pirate\fP, and \fBpirate8::Pirate\fP'\&.
+.PP
+Definition at line 1218 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::pystate\fP"
+.PP
+Definition at line 469 of file cmd2\&.py'\&.
+.PP
+Referenced by do_py()\&.
+.SS "\fBcmd2::Cmd::quiet\fP = False\fC [static]\fP"
+.PP
+Definition at line 378 of file cmd2\&.py'\&.
+.PP
+Referenced by pfeedback()\&.
+.SS "\fBcmd2::Cmd::redirect\fP"
+.PP
+Definition at line 809 of file cmd2\&.py'\&.
+.PP
+Referenced by redirect_output()\&.
+.SS "string \fBcmd2::Cmd::redirector\fP = '>'\fC [static]\fP"
+.PP
+Reimplemented in \fBexample::CmdLineApp\fP'\&.
+.PP
+Definition at line 382 of file cmd2\&.py'\&.
+.PP
+Referenced by redirect_output()\&.
+.SS "list \fBcmd2::Cmd::reserved_words\fP = []\fC [static]\fP"
+.PP
+Definition at line 376 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::Cmd::saveparser\fP\fC [static]\fP"\fBInitial value:\fP
+.PP
+.nf
+(pyparsing\&.Optional(pyparsing\&.Word(pyparsing\&.nums)^'*')('idx') +
+ pyparsing\&.Optional(pyparsing\&.Word(legalChars + '/\\'))('fname') +
+ pyparsing\&.stringEnd)
+.fi
+.PP
+Definition at line 1157 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::Cmd::settable\fP\fC [static]\fP"\fBInitial value:\fP
+.PP
+.nf
+stubbornDict('''
+ prompt
+ colors Colorized output (*nix only)
+ continuation_prompt On 2nd+ line of input
+ debug Show full error stack on error
+ default_file_name for ``save``, ``load``, etc\&.
+ editor Program used by ``edit``
+ case_insensitive upper- and lower-case both OK
+ feedback_to_output include nonessentials in `|`, `>` results
+ quiet Don't print nonessential feedback
+ echo Echo command issued into output
+ timing Report execution times
+ abbrev Accept abbreviated commands
+ ''')
+.fi
+.PP
+Reimplemented in \fBpirate7::Pirate\fP, and \fBpirate8::Pirate\fP'\&.
+.PP
+Definition at line 383 of file cmd2\&.py'\&.
+.PP
+Referenced by do_cmdenvironment(), do_set(), and do_show()\&.
+.SS "dictionary \fBcmd2::Cmd::shortcuts\fP = {'?': '\fBhelp\fP', '!': 'shell', '@': 'load', '@@': '_relative_load'}\fC [static]\fP"
+.PP
+Definition at line 368 of file cmd2\&.py'\&.
+.PP
+Referenced by do_shortcuts(), and parsed()\&.
+.SS "\fBcmd2::Cmd::shortcuts\fP"
+.PP
+Definition at line 469 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::singleLineParser\fP"
+.PP
+Definition at line 667 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::stdin\fP"
+.PP
+Definition at line 1218 of file cmd2\&.py'\&.
+.PP
+Referenced by do_py()\&.
+.SS "\fBcmd2::Cmd::stdout\fP"
+.PP
+Definition at line 440 of file cmd2\&.py'\&.
+.PP
+Referenced by do_help(), do_py(), and redirect_output()\&.
+.SS "list \fBcmd2::Cmd::terminators\fP = [';']\fC [static]\fP"
+.PP
+Reimplemented in \fBpirate7::Pirate\fP, and \fBpirate8::Pirate\fP'\&.
+.PP
+Definition at line 489 of file cmd2\&.py'\&.
+.PP
+Referenced by do_cmdenvironment()\&.
+.SS "\fBcmd2::Cmd::timing\fP = False\fC [static]\fP"
+.PP
+Definition at line 365 of file cmd2\&.py'\&.
+.PP
+Referenced by onecmd_plus_hooks()\&.
+.SS "tuple \fBcmd2::Cmd::urlre\fP = re\&.compile('(https?://[-\\\\w\\\\\&./]+)')\fC [static]\fP"
+.PP
+Definition at line 1217 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd::use_rawinput\fP"
+.PP
+Definition at line 1218 of file cmd2\&.py'\&.
+.PP
+Referenced by pseudo_raw_input()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_Cmd2TestCase.3 b/doxygen/man/man3/cmd2_Cmd2TestCase.3
new file mode 100644
index 0000000..7df05d2
--- /dev/null
+++ b/doxygen/man/man3/cmd2_Cmd2TestCase.3
@@ -0,0 +1,239 @@
+.TH "cmd2::Cmd2TestCase" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::Cmd2TestCase \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBfetchTranscripts\fP"
+.br
+.ti -1c
+.RI "def \fBrunTest\fP"
+.br
+.ti -1c
+.RI "def \fBsetUp\fP"
+.br
+.ti -1c
+.RI "def \fBtearDown\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBcmdapp\fP"
+.br
+.ti -1c
+.RI "\fBoutputTrap\fP"
+.br
+.ti -1c
+.RI "\fBtranscripts\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBanyWhitespace\fP = re\&.compile(r'\\s', re\&.DOTALL | re\&.MULTILINE)"
+.br
+.ti -1c
+.RI "\fBCmdApp\fP = None"
+.br
+.ti -1c
+.RI "\fBexpectationParser\fP = \fBregexPattern\fP|\fBnotRegexPattern\fP"
+.br
+.ti -1c
+.RI "tuple \fBnotRegexPattern\fP = pyparsing\&.Word(pyparsing\&.printables)"
+.br
+.ti -1c
+.RI "tuple \fBregexPattern\fP = pyparsing\&.QuotedString(quoteChar=r'/', escChar='\\\\', multiline=True, unquoteResults=True)"
+.br
+.in -1c
+.SS "Private Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB_test_transcript\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+Subclass this, setting CmdApp, to make a unittest.TestCase class
+ that will execute the commands in a transcript file and expect the results shown.
+ See example.py.fi
+.PP
+
+.PP
+Definition at line 1476 of file cmd2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::Cmd2TestCase::_test_transcript (self, fname, transcript)\fC [private]\fP"
+.PP
+Definition at line 1506 of file cmd2\&.py'\&.
+.PP
+References cmdapp\&.
+.PP
+Referenced by runTest()\&.
+.PP
+.nf
+1506
+1507 def _test_transcript(self, fname, transcript):
+1508 lineNum = 0
+1509 finished = False
+1510 line = transcript\&.next()
+1511 lineNum += 1
+1512 tests_run = 0
+1513 while not finished:
+1514 # Scroll forward to where actual commands begin
+1515 while not line\&.startswith(self\&.cmdapp\&.prompt):
+1516 try:
+1517 line = transcript\&.next()
+1518 except StopIteration:
+1519 finished = True
+1520 break
+1521 lineNum += 1
+1522 command = [line[len(self\&.cmdapp\&.prompt):]]
+1523 line = transcript\&.next()
+1524 # Read the entirety of a multi-line command
+1525 while line\&.startswith(self\&.cmdapp\&.continuation_prompt):
+1526 command\&.append(line[len(self\&.cmdapp\&.continuation_prompt):])
+1527 try:
+1528 line = transcript\&.next()
+1529 except StopIteration:
+1530 raise (StopIteration,
+1531 'Transcript broke off while reading command beginning at line %d with\n%s'
+1532 % (command[0]))
+1533 lineNum += 1
+1534 command = ''\&.join(command)
+1535 # Send the command into the application and capture the resulting output
+1536 stop = self\&.cmdapp\&.onecmd_plus_hooks(command)
+1537 #TODO: should act on ``stop``
+1538 result = self\&.outputTrap\&.read()
+1539 # Read the expected result from transcript
+1540 if line\&.startswith(self\&.cmdapp\&.prompt):
+1541 message = '\nFile %s, line %d\nCommand was:\n%s\nExpected: (nothing)\nGot:\n%s\n'%\
+1542 (fname, lineNum, command, result)
+1543 self\&.assert_(not(result\&.strip()), message)
+1544 continue
+1545 expected = []
+1546 while not line\&.startswith(self\&.cmdapp\&.prompt):
+1547 expected\&.append(line)
+1548 try:
+1549 line = transcript\&.next()
+1550 except StopIteration:
+1551 finished = True
+1552 break
+1553 lineNum += 1
+1554 expected = ''\&.join(expected)
+1555 # Compare actual result to expected
+1556 message = '\nFile %s, line %d\nCommand was:\n%s\nExpected:\n%s\nGot:\n%s\n'%\
+1557 (fname, lineNum, command, expected, result)
+1558 expected = self\&.expectationParser\&.transformString(expected)
+1559 # checking whitespace is a pain - let's skip it
+1560 expected = self\&.anyWhitespace\&.sub('', expected)
+1561 result = self\&.anyWhitespace\&.sub('', result)
+1562 self\&.assert_(re\&.match(expected, result, re\&.MULTILINE | re\&.DOTALL), message)
+
+.fi
+.SS "def cmd2::Cmd2TestCase::fetchTranscripts (self)"
+.PP
+Definition at line 1481 of file cmd2\&.py'\&.
+.PP
+Referenced by setUp()\&.
+.PP
+.nf
+1481
+1482 def fetchTranscripts(self):
+1483 self\&.transcripts = {}
+1484 for fileset in self\&.CmdApp\&.testfiles:
+1485 for fname in glob\&.glob(fileset):
+1486 tfile = open(fname)
+1487 self\&.transcripts[fname] = iter(tfile\&.readlines())
+1488 tfile\&.close()
+1489 if not len(self\&.transcripts):
+ raise (StandardError,), 'No test files found - nothing to test\&.'
+.fi
+.SS "def cmd2::Cmd2TestCase::runTest (self)"
+.PP
+Definition at line 1495 of file cmd2\&.py'\&.
+.PP
+References _test_transcript(), and CmdApp\&.
+.PP
+.nf
+1495
+1496 def runTest(self): # was testall
+1497 if self\&.CmdApp:
+1498 its = sorted(self\&.transcripts\&.items())
+1499 for (fname, transcript) in its:
+ self\&._test_transcript(fname, transcript)
+.fi
+.SS "def cmd2::Cmd2TestCase::setUp (self)"
+.PP
+Definition at line 1490 of file cmd2\&.py'\&.
+.PP
+References CmdApp, cmdapp, fetchTranscripts(), and outputTrap\&.
+.PP
+.nf
+1490
+1491 def setUp(self):
+1492 if self\&.CmdApp:
+1493 self\&.outputTrap = OutputTrap()
+1494 self\&.cmdapp = self\&.CmdApp()
+ self\&.fetchTranscripts()
+.fi
+.SS "def cmd2::Cmd2TestCase::tearDown (self)"
+.PP
+Definition at line 1563 of file cmd2\&.py'\&.
+.PP
+References CmdApp\&.
+.PP
+.nf
+1563
+1564 def tearDown(self):
+1565 if self\&.CmdApp:
+1566 self\&.outputTrap\&.tearDown()
+
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "tuple \fBcmd2::Cmd2TestCase::anyWhitespace\fP = re\&.compile(r'\\s', re\&.DOTALL | re\&.MULTILINE)\fC [static]\fP"
+.PP
+Definition at line 1505 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd2TestCase::CmdApp\fP = None\fC [static]\fP"
+.PP
+Definition at line 1480 of file cmd2\&.py'\&.
+.PP
+Referenced by runTest(), setUp(), and tearDown()\&.
+.SS "\fBcmd2::Cmd2TestCase::cmdapp\fP"
+.PP
+Definition at line 1490 of file cmd2\&.py'\&.
+.PP
+Referenced by _test_transcript(), and setUp()\&.
+.SS "\fBcmd2::Cmd2TestCase::expectationParser\fP = \fBregexPattern\fP|\fBnotRegexPattern\fP\fC [static]\fP"
+.PP
+Definition at line 1504 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::Cmd2TestCase::notRegexPattern\fP = pyparsing\&.Word(pyparsing\&.printables)\fC [static]\fP"
+.PP
+Definition at line 1502 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd2TestCase::outputTrap\fP"
+.PP
+Definition at line 1490 of file cmd2\&.py'\&.
+.PP
+Referenced by setUp()\&.
+.SS "tuple \fBcmd2::Cmd2TestCase::regexPattern\fP = pyparsing\&.QuotedString(quoteChar=r'/', escChar='\\\\', multiline=True, unquoteResults=True)\fC [static]\fP"
+.PP
+Definition at line 1500 of file cmd2\&.py'\&.
+.SS "\fBcmd2::Cmd2TestCase::transcripts\fP"
+.PP
+Definition at line 1481 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_EmbeddedConsoleExit.3 b/doxygen/man/man3/cmd2_EmbeddedConsoleExit.3
new file mode 100644
index 0000000..409fb9d
--- /dev/null
+++ b/doxygen/man/man3/cmd2_EmbeddedConsoleExit.3
@@ -0,0 +1,15 @@
+.TH "cmd2::EmbeddedConsoleExit" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::EmbeddedConsoleExit \-
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP
+Definition at line 346 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_EmptyStatement.3 b/doxygen/man/man3/cmd2_EmptyStatement.3
new file mode 100644
index 0000000..1c04743
--- /dev/null
+++ b/doxygen/man/man3/cmd2_EmptyStatement.3
@@ -0,0 +1,15 @@
+.TH "cmd2::EmptyStatement" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::EmptyStatement \-
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP
+Definition at line 349 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_History.3 b/doxygen/man/man3/cmd2_History.3
new file mode 100644
index 0000000..90938fa
--- /dev/null
+++ b/doxygen/man/man3/cmd2_History.3
@@ -0,0 +1,228 @@
+.TH "cmd2::History" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::History \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBappend\fP"
+.br
+.ti -1c
+.RI "def \fBextend\fP"
+.br
+.ti -1c
+.RI "def \fBget\fP"
+.br
+.ti -1c
+.RI "def \fBsearch\fP"
+.br
+.ti -1c
+.RI "def \fBspan\fP"
+.br
+.ti -1c
+.RI "def \fBto_index\fP"
+.br
+.ti -1c
+.RI "def \fBzero_based_index\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBrangePattern\fP = re\&.compile(r'^\\s*(?P<start>[\\d]+)?\\s*\\-\\s*(?P<end>[\\d]+)?\\s*$')"
+.br
+.ti -1c
+.RI "tuple \fBspanpattern\fP = re\&.compile(r'^\\s*(?P<start>\\-?\\d+)?\\s*(?P<separator>:|(\\\&.{2,}))?\\s*(?P<end>\\-?\\d+)?\\s*$')"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+A list of HistoryItems that knows how to respond to user requests.
+>>> h = History([HistoryItem('first'), HistoryItem('second'), HistoryItem('third'), HistoryItem('fourth')])
+>>> h.span('-2..')
+['third', 'fourth']
+>>> h.span('2..3')
+['second', 'third']
+>>> h.span('3')
+['third']
+>>> h.span(':')
+['first', 'second', 'third', 'fourth']
+>>> h.span('2..')
+['second', 'third', 'fourth']
+>>> h.span('-1')
+['fourth']
+>>> h.span('-2..-3')
+['third', 'second']
+>>> h.search('o')
+['second', 'fourth']
+>>> h.search('/IR/')
+['first', 'third']
+.fi
+.PP
+
+.PP
+Definition at line 1304 of file cmd2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::History::append (self, new)"
+.PP
+Definition at line 1368 of file cmd2\&.py'\&.
+.PP
+Referenced by extend()\&.
+.PP
+.nf
+1368
+1369 def append(self, new):
+1370 new = HistoryItem(new)
+1371 list\&.append(self, new)
+ new\&.idx = len(self)
+.fi
+.SS "def cmd2::History::extend (self, new)"
+.PP
+Definition at line 1372 of file cmd2\&.py'\&.
+.PP
+References cmd2::StubbornDict::append, and append()\&.
+.PP
+.nf
+1372
+1373 def extend(self, new):
+1374 for n in new:
+1375 self\&.append(n)
+
+.fi
+.SS "def cmd2::History::get (self, getme = \fCNone\fP, fromEnd = \fCFalse\fP)"
+.PP
+Definition at line 1376 of file cmd2\&.py'\&.
+.PP
+.nf
+1376
+1377 def get(self, getme=None, fromEnd=False):
+1378 if not getme:
+1379 return self
+1380 try:
+1381 getme = int(getme)
+1382 if getme < 0:
+1383 return self[:(-1 * getme)]
+1384 else:
+1385 return [self[getme-1]]
+1386 except IndexError:
+1387 return []
+1388 except ValueError:
+1389 rangeResult = self\&.rangePattern\&.search(getme)
+1390 if rangeResult:
+1391 start = rangeResult\&.group('start') or None
+1392 end = rangeResult\&.group('start') or None
+1393 if start:
+1394 start = int(start) - 1
+1395 if end:
+1396 end = int(end)
+1397 return self[start:end]
+1398
+1399 getme = getme\&.strip()
+1400
+1401 if getme\&.startswith(r'/') and getme\&.endswith(r'/'):
+1402 finder = re\&.compile(getme[1:-1], re\&.DOTALL | re\&.MULTILINE | re\&.IGNORECASE)
+1403 def isin(hi):
+1404 return finder\&.search(hi)
+1405 else:
+1406 def isin(hi):
+1407 return (getme\&.lower() in hi\&.lowercase)
+1408 return [itm for itm in self if isin(itm)]
+
+.fi
+.SS "def cmd2::History::search (self, target)"
+.PP
+Definition at line 1337 of file cmd2\&.py'\&.
+.PP
+.nf
+1337
+1338 def search(self, target):
+1339 target = target\&.strip()
+1340 if target[0] == target[-1] == '/' and len(target) > 1:
+1341 target = target[1:-1]
+1342 else:
+1343 target = re\&.escape(target)
+1344 pattern = re\&.compile(target, re\&.IGNORECASE)
+ return [s for s in self if pattern\&.search(s)]
+.fi
+.SS "def cmd2::History::span (self, raw)"
+.PP
+Definition at line 1346 of file cmd2\&.py'\&.
+.PP
+References to_index()\&.
+.PP
+.nf
+1346
+1347 def span(self, raw):
+1348 if raw\&.lower() in ('*', '-', 'all'):
+1349 raw = ':'
+1350 results = self\&.spanpattern\&.search(raw)
+1351 if not results:
+1352 raise IndexError
+1353 if not results\&.group('separator'):
+1354 return [self[self\&.to_index(results\&.group('start'))]]
+1355 start = self\&.to_index(results\&.group('start'))
+1356 end = self\&.to_index(results\&.group('end'))
+1357 reverse = False
+1358 if end is not None:
+1359 if end < start:
+1360 (start, end) = (end, start)
+1361 reverse = True
+1362 end += 1
+1363 result = self[start:end]
+1364 if reverse:
+1365 result\&.reverse()
+1366 return result
+
+.fi
+.SS "def cmd2::History::to_index (self, raw)"
+.PP
+Definition at line 1331 of file cmd2\&.py'\&.
+.PP
+References zero_based_index()\&.
+.PP
+Referenced by span()\&.
+.PP
+.nf
+1331
+1332 def to_index(self, raw):
+1333 if raw:
+1334 result = self\&.zero_based_index(int(raw))
+1335 else:
+1336 result = None
+ return result
+.fi
+.SS "def cmd2::History::zero_based_index (self, onebased)"
+.PP
+Definition at line 1326 of file cmd2\&.py'\&.
+.PP
+Referenced by to_index()\&.
+.PP
+.nf
+1326
+1327 def zero_based_index(self, onebased):
+1328 result = onebased
+1329 if result > 0:
+1330 result -= 1
+ return result
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "tuple \fBcmd2::History::rangePattern\fP = re\&.compile(r'^\\s*(?P<start>[\\d]+)?\\s*\\-\\s*(?P<end>[\\d]+)?\\s*$')\fC [static]\fP"
+.PP
+Definition at line 1367 of file cmd2\&.py'\&.
+.SS "tuple \fBcmd2::History::spanpattern\fP = re\&.compile(r'^\\s*(?P<start>\\-?\\d+)?\\s*(?P<separator>:|(\\\&.{2,}))?\\s*(?P<end>\\-?\\d+)?\\s*$')\fC [static]\fP"
+.PP
+Definition at line 1345 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_HistoryItem.3 b/doxygen/man/man3/cmd2_HistoryItem.3
new file mode 100644
index 0000000..46222aa
--- /dev/null
+++ b/doxygen/man/man3/cmd2_HistoryItem.3
@@ -0,0 +1,84 @@
+.TH "cmd2::HistoryItem" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::HistoryItem \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__init__\fP"
+.br
+.ti -1c
+.RI "def \fBpr\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBidx\fP"
+.br
+.ti -1c
+.RI "\fBlowercase\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "string \fBlistformat\fP = '-------------------------[%d]\\n%s\\n'"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 1295 of file cmd2\&.py'\&.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "def cmd2::HistoryItem::__init__ (self, instr)"
+.PP
+Definition at line 1297 of file cmd2\&.py'\&.
+.PP
+.nf
+1297
+1298 def __init__(self, instr):
+1299 str\&.__init__(self)
+1300 self\&.lowercase = self\&.lower()
+ self\&.idx = None
+.fi
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::HistoryItem::pr (self)"
+.PP
+Definition at line 1301 of file cmd2\&.py'\&.
+.PP
+References idx, and listformat\&.
+.PP
+.nf
+1301
+1302 def pr(self):
+1303 return self\&.listformat % (self\&.idx, str(self))
+
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBcmd2::HistoryItem::idx\fP"
+.PP
+Definition at line 1297 of file cmd2\&.py'\&.
+.PP
+Referenced by pr()\&.
+.SS "string \fBcmd2::HistoryItem::listformat\fP = '-------------------------[%d]\\n%s\\n'\fC [static]\fP"
+.PP
+Definition at line 1296 of file cmd2\&.py'\&.
+.PP
+Referenced by pr()\&.
+.SS "\fBcmd2::HistoryItem::lowercase\fP"
+.PP
+Definition at line 1297 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_NotSettableError.3 b/doxygen/man/man3/cmd2_NotSettableError.3
new file mode 100644
index 0000000..2a1e3e0
--- /dev/null
+++ b/doxygen/man/man3/cmd2_NotSettableError.3
@@ -0,0 +1,15 @@
+.TH "cmd2::NotSettableError" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::NotSettableError \-
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP
+Definition at line 1409 of file cmd2\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_OptionParser.3 b/doxygen/man/man3/cmd2_OptionParser.3
new file mode 100644
index 0000000..15d1f0a
--- /dev/null
+++ b/doxygen/man/man3/cmd2_OptionParser.3
@@ -0,0 +1,82 @@
+.TH "cmd2::OptionParser" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::OptionParser \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBerror\fP"
+.br
+.ti -1c
+.RI "def \fBexit\fP"
+.br
+.ti -1c
+.RI "def \fBprint_help\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 64 of file cmd2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::OptionParser::error (self, msg)".PP
+.nf
+error(msg : string)
+
+Print a usage message incorporating 'msg' to stderr and exit.
+If you override this in a subclass, it should not return -- it
+should either exit or raise an exception.
+.fi
+.PP
+
+.PP
+Definition at line 77 of file cmd2\&.py'\&.
+.PP
+.nf
+77
+78 def error(self, msg):
+79 '''error(msg : string)
+80
+81 Print a usage message incorporating 'msg' to stderr and exit\&.
+82 If you override this in a subclass, it should not return -- it
+83 should either exit or raise an exception\&.
+84 '''
+85 raise optparse\&.OptParseError(msg)
+
+.fi
+.SS "def cmd2::OptionParser::exit (self, status = \fC0\fP, msg = \fCNone\fP)"
+.PP
+Definition at line 65 of file cmd2\&.py'\&.
+.PP
+.nf
+65
+66 def exit(self, status=0, msg=None):
+67 self\&.values\&._exit = True
+68 if msg:
+69 print (msg)
+
+.fi
+.SS "def cmd2::OptionParser::print_help (self, args, kwargs)"
+.PP
+Definition at line 70 of file cmd2\&.py'\&.
+.PP
+.nf
+70
+71 def print_help(self, *args, **kwargs):
+72 try:
+73 print (self\&._func\&.__doc__)
+74 except AttributeError:
+75 pass
+76 optparse\&.OptionParser\&.print_help(self, *args, **kwargs)
+
+.fi
+
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_OutputTrap.3 b/doxygen/man/man3/cmd2_OutputTrap.3
new file mode 100644
index 0000000..8a1a739
--- /dev/null
+++ b/doxygen/man/man3/cmd2_OutputTrap.3
@@ -0,0 +1,114 @@
+.TH "cmd2::OutputTrap" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::OutputTrap \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits \fBcmd2::Borg\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__init__\fP"
+.br
+.ti -1c
+.RI "def \fBread\fP"
+.br
+.ti -1c
+.RI "def \fBtearDown\fP"
+.br
+.ti -1c
+.RI "def \fBwrite\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBcontents\fP"
+.br
+.ti -1c
+.RI "\fBold_stdout\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+Instantiate an OutputTrap to divert/capture ALL stdout output. For use in unit testing.
+Call `tearDown()` to return to normal output..fi
+.PP
+
+.PP
+Definition at line 1459 of file cmd2\&.py'\&.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "def cmd2::OutputTrap::__init__ (self)"
+.PP
+Definition at line 1462 of file cmd2\&.py'\&.
+.PP
+.nf
+1462
+1463 def __init__(self):
+1464 self\&.contents = ''
+1465 self\&.old_stdout = sys\&.stdout
+ sys\&.stdout = self
+.fi
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::OutputTrap::read (self)"
+.PP
+Definition at line 1468 of file cmd2\&.py'\&.
+.PP
+References contents\&.
+.PP
+.nf
+1468
+1469 def read(self):
+1470 result = self\&.contents
+1471 self\&.contents = ''
+ return result
+.fi
+.SS "def cmd2::OutputTrap::tearDown (self)"
+.PP
+Definition at line 1472 of file cmd2\&.py'\&.
+.PP
+References contents, and old_stdout\&.
+.PP
+.nf
+1472
+1473 def tearDown(self):
+1474 sys\&.stdout = self\&.old_stdout
+1475 self\&.contents = ''
+
+.fi
+.SS "def cmd2::OutputTrap::write (self, txt)"
+.PP
+Definition at line 1466 of file cmd2\&.py'\&.
+.PP
+References contents\&.
+.PP
+.nf
+1466
+1467 def write(self, txt):
+ self\&.contents += txt
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBcmd2::OutputTrap::contents\fP"
+.PP
+Definition at line 1462 of file cmd2\&.py'\&.
+.PP
+Referenced by read(), tearDown(), and write()\&.
+.SS "\fBcmd2::OutputTrap::old_stdout\fP"
+.PP
+Definition at line 1462 of file cmd2\&.py'\&.
+.PP
+Referenced by tearDown()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_ParsedString.3 b/doxygen/man/man3/cmd2_ParsedString.3
new file mode 100644
index 0000000..4713001
--- /dev/null
+++ b/doxygen/man/man3/cmd2_ParsedString.3
@@ -0,0 +1,59 @@
+.TH "cmd2::ParsedString" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::ParsedString \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBfull_parsed_statement\fP"
+.br
+.ti -1c
+.RI "def \fBwith_args_replaced\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 257 of file cmd2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::ParsedString::full_parsed_statement (self)"
+.PP
+Definition at line 258 of file cmd2\&.py'\&.
+.PP
+References cmd2::Cmd::parsed(), and cmd2::Cmd::parser\&.
+.PP
+.nf
+258
+259 def full_parsed_statement(self):
+260 new = ParsedString('%s %s' % (self\&.parsed\&.command, self\&.parsed\&.args))
+261 new\&.parsed = self\&.parsed
+262 new\&.parser = self\&.parser
+ return new
+.fi
+.SS "def cmd2::ParsedString::with_args_replaced (self, newargs)"
+.PP
+Definition at line 263 of file cmd2\&.py'\&.
+.PP
+References cmd2::Cmd::parsed(), and cmd2::Cmd::parser\&.
+.PP
+.nf
+263
+264 def with_args_replaced(self, newargs):
+265 new = ParsedString(newargs)
+266 new\&.parsed = self\&.parsed
+267 new\&.parser = self\&.parser
+268 new\&.parsed['args'] = newargs
+269 new\&.parsed\&.statement['args'] = newargs
+270 return new
+
+.fi
+
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_PasteBufferError.3 b/doxygen/man/man3/cmd2_PasteBufferError.3
new file mode 100644
index 0000000..c87cc84
--- /dev/null
+++ b/doxygen/man/man3/cmd2_PasteBufferError.3
@@ -0,0 +1,56 @@
+.TH "cmd2::PasteBufferError" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::PasteBufferError \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__init__\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "string \fBerrmsg\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 162 of file cmd2\&.py'\&.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "def cmd2::PasteBufferError::__init__ (self)"
+.PP
+Definition at line 174 of file cmd2\&.py'\&.
+.PP
+References errmsg\&.
+.PP
+.nf
+174
+175 def __init__(self):
+176 Exception\&.__init__(self, self\&.errmsg)
+
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "string \fBcmd2::PasteBufferError::errmsg\fP\fC [static]\fP"\fBInitial value:\fP
+.PP
+.nf
+'''Redirecting to or from paste buffer requires pywin32
+to be installed on operating system\&.
+Download from http://sourceforge\&.net/projects/pywin32/'''
+.fi
+.PP
+Definition at line 164 of file cmd2\&.py'\&.
+.PP
+Referenced by __init__()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_Statekeeper.3 b/doxygen/man/man3/cmd2_Statekeeper.3
new file mode 100644
index 0000000..4ace3ed
--- /dev/null
+++ b/doxygen/man/man3/cmd2_Statekeeper.3
@@ -0,0 +1,92 @@
+.TH "cmd2::Statekeeper" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::Statekeeper \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__init__\fP"
+.br
+.ti -1c
+.RI "def \fBrestore\fP"
+.br
+.ti -1c
+.RI "def \fBsave\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBattribs\fP"
+.br
+.ti -1c
+.RI "\fBobj\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 1436 of file cmd2\&.py'\&.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "def cmd2::Statekeeper::__init__ (self, obj, attribs)"
+.PP
+Definition at line 1437 of file cmd2\&.py'\&.
+.PP
+.nf
+1437
+1438 def __init__(self, obj, attribs):
+1439 self\&.obj = obj
+1440 self\&.attribs = attribs
+1441 if self\&.obj:
+ self\&.save()
+.fi
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::Statekeeper::restore (self)"
+.PP
+Definition at line 1445 of file cmd2\&.py'\&.
+.PP
+References attribs, and obj\&.
+.PP
+.nf
+1445
+1446 def restore(self):
+1447 if self\&.obj:
+1448 for attrib in self\&.attribs:
+1449 setattr(self\&.obj, attrib, getattr(self, attrib))
+
+.fi
+.SS "def cmd2::Statekeeper::save (self)"
+.PP
+Definition at line 1442 of file cmd2\&.py'\&.
+.PP
+References attribs, and obj\&.
+.PP
+.nf
+1442
+1443 def save(self):
+1444 for attrib in self\&.attribs:
+ setattr(self, attrib, getattr(self\&.obj, attrib))
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBcmd2::Statekeeper::attribs\fP"
+.PP
+Definition at line 1437 of file cmd2\&.py'\&.
+.PP
+Referenced by restore(), and save()\&.
+.SS "\fBcmd2::Statekeeper::obj\fP"
+.PP
+Definition at line 1437 of file cmd2\&.py'\&.
+.PP
+Referenced by restore(), and save()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/cmd2_StubbornDict.3 b/doxygen/man/man3/cmd2_StubbornDict.3
new file mode 100644
index 0000000..dcb6892
--- /dev/null
+++ b/doxygen/man/man3/cmd2_StubbornDict.3
@@ -0,0 +1,145 @@
+.TH "cmd2::StubbornDict" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cmd2::StubbornDict \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fB__add__\fP"
+.br
+.ti -1c
+.RI "def \fB__iadd__\fP"
+.br
+.ti -1c
+.RI "def \fB__radd__\fP"
+.br
+.ti -1c
+.RI "def \fBto_dict\fP"
+.br
+.ti -1c
+.RI "def \fBupdate\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBappend\fP = update"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+Dictionary that tolerates many input formats.
+Create it with stubbornDict(arg) factory function.
+
+>>> d = StubbornDict(large='gross', small='klein')
+>>> sorted(d.items())
+[('large', 'gross'), ('small', 'klein')]
+>>> d.append(['plain', ' plaid'])
+>>> sorted(d.items())
+[('large', 'gross'), ('plaid', ''), ('plain', ''), ('small', 'klein')]
+>>> d += ' girl Frauelein, Maedchen\\n\\n shoe schuh'
+>>> sorted(d.items())
+[('girl', 'Frauelein, Maedchen'), ('large', 'gross'), ('plaid', ''), ('plain', ''), ('shoe', 'schuh'), ('small', 'klein')]
+.fi
+.PP
+
+.PP
+Definition at line 271 of file cmd2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def cmd2::StubbornDict::__add__ (self, arg)"
+.PP
+Definition at line 291 of file cmd2\&.py'\&.
+.PP
+References cmd2::stubbornDict()\&.
+.PP
+.nf
+291
+292 def __add__(self, arg):
+293 selfcopy = copy\&.copy(self)
+294 selfcopy\&.update(stubbornDict(arg))
+ return selfcopy
+.fi
+.SS "def cmd2::StubbornDict::__iadd__ (self, arg)"
+.PP
+Definition at line 288 of file cmd2\&.py'\&.
+.PP
+References update()\&.
+.PP
+.nf
+288
+289 def __iadd__(self, arg):
+290 self\&.update(arg)
+ return self
+.fi
+.SS "def cmd2::StubbornDict::__radd__ (self, arg)"
+.PP
+Definition at line 295 of file cmd2\&.py'\&.
+.PP
+References cmd2::stubbornDict()\&.
+.PP
+.nf
+295
+296 def __radd__(self, arg):
+297 selfcopy = copy\&.copy(self)
+298 selfcopy\&.update(stubbornDict(arg))
+299 return selfcopy
+
+.fi
+.SS "def cmd2::StubbornDict::to_dict (cls, arg)"
+.PP
+Definition at line 301 of file cmd2\&.py'\&.
+.PP
+.nf
+301
+302 def to_dict(cls, arg):
+303 'Generates dictionary from string or list of strings'
+304 if hasattr(arg, 'splitlines'):
+305 arg = arg\&.splitlines()
+306 if hasattr(arg, '__reversed__'):
+307 result = {}
+308 for a in arg:
+309 a = a\&.strip()
+310 if a:
+311 key_val = a\&.split(None, 1)
+312 key = key_val[0]
+313 if len(key_val) > 1:
+314 val = key_val[1]
+315 else:
+316 val = ''
+317 result[key] = val
+318 else:
+319 result = arg
+320 return result
+
+.fi
+.SS "def cmd2::StubbornDict::update (self, arg)"
+.PP
+Definition at line 285 of file cmd2\&.py'\&.
+.PP
+Referenced by __iadd__()\&.
+.PP
+.nf
+285
+286 def update(self, arg):
+ dict\&.update(self, StubbornDict\&.to_dict(arg))
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBcmd2::StubbornDict::append\fP = update\fC [static]\fP"
+.PP
+Definition at line 287 of file cmd2\&.py'\&.
+.PP
+Referenced by cmd2::History::extend()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/conf.3 b/doxygen/man/man3/conf.3
new file mode 100644
index 0000000..b4ef51f
--- /dev/null
+++ b/doxygen/man/man3/conf.3
@@ -0,0 +1,114 @@
+.TH "conf" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+conf \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "string \fBcopyright\fP = u'2010, Catherine Devlin'"
+.br
+.ti -1c
+.RI "list \fBexclude_trees\fP = ['_build']"
+.br
+.ti -1c
+.RI "list \fBextensions\fP = ['sphinx\&.ext\&.autodoc', 'sphinx\&.ext\&.doctest', 'sphinx\&.ext\&.intersphinx', 'sphinx\&.ext\&.todo']"
+.br
+.ti -1c
+.RI "list \fBhtml_static_path\fP = ['_static']"
+.br
+.ti -1c
+.RI "string \fBhtml_theme\fP = 'default'"
+.br
+.ti -1c
+.RI "string \fBhtmlhelp_basename\fP = 'cmd2doc'"
+.br
+.ti -1c
+.RI "dictionary \fBintersphinx_mapping\fP = {'http://docs\&.python\&.org/': None}"
+.br
+.ti -1c
+.RI "list \fBlatex_documents\fP"
+.br
+.ti -1c
+.RI "string \fBmaster_doc\fP = 'index'"
+.br
+.ti -1c
+.RI "string \fBproject\fP = u'cmd2'"
+.br
+.ti -1c
+.RI "string \fBpygments_style\fP = 'sphinx'"
+.br
+.ti -1c
+.RI "string \fBrelease\fP = '0\&.6\&.0'"
+.br
+.ti -1c
+.RI "string \fBsource_suffix\fP = '\&.rst'"
+.br
+.ti -1c
+.RI "list \fBtemplates_path\fP = ['_templates']"
+.br
+.ti -1c
+.RI "string \fBversion\fP = '0\&.6\&.0'"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "string \fBconf::copyright\fP = u'2010, Catherine Devlin'"
+.PP
+Definition at line 41 of file conf\&.py'\&.
+.SS "list \fBconf::exclude_trees\fP = ['_build']"
+.PP
+Definition at line 67 of file conf\&.py'\&.
+.SS "list \fBconf::extensions\fP = ['sphinx\&.ext\&.autodoc', 'sphinx\&.ext\&.doctest', 'sphinx\&.ext\&.intersphinx', 'sphinx\&.ext\&.todo']"
+.PP
+Definition at line 25 of file conf\&.py'\&.
+.SS "list \fBconf::html_static_path\fP = ['_static']"
+.PP
+Definition at line 123 of file conf\&.py'\&.
+.SS "string \fBconf::html_theme\fP = 'default'"
+.PP
+Definition at line 94 of file conf\&.py'\&.
+.SS "string \fBconf::htmlhelp_basename\fP = 'cmd2doc'"
+.PP
+Definition at line 161 of file conf\&.py'\&.
+.SS "dictionary \fBconf::intersphinx_mapping\fP = {'http://docs\&.python\&.org/': None}"
+.PP
+Definition at line 198 of file conf\&.py'\&.
+.SS "list \fBconf::latex_documents\fP"\fBInitial value:\fP
+.PP
+.nf
+1 [
+2 ('index', 'cmd2\&.tex', u'cmd2 Documentation',
+3 u'Catherine Devlin', 'manual'),
+4 ]
+.fi
+.PP
+Definition at line 174 of file conf\&.py'\&.
+.SS "string \fBconf::master_doc\fP = 'index'"
+.PP
+Definition at line 37 of file conf\&.py'\&.
+.SS "string \fBconf::project\fP = u'cmd2'"
+.PP
+Definition at line 40 of file conf\&.py'\&.
+.SS "string \fBconf::pygments_style\fP = 'sphinx'"
+.PP
+Definition at line 84 of file conf\&.py'\&.
+.SS "string \fBconf::release\fP = '0\&.6\&.0'"
+.PP
+Definition at line 50 of file conf\&.py'\&.
+.SS "string \fBconf::source_suffix\fP = '\&.rst'"
+.PP
+Definition at line 31 of file conf\&.py'\&.
+.SS "list \fBconf::templates_path\fP = ['_templates']"
+.PP
+Definition at line 28 of file conf\&.py'\&.
+.SS "string \fBconf::version\fP = '0\&.6\&.0'"
+.PP
+Definition at line 48 of file conf\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/conf.py.3 b/doxygen/man/man3/conf.py.3
new file mode 100644
index 0000000..ac8768d
--- /dev/null
+++ b/doxygen/man/man3/conf.py.3
@@ -0,0 +1,67 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/conf.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/conf.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBconf\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "string \fBconf::copyright\fP = u'2010, Catherine Devlin'"
+.br
+.ti -1c
+.RI "list \fBconf::exclude_trees\fP = ['_build']"
+.br
+.ti -1c
+.RI "list \fBconf::extensions\fP = ['sphinx\&.ext\&.autodoc', 'sphinx\&.ext\&.doctest', 'sphinx\&.ext\&.intersphinx', 'sphinx\&.ext\&.todo']"
+.br
+.ti -1c
+.RI "list \fBconf::html_static_path\fP = ['_static']"
+.br
+.ti -1c
+.RI "string \fBconf::html_theme\fP = 'default'"
+.br
+.ti -1c
+.RI "string \fBconf::htmlhelp_basename\fP = 'cmd2doc'"
+.br
+.ti -1c
+.RI "dictionary \fBconf::intersphinx_mapping\fP = {'http://docs\&.python\&.org/': None}"
+.br
+.ti -1c
+.RI "list \fBconf::latex_documents\fP"
+.br
+.ti -1c
+.RI "string \fBconf::master_doc\fP = 'index'"
+.br
+.ti -1c
+.RI "string \fBconf::project\fP = u'cmd2'"
+.br
+.ti -1c
+.RI "string \fBconf::pygments_style\fP = 'sphinx'"
+.br
+.ti -1c
+.RI "string \fBconf::release\fP = '0\&.6\&.0'"
+.br
+.ti -1c
+.RI "string \fBconf::source_suffix\fP = '\&.rst'"
+.br
+.ti -1c
+.RI "list \fBconf::templates_path\fP = ['_templates']"
+.br
+.ti -1c
+.RI "string \fBconf::version\fP = '0\&.6\&.0'"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/example.3 b/doxygen/man/man3/example.3
new file mode 100644
index 0000000..dbc3fd6
--- /dev/null
+++ b/doxygen/man/man3/example.3
@@ -0,0 +1,37 @@
+.TH "example" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+example \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBCmdLineApp\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBc\fP = \fBCmdLineApp\fP()"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+.PP
+.nf
+A sample application for cmd2..fi
+.PP
+
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBexample::c\fP = \fBCmdLineApp\fP()"
+.PP
+Definition at line 34 of file example\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/example.py.3 b/doxygen/man/man3/example.py.3
new file mode 100644
index 0000000..92ecbc1
--- /dev/null
+++ b/doxygen/man/man3/example.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/example/example.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/example/example.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBexample::CmdLineApp\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBexample\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBexample::c\fP = CmdLineApp()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/example_CmdLineApp.3 b/doxygen/man/man3/example_CmdLineApp.3
new file mode 100644
index 0000000..0e6fe2c
--- /dev/null
+++ b/doxygen/man/man3/example_CmdLineApp.3
@@ -0,0 +1,95 @@
+.TH "example::CmdLineApp" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+example::CmdLineApp \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits \fBcmd2::Cmd\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdo_speak\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBdo_orate\fP = do_speak"
+.br
+.ti -1c
+.RI "\fBdo_say\fP = do_speak"
+.br
+.ti -1c
+.RI "int \fBmaxrepeats\fP = 3"
+.br
+.ti -1c
+.RI "list \fBmultilineCommands\fP = ['orate']"
+.br
+.ti -1c
+.RI "string \fBredirector\fP = '->'"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 6 of file example\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def example::CmdLineApp::do_speak (self, arg, opts = \fCNone\fP)".PP
+.nf
+Repeats what you tell me to..fi
+.PP
+
+.PP
+Definition at line 17 of file example\&.py'\&.
+.PP
+References maxrepeats\&.
+.PP
+.nf
+17
+18 def do_speak(self, arg, opts=None):
+19 '''Repeats what you tell me to\&.'''
+20 arg = ''\&.join(arg)
+21 if opts\&.piglatin:
+22 arg = '%s%say' % (arg[1:]\&.rstrip(), arg[0])
+23 if opts\&.shout:
+24 arg = arg\&.upper()
+25 repetitions = opts\&.repeat or 1
+26 for i in range(min(repetitions, self\&.maxrepeats)):
+27 self\&.stdout\&.write(arg)
+28 self\&.stdout\&.write('\n')
+29 # self\&.stdout\&.write is better than 'print', because Cmd can be
+30 # initialized with a non-standard output destination
+
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBexample::CmdLineApp::do_orate\fP = do_speak\fC [static]\fP"
+.PP
+Definition at line 32 of file example\&.py'\&.
+.SS "\fBexample::CmdLineApp::do_say\fP = do_speak\fC [static]\fP"
+.PP
+Definition at line 31 of file example\&.py'\&.
+.SS "int \fBexample::CmdLineApp::maxrepeats\fP = 3\fC [static]\fP"
+.PP
+Definition at line 9 of file example\&.py'\&.
+.PP
+Referenced by do_speak()\&.
+.SS "list \fBexample::CmdLineApp::multilineCommands\fP = ['orate']\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 7 of file example\&.py'\&.
+.SS "string \fBexample::CmdLineApp::redirector\fP = '->'\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 10 of file example\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/fileutil.3 b/doxygen/man/man3/fileutil.3
new file mode 100644
index 0000000..7168ff2
--- /dev/null
+++ b/doxygen/man/man3/fileutil.3
@@ -0,0 +1,23 @@
+.TH "fileutil" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+fileutil \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBstats\fP = os\&.stat(fullfilename)"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBfileutil::stats\fP = os\&.stat(fullfilename)"
+.PP
+Definition at line 6 of file fileutil\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/fileutil.py.3 b/doxygen/man/man3/fileutil.py.3
new file mode 100644
index 0000000..c908b46
--- /dev/null
+++ b/doxygen/man/man3/fileutil.py.3
@@ -0,0 +1,25 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/fileutil.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/fileutil.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBfileutil\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBfileutil::stats\fP = os\&.stat(fullfilename)"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/graph.3 b/doxygen/man/man3/graph.3
new file mode 100644
index 0000000..62674e3
--- /dev/null
+++ b/doxygen/man/man3/graph.3
@@ -0,0 +1,90 @@
+.TH "graph" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+graph \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBlabel\fP"
+.br
+.ti -1c
+.RI "def \fBline\fP"
+.br
+.ti -1c
+.RI "def \fBtech\fP"
+.br
+.in -1c
+.SH "Function Documentation"
+.PP
+.SS "def graph::label (txt)"
+.PP
+Definition at line 5 of file graph\&.py'\&.
+.PP
+Referenced by line()\&.
+.PP
+.nf
+5
+6 def label(txt):
+7 write(txt, font=('Arial', 20, 'italic'))
+8 hideturtle()
+9 width(6)
+
+.fi
+.SS "def graph::line (len, _label)"
+.PP
+Definition at line 10 of file graph\&.py'\&.
+.PP
+References label()\&.
+.PP
+Referenced by tech()\&.
+.PP
+.nf
+10
+11 def line(len, _label):
+12 start = pos()
+13 pd()
+14 forward(len)
+15 pu()
+16 forward(30)
+17 pd()
+18 label(_label)
+19 pu()
+20 goto(start)
+
+.fi
+.SS "def graph::tech (x, y, _label)"
+.PP
+Definition at line 21 of file graph\&.py'\&.
+.PP
+References line()\&.
+.PP
+.nf
+21
+22 def tech(x, y, _label):
+23 pu()
+24 goto(x, y)
+25 pd()
+26 write(_label, font=('Arial', 40, 'bold'))
+27 pu()
+28
+29 line(600, 'Easy to write')
+30 left(90)
+31 line(600, 'Easy to use')
+32
+33 tech(-360, 160, 'GUI')
+34 tech(-390, 100, 'AJAX')
+35 tech(-300, -10, 'webapp')
+36 tech(190, -380, 'CLU')
+37 tech(60, -320, 'TUI')
+38 tech(100, -210, 'cmd')
+39 tech(80, -80, 'cmd2')
+
+.fi
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/graph.py.3 b/doxygen/man/man3/graph.py.3
new file mode 100644
index 0000000..39a364d
--- /dev/null
+++ b/doxygen/man/man3/graph.py.3
@@ -0,0 +1,31 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/graph.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/graph.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBgraph\fP"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBgraph::label\fP"
+.br
+.ti -1c
+.RI "def \fBgraph::line\fP"
+.br
+.ti -1c
+.RI "def \fBgraph::tech\fP"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/ignoreBug.3 b/doxygen/man/man3/ignoreBug.3
new file mode 100644
index 0000000..b0f1206
--- /dev/null
+++ b/doxygen/man/man3/ignoreBug.3
@@ -0,0 +1,29 @@
+.TH "ignoreBug" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+ignoreBug \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBparser\fP = Word(printables)"
+.br
+.ti -1c
+.RI "string \fBteststr\fP = 'please /* ignoreme: | oops */ findme: | kthx'"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBignoreBug::parser\fP = Word(printables)"
+.PP
+Definition at line 4 of file ignoreBug\&.py'\&.
+.SS "string \fBignoreBug::teststr\fP = 'please /* ignoreme: | oops */ findme: | kthx'"
+.PP
+Definition at line 3 of file ignoreBug\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/ignoreBug.py.3 b/doxygen/man/man3/ignoreBug.py.3
new file mode 100644
index 0000000..0d51e4c
--- /dev/null
+++ b/doxygen/man/man3/ignoreBug.py.3
@@ -0,0 +1,28 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/ignoreBug.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/ignoreBug.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBignoreBug\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBignoreBug::parser\fP = Word(printables)"
+.br
+.ti -1c
+.RI "string \fBignoreBug::teststr\fP = 'please /* ignoreme: | oops */ findme: | kthx'"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate.3 b/doxygen/man/man3/pirate.3
new file mode 100644
index 0000000..a0b5957
--- /dev/null
+++ b/doxygen/man/man3/pirate.3
@@ -0,0 +1,30 @@
+.TH "pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 6 of file pirate\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate.py.3 b/doxygen/man/man3/pirate.py.3
new file mode 100644
index 0000000..a4c549e
--- /dev/null
+++ b/doxygen/man/man3/pirate.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate2.3 b/doxygen/man/man3/pirate2.3
new file mode 100644
index 0000000..dae946b
--- /dev/null
+++ b/doxygen/man/man3/pirate2.3
@@ -0,0 +1,30 @@
+.TH "pirate2" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate2 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate2::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 17 of file pirate2\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate2.py.3 b/doxygen/man/man3/pirate2.py.3
new file mode 100644
index 0000000..985996b
--- /dev/null
+++ b/doxygen/man/man3/pirate2.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate2.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate2.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate2::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate2\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate2::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate2_Pirate.3 b/doxygen/man/man3/pirate2_Pirate.3
new file mode 100644
index 0000000..f5e8626
--- /dev/null
+++ b/doxygen/man/man3/pirate2_Pirate.3
@@ -0,0 +1,72 @@
+.TH "pirate2::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate2::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits Cmd'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate2\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate2::Pirate::do_drink (self, arg)"
+.PP
+Definition at line 11 of file pirate2\&.py'\&.
+.PP
+References gold\&.
+.PP
+.nf
+11
+12 def do_drink(self, arg):
+13 'Drown your sorrrows in rrrum\&.'
+14 self\&.gold -= 1
+15 print('Now we gots {0} doubloons'
+16 \&.format(self\&.gold))
+
+.fi
+.SS "def pirate2::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 6 of file pirate2\&.py'\&.
+.PP
+References gold\&.
+.PP
+.nf
+6
+7 def do_loot(self, arg):
+8 'Seize booty from a passing ship\&.'
+9 self\&.gold += 1
+10 print('Now we gots {0} doubloons'
+ \&.format(self\&.gold))
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "int \fBpirate2::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate2\&.py'\&.
+.PP
+Referenced by pirate3::Pirate::do_drink(), pirate4::Pirate::do_drink(), pirate5::Pirate::do_drink(), do_drink(), pirate7::Pirate::do_drink(), pirate8::Pirate::do_drink(), pirate6::Pirate::do_drink(), do_loot(), pirate5::Pirate::do_loot(), pirate3::Pirate::do_loot(), pirate4::Pirate::do_loot(), pirate7::Pirate::do_loot(), pirate8::Pirate::do_loot(), pirate6::Pirate::do_loot(), pirate3::Pirate::postcmd(), pirate4::Pirate::postcmd(), pirate5::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), pirate6::Pirate::postcmd(), pirate3::Pirate::precmd(), pirate5::Pirate::precmd(), pirate4::Pirate::precmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate3.3 b/doxygen/man/man3/pirate3.3
new file mode 100644
index 0000000..8915fdb
--- /dev/null
+++ b/doxygen/man/man3/pirate3.3
@@ -0,0 +1,30 @@
+.TH "pirate3" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate3 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate3::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 20 of file pirate3\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate3.py.3 b/doxygen/man/man3/pirate3.py.3
new file mode 100644
index 0000000..d93fcc4
--- /dev/null
+++ b/doxygen/man/man3/pirate3.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate3.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate3.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate3::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate3\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate3::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate3_Pirate.3 b/doxygen/man/man3/pirate3_Pirate.3
new file mode 100644
index 0000000..93c4745
--- /dev/null
+++ b/doxygen/man/man3/pirate3_Pirate.3
@@ -0,0 +1,115 @@
+.TH "pirate3::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate3::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits Cmd'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.ti -1c
+.RI "def \fBpostcmd\fP"
+.br
+.ti -1c
+.RI "def \fBprecmd\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBinitial_gold\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate3\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate3::Pirate::do_drink (self, arg)"
+.PP
+Definition at line 9 of file pirate3\&.py'\&.
+.PP
+References pirate2::Pirate::gold, and gold\&.
+.PP
+.nf
+9
+10 def do_drink(self, arg):
+11 'Drown your sorrrows in rrrum\&.'
+ self\&.gold -= 1
+.fi
+.SS "def pirate3::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 6 of file pirate3\&.py'\&.
+.PP
+References pirate2::Pirate::gold, and gold\&.
+.PP
+.nf
+6
+7 def do_loot(self, arg):
+8 'Seize booty from a passing ship\&.'
+ self\&.gold += 1
+.fi
+.SS "def pirate3::Pirate::postcmd (self, stop, line)"
+.PP
+Definition at line 15 of file pirate3\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+15
+16 def postcmd(self, stop, line):
+17 if self\&.gold != self\&.initial_gold:
+18 print('Now we gots {0} doubloons'
+19 \&.format(self\&.gold))
+
+.fi
+.SS "def pirate3::Pirate::precmd (self, line)"
+.PP
+Definition at line 12 of file pirate3\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+12
+13 def precmd(self, line):
+14 self\&.initial_gold = self\&.gold
+ return line
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "int \fBpirate3::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate3\&.py'\&.
+.PP
+Referenced by do_drink(), pirate5::Pirate::do_drink(), pirate4::Pirate::do_drink(), pirate7::Pirate::do_drink(), pirate8::Pirate::do_drink(), pirate6::Pirate::do_drink(), pirate5::Pirate::do_loot(), pirate4::Pirate::do_loot(), do_loot(), pirate7::Pirate::do_loot(), pirate8::Pirate::do_loot(), pirate6::Pirate::do_loot(), postcmd(), pirate4::Pirate::postcmd(), pirate5::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), pirate6::Pirate::postcmd(), precmd(), pirate5::Pirate::precmd(), pirate4::Pirate::precmd(), pirate8::Pirate::precmd(), pirate7::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+.SS "\fBpirate3::Pirate::initial_gold\fP"
+.PP
+Definition at line 12 of file pirate3\&.py'\&.
+.PP
+Referenced by postcmd(), pirate4::Pirate::postcmd(), pirate5::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), pirate6::Pirate::postcmd(), precmd(), pirate5::Pirate::precmd(), pirate4::Pirate::precmd(), pirate8::Pirate::precmd(), pirate7::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate4.3 b/doxygen/man/man3/pirate4.3
new file mode 100644
index 0000000..9afadcd
--- /dev/null
+++ b/doxygen/man/man3/pirate4.3
@@ -0,0 +1,30 @@
+.TH "pirate4" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate4 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate4::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 26 of file pirate4\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate4.py.3 b/doxygen/man/man3/pirate4.py.3
new file mode 100644
index 0000000..b4cd9ec
--- /dev/null
+++ b/doxygen/man/man3/pirate4.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate4.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate4.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate4::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate4\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate4::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate4_Pirate.3 b/doxygen/man/man3/pirate4_Pirate.3
new file mode 100644
index 0000000..d1f6173
--- /dev/null
+++ b/doxygen/man/man3/pirate4_Pirate.3
@@ -0,0 +1,127 @@
+.TH "pirate4::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate4::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits Cmd'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.ti -1c
+.RI "def \fBpostcmd\fP"
+.br
+.ti -1c
+.RI "def \fBprecmd\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBinitial_gold\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate4\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate4::Pirate::do_drink (self, arg)".PP
+.nf
+Drown your sorrrows in rrrum.
+
+drink [n] - drink [n] barrel[s] o' rum..fi
+.PP
+
+.PP
+Definition at line 9 of file pirate4\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+9
+10 def do_drink(self, arg):
+11 '''Drown your sorrrows in rrrum\&.
+12
+13 drink [n] - drink [n] barrel[s] o' rum\&.'''
+14 try:
+15 self\&.gold -= int(arg)
+16 except:
+17 if arg:
+18 print('''What's '{0}'? I'll take rrrum\&.'''\&.format(arg))
+ self\&.gold -= 1
+.fi
+.SS "def pirate4::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 6 of file pirate4\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+6
+7 def do_loot(self, arg):
+8 'Seize booty from a passing ship\&.'
+ self\&.gold += 1
+.fi
+.SS "def pirate4::Pirate::postcmd (self, stop, line)"
+.PP
+Definition at line 22 of file pirate4\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate3::Pirate::gold, gold, pirate3::Pirate::initial_gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+22
+23 def postcmd(self, stop, line):
+24 if self\&.gold != self\&.initial_gold:
+25 print('Now we gots {0} doubloons'\&.format(self\&.gold))
+
+.fi
+.SS "def pirate4::Pirate::precmd (self, line)"
+.PP
+Definition at line 19 of file pirate4\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate3::Pirate::gold, pirate3::Pirate::initial_gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+19
+20 def precmd(self, line):
+21 self\&.initial_gold = self\&.gold
+ return line
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "int \fBpirate4::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate4\&.py'\&.
+.PP
+Referenced by do_drink(), pirate5::Pirate::do_drink(), pirate8::Pirate::do_drink(), pirate7::Pirate::do_drink(), pirate6::Pirate::do_drink(), do_loot(), pirate5::Pirate::do_loot(), pirate8::Pirate::do_loot(), pirate7::Pirate::do_loot(), pirate6::Pirate::do_loot(), postcmd(), pirate5::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), pirate6::Pirate::postcmd(), pirate5::Pirate::precmd(), precmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+.SS "\fBpirate4::Pirate::initial_gold\fP"
+.PP
+Definition at line 19 of file pirate4\&.py'\&.
+.PP
+Referenced by postcmd(), pirate5::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), pirate6::Pirate::postcmd(), precmd(), pirate5::Pirate::precmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate5.3 b/doxygen/man/man3/pirate5.3
new file mode 100644
index 0000000..7861bbe
--- /dev/null
+++ b/doxygen/man/man3/pirate5.3
@@ -0,0 +1,30 @@
+.TH "pirate5" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate5 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate5::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 34 of file pirate5\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate5.py.3 b/doxygen/man/man3/pirate5.py.3
new file mode 100644
index 0000000..a50b2ee
--- /dev/null
+++ b/doxygen/man/man3/pirate5.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate5.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate5.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate5::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate5\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate5::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate5_Pirate.3 b/doxygen/man/man3/pirate5_Pirate.3
new file mode 100644
index 0000000..f95fcde
--- /dev/null
+++ b/doxygen/man/man3/pirate5_Pirate.3
@@ -0,0 +1,145 @@
+.TH "pirate5::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate5::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits Cmd'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.ti -1c
+.RI "def \fBdo_quit\fP"
+.br
+.ti -1c
+.RI "def \fBpostcmd\fP"
+.br
+.ti -1c
+.RI "def \fBprecmd\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBinitial_gold\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate5\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate5::Pirate::do_drink (self, arg)".PP
+.nf
+Drown your sorrrows in rrrum.
+
+drink [n] - drink [n] barrel[s] o' rum..fi
+.PP
+
+.PP
+Definition at line 9 of file pirate5\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+9
+10 def do_drink(self, arg):
+11 '''Drown your sorrrows in rrrum\&.
+12
+13 drink [n] - drink [n] barrel[s] o' rum\&.'''
+14 try:
+15 self\&.gold -= int(arg)
+16 except:
+17 if arg:
+18 print('''What's '{0}'? I'll take rrrum\&.'''\&.format(arg))
+ self\&.gold -= 1
+.fi
+.SS "def pirate5::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 6 of file pirate5\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+6
+7 def do_loot(self, arg):
+8 'Seize booty from a passing ship\&.'
+ self\&.gold += 1
+.fi
+.SS "def pirate5::Pirate::do_quit (self, arg)"
+.PP
+Definition at line 30 of file pirate5\&.py'\&.
+.PP
+.nf
+30
+31 def do_quit(self, arg):
+32 print('Quiterrr!')
+33 return True
+
+.fi
+.SS "def pirate5::Pirate::postcmd (self, stop, line)"
+.PP
+Definition at line 22 of file pirate5\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate3::Pirate::gold, gold, pirate4::Pirate::gold, pirate3::Pirate::initial_gold, pirate4::Pirate::initial_gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+22
+23 def postcmd(self, stop, line):
+24 if self\&.gold != self\&.initial_gold:
+25 print('Now we gots {0} doubloons'
+26 \&.format(self\&.gold))
+27 if self\&.gold < 0:
+28 print('Off to debtorrr's prison\&.')
+29 stop = True
+ return stop
+.fi
+.SS "def pirate5::Pirate::precmd (self, line)"
+.PP
+Definition at line 19 of file pirate5\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate3::Pirate::gold, pirate4::Pirate::gold, pirate3::Pirate::initial_gold, initial_gold, and pirate4::Pirate::initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+19
+20 def precmd(self, line):
+21 self\&.initial_gold = self\&.gold
+ return line
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "int \fBpirate5::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate5\&.py'\&.
+.PP
+Referenced by do_drink(), pirate7::Pirate::do_drink(), pirate8::Pirate::do_drink(), pirate6::Pirate::do_drink(), do_loot(), pirate7::Pirate::do_loot(), pirate8::Pirate::do_loot(), pirate6::Pirate::do_loot(), postcmd(), pirate8::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate6::Pirate::postcmd(), precmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+.SS "\fBpirate5::Pirate::initial_gold\fP"
+.PP
+Definition at line 19 of file pirate5\&.py'\&.
+.PP
+Referenced by postcmd(), pirate8::Pirate::postcmd(), pirate7::Pirate::postcmd(), pirate6::Pirate::postcmd(), precmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), and pirate6::Pirate::precmd()\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate6.3 b/doxygen/man/man3/pirate6.3
new file mode 100644
index 0000000..fa2cdcd
--- /dev/null
+++ b/doxygen/man/man3/pirate6.3
@@ -0,0 +1,30 @@
+.TH "pirate6" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate6 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate6::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 38 of file pirate6\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate6.py.3 b/doxygen/man/man3/pirate6.py.3
new file mode 100644
index 0000000..caf5b60
--- /dev/null
+++ b/doxygen/man/man3/pirate6.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate6.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate6.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate6::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate6\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate6::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate6_Pirate.3 b/doxygen/man/man3/pirate6_Pirate.3
new file mode 100644
index 0000000..6d103d9
--- /dev/null
+++ b/doxygen/man/man3/pirate6_Pirate.3
@@ -0,0 +1,170 @@
+.TH "pirate6::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate6::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits \fBcmd2::Cmd\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdefault\fP"
+.br
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.ti -1c
+.RI "def \fBdo_quit\fP"
+.br
+.ti -1c
+.RI "def \fBpostcmd\fP"
+.br
+.ti -1c
+.RI "def \fBprecmd\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBinitial_gold\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.ti -1c
+.RI "string \fBprompt\fP = 'arrr> '"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate6\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate6::Pirate::default (self, line)"
+.PP
+Definition at line 7 of file pirate6\&.py'\&.
+.PP
+Referenced by cmd2::Cmd::_default()\&.
+.PP
+.nf
+7
+8 def default(self, line):
+9 print('What mean ye by '{0}'?'
+ \&.format(line))
+.fi
+.SS "def pirate6::Pirate::do_drink (self, arg)".PP
+.nf
+Drown your sorrrows in rrrum.
+
+drink [n] - drink [n] barrel[s] o' rum..fi
+.PP
+
+.PP
+Definition at line 13 of file pirate6\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate5::Pirate::gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+13
+14 def do_drink(self, arg):
+15 '''Drown your sorrrows in rrrum\&.
+16
+17 drink [n] - drink [n] barrel[s] o' rum\&.'''
+18 try:
+19 self\&.gold -= int(arg)
+20 except:
+21 if arg:
+22 print('''What's '{0}'? I'll take rrrum\&.'''\&.format(arg))
+ self\&.gold -= 1
+.fi
+.SS "def pirate6::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 10 of file pirate6\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate5::Pirate::gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+10
+11 def do_loot(self, arg):
+12 'Seize booty from a passing ship\&.'
+ self\&.gold += 1
+.fi
+.SS "def pirate6::Pirate::do_quit (self, arg)"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 34 of file pirate6\&.py'\&.
+.PP
+.nf
+34
+35 def do_quit(self, arg):
+36 print('Quiterrr!')
+37 return True
+
+.fi
+.SS "def pirate6::Pirate::postcmd (self, stop, line)"
+.PP
+Definition at line 26 of file pirate6\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate3::Pirate::gold, pirate5::Pirate::gold, gold, pirate4::Pirate::gold, pirate3::Pirate::initial_gold, pirate5::Pirate::initial_gold, pirate4::Pirate::initial_gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+26
+27 def postcmd(self, stop, line):
+28 if self\&.gold != self\&.initial_gold:
+29 print('Now we gots {0} doubloons'
+30 \&.format(self\&.gold))
+31 if self\&.gold < 0:
+32 print('Off to debtorrr's prison\&.')
+33 stop = True
+ return stop
+.fi
+.SS "def pirate6::Pirate::precmd (self, line)"
+.PP
+Definition at line 23 of file pirate6\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate5::Pirate::gold, gold, pirate4::Pirate::gold, pirate3::Pirate::gold, pirate3::Pirate::initial_gold, pirate4::Pirate::initial_gold, pirate5::Pirate::initial_gold, and initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+23
+24 def precmd(self, line):
+25 self\&.initial_gold = self\&.gold
+ return line
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "int \fBpirate6::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate6\&.py'\&.
+.PP
+Referenced by pirate7::Pirate::do_drink(), pirate8::Pirate::do_drink(), do_drink(), pirate8::Pirate::do_loot(), pirate7::Pirate::do_loot(), do_loot(), pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), postcmd(), pirate7::Pirate::precmd(), pirate8::Pirate::precmd(), and precmd()\&.
+.SS "\fBpirate6::Pirate::initial_gold\fP"
+.PP
+Definition at line 23 of file pirate6\&.py'\&.
+.PP
+Referenced by pirate7::Pirate::postcmd(), pirate8::Pirate::postcmd(), postcmd(), pirate8::Pirate::precmd(), pirate7::Pirate::precmd(), and precmd()\&.
+.SS "string \fBpirate6::Pirate::prompt\fP = 'arrr> '\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 6 of file pirate6\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate7.3 b/doxygen/man/man3/pirate7.3
new file mode 100644
index 0000000..e8c0421
--- /dev/null
+++ b/doxygen/man/man3/pirate7.3
@@ -0,0 +1,30 @@
+.TH "pirate7" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate7 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate7::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 45 of file pirate7\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate7.py.3 b/doxygen/man/man3/pirate7.py.3
new file mode 100644
index 0000000..9deacfa
--- /dev/null
+++ b/doxygen/man/man3/pirate7.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate7.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate7.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate7::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate7\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate7::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate7_Pirate.3 b/doxygen/man/man3/pirate7_Pirate.3
new file mode 100644
index 0000000..1c07561
--- /dev/null
+++ b/doxygen/man/man3/pirate7_Pirate.3
@@ -0,0 +1,223 @@
+.TH "pirate7::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate7::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits \fBcmd2::Cmd\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdefault\fP"
+.br
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.ti -1c
+.RI "def \fBdo_quit\fP"
+.br
+.ti -1c
+.RI "def \fBdo_sing\fP"
+.br
+.ti -1c
+.RI "def \fBpostcmd\fP"
+.br
+.ti -1c
+.RI "def \fBprecmd\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBinitial_gold\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBdefault_to_shell\fP = True"
+.br
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.ti -1c
+.RI "list \fBmultilineCommands\fP = ['sing']"
+.br
+.ti -1c
+.RI "string \fBprompt\fP = 'arrr> '"
+.br
+.ti -1c
+.RI "string \fBsettable\fP = '\fBsongcolor\fP Color to ``sing`` in (red/blue/green/cyan/magenta, bold, underline)'"
+.br
+.ti -1c
+.RI "string \fBsongcolor\fP = 'blue'"
+.br
+.ti -1c
+.RI "list \fBterminators\fP = \fBCmd\&.terminators\fP+['\&.\&.\&.']"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate7\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate7::Pirate::default (self, line)"
+.PP
+Definition at line 7 of file pirate7\&.py'\&.
+.PP
+Referenced by cmd2::Cmd::_default()\&.
+.PP
+.nf
+7
+8 def default(self, line):
+ print('What mean ye by '{0}'?'\&.format(line))
+.fi
+.SS "def pirate7::Pirate::do_drink (self, arg)".PP
+.nf
+Drown your sorrrows in rrrum.
+
+drink [n] - drink [n] barrel[s] o' rum..fi
+.PP
+
+.PP
+Definition at line 12 of file pirate7\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate6::Pirate::gold, pirate5::Pirate::gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+12
+13 def do_drink(self, arg):
+14 '''Drown your sorrrows in rrrum\&.
+15
+16 drink [n] - drink [n] barrel[s] o' rum\&.'''
+17 try:
+18 self\&.gold -= int(arg)
+19 except:
+20 if arg:
+21 print('''What's '{0}'? I'll take rrrum\&.'''\&.format(arg))
+ self\&.gold -= 1
+.fi
+.SS "def pirate7::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 9 of file pirate7\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate6::Pirate::gold, pirate5::Pirate::gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+9
+10 def do_loot(self, arg):
+11 'Seize booty from a passing ship\&.'
+ self\&.gold += 1
+.fi
+.SS "def pirate7::Pirate::do_quit (self, arg)"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 33 of file pirate7\&.py'\&.
+.PP
+.nf
+33
+34 def do_quit(self, arg):
+35 print('Quiterrr!')
+ return True
+.fi
+.SS "def pirate7::Pirate::do_sing (self, arg)"
+.PP
+Definition at line 42 of file pirate7\&.py'\&.
+.PP
+References cmd2::Cmd::colorize(), and songcolor\&.
+.PP
+.nf
+42
+43 def do_sing(self, arg):
+44 print(self\&.colorize(arg, self\&.songcolor))
+
+.fi
+.SS "def pirate7::Pirate::postcmd (self, stop, line)"
+.PP
+Definition at line 25 of file pirate7\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate3::Pirate::gold, pirate5::Pirate::gold, pirate6::Pirate::gold, pirate4::Pirate::gold, gold, pirate3::Pirate::initial_gold, pirate5::Pirate::initial_gold, pirate4::Pirate::initial_gold, initial_gold, and pirate6::Pirate::initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+25
+26 def postcmd(self, stop, line):
+27 if self\&.gold != self\&.initial_gold:
+28 print('Now we gots {0} doubloons'
+29 \&.format(self\&.gold))
+30 if self\&.gold < 0:
+31 print('Off to debtorrr's prison\&.')
+32 stop = True
+ return stop
+.fi
+.SS "def pirate7::Pirate::precmd (self, line)"
+.PP
+Definition at line 22 of file pirate7\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate4::Pirate::gold, pirate5::Pirate::gold, pirate6::Pirate::gold, pirate3::Pirate::gold, pirate3::Pirate::initial_gold, pirate4::Pirate::initial_gold, pirate5::Pirate::initial_gold, initial_gold, and pirate6::Pirate::initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+22
+23 def precmd(self, line):
+24 self\&.initial_gold = self\&.gold
+ return line
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "\fBpirate7::Pirate::default_to_shell\fP = True\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 36 of file pirate7\&.py'\&.
+.SS "int \fBpirate7::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate7\&.py'\&.
+.PP
+Referenced by do_drink(), pirate8::Pirate::do_drink(), do_loot(), pirate8::Pirate::do_loot(), postcmd(), pirate8::Pirate::postcmd(), precmd(), and pirate8::Pirate::precmd()\&.
+.SS "\fBpirate7::Pirate::initial_gold\fP"
+.PP
+Definition at line 22 of file pirate7\&.py'\&.
+.PP
+Referenced by postcmd(), pirate8::Pirate::postcmd(), pirate8::Pirate::precmd(), and precmd()\&.
+.SS "list \fBpirate7::Pirate::multilineCommands\fP = ['sing']\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 37 of file pirate7\&.py'\&.
+.SS "string \fBpirate7::Pirate::prompt\fP = 'arrr> '\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 6 of file pirate7\&.py'\&.
+.SS "string \fBpirate7::Pirate::settable\fP = '\fBsongcolor\fP Color to ``sing`` in (red/blue/green/cyan/magenta, bold, underline)'\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 40 of file pirate7\&.py'\&.
+.SS "string \fBpirate7::Pirate::songcolor\fP = 'blue'\fC [static]\fP"
+.PP
+Definition at line 39 of file pirate7\&.py'\&.
+.PP
+Referenced by do_sing(), and pirate8::Pirate::do_sing()\&.
+.SS "list \fBpirate7::Pirate::terminators\fP = \fBCmd\&.terminators\fP+['\&.\&.\&.']\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 38 of file pirate7\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate8.3 b/doxygen/man/man3/pirate8.3
new file mode 100644
index 0000000..0cf7900
--- /dev/null
+++ b/doxygen/man/man3/pirate8.3
@@ -0,0 +1,30 @@
+.TH "pirate8" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate8 \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBPirate\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate\fP = \fBPirate\fP()"
+.br
+.in -1c
+.SH "Variable Documentation"
+.PP
+.SS "tuple \fBpirate8::pirate\fP = \fBPirate\fP()"
+.PP
+Definition at line 56 of file pirate8\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate8.py.3 b/doxygen/man/man3/pirate8.py.3
new file mode 100644
index 0000000..c359d47
--- /dev/null
+++ b/doxygen/man/man3/pirate8.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate8.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/pirate8.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBpirate8::Pirate\fP"
+.br
+.in -1c
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBpirate8\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "tuple \fBpirate8::pirate\fP = Pirate()"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate8_Pirate.3 b/doxygen/man/man3/pirate8_Pirate.3
new file mode 100644
index 0000000..363a263
--- /dev/null
+++ b/doxygen/man/man3/pirate8_Pirate.3
@@ -0,0 +1,253 @@
+.TH "pirate8::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate8::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits \fBcmd2::Cmd\fP'\&.
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBdefault\fP"
+.br
+.ti -1c
+.RI "def \fBdo_drink\fP"
+.br
+.ti -1c
+.RI "def \fBdo_loot\fP"
+.br
+.ti -1c
+.RI "def \fBdo_quit\fP"
+.br
+.ti -1c
+.RI "def \fBdo_sing\fP"
+.br
+.ti -1c
+.RI "def \fBdo_yo\fP"
+.br
+.ti -1c
+.RI "def \fBpostcmd\fP"
+.br
+.ti -1c
+.RI "def \fBprecmd\fP"
+.br
+.in -1c
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBinitial_gold\fP"
+.br
+.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "string \fBaction\fP = 'store_true'"
+.br
+.ti -1c
+.RI "\fBdefault_to_shell\fP = True"
+.br
+.ti -1c
+.RI "int \fBgold\fP = 3"
+.br
+.ti -1c
+.RI "string \fBhelp\fP = 'How often to chant 'ho''"
+.br
+.ti -1c
+.RI "list \fBmultilineCommands\fP = ['sing']"
+.br
+.ti -1c
+.RI "string \fBprompt\fP = 'arrr> '"
+.br
+.ti -1c
+.RI "string \fBsettable\fP = '\fBsongcolor\fP Color to ``sing`` in (red/blue/green/cyan/magenta, bold, underline)'"
+.br
+.ti -1c
+.RI "string \fBsongcolor\fP = 'blue'"
+.br
+.ti -1c
+.RI "list \fBterminators\fP = \fBCmd\&.terminators\fP+['\&.\&.\&.']"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+Definition at line 4 of file pirate8\&.py'\&.
+.SH "Member Function Documentation"
+.PP
+.SS "def pirate8::Pirate::default (self, line)"
+.PP
+Definition at line 7 of file pirate8\&.py'\&.
+.PP
+Referenced by cmd2::Cmd::_default()\&.
+.PP
+.nf
+7
+8 def default(self, line):
+ print('What mean ye by '{0}'?'\&.format(line))
+.fi
+.SS "def pirate8::Pirate::do_drink (self, arg)".PP
+.nf
+Drown your sorrrows in rrrum.
+
+drink [n] - drink [n] barrel[s] o' rum..fi
+.PP
+
+.PP
+Definition at line 12 of file pirate8\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate7::Pirate::gold, pirate6::Pirate::gold, pirate5::Pirate::gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+12
+13 def do_drink(self, arg):
+14 '''Drown your sorrrows in rrrum\&.
+15
+16 drink [n] - drink [n] barrel[s] o' rum\&.'''
+17 try:
+18 self\&.gold -= int(arg)
+19 except:
+20 if arg:
+21 print('''What's '{0}'? I'll take rrrum\&.'''\&.format(arg))
+ self\&.gold -= 1
+.fi
+.SS "def pirate8::Pirate::do_loot (self, arg)"
+.PP
+Definition at line 9 of file pirate8\&.py'\&.
+.PP
+References pirate2::Pirate::gold, gold, pirate7::Pirate::gold, pirate6::Pirate::gold, pirate5::Pirate::gold, pirate4::Pirate::gold, and pirate3::Pirate::gold\&.
+.PP
+.nf
+9
+10 def do_loot(self, arg):
+11 'Seize booty from a passing ship\&.'
+ self\&.gold += 1
+.fi
+.SS "def pirate8::Pirate::do_quit (self, arg)"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 33 of file pirate8\&.py'\&.
+.PP
+.nf
+33
+34 def do_quit(self, arg):
+35 print('Quiterrr!')
+ return True
+.fi
+.SS "def pirate8::Pirate::do_sing (self, arg)"
+.PP
+Definition at line 42 of file pirate8\&.py'\&.
+.PP
+References cmd2::Cmd::colorize(), cmd2::options(), songcolor, and pirate7::Pirate::songcolor\&.
+.PP
+.nf
+42
+43 def do_sing(self, arg):
+ print(self\&.colorize(arg, self\&.songcolor))
+.fi
+.SS "def pirate8::Pirate::do_yo (self, arg, opts)"
+.PP
+Definition at line 49 of file pirate8\&.py'\&.
+.PP
+.nf
+49
+50 def do_yo(self, arg, opts):
+51 chant = ['yo'] + ['ho'] * opts\&.ho
+52 separator = ', ' if opts\&.commas else ' '
+53 chant = separator\&.join(chant)
+54 print('{0} and a bottle of {1}'
+55 \&.format(chant, arg))
+
+.fi
+.SS "def pirate8::Pirate::postcmd (self, stop, line)"
+.PP
+Definition at line 25 of file pirate8\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate3::Pirate::gold, pirate5::Pirate::gold, pirate6::Pirate::gold, pirate4::Pirate::gold, pirate7::Pirate::gold, gold, pirate3::Pirate::initial_gold, pirate4::Pirate::initial_gold, pirate5::Pirate::initial_gold, pirate7::Pirate::initial_gold, initial_gold, and pirate6::Pirate::initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+25
+26 def postcmd(self, stop, line):
+27 if self\&.gold != self\&.initial_gold:
+28 print('Now we gots {0} doubloons'
+29 \&.format(self\&.gold))
+30 if self\&.gold < 0:
+31 print('Off to debtorrr's prison\&.')
+32 stop = True
+ return stop
+.fi
+.SS "def pirate8::Pirate::precmd (self, line)"
+.PP
+Definition at line 22 of file pirate8\&.py'\&.
+.PP
+References pirate2::Pirate::gold, pirate3::Pirate::gold, pirate4::Pirate::gold, pirate5::Pirate::gold, pirate6::Pirate::gold, pirate7::Pirate::gold, gold, pirate3::Pirate::initial_gold, pirate4::Pirate::initial_gold, pirate5::Pirate::initial_gold, pirate7::Pirate::initial_gold, initial_gold, and pirate6::Pirate::initial_gold\&.
+.PP
+Referenced by cmd2::Cmd::onecmd_plus_hooks()\&.
+.PP
+.nf
+22
+23 def precmd(self, line):
+24 self\&.initial_gold = self\&.gold
+ return line
+.fi
+.SH "Member Data Documentation"
+.PP
+.SS "string \fBpirate8::Pirate::action\fP = 'store_true'\fC [static]\fP"
+.PP
+Definition at line 47 of file pirate8\&.py'\&.
+.SS "\fBpirate8::Pirate::default_to_shell\fP = True\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 36 of file pirate8\&.py'\&.
+.SS "int \fBpirate8::Pirate::gold\fP = 3\fC [static]\fP"
+.PP
+Definition at line 5 of file pirate8\&.py'\&.
+.PP
+Referenced by do_drink(), do_loot(), postcmd(), and precmd()\&.
+.SS "string \fBpirate8::Pirate::help\fP = 'How often to chant 'ho''\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 45 of file pirate8\&.py'\&.
+.SS "\fBpirate8::Pirate::initial_gold\fP"
+.PP
+Definition at line 22 of file pirate8\&.py'\&.
+.PP
+Referenced by postcmd(), and precmd()\&.
+.SS "list \fBpirate8::Pirate::multilineCommands\fP = ['sing']\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 37 of file pirate8\&.py'\&.
+.SS "string \fBpirate8::Pirate::prompt\fP = 'arrr> '\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 6 of file pirate8\&.py'\&.
+.SS "string \fBpirate8::Pirate::settable\fP = '\fBsongcolor\fP Color to ``sing`` in (red/blue/green/cyan/magenta, bold, underline)'\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 40 of file pirate8\&.py'\&.
+.SS "string \fBpirate8::Pirate::songcolor\fP = 'blue'\fC [static]\fP"
+.PP
+Definition at line 39 of file pirate8\&.py'\&.
+.PP
+Referenced by do_sing()\&.
+.SS "list \fBpirate8::Pirate::terminators\fP = \fBCmd\&.terminators\fP+['\&.\&.\&.']\fC [static]\fP"
+.PP
+Reimplemented from \fBcmd2::Cmd\fP'\&.
+.PP
+Definition at line 38 of file pirate8\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/pirate_Pirate.3 b/doxygen/man/man3/pirate_Pirate.3
new file mode 100644
index 0000000..db48e27
--- /dev/null
+++ b/doxygen/man/man3/pirate_Pirate.3
@@ -0,0 +1,17 @@
+.TH "pirate::Pirate" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+pirate::Pirate \-
+.SH SYNOPSIS
+.br
+.PP
+.PP
+Inherits Cmd'\&.
+.SH "Detailed Description"
+.PP
+Definition at line 3 of file pirate\&.py'\&.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/schematic.3 b/doxygen/man/man3/schematic.3
new file mode 100644
index 0000000..f766115
--- /dev/null
+++ b/doxygen/man/man3/schematic.3
@@ -0,0 +1,62 @@
+.TH "schematic" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+schematic \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBrectangle\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "int \fBpensize\fP = 10"
+.br
+.in -1c
+.SH "Function Documentation"
+.PP
+.SS "def schematic::rectangle (x, y, _label)"
+.PP
+Definition at line 8 of file schematic\&.py'\&.
+.PP
+.nf
+8
+9 def rectangle(x, y, _label):
+10 pu()
+11 seth(0)
+12 backward(x / 2)
+13 fontsize = 40
+14 pd()
+15 for i in range(2):
+16 forward(x)
+17 left(90)
+18 forward(y)
+19 left(90)
+20 pu()
+21 forward(x / 2)
+22 left(90)
+23 forward(y / 2 - fontsize)
+24 pd()
+25 write(_label, align='center', font=('Arial', fontsize, 'bold'))
+26
+27 rectangle(800, 80, 'cmd')
+28 pu()
+29 forward(80)
+30 rectangle(200, 400, 'cmd2')
+
+.fi
+.SH "Variable Documentation"
+.PP
+.SS "int \fBschematic::pensize\fP = 10"
+.PP
+Definition at line 4 of file schematic\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/schematic.py.3 b/doxygen/man/man3/schematic.py.3
new file mode 100644
index 0000000..d786318
--- /dev/null
+++ b/doxygen/man/man3/schematic.py.3
@@ -0,0 +1,32 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/schematic.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/docs/pycon2010/schematic.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBschematic\fP"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBschematic::rectangle\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "int \fBschematic::pensize\fP = 10"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/setup.3 b/doxygen/man/man3/setup.3
new file mode 100644
index 0000000..5a3e607
--- /dev/null
+++ b/doxygen/man/man3/setup.3
@@ -0,0 +1,154 @@
+.TH "setup" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+setup \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBfind_packages\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "string \fBauthor\fP = 'Catherine Devlin'"
+.br
+.ti -1c
+.RI "string \fBauthor_email\fP = 'catherine\&.devlin@gmail\&.com'"
+.br
+.ti -1c
+.RI "list \fBclassifiers\fP"
+.br
+.ti -1c
+.RI "string \fBdescription\fP = 'Extra features for standard library's cmd module'"
+.br
+.ti -1c
+.RI "list \fBinstall_requires\fP = ['pyparsing>=1\&.5\&.6']"
+.br
+.ti -1c
+.RI "string \fBkeywords\fP = 'command prompt console cmd'"
+.br
+.ti -1c
+.RI "string \fBlicense\fP = 'MIT'"
+.br
+.ti -1c
+.RI "string \fBlong_description\fP"
+.br
+.ti -1c
+.RI "string \fBname\fP = 'cmd2'"
+.br
+.ti -1c
+.RI "list \fBpy_modules\fP = ['cmd2']"
+.br
+.ti -1c
+.RI "string \fBurl\fP = 'http://packages\&.python\&.org/cmd2/'"
+.br
+.ti -1c
+.RI "\fBuse_2to3\fP = True,"
+.br
+.ti -1c
+.RI "string \fBversion\fP = '0\&.6\&.4'"
+.br
+.in -1c
+.SH "Function Documentation"
+.PP
+.SS "def setup::find_packages ()"
+.PP
+Definition at line 6 of file setup\&.py'\&.
+.PP
+.nf
+6
+7 def find_packages():
+ return ['sqlpython']
+.fi
+.SH "Variable Documentation"
+.PP
+.SS "string \fBsetup::author\fP = 'Catherine Devlin'"
+.PP
+Definition at line 18 of file setup\&.py'\&.
+.SS "string \fBsetup::author_email\fP = 'catherine\&.devlin@gmail\&.com'"
+.PP
+Definition at line 19 of file setup\&.py'\&.
+.SS "list \fBsetup::classifiers\fP"\fBInitial value:\fP
+.PP
+.nf
+1 [
+2 'Development Status :: 4 - Beta',
+3 'Environment :: Console',
+4 'Operating System :: OS Independent',
+5 'Intended Audience :: Developers',
+6 'Intended Audience :: System Administrators',
+7 'Programming Language :: Python',
+8 'License :: OSI Approved :: MIT License',
+9 'Topic :: Software Development :: Libraries :: Python Modules',
+10 ]
+.fi
+.PP
+Definition at line 51 of file setup\&.py'\&.
+.SS "string \fBsetup::description\fP = 'Extra features for standard library's cmd module'"
+.PP
+Definition at line 20 of file setup\&.py'\&.
+.SS "\fBsetup::install_requires\fP = ['pyparsing>=1\&.5\&.6']"
+.PP
+Definition at line 10 of file setup\&.py'\&.
+.SS "string \fBsetup::keywords\fP = 'command prompt console cmd'"
+.PP
+Definition at line 22 of file setup\&.py'\&.
+.SS "string \fBsetup::license\fP = 'MIT'"
+.PP
+Definition at line 21 of file setup\&.py'\&.
+.SS "string \fBsetup::long_description\fP"\fBInitial value:\fP
+.PP
+.nf
+1 '''Enhancements for standard library's cmd module\&.
+2
+3 Drop-in replacement adds several features for command-prompt tools:
+4
+5 * Searchable command history (commands: 'hi', 'li', 'run')
+6 * Load commands from file, save to file, edit commands in file
+7 * Multi-line commands
+8 * Case-insensitive commands
+9 * Special-character shortcut commands (beyond cmd's '@' and '!')
+10 * Settable environment parameters
+11 * Parsing commands with flags
+12 * > (filename), >> (filename) redirect output to file
+13 * < (filename) gets input from file
+14 * bare >, >>, < redirect to/from paste buffer
+15 * accepts abbreviated commands when unambiguous
+16 * `py` enters interactive Python console
+17 * test apps against sample session transcript (see example/example\&.py)
+18
+19 Useable without modification anywhere cmd is used; simply import cmd2\&.Cmd in place of cmd\&.Cmd\&.
+20
+21 Running `2to3 <http://docs\&.python\&.org/library/2to3\&.html>` against ``cmd2\&.py``
+22 generates working, Python3-based code\&.
+23
+24 See docs at http://packages\&.python\&.org/cmd2/
+25 '''
+.fi
+.PP
+Definition at line 25 of file setup\&.py'\&.
+.SS "string \fBsetup::name\fP = 'cmd2'"
+.PP
+Definition at line 12 of file setup\&.py'\&.
+.SS "list \fBsetup::py_modules\fP = ['cmd2']"
+.PP
+Definition at line 14 of file setup\&.py'\&.
+.SS "string \fBsetup::url\fP = 'http://packages\&.python\&.org/cmd2/'"
+.PP
+Definition at line 23 of file setup\&.py'\&.
+.SS "\fBsetup::use_2to3\fP = True,"
+.PP
+Definition at line 15 of file setup\&.py'\&.
+.SS "string \fBsetup::version\fP = '0\&.6\&.4'"
+.PP
+Definition at line 13 of file setup\&.py'\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.
diff --git a/doxygen/man/man3/setup.py.3 b/doxygen/man/man3/setup.py.3
new file mode 100644
index 0000000..08478e8
--- /dev/null
+++ b/doxygen/man/man3/setup.py.3
@@ -0,0 +1,68 @@
+.TH "/Users/amrogers/Developer/Projects/cmd2/setup.py" 3 "Fri Sep 9 2011" "Cmd2" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+/Users/amrogers/Developer/Projects/cmd2/setup.py \-
+.SH SYNOPSIS
+.br
+.PP
+.SS "Packages"
+
+.in +1c
+.ti -1c
+.RI "namespace \fBsetup\fP"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "def \fBsetup::find_packages\fP"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "string \fBsetup::author\fP = 'Catherine Devlin'"
+.br
+.ti -1c
+.RI "string \fBsetup::author_email\fP = 'catherine\&.devlin@gmail\&.com'"
+.br
+.ti -1c
+.RI "list \fBsetup::classifiers\fP"
+.br
+.ti -1c
+.RI "string \fBsetup::description\fP = 'Extra features for standard library's cmd module'"
+.br
+.ti -1c
+.RI "list \fBsetup::install_requires\fP = ['pyparsing>=1\&.5\&.6']"
+.br
+.ti -1c
+.RI "string \fBsetup::keywords\fP = 'command prompt console cmd'"
+.br
+.ti -1c
+.RI "string \fBsetup::license\fP = 'MIT'"
+.br
+.ti -1c
+.RI "string \fBsetup::long_description\fP"
+.br
+.ti -1c
+.RI "string \fBsetup::name\fP = 'cmd2'"
+.br
+.ti -1c
+.RI "list \fBsetup::py_modules\fP = ['cmd2']"
+.br
+.ti -1c
+.RI "string \fBsetup::url\fP = 'http://packages\&.python\&.org/cmd2/'"
+.br
+.ti -1c
+.RI "\fBsetup::use_2to3\fP = True,"
+.br
+.ti -1c
+.RI "string \fBsetup::version\fP = '0\&.6\&.4'"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Cmd2 from the source code'\&.