22 lines
697 B
EmacsLisp
22 lines
697 B
EmacsLisp
(defun tangle-org-babel-blocks (&optional block-names)
|
|
"Tangle org-mode code blocks in the current buffer. If BLOCK-NAMES is provided, only tangle those blocks."
|
|
(interactive)
|
|
(if block-names
|
|
(dolist (block block-names)
|
|
(save-restriction
|
|
(goto-char (point-min))
|
|
(while (re-search-forward (concat "#\\+NAME: " (regexp-quote block)) nil t)
|
|
(org-babel-tangle-block))))
|
|
(org-babel-tangle)))
|
|
|
|
(setq org-confirm-babel-evaluate nil)
|
|
(find-file (nth 0 command-line-args-left))
|
|
|
|
(let ((blocks (cdr command-line-args-left)))
|
|
(if blocks
|
|
(tangle-org-babel-blocks blocks)
|
|
(tangle-org-babel-blocks)))
|
|
|
|
(save-buffer)
|
|
(save-buffers-kill-emacs)
|
|
|