0 votos

Cómo depurar applescript cuando los métodos de clase de una aplicación no responden

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...

enter image description here enter image description here enter image description here

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.

0voto

Shashank Lonkar Puntos 21

El siguiente paso fue acudir al desarrollador de la Aplicación. En este caso, abrí tema1226 en MacVim github.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X