Сделать новый документ в 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
Другие вопросы по тегам