Щоб використовувати скрипт AppleScript у меню скриптів TextWrangler, він (або посилання на нього) повинен знаходитись у папці сценаріїв TextWrangler, розташованій за адресою, ~ / Бібліотека / Підтримка програм / TextWrangler / Сценарії , щоб він відображався в меню. Примітка: "~" на цьому шляху - це ваша домашня папка, і папка "Бібліотека" може не бути видимою. Ви можете відкрити його з меню скриптів TextWrangler, командою Відкрити папку сценаріїв і розмістити скрипт або посилання на скрипт звідки б ви не зберегли його.
Для того, щоб відповісти на це питання, я створив AppleScript під назвою Run Selected Line (s) у Terminal.scpt і розмістив його в папці Script TextWrangler і тепер доступний у меню Script у TextWrangle, як показано на зображенні нижче.
Однак, сценарій, який ви маєте, як написаний, може вийти з ладу, оскільки Terminal може бути трохи вибагливим. Іншими словами, якщо Термінал закритий під час виконання сценарію , тоді написаний код може призвести до помилки, наприклад: "Виникла помилка сценарію: Термінал отримав помилку: Неможливо отримати вікно 1."
Навіть кажучи, що Термінал активувати не відкрив вікно, як це робиться під час відкриття терміналу з плитки Dock, я встановив "Keep in Dock", і я отримав вищезгадану помилку. Тож запит 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
команду за допомогою --
і може бути, а може і не потрібна, залежно від того, термінал спочатку закритий та чи повільно реагує ваша система. Значення в секундах , виражені в десятковому. Ви можете коментувати та змінювати при необхідності.
Зображення коду, що показує синтаксичне виділення:
Примітка. Це було протестовано в ОС X 10.8.5 та TextWrangler v4.5.9 (3390) і може реагувати по-різному в інших версіях OS X та або TextWrangler.