4

我编写了一个 AppleScript,旨在在 TextExpander 注意到击键时触发。从 AppleScript 编辑器运行时它工作正常,但在某些条件下从 TextExpander 运行时它也会发出哔哔声。

这是脚本:

tell front window of application "BBEdit"
    if (length of selection) is not 0 then
        add prefix and suffix of selection prefix "[" suffix "]"
    else
        set text of selection to "["
    end if
end tell

当我输入[字符时它被设置为触发,其想法是,如果选择了文本,它将把文本包装在[]中,但如果没有选择任何文本,那么它应该像平常一样简单地输入 [ 字符。

无论它运行如何,它都能完美运行,但如果从 TextExpander 运行并且“else”路径跟随 ( set text of selection to "["),系统会发出哔哔声。我不确定 BBEdit 或 TextExpander 是否正在生成哔声,但如果我完全删除“else”部分或者它运行时选择了文本(“if”路径),则不会发出哔声。

4

1 回答 1

1

Smile Software(TextExpander 的制造商)的人们为我找到了一个完美可行的解决方案。

代替

set text of selection to "["

(必须遵循select insertion point after selection以取消选择[无论如何),这非常有效:

return "["

无论如何,这是一个更好的主意。

于 2011-10-10T20:16:42.573 回答