From 15e1eb8580174a7efccc7876b220f8fe24ef06c7 Mon Sep 17 00:00:00 2001 From: contrapunctus Date: Thu, 17 Jun 2021 00:25:58 +0530 Subject: [PATCH] feat(dir-locals): prompt before tangling --- .dir-locals.el | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/.dir-locals.el b/.dir-locals.el index d71a2e9..fdab88d 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -14,18 +14,23 @@ ("cr" . "chronometrist-report") ("cs" . "chronometrist-statistics") ("cx" . "chronometrist-sexp"))))) - (org-mode . ((org-html-self-link-headlines . t) - (eval . (org-indent-mode)) - (org-html-head - . (concat "")) - (eval . (add-hook 'after-save-hook - (lambda nil - (compile - (mapconcat #'shell-quote-argument - `("emacs" "-q" "-Q" "--batch" "--eval=(require 'ob-tangle)" - ,(format "--eval=(org-babel-tangle-file \"%s\")" (buffer-file-name))) - " "))) - nil t)) - (eval . (add-hook 'before-save-hook (lambda nil (org-align-all-tags)) nil t))))) + (org-mode + . ((org-html-self-link-headlines . t) + (eval . (org-indent-mode)) + (org-html-head + . (concat "")) + (eval + . (add-hook + 'after-save-hook + (lambda () + (let ((fn (buffer-file-name))) + (when (y-or-n-p (format "Tangle file %s?" fn)) + (compile + (mapconcat #'shell-quote-argument + `("emacs" "-q" "-Q" "--batch" "--eval=(require 'ob-tangle)" + ,(format "--eval=(org-babel-tangle-file \"%s\")" fn)) + " "))))) + nil t)) + (eval . (add-hook 'before-save-hook (lambda nil (org-align-all-tags)) nil t)))))