From f17083abfd13b947f8c3a819449cc372c13511df Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Wed, 15 Oct 2014 02:18:51 -0400 Subject: Add command bog-insert-heading-citekey --- README | 1 + README.md | 1 + bog.el | 12 ++++++++++++ 3 files changed, 14 insertions(+) diff --git a/README b/README index 7899403..47fad96 100644 --- a/README +++ b/README @@ -105,6 +105,7 @@ Other useful functions include - =bog-search-notes-for-citekey= - =bog-sort-topic-headings-in-buffer= - =bog-sort-topic-headings-in-notes= +- =bog-insert-heading-citekey= * Variables diff --git a/README.md b/README.md index 07da545..76191ea 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ Other useful functions include - `bog-search-notes-for-citekey` - `bog-sort-topic-headings-in-buffer` - `bog-sort-topic-headings-in-notes` +- `bog-insert-heading-citekey` # Variables diff --git a/bog.el b/bog.el index 78f16df..8d6b10f 100644 --- a/bog.el +++ b/bog.el @@ -742,6 +742,17 @@ Sorting is only done if the heading's level matches (not (bog-citekey-from-heading))) (org-sort-entries nil sorting-type)))) +(defun bog-insert-heading-citekey (&optional current-buffer) + "Select a citekey to insert at point. +By default, offer heading citekeys from all files. With prefix +argument CURRENT-BUFFER, limit to heading citekeys from the +current buffer." + (interactive "P") + (let ((citekey-func (if current-buffer + 'bog-heading-citekeys-in-buffer + 'bog-all-heading-citekeys))) + (insert (bog-select-citekey (funcall citekey-func))))) + ;;; Font-lock @@ -862,6 +873,7 @@ chosen." (define-key prefix-map "r" 'bog-rename-staged-file-to-citekey) (define-key prefix-map "s" 'bog-search-notes) (define-key prefix-map "w" 'bog-refile) + (define-key prefix-map "y" 'bog-insert-heading-citekey) (define-key map bog-keymap-prefix prefix-map)) map) "Keymap for Bog.") -- cgit v1.2.3