BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any all-the-icons-* function calls or variable references in your private config will break and should be replaced with their nerd-icons-* equivalent. That said, Doom will continue to install all-the-icons for a while, so feel free to load it if you don't want to fully commit to the change yet. This change is happening because nerd-icon has wider support for GUI and TUI Emacs; has a larger, more consistent selection of symbols; plus unicode coverage. Fix: #7368 Close: #6675 Close: #7364
103 lines
3 KiB
EmacsLisp
103 lines
3 KiB
EmacsLisp
;;; tools/biblio/config.el -*- lexical-binding: t; -*-
|
|
|
|
;;
|
|
;;; `org-cite'
|
|
|
|
(use-package! oc
|
|
:defer t
|
|
:config
|
|
(setq org-cite-global-bibliography
|
|
(ensure-list
|
|
(or (bound-and-true-p citar-bibliography)
|
|
(bound-and-true-p bibtex-completion-bibliography)))
|
|
;; Setup export processor; default csl/citeproc-el, with biblatex for
|
|
;; latex
|
|
org-cite-export-processors '((latex biblatex) (t csl))
|
|
org-support-shift-select t))
|
|
|
|
|
|
(use-package! citar
|
|
:when (modulep! :completion vertico)
|
|
:no-require
|
|
:config
|
|
(setq org-cite-insert-processor 'citar
|
|
org-cite-follow-processor 'citar
|
|
org-cite-activate-processor 'citar)
|
|
(when (modulep! :completion vertico +icons)
|
|
(defvar citar-indicator-files-icons
|
|
(citar-indicator-create
|
|
:symbol (nerd-icons-faicon
|
|
"nf-fa-file_o"
|
|
:face 'nerd-icons-green
|
|
:v-adjust -0.1)
|
|
:function #'citar-has-files
|
|
:padding " " ; need this because the default padding is too low for these icons
|
|
:tag "has:files"))
|
|
(defvar citar-indicator-links-icons
|
|
(citar-indicator-create
|
|
:symbol (nerd-icons-faicon
|
|
"nf-fa-link"
|
|
:face 'nerd-icons-orange
|
|
:v-adjust 0.01)
|
|
:function #'citar-has-links
|
|
:padding " "
|
|
:tag "has:links"))
|
|
(defvar citar-indicator-notes-icons
|
|
(citar-indicator-create
|
|
:symbol (nerd-icons-codicon
|
|
"nf-cod-note"
|
|
:face 'nerd-icons-blue
|
|
:v-adjust -0.3)
|
|
:function #'citar-has-notes
|
|
:padding " "
|
|
:tag "has:notes"))
|
|
(defvar citar-indicator-cited-icons
|
|
(citar-indicator-create
|
|
:symbol (nerd-icons-faicon
|
|
"nf-fa-circle_o"
|
|
:face 'nerd-icon-green)
|
|
:function #'citar-is-cited
|
|
:padding " "
|
|
:tag "is:cited"))
|
|
(setq citar-indicators
|
|
(list citar-indicator-files-icons
|
|
citar-indicator-links-icons
|
|
citar-indicator-notes-icons
|
|
citar-indicator-cited-icons))))
|
|
|
|
(use-package! citar-embark
|
|
:when (modulep! :completion vertico)
|
|
:after citar embark
|
|
:config (citar-embark-mode))
|
|
|
|
(use-package! citar-org-roam
|
|
:when (and (modulep! +roam2)
|
|
(modulep! :completion vertico))
|
|
:after citar org-roam
|
|
:config (citar-org-roam-mode))
|
|
|
|
;; `org-cite' processors
|
|
(use-package! oc-biblatex :after oc)
|
|
(use-package! oc-csl :after oc)
|
|
(use-package! oc-natbib :after oc)
|
|
|
|
|
|
;;
|
|
;;; Third-party
|
|
|
|
(use-package! bibtex-completion
|
|
:when (or (modulep! :completion ivy)
|
|
(modulep! :completion helm))
|
|
:defer t
|
|
:config
|
|
(setq bibtex-completion-additional-search-fields '(keywords)
|
|
;; Tell bibtex-completion to look at the File field of the bibtex to
|
|
;; figure out which pdf to open:
|
|
bibtex-completion-pdf-field "file"))
|
|
|
|
|
|
(use-package! ivy-bibtex
|
|
:when (modulep! :completion ivy)
|
|
:defer t
|
|
:config
|
|
(add-to-list 'ivy-re-builders-alist '(ivy-bibtex . ivy--regex-plus)))
|