Я хочу отправлять команды из TextWrangler (или BBEdit) на терминал. Даже если бы я нашел это , я не понимаю, как это работает, так как я новичок в Unix и запускаю Applescripts.
tell application "BBEdit"
set the_selection to (selection of front window as string)
if (the_selection) is "" then
set the_selection to line (get startLine of selection) of front window as string
end if
end tell
tell application "Terminal"
do script with command the_selection in window 1
end tell
Я сохранил Applescript, который выглядит так:
Теперь я думаю, что нужно поместить скрипт в папку сценариев TextWrangler:
Preview
приложение на El Capitan , меню « Инструменты » -> « Аннотации » -> « Стрелка ». -
Затем перетащите один из синих маркеров, чтобы переместить стрелку или изменить ее размер, перетащите зеленый маркер, чтобы сделать кривую. -
Вы можете изменить стиль формы, вы можете добавить текст в начале или в конце стрелки.Чтобы использовать сценарий AppleScript в меню «Сценарий» TextWrangler, он (или ссылка на него) должен находиться в папке «Сценарий TextWrangler», расположенной по адресу ~/Library/Application Support/TextWrangler/Scripts , чтобы он отображался в меню. Примечание. «~» в этом пути — ваша домашняя папка, а папка «Библиотека» может быть не видна. Вы можете открыть его из меню «Сценарий» TextWrangler, команды «Открыть папку сценариев» и поместить сценарий или ссылку на сценарий из того места, где вы его сохранили.
Чтобы ответить на этот вопрос, я создал AppleScript с именем Run Selected Line(s) в Terminal.scpt и поместил его в папку Script TextWrangler, и теперь он доступен в меню Script в TextWrangle, как показано на изображении ниже.
Тем не менее, сценарий, который у вас есть, в том виде, в котором он написан, может дать сбой, поскольку Терминал может быть немного привередливым. Другими словами, если Терминал закрыт во время выполнения скрипта , то написанный код может привести к ошибке, например: «Произошла ошибка скрипта: Терминал получил ошибку: Не удается получить окно 1».
Даже говоря, чтобы Терминал активировался, не открывалось окно, как при открытии Терминала из плитки док-станции, для которой я установил «Сохранить в док-станции», и я получил вышеупомянутую ошибку. Таким образом, запрос Google дал много полезной информации. Поэтому я экспериментировал с несколькими различными решениями, которые я видел, и код , который я использую, показан ниже.
tell application "TextWrangler"
activate
set the_selection to (selection of front window as string)
if (the_selection) is "" then
set the_selection to line (get startLine of selection) of front window as string
end if
end tell
tell application "Terminal"
if not (exists window 1) then reopen
activate
-- delay 0.5
do script with command the_selection in front window
end tell
Обратите внимание, что я закомментировал delay
команду и --
может понадобиться или не понадобиться в зависимости от того, закрыт ли Терминал изначально и насколько медленно реагирует ваша система. Значение в секундах выражается десятичным числом . Вы можете раскомментировать и изменить при необходимости.
Изображение кода с подсветкой синтаксиса:
Примечание. Это было протестировано в OS X 10.8.5 и TextWrangler v4.5.9 (3390) и может по-разному реагировать в других версиях OS X и/или TextWrangler.
М. Босолей