Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.FinderMenu.commands.findInFile
local (notfound = true); local (searchcancelled = false); local (searchstring); local (openedsomething = false); on findInFolder (folder) { fileloop (f in folder) { if file.isFolder (f) { if not findInFolder (f) { return (false)}} else { rollBeachBall (); msg (file.fileFromPath (f)); if file.findInFile (f, searchstring) { notfound = false; s = "The search string “" + searchstring + "” was found in “" + file.fileFromPath (f) + "”."; s = s + " Would you like to open the file?"; case dialog.yesNoCancel (s) { 1 { <<Yes launch.anything (f); openedsomething = true}; 3 { <<Cancel searchCancellled = true; return (false)}}}}}; return (true)}; if not dialog.ask ("String to search for?", @FinderMenu.commands.searchstring) { return}; searchstring = FinderMenu.commands.searchstring; on visit (path) { local (folder = path); if not file.isFolder (path) { folder = file.folderFromPath (path)}; return (findInFolder (folder))}; FinderMenu.visitPaths (@visit); msg (""); <<restore Frontier's main window if (not searchCancelled) and (not openedsomething) { if notfound { dialog.alert ("“" + searchstring + "” not found.")} else { dialog.alert ("Search complete.")}}
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.