---input---
user@host:~/path$ ls -a
.  ..  a  b  c
user@host:~/path$ diff -u a b
--- a   2008-07-26 17:10:07.000000000 -0700
+++ b   2008-07-26 17:10:10.000000000 -0700
@@ -1,3 +1,3 @@
 a
-b
+x
 c
user@host:~/path$ echo \
> a
a
user@host:~/path$ su
root@host:~#
sh-3.1$ # on hardy
sh$ # on etch
(virtualenv-name)user@host:~$ ls -a


---tokens---
'user@host:~/path$ ' Generic.Prompt
'ls'          Text
' '           Text
'-a'          Text
'\n'          Text

'.  ..  a  b  c\n' Generic.Output

'user@host:~/path$ ' Generic.Prompt
'diff'        Text
' '           Text
'-u'          Text
' '           Text
'a'           Text
' '           Text
'b'           Text
'\n'          Text

'--- a   2008-07-26 17:10:07.000000000 -0700\n' Generic.Output

'+++ b   2008-07-26 17:10:10.000000000 -0700\n' Generic.Output

'@@ -1,3 +1,3 @@\n' Generic.Output

' a\n'        Generic.Output

'-b\n'        Generic.Output

'+x\n'        Generic.Output

' c\n'        Generic.Output

'user@host:~/path$ ' Generic.Prompt
'echo'        Name.Builtin
' '           Text
'\\\n'        Literal.String.Escape

'>'           Text
' '           Text
'a'           Text
'\n'          Text

'a\n'         Generic.Output

'user@host:~/path$ ' Generic.Prompt
'su'          Text
'\n'          Text

'root@host:~#\n' Generic.Prompt

'sh-3.1$ '    Generic.Prompt
'# on hardy\n' Comment.Single

'sh$ '        Generic.Prompt
'# on etch\n' Comment.Single

'(virtualenv-name)' Generic.Prompt.VirtualEnv
'user@host:~$ ' Generic.Prompt
'ls'          Text
' '           Text
'-a'          Text
'\n'          Text
