Utilice Vim para editar el archivo Applescript

Utilice Vim para editar el archivo Applescript

¿Es posible utilizar Vim para trabajar con archivos AppleScript en lugar del programa predeterminado Automator o Script Editor? Busqué en las webs y no pude encontrar la misma pregunta o respuesta en ninguna parte. He localizado el archivo en Biblioteca > Servicios, pero parece que está en un formato con el que sería bastante difícil trabajar en Vim.

Básicamente, lo que me gustaría hacer es administrar el Applescript que tengo como cualquier otro código que hago, vivir en un repositorio común, usar Vim para editarlo, administrarlo como parte de mi flujo de trabajo de git y ejecutar el archivo desde el lugar de mi elección. Todavía estoy investigando estas otras partes, pero tengo curiosidad por saber si alguien ha hecho algo similar.

Parece que no puedo pegar un ejemplo, pero básicamente el registro 'hola' que ingreso en el archivo del Editor de secuencias de comandos se vuelve ilegible cuando se abre con Vim.

Respuesta1

Lo que sucede es que Script Editor guarda los scripts en un formato compilado de forma predeterminada (observe la extensión “.scpt”), que, como habrá descubierto, no es legible por humanos. Para guardarlos como texto sin formato, cambie la ventana emergente "Formato de archivo" a Texto al guardar; la extensión debería cambiar a ".applescript".

Dados los otros requisitos que menciona, probablemente sea mejor dejarlos como texto sin formato; la mayoría de las cosas que ejecutan scripts pueden funcionar igualmente bien con archivos “.scpt” y “.applescript”.

Si por alguna razón desea/necesita tener el archivo en formato compilado, aún es posible editarlo en vim, más o menos. Debe agregar algunos comandos automáticos para descompilar el script al abrirlo y volver a compilarlo cuando lo guarde. Debería ser similar a lo que se describe.aquí, excepto que los comandos serían (creo) %!osadecompile %y %!osacompile -o %.

Los filtros “limpio” y “difuminado” de git permiten una técnica similar: el archivo se almacena en el repositorio como texto, por lo que se puede diferenciar de manera coherente, pero el archivo en su árbol de trabajo es el formato binario compilado.

información relacionada