annotate README.txt @ 168:786ab5a83eea

quotes still getting snipped, ugh
author catherine@dellzilla
date Mon, 08 Dec 2008 17:58:37 -0500
parents fe47c5b269cc
children 403e1c3ffc4a
rev   line source
116
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
1 ----
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
2 cmd2
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
3 ----
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
4
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
5 :Author: Catherine Devlin, http://catherinedevlin.blogspot.com
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
6
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
7 `cmd2` is a tool for writing command-line interactive applications. It is based on the Python Standard Library's `cmd` module, and can be used anyplace `cmd` is used simply by importing `cmd2` instead.
71067a445663 added README
catherine@localhost
parents:
diff changeset
8
71067a445663 added README
catherine@localhost
parents:
diff changeset
9 `cmd2` provides the following features, in addition to those already existing in `cmd`:
71067a445663 added README
catherine@localhost
parents:
diff changeset
10
71067a445663 added README
catherine@localhost
parents:
diff changeset
11 - Searchable command history
71067a445663 added README
catherine@localhost
parents:
diff changeset
12 - Load commands from file, save to file, edit commands in file
71067a445663 added README
catherine@localhost
parents:
diff changeset
13 - Multi-line commands
71067a445663 added README
catherine@localhost
parents:
diff changeset
14 - Case-insensitive commands
54
a791d615545c oops, had to fix for redirect plus pipe
catherine@localhost
parents: 19
diff changeset
15 - Special-character shortcut commands (beyond cmd's `@` and `!`)
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
16 - Settable environment parameters
71067a445663 added README
catherine@localhost
parents:
diff changeset
17 - Parsing commands with flags
54
a791d615545c oops, had to fix for redirect plus pipe
catherine@localhost
parents: 19
diff changeset
18 - Redirection to file with `>`, `>>`; input from file with `<`
a791d615545c oops, had to fix for redirect plus pipe
catherine@localhost
parents: 19
diff changeset
19 - Bare '>', '>>' with no filename send output to paste buffer
a791d615545c oops, had to fix for redirect plus pipe
catherine@localhost
parents: 19
diff changeset
20 - Pipe output to shell commands with `|`
116
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
21 - Simple transcript-based application testing
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
22
71067a445663 added README
catherine@localhost
parents:
diff changeset
23 Instructions for implementing each feature follow.
71067a445663 added README
catherine@localhost
parents:
diff changeset
24
71067a445663 added README
catherine@localhost
parents:
diff changeset
25 - Searchable command history
71067a445663 added README
catherine@localhost
parents:
diff changeset
26
71067a445663 added README
catherine@localhost
parents:
diff changeset
27 All commands will automatically be tracked in the session's history, unless the command is listed in Cmd's excludeFromHistory attribute.
71067a445663 added README
catherine@localhost
parents:
diff changeset
28 The history is accessed through the `history`, `list`, and `run` commands
71067a445663 added README
catherine@localhost
parents:
diff changeset
29 (and their abbreviations: `hi`, `li`, `l`, `r`).
71067a445663 added README
catherine@localhost
parents:
diff changeset
30 If you wish to exclude some of your custom commands from the history, append their names
71067a445663 added README
catherine@localhost
parents:
diff changeset
31 to the list at Cmd.ExcludeFromHistory.
71067a445663 added README
catherine@localhost
parents:
diff changeset
32
71067a445663 added README
catherine@localhost
parents:
diff changeset
33 - Load commands from file, save to file, edit commands in file
71067a445663 added README
catherine@localhost
parents:
diff changeset
34
71067a445663 added README
catherine@localhost
parents:
diff changeset
35 Type `help load`, `help save`, `help edit` for details.
71067a445663 added README
catherine@localhost
parents:
diff changeset
36
71067a445663 added README
catherine@localhost
parents:
diff changeset
37 - Multi-line commands
71067a445663 added README
catherine@localhost
parents:
diff changeset
38
71067a445663 added README
catherine@localhost
parents:
diff changeset
39 Any command accepts multi-line input when its name is listed in `Cmd.multilineCommands`.
71067a445663 added README
catherine@localhost
parents:
diff changeset
40 The program will keep expecting input until a line ends with any of the characters
71067a445663 added README
catherine@localhost
parents:
diff changeset
41 in `Cmd.terminators` . The default terminators are `;` and `/n` (empty newline).
71067a445663 added README
catherine@localhost
parents:
diff changeset
42
71067a445663 added README
catherine@localhost
parents:
diff changeset
43 - Case-insensitive commands
71067a445663 added README
catherine@localhost
parents:
diff changeset
44
71067a445663 added README
catherine@localhost
parents:
diff changeset
45 All commands are case-insensitive, unless `Cmd.caseInsensitive` is set to `False`.
71067a445663 added README
catherine@localhost
parents:
diff changeset
46
71067a445663 added README
catherine@localhost
parents:
diff changeset
47 - Special-character shortcut commands (beyond cmd's "@" and "!")
71067a445663 added README
catherine@localhost
parents:
diff changeset
48
71067a445663 added README
catherine@localhost
parents:
diff changeset
49 To create a single-character shortcut for a command, update `Cmd.shortcuts`.
71067a445663 added README
catherine@localhost
parents:
diff changeset
50
71067a445663 added README
catherine@localhost
parents:
diff changeset
51 - Settable environment parameters
71067a445663 added README
catherine@localhost
parents:
diff changeset
52
71067a445663 added README
catherine@localhost
parents:
diff changeset
53 To allow a user to change an environment parameter during program execution,
71067a445663 added README
catherine@localhost
parents:
diff changeset
54 append the parameter's name to `Cmd.settable`.
71067a445663 added README
catherine@localhost
parents:
diff changeset
55
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
56 - Parsing commands with `optparse` options (flags)
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
57
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
58 ::
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
59
17
f81b5670a713 more readme connection
catherine@localhost
parents: 16
diff changeset
60 @options([make_option('-m', '--myoption', action="store_true", help="all about my option")])
19
1899088dd95d more readme correction, now in function def
catherine@localhost
parents: 18
diff changeset
61 def do_myfunc(self, arg, opts):
18
b7489d3f838e more readme correction, now in function def
catherine@localhost
parents: 17
diff changeset
62 if opts.myoption:
b7489d3f838e more readme correction, now in function def
catherine@localhost
parents: 17
diff changeset
63 ...
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
64
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
65 See Python standard library's `optparse` documentation: http://docs.python.org/lib/optparse-defining-options.html
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
66
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
67 cmd2 can be installed with `easy_install cmd2`
71067a445663 added README
catherine@localhost
parents:
diff changeset
68
16
0a316420636e correction in pypi page url in readme
catherine@localhost
parents: 13
diff changeset
69 Cheese Shop page: http://pypi.python.org/pypi/cmd2
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
70
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
71 Example cmd2 application (example/example.py) ::
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
72
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
73 '''A sample application for cmd2.'''
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
74
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
75 from cmd2 import Cmd, make_option, options, Cmd2TestCase
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
76 import unittest, optparse, sys
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
77
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
78 class CmdLineApp(Cmd):
71067a445663 added README
catherine@localhost
parents:
diff changeset
79 multilineCommands = ['orate']
71067a445663 added README
catherine@localhost
parents:
diff changeset
80 Cmd.shortcuts.update({'&': 'speak'})
71067a445663 added README
catherine@localhost
parents:
diff changeset
81 maxrepeats = 3
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
82 Cmd.settable.append('maxrepeats')
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
83
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
84 @options([make_option('-p', '--piglatin', action="store_true", help="atinLay"),
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
85 make_option('-s', '--shout', action="store_true", help="N00B EMULATION MODE"),
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
86 make_option('-r', '--repeat', type="int", help="output [n] times")
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
87 ])
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
88 def do_speak(self, arg, opts=None):
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
89 """Repeats what you tell me to."""
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
90 arg = ''.join(arg)
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
91 if opts.piglatin:
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
92 arg = '%s%say' % (arg[1:], arg[0])
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
93 if opts.shout:
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
94 arg = arg.upper()
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
95 repetitions = opts.repeat or 1
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
96 for i in range(min(repetitions, self.maxrepeats)):
71067a445663 added README
catherine@localhost
parents:
diff changeset
97 self.stdout.write(arg)
71067a445663 added README
catherine@localhost
parents:
diff changeset
98 self.stdout.write('\n')
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
99 # self.stdout.write is better than "print", because Cmd can be
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
100 # initialized with a non-standard output destination
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
101
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
102 do_say = do_speak # now "say" is a synonym for "speak"
71067a445663 added README
catherine@localhost
parents:
diff changeset
103 do_orate = do_speak # another synonym, but this one takes multi-line input
13
c6e8b645c0ab tweaking docs
catherine@localhost
parents: 10
diff changeset
104
112
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
105 class TestMyAppCase(Cmd2TestCase):
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
106 CmdApp = CmdLineApp
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
107 transcriptFileName = 'exampleSession.txt'
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
108
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
109 parser = optparse.OptionParser()
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
110 parser.add_option('-t', '--test', dest='unittests', action='store_true', default=False, help='Run unit test suite')
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
111 (callopts, callargs) = parser.parse_args()
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
112 if callopts.unittests:
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
113 sys.argv = [sys.argv[0]] # the --test argument upsets unittest.main()
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
114 unittest.main()
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
115 else:
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
116 app = CmdLineApp()
e3b8eaadea56 going to collapse down out of overdone package structure
catherine@Elli.myhome.westell.com
parents: 110
diff changeset
117 app.cmdloop()
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
118
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
119 The following is a sample session running example.py.
116
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
120 Thanks to `TestMyAppCase(Cmd2TestCase)`, it also serves as a test
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
121 suite for example.py when saved as `exampleSession.txt`.
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
122 Running `python example.py -t` will run all the commands in the
116
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
123 transcript against `example.py`, verifying that the output produced
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
124 matches the transcript.
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
125
116
06f5eba2f588 perfect, except testing multiline output
catherine@Elli.myhome.westell.com
parents: 115
diff changeset
126 example/exampleSession.txt::
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
127
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
128 (Cmd) help
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
129
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
130 Documented commands (type help <topic>):
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
131 ========================================
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
132 _load edit history li load r save set shortcuts speak
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
133 ed hi l list orate run say shell show
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
134
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
135 Undocumented commands:
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
136 ======================
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
137 EOF cmdenvironment eof exit help q quit
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
138
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
139 (Cmd) help say
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
140 Repeats what you tell me to.
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
141 Usage: speak [options] arg
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
142
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
143 Options:
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
144 -h, --help show this help message and exit
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
145 -p, --piglatin atinLay
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
146 -s, --shout N00B EMULATION MODE
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
147 -r REPEAT, --repeat=REPEAT
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
148 output [n] times
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
149
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
150 (Cmd) say goodnight, Gracie
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
151 goodnight, Gracie
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
152 (Cmd) say -ps --repeat=5 goodnight, Gracie
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
153 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
154 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
155 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
156 (Cmd) set
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
157 prompt: (Cmd)
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
158 editor: gedit
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
159 echo: False
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
160 maxrepeats: 3
71067a445663 added README
catherine@localhost
parents:
diff changeset
161 (Cmd) set maxrepeats 5
71067a445663 added README
catherine@localhost
parents:
diff changeset
162 maxrepeats - was: 3
71067a445663 added README
catherine@localhost
parents:
diff changeset
163 now: 5
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
164 (Cmd) say -ps --repeat=5 goodnight, Gracie
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
165 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
166 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
167 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
168 OODNIGHT, GRACIEGAY
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
169 OODNIGHT, GRACIEGAY
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
170 (Cmd) hi
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
171 -------------------------[1]
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
172 help
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
173 -------------------------[2]
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
174 help say
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
175 -------------------------[3]
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
176 say goodnight, Gracie
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
177 -------------------------[4]
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
178 say -ps --repeat=5 goodnight, Gracie
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
179 -------------------------[5]
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
180 set
6
71067a445663 added README
catherine@localhost
parents:
diff changeset
181 -------------------------[6]
71067a445663 added README
catherine@localhost
parents:
diff changeset
182 set maxrepeats 5
71067a445663 added README
catherine@localhost
parents:
diff changeset
183 -------------------------[7]
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
184 say -ps --repeat=5 goodnight, Gracie
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
185 (Cmd) run 4
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
186 say -ps --repeat=5 goodnight, Gracie
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
187 OODNIGHT, GRACIEGAY
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
188 OODNIGHT, GRACIEGAY
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
189 OODNIGHT, GRACIEGAY
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
190 OODNIGHT, GRACIEGAY
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
191 OODNIGHT, GRACIEGAY
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
192 (Cmd) orate Four score and
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
193 > seven releases ago
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
194 > our BDFL
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
195 > blah blah blah
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
196 >
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
197 >
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
198 Four score and seven releases ago our BDFL blah blah blah
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
199 (Cmd) & look, a shortcut!
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
200 look, a shortcut!
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
201 (Cmd) say put this in a file > myfile.txt
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
202 (Cmd) say < myfile.txt
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
203 put this in a file
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
204 (Cmd) set prompt "---> "
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
205 prompt - was: (Cmd)
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
206 now: --->
115
0820c42ea23e new README
catherine@Elli.myhome.westell.com
parents: 112
diff changeset
207 ---> say goodbye
119
fe47c5b269cc altering README to match exampleSession.txt
catherine@dellzilla
parents: 116
diff changeset
208 goodbye