! Copyright (C) 2013 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
+USING: cocoa cocoa.application cocoa.classes kernel parser
+multiline words ;
+IN: cocoa.apple-script
-USING: cocoa cocoa.application cocoa.classes kernel parser words ;
+<PRIVATE
+CONSTANT: apple-script-charmap H{
+ { "\n" "\\n" }
+ { "\r" "\\r" }
+ { "\t" "\\t" }
+ { "\"" "\\\"" }
+ { "\\" "\\\\" }
+}
+PRIVATE>
-IN: cocoa.apple-script
+: quote-apple-script ( str -- str' )
+ [
+ 1string [ apple-script-charmap at ] [ ] bi or
+ ] { } map-as
+ "" join "\"" dup surround ;
: run-apple-script ( str -- )
[ NSAppleScript -> alloc ] dip