Как открыть файл EMACS в OS X, дважды щелкнув по нему, используя команду `emacsclient`?
Я хочу открыть файл режима орг, выбранный в Finder, дважды щелкнув по нему. Но так как я использую Emacs в режиме демона, я хочу использовать emacsclient
Команда для этого.
Таким образом, основная идея заключалась в том, чтобы обернуть команду emacsclient -c posixPathToFile
в приложении AppleScript, чтобы открыть его.
tell application "Finder"
set fileAlias to the selection as alias
set fileName to name of fileAlias
set posixPath to POSIX path of fileAlias
end tell
-- tell application "Emacs" to activate
try
do shell script "/usr/local/bin/emacsclient -c " & quoted form of posixPath
end try
я знаю, некоторыеset
Команды не нужны. Давайте предположим, что этот скрипт сохранен какXemacs.app
и что я связываю это приложение, чтобы всегда открывать .org
файл.
Использование этого приложения не работает, если дважды щелкнуть файл, а если я выберу файл в Finder и затем вызову Xemacs.app независимо. Зачем? Я не достаточно уверен в AppleScript, чтобы понять, что происходит.
Таким образом, обходной путь должен был использовать сервис Automator
on run {input, parameters}
set posixPath to POSIX path of input
tell application "iTerm" to do shell script "/usr/local/bin/emacsclient -c " & quoted form of posixPath
return input
end run
Сервис сохраняется как "Открыть в Emacs"
Теперь выберите файл и щелкните правой кнопкой мыши и вызовите Сервис> "Открыть в Emacs" и откройте файл.
Что не так с первым подходом?
1 ответ
Хорошо, я решил свою проблему. Проблема связана с моим неправильным пониманием разницы между ScriptEditor и Automator. Если я использую Automator для создания приложения и использую предыдущий сценарий вместо создания приложения с использованием ScriptEditor, то он работает как положено.
Можно упростить процесс, создав приложение в Automator и запустив сценарий оболочки вместо переноса команды в Ascript.