jkitchin / org-ref

org-mode modules for citations, cross-references, bibliographies in org-mode and useful bibtex tools to go with it.
GNU General Public License v3.0
1.36k stars 243 forks source link

org-ref-cite-hydra defined in default keymap but org-ref-ivy-cite is not loaded #784

Closed yaqihou closed 4 years ago

yaqihou commented 4 years ago

The org-ref-cite-hydra is currently defined in org-ref-ivy-cite.el at line 473 and bind to H-o by default. However the org-ref-ivy-cite is not loaded in org-ref-core.el (hence the commandp org-ref-cite-hydra error)

It looks to me this hydra is independent of org-ref-ivy-cite part (though that's where the only reference is called) and seems more proper to be moved to org-ref.utils.el. I was wondering if this is by design (so one need to (require 'org-ref-ivy-cite) explicitly?) or maybe it is just that this part is too old and got lost in the iterations.

jkitchin commented 4 years ago

I think it is there because I think of hydra as part of the ivy ecosystem. If you want a helm backend, you probably want to use helm instead of hydra. I think org-ref-core is mostly independent of backends like helm, ivy, hydra etc, and it should probably stay that way.

yaqihou commented 4 years ago

Ah I see! Thanks for the clarification and yes I completely agree that the org-ref-core should be kept as independent as possible of the backends.

I just realized that the error ((commadp org-ref-cite-hydra)) is just from the deferred autoload. What I was thinking then was to move that hydra to org-ref-utils.el, which is explicitly required in the main file but it is not necessary now.

Thank you for this awesome package!