2.2 Scripting the Script Editor
You can also use Script Editor as the
target application for the Apple events sent from your script. If you
are like me, you might want to begin your script in a more robust
programmer's editor, such as BBEdit. Once you are
ready to test and compile the code, the following script in Example 2-4 copies the text from BBEdit, and then pastes it into a new Script
Editor window. This applet is for demonstration purposes only and
performs marginal error-trapping for the sake of brevity (it only
checks to see if BBEdit has an open window). The applet has been
developed under Mac OS 9 and uses the open for
access, write, and close
access scripting-additions commands from the Standard
Additions. (Scripting additions are covered in Appendix A.) Presumably, a tweaked version of this script
could run on OS X; however, BBEdit had not yet released an OS X
version of its text editor at the time of this writing.
Example 2-4. An AppleScript That Moves Script Code into a Script Editor File
(* this variable will store the BBEdit text and is initialized to a string *)
set allCode to ""
(* this variable will store the path to the Desktop folder and is initialized
to a string *)
set deskPath to ""
tell application "BBEdit 5.0"
try
activate
set allCode to (window text of document 1)
on error errMessage
display dialog "Looks like BBEdit does not have any open windows" &¬
return & return & "Error: " & errMessage & return & return &¬
"Exiting applet"
return -- this return statement exits the applet's run handler
end try
end tell
(* ask the user for a new filename then create a Script Editor file on the
desktop *)
tell application "Finder"
set frontmost to true
display dialog¬
set newScript to (the text returned in the result) as string
make file at desktop with properties¬
{name:newScript, file type:"TEXT", creator type:"ToyS"}
set deskPath to (desktop as string)
end tell
(* Use the 'write' scripting addition to write the code to the Script Editor file *)
tell application "Script Editor"
activate
set script_file to (deskPath & newScript) as alias
open for access script_file with write permission
write allCode to script_file
close access script_file
open script_file
end tell
Another solution to some of the limitations of using Script Editor as
a text editor (e.g., no line numbering, bookmarks, and very little
customization capabilities) is to not use Script Editor! See the
footnote at the beginning of this chapter for a short list of
alternative AppleScript development environments. Each of these
programs, particularly the commercial ones, have many more features
than Script Editor and are updated often.
|