Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.Frontier.tools.data.windowTypes.outlinerFile.saveAsPlainText
on saveAsPlainText (adr=nil, adrFilepath=nil) { if adr == nil { adr = window.frontMost ()}; local (f); if adrFilepath != nil { f = adrFilepath^}; if f == nil { //construct a file path if not specified f = Frontier.tools.windowTypes.getDefaultFilename (adr, "txt")}; if not file.putFileDialog ("Save as text:", @f) { return (false)}; local (s = string (adr^)); if system.environment.isWindows { //add linefeeds s = string.replaceAll (s, "\r", "\r\n")}; local (creator = Frontier.id); if string.lower (f) endsWith ".py" { //special case for Python scripts creator = 'Pyth'}; file.writeWholeFile (f, s, 'TEXT', creator, clock.now ()); if adrFilepath != nil { //tell the caller where the file is -- used for View in Browser adrFilepath^ = f}; return (Frontier.tools.windowTypes.commands.open (f)); return (true)}
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.