If the point is not under a cite link, link-hint-open-link can open a
link cite:somekey, which will result in the following hydra command
panel org-ref-citation-hydra/body It is a function in
org-ref/org-ref-citation-links.el.
However, further input from the user will result in a failed message:
Wrong type argument: stringp, nil. For example, pressing p will result in
a message: Wrong type argument: stringp, nil.
Here's my initial investigation.
Taking open an pdf as example. In the following function,
org-ref-citation-hydra/org-ref-open-pdf-at-point-and-exit
(defun org-ref-open-pdf-at-point ()
"Open the pdf for bibtex key under point if it exists."
(interactive)
(let* ((bibtex-completion-bibliography (org-ref-find-bibliography))
(results (org-ref-get-bibtex-key-and-file))
(key (car results))
(pdf-file (bibtex-completion-find-pdf key t)))
(pcase (length pdf-file)
(0
(message "no pdf found for %s" key))
(1
(org-open-file (car pdf-file)))
(_
(org-open-file (completing-read "pdf: " pdf-file))))))
(org-ref-get-bibtex-key-and-file) use the the value returned by
(org-ref-get-bibtex-key-under-cursor) to get key and pdf file. If the
cursor is not under the citation link, then there is no result
returned, which will cause the error message. However, if the cursor
is on the citation link, the pdfs will be opened properly.
I am trying to figure out how to pass the key to org-ref-open-pdf-at-point.
If the
point
is not under acite
link,link-hint-open-link
can open a linkcite:somekey
, which will result in the following hydra command panelorg-ref-citation-hydra/body
It is a function inorg-ref/org-ref-citation-links.el
.However, further input from the user will result in a failed message:
Wrong type argument: stringp, nil
. For example, pressingp
will result in a message:Wrong type argument: stringp, nil
.Here's my initial investigation.
Taking open an pdf as example. In the following function,
org-ref-citation-hydra/org-ref-open-pdf-at-point-and-exit
(org-ref-get-bibtex-key-and-file)
use the the value returned by(org-ref-get-bibtex-key-under-cursor)
to get key and pdf file. If the cursor is not under the citation link, then there is no result returned, which will cause the error message. However, if the cursor is on the citation link, the pdfs will be opened properly.I am trying to figure out how to pass the key to
org-ref-open-pdf-at-point
.