Skip to content

Commit 16f5575

Browse files
committed
Only enable for a limited set of languages
TODO: Write a prelude function to enable JIT download and install of org-babel packages
1 parent 4116c3d commit 16f5575

File tree

1 file changed

+55
-35
lines changed

1 file changed

+55
-35
lines changed

modules/prelude-literate-programming.el

+55-35
Original file line numberDiff line numberDiff line change
@@ -28,52 +28,72 @@
2828
;; Boston, MA 02110-1301, USA.
2929

3030
;;; Code:
31+
32+
(defvar prelude-ipynb-packages
33+
'(code-cells ; file mode for code-cells
34+
ein ; Emacs Ipython Notebook (Jupyter Client)
35+
elpy ; emacs python development environment
36+
))
37+
38+
(defvar prelude-ob-packages
39+
'(ob-async ; asynchronous execution of code-blocks
40+
ob-ipython ; for python and ipython
41+
ob-tmux ; for shell
42+
ob-deno ; for javascript
43+
ob-typescript
44+
))
45+
46+
3147
(prelude-require-packages
32-
'(ob-cfengine3
33-
ob-clojurescript
34-
ob-coffee
35-
ob-dao
36-
ob-diagrams
37-
ob-elixir
38-
ob-elm
39-
ob-go
40-
ob-graphql
41-
ob-http
42-
ob-ipython
43-
ob-julia-vterm
44-
ob-kotlin
45-
ob-mongo
46-
ob-prolog
47-
ob-restclient
48-
ob-rust
49-
ob-sml
50-
ob-sql-mode
51-
ob-translate
52-
ob-typescript
53-
ob-uart
54-
code-cells
55-
ein
56-
elpy
57-
math-preview))
48+
(append prelude-ipynb-packages prelude-ob-packages))
5849

50+
(setq prelude-ob-loader-list
51+
'((python . t)
52+
(ipython . t)
53+
(shell . t)
54+
(js . t)
55+
(typescript . t)
56+
;; Include other languages here...
57+
))
5958

6059
;; Run/highlight code using babel in org-mode
6160
(org-babel-do-load-languages
62-
'org-babel-load-languages
63-
'(
64-
(python . t)
65-
(ipython . t)
66-
(sh . t)
67-
(shell . t)
68-
(javascript . t)
69-
;; Include other languages here...
70-
))
61+
'org-babel-load-languages prelude-ob-loader-list)
62+
7163
;; Syntax highlight in #+BEGIN_SRC blocks
7264
(setq org-src-fontify-natively t)
65+
7366
;; Don't prompt before running code in org
7467
(setq org-confirm-babel-evaluate nil)
68+
7569
;; Fix an incompatibility between the ob-async and ob-ipython packages
7670
(setq ob-async-no-async-languages-alist '("ipython"))
7771

72+
(defvar org-babel-language-list
73+
'(ob-cfengine3
74+
ob-clojurescript
75+
ob-coffee
76+
ob-dao
77+
ob-diagrams
78+
ob-elixir
79+
ob-elm
80+
ob-go
81+
ob-graphql
82+
ob-http
83+
ob-ipython
84+
ob-julia-vterm
85+
ob-kotlin
86+
ob-mongo
87+
ob-prolog
88+
ob-restclient
89+
ob-rust
90+
ob-sml
91+
ob-sql-mode
92+
ob-translate
93+
ob-typescript
94+
ob-uart
95+
))
96+
;;; TODO Write a function to enable org-babel for each function
97+
7898
(provide 'prelude-literate-programming)
7999
;;; prelude-literate-programming.el ends here

0 commit comments

Comments
 (0)