diff options
Diffstat (limited to '.config/emacs/modules/bd--org.el')
-rw-r--r-- | .config/emacs/modules/bd--org.el | 171 |
1 files changed, 81 insertions, 90 deletions
diff --git a/.config/emacs/modules/bd--org.el b/.config/emacs/modules/bd--org.el index f0bef3f..d1d7da4 100644 --- a/.config/emacs/modules/bd--org.el +++ b/.config/emacs/modules/bd--org.el @@ -11,97 +11,88 @@ (visual-fill-column-center-text t) (visual-fill-column-width 120)) -(defun bd/org-mode-setup-hook () - "Sets up improved org-mode defaults upon +(use-package org + :bind + (("C-c n a" . org-agenda) + ("C-c n c" . org-capture) + ("C-c n s" . org-schedule) + ("C-c n d" . org-deadline) + ("C-c n r" . org-refile)) + :config + (defun bd/org-mode-setup-hook () + "Sets up improved org-mode defaults upon each org file open." - (org-indent-mode) - (org-toggle-inline-images) - (org-latex-preview '(16))) - -;;;; hooks -(add-hook 'org-mode-hook 'bd/org-mode-setup-hook) - -;;;; binds -(keymap-global-set "C-c n a" 'org-agenda) -(keymap-global-set "C-c n c" 'org-capture) -(keymap-global-set "C-c n s" 'org-schedule) -(keymap-global-set "C-c n d" 'org-deadline) -(keymap-global-set "C-c n r" 'org-refile) - -;;;; source blocks -(org-babel-do-load-languages - 'org-babel-load-languages - '((emacs-lisp . t) - (shell . t) - (lisp . t) - (scheme . t) - (dot . t))) - -;;;; standard -(setopt org-startup-folded 'show2levels - org-ellipsis " ▾") - -;;;; export -(setopt org-export-with-toc nil - org-export-preserve-breaks t) - -;;;; agenda -(advice-add 'org-refile :after 'org-save-all-org-buffers) ; after refiling tasks, save all buffers - -(setopt org-agenda-files - `(,agenda-file "~/dc/agenda/archived_tasks.org") - - org-deadline-warning-days 7 - org-log-done 'time - org-log-into-drawer "history" - - org-todo-keywords - '((sequence "TODO(t)" "NEXT(n!)" "HOLD(h!)" "|" "DONE(d)" "CANC(c)")) - - org-refile-targets ; refile into the headings of these files, not tags - '(("archived_tasks.org" :maxlevel . 1) - ("agenda_tasks.org" :maxlevel . 1)) - - org-capture-templates - `(("c" " College") - ("cs" "Software Engineering Theory" entry (file+olp ,agenda-file "CS520") - "* TODO %?\n DEADLINE: %^t") - ("cm" "Combinatorics/Graph Theory" entry (file+olp ,agenda-file "CS575") - "* TODO %?\n DEADLINE: %^t") - ("cc" "Compiler Techniques" entry (file+olp ,agenda-file "CS610") - "* TODO %?\n DEADLINE: %^t") - ("s" " Self") - ("si" "Idea" entry (file+olp ,agenda-file "Idea / Return") - "* TODO %?\n %u") - ("sc" "Context" entry (file+olp ,agenda-file "Idea / Return") - "* TODO %?\n %a") - ("st" "Deadline" entry (file+olp ,agenda-file "Deadline") - "* TODO %?\n DEADLINE: %^t") - ("sb" "Book" entry (file+olp ,agenda-file "Book List") - "* TODO %?\n %u")) - - org-agenda-custom-commands - '(("S" "Standard Block Agenda" - ((tags-todo "*" - ((org-agenda-skip-function '(org-agenda-skip-if nil '(timestamp))) - (org-agenda-block-separator nil) - (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("HOLD"))) - (org-agenda-overriding-header "Undated Tasks\n"))) - (agenda "" ((org-agenda-span 8) - (org-deadline-warning-days 0) - (org-agenda-block-separator nil) - (org-scheduled-past-days 4) - (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("HOLD"))) - (org-agenda-overriding-header "\nUpcoming Tasks\n"))) - (agenda "" ((org-agenda-time-grid nil) - (org-agenda-show-all-dates nil) - (org-agenda-span 21) - (org-deadline-warning-days 0) - (org-agenda-block-separator nil) - (org-agenda-entry-types '(:deadline)) - (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) - (org-agenda-overriding-header "\nFuture Deadlines (+21d)\n")))))) - org-agenda-restore-windows-after-quit t) + (org-indent-mode) + (org-toggle-inline-images) + (org-latex-preview '(16))) + (add-hook 'org-mode-hook 'bd/org-mode-setup-hook) + + (org-babel-do-load-languages + 'org-babel-load-languages + '((emacs-lisp . t) + (shell . t) + (lisp . t) + (scheme . t) + (dot . t))) + + (advice-add 'org-refile :after 'org-save-all-org-buffers) + :custom + (org-startup-folded 'show2levels) + (org-ellipsis " ▾") + (org-export-with-toc nil) + (org-export-preserve-breaks t) + (org-agenda-files `(,agenda-file "~/dc/agenda/archived_tasks.org")) + (org-deadline-warning-days 7) + (org-log-done 'time) + (org-log-into-drawer "history") + + (org-todo-keywords + '((sequence "TODO(t)" "NEXT(n!)" "HOLD(h!)" "|" "DONE(d)" "CANC(c)"))) + + (org-refile-targets ; refile into the headings of these files, not tags + '(("archived_tasks.org" :maxlevel . 1) + ("agenda_tasks.org" :maxlevel . 1))) + + (org-capture-templates + `(("c" " College") + ("cs" "Software Engineering Theory" entry (file+olp ,agenda-file "CS520") + "* TODO %?\n DEADLINE: %^t") + ("cm" "Combinatorics/Graph Theory" entry (file+olp ,agenda-file "CS575") + "* TODO %?\n DEADLINE: %^t") + ("cc" "Compiler Techniques" entry (file+olp ,agenda-file "CS610") + "* TODO %?\n DEADLINE: %^t") + ("s" " Self") + ("si" "Idea" entry (file+olp ,agenda-file "Idea / Return") + "* TODO %?\n %u") + ("sc" "Context" entry (file+olp ,agenda-file "Idea / Return") + "* TODO %?\n %a") + ("st" "Deadline" entry (file+olp ,agenda-file "Deadline") + "* TODO %?\n DEADLINE: %^t") + ("sb" "Book" entry (file+olp ,agenda-file "Book List") + "* TODO %?\n %u"))) + + (org-agenda-restore-windows-after-quit t) + (org-agenda-custom-commands + '(("S" "Standard Block Agenda" + ((tags-todo "*" + ((org-agenda-skip-function '(org-agenda-skip-if nil '(timestamp))) + (org-agenda-block-separator nil) + (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("HOLD"))) + (org-agenda-overriding-header "Undated Tasks\n"))) + (agenda "" ((org-agenda-span 8) + (org-deadline-warning-days 0) + (org-agenda-block-separator nil) + (org-scheduled-past-days 4) + (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("HOLD"))) + (org-agenda-overriding-header "\nUpcoming Tasks\n"))) + (agenda "" ((org-agenda-time-grid nil) + (org-agenda-show-all-dates nil) + (org-agenda-span 21) + (org-deadline-warning-days 0) + (org-agenda-block-separator nil) + (org-agenda-entry-types '(:deadline)) + (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) + (org-agenda-overriding-header "\nFuture Deadlines (+21d)\n")))))))) (provide 'bd--org) |