Per utilizzare uno script di AppleScript nel menu Script di TextWrangler, è necessario (o un collegamento ad esso) nella cartella Script di TextWrangler situata in, ~ / Libreria / Application Support / TextWrangler / Script in modo che appaia nel menu. Nota: il "~" in quel percorso è la cartella Home e la cartella Libreria potrebbe non essere visibile. È possibile aprirlo dal menu Script di TextWrangler, aprire il comando Cartella script e inserire lo script o il collegamento allo script da qualsiasi posizione di salvataggio.
Allo scopo di rispondere a questa domanda ho creato un AppleScript chiamato Esegui una o più linee selezionate in Terminal.scpt e lo colloco nella cartella Script di TextWrangler ed è ora disponibile nel menu Script in TextWrangle come mostra nell'immagine qui sotto.
Dettoquesto,loscriptchehai,comescritto,potrebbenonriuscirevistocheTerminalpuòessereunpo'pignolo.Inaltreparole,seTerminalevienechiusoquandosiesegueloscript,allorailcodicecomescrittopuòprodurreunerrore,adesempio:"Si è verificato un errore di script: il terminale ha ricevuto un errore : Impossibile ottenere la finestra 1. "
Anche dire che Terminal per attivare non ha aperto una finestra come fa quando apri il Terminale dal riquadro del Dock che ho impostato su "Keep in Dock" e otterrei l'errore di cui sopra. Quindi una query di Google ha fornito molte informazioni utili. Così ho sperimentato alcune soluzioni diverse che ho visto e il codice che sto usando è mostrato di seguito.
tell application "TextWrangler"
activate
set the_selection to (selection of front window as string)
if (the_selection) is "" then
set the_selection to line (get startLine of selection) of front window as string
end if
end tell
tell application "Terminal"
if not (exists window 1) then reopen
activate
-- delay 0.5
do script with command the_selection in front window
end tell
Nota che ho commentato il delay
comando con --
e potrebbe o non potrebbe essere necessario a seconda se Terminal è inizialmente chiuso e quanto rallenta il tuo sistema. Il valore è espresso in decimi secondi . Puoi decommentare e modificare se / come necessario.
Immagine del codice che mostra l'evidenziazione sintattica:
Nota: questo è stato testato sotto OS X 10.8.5 e TextWrangler v4.5.9 (3390) e potrebbe reagire in modo diverso nelle altre versioni di OS X e / TextWrangler.