| Documentazione | | ![]() | ![]() |
L'Arachnophilia è CareWare
Input-Output generico
Funzioni specifiche del compilatoreLe funzioni descritte in questa sezione possono essere utilizzate per interagire con il tuo sistema operativo e qualsiasi programma in esecuzione su di esso. Una delle funzioni legge l'output di un programma, mentre l'altra passa il documento o la selezione Arachnophilia corrente a un programma per l'elaborazione.
- SystemCom
SystemCom esegue un comando/programma di sistema e inserisce il risultato nel documento corrente. Nell'editor di macro Arachnophilia, un esempio potrebbe essere simile a questo:
Esempio Linux: [SystemCom:data] Esempio di Windows: [SystemCom:data /T]Questo esempio richiede al sistema operativo la data e l'ora correnti su Linux (solo la data su Windows) e le inserisce nel documento corrente nella posizione del cursore di modifica.
È importante sottolineare che qualsiasi comando o programma di sistema, inclusi programmi o script scritti dall'utente, può essere utilizzato con questo comando. Ecco un altro esempio:
Esempio Linux: [SystemCom:ls -la (percorso)] Esempio di Windows: [SystemCom:dir (percorso)]In questo esempio, viene acquisito un elenco di directory per un dato (percorso) e il risultato viene inserito nel documento.
- Processo di sistema
SystemProcess porta quanto sopra a un livello superiore: legge il documento/selezione corrente, lo trasmette a un programma esterno per l'elaborazione e inserisce il risultato nel documento nella posizione di modifica. Questa è una funzionalità molto potente e la spiegazione è un po' più complicata.
Ecco un esempio: useremo un breve script Python che converte il testo trasmesso in MAIUSCOLO, solo per mostrare come funziona la funzione. Ecco l'elenco degli script Python:
#!/usr/bin/env python # -*- codifica: utf-8 -*- import sys per linea in sys.stdin.readlines(): linea = linea.superiore() sys.stdout.scrivi(linea)Lo script di cui sopra può servire da modello per qualsiasi elaborazione di testo simile che il lettore potrebbe desiderare di eseguire, utilizzando qualsiasi regola di elaborazione del testo desiderata (e qualsiasi altro linguaggio di scripting preferito dal lettore).
Per utilizzare questo script (o un altro simile), si dovrebbe creare una macro Arachnophilia come questa (utilizzando queste istruzioni come guida):
[SystemProcess:percorso/a/script/nome.py]Quindi si potrebbe creare un pulsante della barra degli strumenti o una voce di menu per attivare questa macro in modo conveniente. Quando questa macro è attivata, Arachnophilia acquisisce il documento corrente o il testo della selezione e lo trasmette allo script Python. Lo script python elabora il testo e lo restituisce ad Arachnophilia, dove viene inserito nel documento.
Ricorda del sistema macro Arachnophilia che, se non viene effettuata alcuna selezione del documento, l'intero testo del documento viene fornito alla macro ed è interamente sostituito dal risultato, ma se viene effettuata una selezione, solo la selezione viene modificata dalla macro .
La differenza tra SystemCom e SystemProcess è che il primo comando non consegna il testo del documento al programma esterno, mentre il secondo lo fa. Assicurati di utilizzare il comando giusto per il risultato desiderato:
- SystemCom non disturberà il testo del documento (a meno che non sia stata effettuata una selezione), inserisce semplicemente l'output di un programma nel cursore di modifica.
- SystemProcess prende l'intero contenuto o selezione del documento e lo sostituisce con l'output del programma esterno.
- In tutti i casi, se ottieni un risultato indesiderato, fai semplicemente clic sul titolo
Annulla il pulsante della barra degli strumenti per ripristinare.
Le funzionalità che verranno descritte di seguito sono spesso utilizzate con i compilatori, ma qualsiasi programma può essere attivato e può interagire con Arachnophilia. Per le attività relative al compilatore, l'attivazione del programma utilizza una delle due macro di sistema, a seconda dei requisiti:
- Il primo è più adatto ai compilatori che potrebbero restituire messaggi di errore. [SystemExec:arg] provoca l'avvio di un programma denominato con argomenti aggiuntivi facoltativi. Ecco un tipico testo macro per questo comando:
[Salva][SystemExec:g++ [NomeFile]]In questa macro, il file visualizzato viene salvato nella posizione di archiviazione già stabilita, quindi viene avviato un popolare compilatore C++ con il nome del file come argomento (ricorda che le macro Arachnophilia possono essere nidificate all'interno di altre macro Arachnophilia). Se il compilatore produce messaggi di errore, verranno elencati nella parte inferiore del pannello del documento e il cursore di modifica del documento verrà automaticamente posizionato sulla prima riga di errore segnalata. Come questo:La macro di cui sopra verrebbe utilizzata per la programmazione interattiva: dopo alcune modifiche al file sorgente, l'operatore attiverebbe semplicemente questa macro con una sequenza di tasti. Se sono stati segnalati errori, questi potrebbero essere corretti in modo interattivo (è possibile fare clic sul "pannello di feedback" mostrato nell'immagine sopra per passare a ciascun errore a turno) e la macro potrebbe essere riattivata.![]()
- Un altro comando -- [SystemConsole:arg] — è più adatto quando è prevista un'interazione con un programma ed è necessaria una finestra di terminale. Ecco alcuni esempi di macro:
Questi comandi lanciano interpreti di shell sulle rispettive piattaforme, utilizzando un semplice terminale interattivo, avviato in una finestra separata, per gestire l'I/O.Esempio Linux: [SystemConsole:bash -i] Esempio Windows [SystemConsole:cmd /k]È un peccato che queste due macro relative al compilatore abbiano nomi così simili a quelle più recenti descritte nella prima sezione, ma queste due sono state scritte anni fa e ho deciso di non rinominarle perché ciò potrebbe danneggiare le macro utente esistenti.
| Documentazione | | ![]() | ![]() |