当我使用AppleScript在TextExpander中设置BBEdit中的文本时,为什么系统会发出哔哔声?

时间:2011-10-04 07:16:49

标签: applescript bbedit

我编写了一个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 运行,则跟随(set text of selection to "[")“else”路径,系统会发出蜂鸣声。我不确定BBEdit或TextExpander是否正在发出蜂鸣声,但是如果我完全删除“else”部分或者选择了文本(“if”路径)运行,则不会发出蜂鸣声。

1 个答案:

答案 0 :(得分:1)

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

而不是

set text of selection to "["

(必须跟select insertion point after selection后才能取消选择 [],这非常有效:

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