2010-08-22 23 views
0

Comment puis-je faire un nouveau document en utilisant TextMate rb-appscript ou AppleScript?Créer un nouveau document dans TextMate avec rb-appscript ou AppleScript?

Voici mon rb-appscript:

te = app("TextMate") 
te.launch 
doc = te.make(:new => :document) 

Mais il ne fonctionne pas.

Voici le message d'erreur que je reçois:

OSERROR: -10000 
    MESSAGE: Apple event handler failed. 
    COMMAND: app("/Applications/TextMate.app").make({:new=>:document}) 

Si quelqu'un me donne un code AppleScript je peux le convertir en rb-appscript.

+0

pensé les deux vous pourriez être intéressé par cet http://ticket.macromates.com/show?ticket_id=98A3E754 – mcgrailm

Répondre

3

Techniquement, il est censé être ceci:

tell application "TextMate" 
    set theResult to make new document 
end tell 

Mais je reçois la même erreur dans Script Debugger. Créer un nouveau document manuellement et obtenir le document via un script fonctionne bien. Je vais dire que vous avez trouvé un bug dans l'implémentation Applescript de TextMate. Vous pouvez emprunter la voie de script GUI ici (shamelessly copied from the Mac OS Automation site):

return do_menu("TextMate", "File", "New") 
--> result: true and a window appeared in TextMate 

on do_menu(app_name, menu_name, menu_item) 
    try 
     -- bring the target application to the front 
     tell application app_name 
      activate 
     end tell 
     tell application "System Events" 
      tell process app_name 
       tell menu bar 1 
        tell menu bar item menu_name 
         tell menu menu_name 
          click menu item menu_item 
         end tell 
        end tell 
       end tell 
      end tell 
     end tell 
     return true 
    on error error_message 
     return false 
    end try 
end do_menu