En Applescript, estoy intentando cambiar el editor de texto que estoy usando. TextEdit funciona bien, proporcionando el nombre del documento, y se abre en MacVim. Sin embargo, cuando intento exactamente lo mismo get path of document 1
en MacVim, se queda sin definir y el terminal muestra un error:
error de ejecución: MacVim obtuvo un error: No se puede obtener el documento 1. Índice no válido. (-1719)
La biblioteca de MacVim afirma que utiliza el mismo objeto de documento, ambos provienen realmente de la 'Standard Suite'.
¿Cuál es mi siguiente paso de depuración?
Todos los detalles a continuación
Código Applescript para "alternar aplicaciones de edición de texto" del archivo actualmente abierto y enfocado:
on run argv
set my_arg to argv
set the_path to "error - not found"
if (my_arg contains "v") then
set the_path to from_app("TextEdit")
open_in_app("MacVim", the_path)
else if (my_arg contains "e") then
set the_path to from_app("MacVim")
open_in_app("TextEdit", the_path)
else
display dialog "Error: Use argument 'e' or 'v' to switch TO textEditor or macVim"
end if
end run
on from_app(from_app)
tell application from_app
activate
set my_path to get path of document 1
close document 1
end tell
return my_path
end from_app
on open_in_app(to_app, my_path)
tell application to_app
activate
open my_path
end tell
end open_in_app
Suite estándar en TextEdit
documento s [inh. item; véase también TextEdit suite] : Un documento. elementos: contenido por aplicación, aplicación. propiedades: ruta (texto) : La ruta del documento.
TextEdit suite en TextEdit
document n [véase también Standard Suite] : Un documento TextEdit. propiedades: text (texto) : El texto del documento.
Suite estándar en MacVim
documento n [inh. item] : Un documento. elementos: contenido por aplicación. propiedades: ruta (texto) : La ruta del documento.
Aún no veo cómo hacer estas imágenes más pequeñas...
Cómo llamo al script para obtener el error.
user@userMBP % osascript ~/toggle-text-editor.apple.scpt e
Versiones
MacVim se instaló con brew install macvim
, Custom Version 9.0.65 (173)
.
Mac es la versión Bug Sur 11.6.8 (20G730)
Respuestas a las preguntas
¿Instala homebrew un gui "MacVim"? ¿Se inicia cuando se ejecuta el script?
Sí, MacVim incluye una GUI, y se inicia correctamente cuando se ejecuta el script.
¿Qué vuelve de la ruta a la aplicación "MacVim"? ¿Es correcto?
No sé a qué se refiere. open my_path
abre con éxito el documento correcto en MacVim. set my_path to get path of document 1
falla.
¿Qué vuelve de la aplicación "Macvim" a los documentos?
De nuevo, no estoy seguro de lo que quieres decir. Hay 2 líneas que pueden emitir un tell application MacVim
. Una tiene éxito (abrir documento), la otra falla (preguntar a MacVim el nombre del documento actualmente abierto).
Gracias @Mockman y @CJK. Abierto tema1226 en MacVim github.