orgmode-babel.nvim/lua/orgmode-babel/tangle_all.el

23 lines
697 B
EmacsLisp
Raw Normal View History

2023-06-25 01:23:27 +10:00
(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)