Alguna información sobre lo que estoy tratando de lograr
Estoy usando emacs dentro de la terminal. Sé de la existencia de versiones de cacao de emacs (como Emacs de GNU para OS X , Aquamacs y Emacs Mac Port ). Pero prefiero codificar dentro del terminal.
Todo está bien en mi configuración, excepto el hecho de que a veces quiero abrir un archivo dentro de emacs desde Finder o cualquier otro software. Así que necesito encontrar el proceso de ejecución de emacs en la terminal o crear uno nuevo y abrir la multa dentro de la ejecución de emacs.
Básicamente, necesito crear un contenedor .app
para abrir archivos en emacs de terminal.
Intentando hacerlo
Según tengo entendido, open -a my_emacs_app /path/to/file
es lo mismo que abrir el archivo en la aplicación desde el buscador. Por eso es que estoy probando my_emacs_app
usando el comando open
.
Mi primer intento es crear una aplicación usando AppleScript. Aquí está el código que procesa los argumentos pasados:
on run argv
if (count of argv) > 0 then
-- get file path from argv
-- and log to logfile for testing purposes
return "defined"
else
-- no args means no file
-- log to logfile that we can't extract file path
-- from empty arguments
return "failed"
end if
end run
Y, de hecho, funciona cuando intento ejecutarlo usando
$ osascript my_emacs_app.scpt /path/to/file
Abre el archivo y registra lo que se espera que registre el archivo.
Cuando lo ejecuto usando
$ osascript my_emacs_app.scpt
Se registra en el archivo que no se pasaron argumentos.
Así que estaba feliz con eso. Pero recuerda, necesito un envoltorio .app
. Así que estoy exportando este script como aplicación (y lo coloco dentro de la carpeta /Applications/
). Y luego cuando trato de
$ open -a my_emacs_app /path/to/file
Veo que la aplicación se ejecuta por un corto tiempo y luego se cierra. Pero no pasa nada bueno. Quiero decir, el archivo no se abre en emacs y nada se registra en el archivo de registro.
¿Alguien sabe cómo exportar tales scripts?