Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.file.openWithEditor
on openWithEditor (f, editor=nil) { <<Changes <<12/13/01; 7:47:28 PM by JES <<Created. <<Opens a file in the editor configured at user.radio.prefs.editors, for the file's mimetype. If there's no editor for the file, it's an error. <<This is a low-level script; if you need to do any user interaction to find an editor, do that in the calling script. if editor == nil { local (adreditors = @user.radio.prefs.editors); local (mimetype = radio.webserver.getFileMimeType (f)); if not defined (adreditors^.[mimetype]) { //error scriptError ("Can't open \"" + file.fileFromPath (f) + "\" for editing because no editor is configured for the type, \"" + mimetype + "\".")}; editor = adreditors^.[mimetype]}; local (pc = file.getPathChar ()); local (appname = file.fileFromPath (editor)); if appname endswith pc { //apps may be folders on MacOS X appname = string.delete (appname, sizeOf (appname), 1)}; if sys.appIsRunning (appname) { if system.environment.isMac { required.openDocument (appname, f)} else { //windows launch.appWithDocument (editor, f)}} else { //app not running -- launch app with document launch.appWithDocument (editor, f)}; sys.bringAppToFront (appname); return (true)}; bundle { //testing openWithEditor (user.radio.prefs.wwwFolder + "#template.txt")}
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.