使用 rb-appscript 或 AppleScript 在 TextMate 中创建新文档?

发布于 2024-09-15 16:00:23 字数 429 浏览 6 评论 0原文

如何使用 rb-appscript 或 AppleScript 在 TextMate 中创建新文档?

这是我的 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。

How do I make a new document in TextMate using rb-appscript or AppleScript?

Here is my rb-appscript:

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

But it doesn't work.

Here is the error message I get:

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

If someone gives me an AppleScript code I can convert it to rb-appscript.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋千易 2024-09-22 16:00:23

从技术上讲,它应该是这样的:

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

但是我在脚本调试器中遇到了同样的错误。手动创建新文档并通过脚本获取文档效果很好。我想说的是,您在 TextMate 的 Applescript 实现中发现了一个错误。您可以在这里使用 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

Technically, it's supposed to be just this:

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

But I get the same error in Script Debugger. Creating a new document manually and getting the document via a script works fine. I'm going to say you found a bug in TextMate's Applescript implementation. You could go the GUI scripting route here (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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文