Ответ 1
Спасибо за советский шторм! Я изменил ваш метод, чтобы файл обработки, открытый в Sublime, можно было отправить непосредственно в приложение "Обработка". Во-первых, я загрузил и установил пакет обработки TextMate, чтобы файлы .pde были правильно идентифицированы (и выделены синтаксисом) как обработка документов в Sublime (http://www.onebitwonder.com/projects/processing). Если вы просматриваете этот tmbundle, есть файл определения языка TextMate (Processing.tmbundle/Syntaxes/Processing.tmLanguage), который должен быть изменен. В нижней части этого файла есть строка:
<string>source.java-processing</string>
Эта строка должна быть изменена на:
<string>source.pde</string>
После сохранения Processing.tmLanguage вы можете удалить весь пакет Processing.tmbundle в каталог Sublime. Теперь откройте документ .pde в Sublime. В нижнем правом углу окна Sublime есть идентификатор типа документа, который, вероятно, скажет "Обычный текст". Нажмите на этот идентификатор и выберите "Открыть все с текущим расширением as..." и выберите "Обработка", который теперь должен быть в списке. Я написал два AppleScripts для запуска и запуска обработки и оболочки script для их записи (это единственный способ, с помощью которого AppleScripts можно запускать правильно из Sublime в последовательности).
Первый script запускает Обработку, если она еще не запущена. Этот шаг необходим, потому что, если обработка не выполняется, задержка должна быть вставлена до того, как обработка зарегистрирует нажатия клавиш (во время запуска появляется заставка в течение нескольких секунд). Задержка в 3 секунды хорошо работает с моей системой, но вам может потребоваться удлинить задержку в зависимости от вашего оборудования. Возможно, кто-то еще может подумать о более элегантном способе заставить AppleScript ждать обработки, чтобы пройти мимо экрана заставки.
Первый AppleScript (называемый мной "first_processing.scpt" ):
--check to see if Processing is running
tell application "System Events"
set x to (count (every process whose creator type is "Pde1"))
end tell
--if Processing is not running, open Processing and delay
--for three seconds to allow time for splash screen
--to disappear and to allow keystrokes to be
--registered
if x is 0 then
activate application "Processing"
delay 3
end if
Второй applescript отправляет нажатие клавиши для запуска вашей программы обработки (с именем "second_processing.scpt" ):
tell application "Processing"
activate
end tell
tell application "System Events"
--deliver the "run" command
delay 0.1
keystroke "r" using command down
--hide Processing; delay is necessary for reliable hiding
--you may want to turn off hiding to see error messages
delay 0.2
keystroke "h" using command down
end tell
Оболочка драйвера script (с именем "launch_processing_file.sh" ):
osascript ~/Documents/AppleScript_Library/processing/first_processing.scpt
open -a Processing $1
osascript ~/Documents/AppleScript_Library/processing/second_processing.scpt
Наконец, система Sublime для обработки (для сохранения в вашем каталоге пользователя с расширением ".sublime-build" ):
{
"cmd": ["sh", "full_path_to_shell_script/launch_processing_file.sh", "$file"],
"selector": "source.pde"
}
Обратите внимание, что вы должны выбрать "Использовать внешний редактор" в настройках обработки, чтобы этот метод работал правильно. Также обратите внимание, что ваш файл обработки должен содержаться в папке с тем же именем. Я могу написать script для создания надлежащей закрывающей папки для голого файла обработки, но на данный момент этот аспект не учитывается автоматически. Наслаждайтесь!
P.S.
Это мой первый пост здесь. Какой фантастический сайт!