diff options
Diffstat (limited to 'oni-org')
| -rw-r--r-- | oni-org/Eldev | 4 | ||||
| -rw-r--r-- | oni-org/oni-org.el | 84 |
2 files changed, 38 insertions, 50 deletions
diff --git a/oni-org/Eldev b/oni-org/Eldev index f2baf05..225ee09 100644 --- a/oni-org/Eldev +++ b/oni-org/Eldev @@ -7,7 +7,9 @@ (eldev-use-package-archive `("oni" . ,(expand-file-name "../public/packages"))) (eldev-use-local-dependency - (car (directory-files (format "%s/share/emacs/site-lisp" (getenv "GUIX_ENVIRONMENT")) + (car (directory-files (format "%s/share/emacs/site-lisp" + (or (getenv "GUIX_ENVIRONMENT") + (expand-file-name "~/.guix-profile"))) t "org-pretty-table" nil 1))) (eldev-use-plugin 'autoloads) diff --git a/oni-org/oni-org.el b/oni-org/oni-org.el index ea85dbc..1c6ef2f 100644 --- a/oni-org/oni-org.el +++ b/oni-org/oni-org.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2026.0616.072304 -;; Package-Requires: (oni-hydra org org-edna diminish olivetti org-pretty-table) +;; Version: 2026.0707.150746 +;; Package-Requires: (oni-hydra org org-edna diminish olivetti) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -38,6 +38,7 @@ (require 'color) (require 'diminish) (require 'hydra) +(require 'map) (require 'ob) (require 'org) (require 'org-clock) @@ -46,10 +47,14 @@ (require 'org-faces) (require 'org-habit) (require 'org-protocol) -(require 'org-roam) (require 'range) (require 'subr-x) +(use-package org-pretty-table + :vc (:url "https://github.com/Fuco1/org-pretty-table.git" + :rev :newest) + :hook (org-mode)) + ;;; Constants (defconst oni-org-root @@ -242,7 +247,7 @@ _di_: Add inlineimages STARTUP ("A" (org-capture nil "a")) ("j" (org-capture nil "j")) ("f" oni-org-find-node) - ("i" org-roam-node-insert) + ;; ("i" org-roam-node-insert) ("di" oni-org-document-add-inline-images-startup)) (defun oni-org-in-dblock-p () @@ -361,7 +366,6 @@ and not a state update." (add-hook 'org-mode-hook 'flyspell-mode) (add-hook 'org-mode-hook 'olivetti-mode) (add-hook 'org-mode-hook 'org-indent-mode) -(add-hook 'org-mode-hook 'org-pretty-table-mode) (add-hook 'org-mode-hook 'variable-pitch-mode) (add-hook 'org-mode-hook 'visual-line-mode) (add-hook 'org-mode-hook 'yas-minor-mode) @@ -454,9 +458,9 @@ and not a state update." ;;;;; Custom Commands -(oni-org--map-put org-agenda-custom-commands "n" - '("NEXT items" - ((todo "NEXT")))) +(setf (map-elt org-agenda-custom-commands "n") + '("NEXT items" + ((todo "NEXT")))) ;;;; Capture @@ -986,27 +990,9 @@ This is done by adding a â:hidden tâ header argument to the code block." ,(/ (length text) 2))))) text)) -(defmacro oni-org--map-put (collection key value) - "The result of â(setf (map-elt ...) ...)â on a list. -Trying to byte-compile the above form doesn't work at the moment. -This is a temporary hack to make sure I don't have to repeat this -same code all the time." - (declare (indent 2)) - (let ((key-name (gensym)) - (value-name (gensym))) - `(let ((,key-name ,key) - (,value-name ,value)) - (condition-case nil - (with-no-warnings - (map-put! ,collection ,key-name ,value-name nil)) - (map-not-inplace - (setq ,collection - (map-insert ,collection ,key-name ,value-name)) - ,value-name))))) - (defvar oni-org--capture-D-date nil) -(oni-org--map-put org-capture-templates "D" - '("A DONE item for my to-done list." entry (file oni-org-todo-main-file) "* DONE %? +(setf (map-elt org-capture-templates "D") + '("A DONE item for my to-done list." entry (file oni-org-todo-main-file) "* DONE %? CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-format t t) (org-read-date t t nil \"Date: \"))) :PROPERTIES: :CREATED: %(progn oni-org--capture-D-date) @@ -1014,22 +1000,22 @@ CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-forma :LOGBOOK: - State \"DONE\" from \"TODO\" %(progn oni-org--capture-D-date) :END:" - :after-finalize (lambda () (setq oni-org--capture-D-date nil)))) + :after-finalize (lambda () (setq oni-org--capture-D-date nil)))) -(oni-org--map-put org-capture-templates "t" - '("A simple TODO item." entry (file "") "* TODO %? +(setf (map-elt org-capture-templates "t") + '("A simple TODO item." entry (file "") "* TODO %? :PROPERTIES: :CREATED: %U :END:")) -(oni-org--map-put org-capture-templates "U" - '("A TODO capture from the browser." entry (file "") "* TODO %:description +(setf (map-elt org-capture-templates "U") + '("A TODO capture from the browser." entry (file "") "* TODO %:description :PROPERTIES: :CREATED: %U :END: %:link" - :immediate-finish t)) + :immediate-finish t)) (defun oni-org-find-new-note-file () (let ((title (read-string "Title: "))) @@ -1044,22 +1030,22 @@ CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-forma oni-org-todo-dir)) (setq-local oni-org--capture-page-title title))) -(oni-org--map-put org-capture-templates "p" - '("A note page." plain (function oni-org-find-new-note-file) "#+TITLE: %(with-current-buffer (org-capture-get :buffer) oni-org--capture-page-title) +(setf (map-elt org-capture-templates "p") + '("A note page." plain (function oni-org-find-new-note-file) "#+TITLE: %(with-current-buffer (org-capture-get :buffer) oni-org--capture-page-title) #+DATE: %U %?" - :after-finalize (lambda () (when org-note-abort - (delete-file (buffer-file-name (org-capture-get :buffer)) t) - (kill-buffer (org-capture-get :buffer)))))) + :after-finalize (lambda () (when org-note-abort + (delete-file (buffer-file-name (org-capture-get :buffer)) t) + (kill-buffer (org-capture-get :buffer)))))) -(oni-org--map-put org-capture-templates "c" - '("Chores")) +(setf (map-elt org-capture-templates "c") + '("Chores")) -(oni-org--map-put org-capture-templates "cl" - `("Laundry" entry (file ,oni-org-todo-main-file) - (file ,(expand-file-name "laundry.org" oni-org-capture-template-directory)) - :immediate-finish t)) +(setf (map-elt org-capture-templates "cl") + `("Laundry" entry (file ,oni-org-todo-main-file) + (file ,(expand-file-name "laundry.org" oni-org-capture-template-directory)) + :immediate-finish t)) (defun oni-org-get-morning-checklist () "Get the template for my morning checklist." @@ -1075,10 +1061,10 @@ CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-forma (expand-file-name "morning-checklist-trash.org" oni-org-capture-template-directory))) template)))) -(oni-org--map-put org-capture-templates "cm" - `("Morning Checklist" entry (file ,oni-org-todo-main-file) - (function oni-org-get-morning-checklist) - :immediate-finish t)) +(setf (map-elt org-capture-templates "cm") + `("Morning Checklist" entry (file ,oni-org-todo-main-file) + (function oni-org-get-morning-checklist) + :immediate-finish t)) (defun oni-org-insert-link (title entry) (interactive |
