diff options
author | Kenny Ballou <kb@devnulllabs.io> | 2021-04-17 13:28:06 -0600 |
---|---|---|
committer | Kenny Ballou <kb@devnulllabs.io> | 2021-04-17 17:11:17 -0600 |
commit | 2c3c358b04e49331722c2f85a913c36940a563a6 (patch) | |
tree | b6573f0e7bb3f3eb5a028f1188132ecaf25b73cf /config/emacs/emacs.d | |
parent | 8d8ca4e1b5b57b8d0782a23b58956ea330b5a529 (diff) | |
download | dotfiles-2c3c358b04e49331722c2f85a913c36940a563a6.tar.gz dotfiles-2c3c358b04e49331722c2f85a913c36940a563a6.tar.xz |
emacs: add astronomical library
Signed-off-by: Kenny Ballou <kb@devnulllabs.io>
Diffstat (limited to 'config/emacs/emacs.d')
-rw-r--r-- | config/emacs/emacs.d/init.el | 1 | ||||
-rw-r--r-- | config/emacs/emacs.d/lisp/init-astronomical.el | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/config/emacs/emacs.d/init.el b/config/emacs/emacs.d/init.el index 99ab6b7a..a5c9bae6 100644 --- a/config/emacs/emacs.d/init.el +++ b/config/emacs/emacs.d/init.el @@ -130,6 +130,7 @@ (require 'init-ledger) (require 'init-org) (require 'init-mpd) +(require 'init-astronomical) ;; PDF-tools (require 'init-pdf-tools) diff --git a/config/emacs/emacs.d/lisp/init-astronomical.el b/config/emacs/emacs.d/lisp/init-astronomical.el new file mode 100644 index 00000000..3c977f57 --- /dev/null +++ b/config/emacs/emacs.d/lisp/init-astronomical.el @@ -0,0 +1,39 @@ +;;; init-astronomical --- astronomical emacs +;;; Commentary: +;;; https://orgmode.org/worg/org-hacks.html#org790bd5a +;;; https://orgmode.org/worg/org-hacks.html#orgf1fe951 +;;; Code: + +(require 'cl-lib) +(require 'lunar) +(require 'solar) + +(setq lunar-phase-names + '("🌑 New Moon" + "🌓 First Quarter Moon" + "🌕 Full Moon" + "🌗 Last Quarter Moon")) + +(with-suppressed-warnings ((lexical date)) + (defvar date)) +(defun kb/diary-lunar-phases () + "Show lunar phase in Agenda Buffer." + (let* ((phase-list (lunar-phase-list (nth 0 date) (nth 2 date))) + (phase (cl-find-if (lambda (phase) (equal (car phase) date)) + phase-list))) + (when phase + (concat (lunar-phase-name (nth 2 phase)) " " + (substring (nth 1 phase) 0 5))))) + +(defun kb/diary-solar-sunrise () + "Show sunrise in Agenda Buffer." + (let ((sunrise (car (car (solar-sunrise-sunset date))))) + (concat "Sunrise " (solar-time-string sunrise nil)))) + +(defun kb/diary-solar-sunset () + "Show sunset in agenda buffer." + (let ((sunset (car (cadr (solar-sunrise-sunset date))))) + (concat "Sunset " (solar-time-string sunset nil)))) + +(provide 'init-astronomical) +;;; init-astronimical.el ends here |