org-babel: завантаження (всі) мови за запитом

Я великий шанувальник підтримки якомога більше мов. Зокрема, я б не хотів виключити підтримку будь-якої конкретної мови з org-babel . (Хто знає? Може, мені доведеться писати якийсь Fortran один день). Однак я знаю, що підтримка завантаження всіх доступних мов відразу може бути болючою.

Чи існує якийсь спосіб для org-babel для завантаження підтримки для мов, коли я намагаюся використовувати кодовий блок з цією мовою?

EDIT: org-babel-execute-src-block , ймовірно, є функцією, яку потрібно порадити.

6

1 Відповіді

Це, здається, це для мене:

#+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

Принаймні, він працював для gnuplot (після того, як я встановив пакет gnuplot та виконуваний файл).

4
додано
Це круто! Дякую!
додано Автор PythonNut, джерело