Почему система пищит, когда я использую AppleScript для установки текста в BBEdit из TextExpander?


Я написал 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").

1 4

1 ответ:

Ребята из Smile Software (создатели TextExpander) нашли для меня вполне работоспособное решение.

Вместо

set text of selection to "["

(за которым должен был следовать select insertion point after selection, чтобы отменить выбор [ во всяком случае), это прекрасно работает:

return "["

Что в любом случае является лучшей идеей.