Сделать новый документ в TextMate с помощью rb-appscript или AppleScript?
Как мне сделать новый документ в TextMate, используя rb-appscript или AppleScript?
Вот мой rb-appscript:
te = app("TextMate")
te.launch
doc = te.make(:new => :document)
Но это не работает.
Вот сообщение об ошибке, которое я получаю:
OSERROR: -10000
MESSAGE: Apple event handler failed.
COMMAND: app("/Applications/TextMate.app").make({:new=>:document})
Если кто-то дает мне код AppleScript, я могу преобразовать его в rb-appscript.
1 ответ
Решение
Технически, это должно быть просто так:
tell application "TextMate"
set theResult to make new document
end tell
Но я получаю ту же ошибку в Script Debugger. Создание нового документа вручную и получение документа с помощью скрипта работает нормально. Я хочу сказать, что вы нашли ошибку в реализации Applescript в TextMate. Вы можете пойти по пути сценариев GUI здесь (бесстыдно скопированы с сайта Mac OS Automation):
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