Eseguire uno script esterno al momento del salvataggio in una determinata modalità?


12

Quando ci sono org-mode, voglio che Emacs esegua uno script bash che ho scritto ogni volta che premo C-x sper salvare. Lo script sincronizza automaticamente il file che sto salvando sul mio Raspberry Pi. Si aspetta il nome del file come argomento.

Come faccio a dire a Emacs di eseguire lo script esterno sui orgfile quando salvo?


4
È possibile utilizzare after-save-hookper eseguire lo script
Iqbal Ansari

Questo è il nostro primo immigrato? :-)
Malabarba il

@Malabarba Questo è il secondo che ho visto :)
Kaushal Modi il

Risposte:


10

Ecco una semplice configurazione che puoi modificare che ti consente di sincronizzare i orgfile con Raspberry Pi, in base allo script bash (non testato, ovviamente, perché non ho né un Pi né il tuo script). Modifica la funzione con il nome del tuo script. Usa shell-command-to-stringper mettere l'output della riga di comando da qualche parte; potresti anche usare solo shell-commandse questo non è un problema.

Puoi quindi aggiungerlo a after-save-hook, come suggerito dal commento di @ IqbalAnsari.

(defun sync-to-pi ()
  "Sync org file to Raspberry Pi with external script."
  (when (eq major-mode 'org-mode)
    (shell-command-to-string (format "your-script-name %s" buffer-file-name))))

(add-hook 'after-save-hook #'sync-to-pi)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.