diff options
author | Kyle Meyer <kyle@kyleam.com> | 2016-03-06 01:22:32 -0500 |
---|---|---|
committer | Kyle Meyer <kyle@kyleam.com> | 2016-03-06 01:22:32 -0500 |
commit | 3443b74c66f2a01b79c7322b3908ae797b6bda1b (patch) | |
tree | a1405ced437e2870e222231813c51f5eae16289d | |
parent | 51d956233c747e93a5fb2aabafd9e3d09666b904 (diff) | |
download | bog-3443b74c66f2a01b79c7322b3908ae797b6bda1b.tar.gz |
Add command to list orphan bibs
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | bog.el | 20 |
2 files changed, 21 insertions, 0 deletions
@@ -4,6 +4,7 @@ Bog NEWS -- history of user-visible changes -*- mode: org; -*- ** New features +- New command ~bog-list-orphan-files~. - New command ~bog-dired-jump-to-citekey-file~. * v1.1.0 @@ -914,6 +914,26 @@ instead of citekeys from file names in `bog-bib-directory'." (lambda (dir) (directory-files dir nil ".*\\.bib$" t)) dirs))))))) +;;;###autoload +(defun bog-list-orphan-bibs () + "Find bib citekeys that don't have a citekey heading." + (interactive) + (let ((orphans (bog--set-difference (bog-bib-citekeys) + (bog-all-heading-citekeys))) + (orphan-bufname "*Bog orphan bibs*")) + (if orphans + (with-current-buffer (get-buffer-create orphan-bufname) + (erase-buffer) + (setq default-directory bog-root-directory) + (insert ?\n) + (insert (mapconcat #'identity orphans "\n")) + (goto-char (point-min)) + (org-mode) + (pop-to-buffer (current-buffer))) + (let ((old-buf (get-buffer-create orphan-bufname))) + (when old-buf + (kill-buffer old-buf))) + (message "No orphans found")))) ;;; Web |