Hello, András Simonyi <andras.simo...@gmail.com> writes:
> playing with the new citation API (which is already very impressive > and usable!) I cobbled together an "activation processor" which > fontifies Org citations using citeproc-el generated previews (when the > cursor is elsewhere). It also shows the full references as a tooltip > on mouse-over. Currently everything is very experimental, but if any > of you is willing to give it a try it can be found at > https://github.com/andras-simonyi/org-cite-csl-activate, and, of > course, any feedback is welcome. This looks very nice already! Thanks for sharing. It may make sense to merge it with "oc-csl.el" at some point. If that suits you, there are a few gotchas: - `alist' library isn't usable in Org, as it didn't exist in Emacs 24.3. So, there's unfortunately no `alist-get' for us. - `<=' was not a variadic function back in Emacs 24.3, so (<= beg (point) end) is not possible either. In addition, I have a couple of comments: - As suggested by Bruce D'Arcus, we might move `org-cite-get-boundaries' in `oc.el' proper, since it is also used elsewhere (at least in "oc-basic.el"). - Nitpick: (car element) => (org-element-type element) - I think it is inefficient to call `org-element-context' in `org-cite-csl-activate--sensor-fun'. You may as well store the parsed object as a text property on the citation during fontification, and read the property in the function above to know where you are. - I am also wondering about the call of `org-element-parse-buffer' in `org-cite-csl-activate-render-all'. It is not wrong per se, but it is only optimal when citation density in every part of the document is not low. This might not be the most common case. The other option is to `re-search-forward' for `org-element-citation-prefix-re' and then call `org-element-context' at point. Of course, optimizing `org-cite-csl-activate-render-all' may not be the top priority, since some latency is to be expected anyway. WDYT? Regards, -- Nicolas Goaziou