Monday, November 08, 2010 at 12:03 AM.

system.verbs.builtins.html.utilities.prefsReportBuild

on visit (adrtable) {
	local (i);
	for i = 1 to sizeOf (adrtable^) {
		local (adrcell = @adrtable^ [i], s);
		if (adrcell == adrlist) or (adrcell == @html.utilities.prefsReportBuild) {
			continue};
		if typeOf (adrcell^) == tableType {
			visit (adrcell)}
		else {
			try {
				s = string (adrcell^);
				if string.lower (s) contains string.lower (pattern) {
					op.insert (adrcell, down);
					local (dir = right);
					loop {
						ix = string.patternMatch (string.lower (pattern), string.lower (s));
						if ix == 0 {
							break};
						s = string.delete (s, 1, ix - 1);
						ix = string.patternMatch ("\r", s);
						linestring = string.mid (s, 1, ix);
						linestring = linestring - "html.getPref (\"";
						linestring = string.nthField (linestring, "\"", 1);
						op.insert (linestring, dir); dir = down;
						s = string.delete (s, 1, ix)};
					if dir == down {
						op.go (left, 1)}}}
			else {
				msg (tryError)};
			msg (adrcell)}}};
local (pattern = "html.getPref");
local (adrlist = @websites.dw.crossPlatformWork.stories.htmlPrefsList);
new (outlinetype, adrlist);
target.set (adrlist);
edit (adrlist);
visit (@html);
op.firstSummit ();
op.setLineText ("#title \"HTML Routines & The Prefs They Use\"");
op.insert ("#renderOutlineWith \"cadillac\"", down);
window.zoom (adrlist)



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.