org-babel:オンデマンドですべての言語をロードする

私は可能な限り多くの言語をサポートすることを熱狂しています。特に、特定の言語のサポートを org-babel から除外したいとは思いません。 (だれが知っていますか?ある日、Fortranを書く必要があるかもしれませんが)。しかし、すべての使用可能な言語のサポートを一度にロードすることは苦しいことがあります。

実際にその言語でコードブロックを使用しようとすると、 org-babel で言語サポートをロードする方法はありますか?

EDIT: org-babel-execute-src-block は、おそらくアドバイスが必要な機能です。

6
追加された 編集された
ビュー: 2

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,