Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.Eudora.data.installDocs
adrOutline=@eudora.data.docserversource; bundle { <<traverse the outline, writing one verb at a time target.set (adrOutline); op.firstsummit (); op.fullcollapse (); loop { local { verbName=""; syntax=""; Parameters=""; Action=""; Returns=""; Examples=""; Notes=""; SeeAlso=""; s}; verbName=op.getLineText (); msg(verbName); op.expand (1); op.go (right, 1); loop { local (section); section = op.getLineText (); op.expand (1); op.go (right, 1); s=""; loop { s = s + op.getLineText () + cr; ctSubs = op.countsubs (1); if ctSubs > 0 { op.expand (1); op.go (right, 1); if (ctSubs == 1) and (section == "Examples") { <<an example local (line); line = op.getLineText (); s = s + tab + line + cr} else { loop { s = s + tab + op.getLineText () + cr; if not op.go (down, 1) { break}}}; op.go (left, 1); op.collapse ()}; if not op.go (down, 1) { break}}; case section { "Syntax" { syntax=s}; "Parameters" { Parameters=s}; "Action" { Action=s}; "Returns" { Returns=s}; "Examples" { Examples=s}; "Notes" { Notes=s}; "See Also" { seeAlso=s}}; op.go (left, 1); op.collapse (); if not op.go (down, 1) { break}}; op.go (left, 1); op.collapse (); appleEvent (DocServer.id, 'DOCS', 'updt', 'vnam', string (verbName), 'synt', string (syntax), 'parm', string (Parameters),'actn', string (Action), 'rtrn', string (Returns), 'exmp', string (Examples),'erro', "", 'note', Notes, 'seea', seeAlso,'keyw', "", 'modb', ""); if not op.go (down, 1) { break}}; op.firstsummit (); target.clear (); <<done with the outline msg("")}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.