]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/cocoa/apple-script/apple-script.factor
move quote-apple-script to cocoa.apple-script and out of elevate.macosx
[factor.git] / basis / cocoa / apple-script / apple-script.factor
index 1507ac9801707e0f5c2bbd74b1507440dcc0bc0f..94cff2da82a6dc4eaa59ab0acabf3ecffe10d88c 100644 (file)
@@ -1,9 +1,24 @@
 ! 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