org-babel: încărcați (toate) limbile la cerere

Sunt un mare fan al susținerii cât mai multor limbi posibil. În special, nu aș dori să exclud din partea org-babel suportul pentru o anumită limbă. (Cine știe? Poate că va trebui să scriu câteva Fortran într-o zi.) Cu toate acestea, știu că suportul de încărcare pentru toate limbile disponibile poate fi dureros.

Există vreo modalitate de încărcare a suportului pentru limbi org-babel atunci când încerc de fapt să folosesc un bloc de cod cu acea limbă?

EDIT: org-babel-execute-src-block este probabil funcția care trebuie să fie sfătuită.

6

1 răspunsuri

Acest lucru pare să o facă pentru mine:

#+BEGIN_SRC emacs-lisp
(defadvice org-babel-execute-src-block (around load-language nil activate)
  "Load language if needed"
  (let ((language (org-element-property :language (org-element-at-point))))
    (unless (cdr (assoc (intern language) org-babel-load-languages))
      (add-to-list 'org-babel-load-languages (cons (intern language) t))
      (org-babel-do-load-languages 'org-babel-load-languages org-babel-load-languages))
    ad-do-it))
#+END_SRC

Cel puțin a funcționat pentru gnuplot (după ce am instalat pachetul gnuplot și executabil).

4
adăugat
Asta e grozav! Mulțumiri!
adăugat autor PythonNut, sursa