emacs.d/.githooks/post-merge

38 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env sh
# See: https://gist.github.com/sindresorhus/7996717
job="$(git diff-tree -r --name-only --no-commit-id HEAD^ HEAD -- README.org)"
if [ -n "$job" ]; then
emacs -Q --batch --eval "
(progn
(require 'org)
(defun my-org-eval-blocks-named (name)
(when (eq major-mode 'org-mode)
(let ((blocks
(org-element-map
(org-element-parse-buffer 'greater-element nil) 'src-block
(lambda (block)
(when (string= name (org-element-property :name block))
block)))))
(dolist (block blocks)
(goto-char (org-element-property :begin block))
(org-babel-execute-src-block)))))
(add-to-list 'safe-local-eval-forms
'(apply 'my-org-eval-blocks-named '(\"emacs-lisp-setup\")))
(setq org-confirm-babel-evaluate nil)
(setq python-indent-guess-indent-offset nil)
(org-babel-tangle-file \"$job\"))
"
fi
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# sh-basic-offset: 2
# End: