fix agenda loading bug

This commit is contained in:
petrucci4prez 2018-04-19 01:22:11 -04:00
parent df1d1c328b
commit 40f20528c6
2 changed files with 63 additions and 63 deletions

60
conf.el
View File

@ -317,34 +317,6 @@
(setq org-agenda-dim-blocked-tasks nil) (setq org-agenda-dim-blocked-tasks nil)
(setq org-agenda-compact-blocks t) (setq org-agenda-compact-blocks t)
(setq org-agenda-tags-todo-honor-ignore-options t)
(setq org-agenda-custom-commands
`(("t"
"Task view"
((agenda "" nil)
,(macroexpand '(nd/agenda-base-task-command "Next Project" 'nd/skip-non-next-project-tasks))
,(macroexpand '(nd/agenda-base-task-command "Waiting Project" 'nd/skip-non-waiting-project-tasks))
,(macroexpand '(nd/agenda-base-task-command "Atomic" 'nd/skip-non-atomic-tasks))
,(macroexpand '(nd/agenda-base-task-command "Held Project" 'nd/skip-non-held-project-tasks))))
("o"
"Project Overview"
(,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Stuck" 10))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Waiting" 30))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Active" 40))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Held" 20))))
("r"
"Refile and errors"
((tags "REFILE" ((org-agenda-overriding-header "Tasks to Refile")) (org-tags-match-list-sublevels nil))
,(macroexpand '(nd/agenda-base-task-command "Discontinous Project" 'nd/skip-non-discontinuous-project-tasks))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Unmarked Completed" 0))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/" "Invalid" 50))))
("a"
"Archive"
((tags "-REFILE/"
((org-agenda-overriding-header "Atomic Tasks to Archive")
(org-agenda-skip-function 'nd/skip-non-archivable-atomic-tasks)
(org-tags-match-list-sublevels nil)))))))
(defvar nd/agenda-limit-project-toplevel t (defvar nd/agenda-limit-project-toplevel t
"used to filter projects by all levels or top-level only") "used to filter projects by all levels or top-level only")
@ -355,7 +327,7 @@
(org-agenda-redo)) (org-agenda-redo))
(message "Showing %s project view in agenda" (if nd/agenda-limit-project-toplevel "toplevel" "complete"))) (message "Showing %s project view in agenda" (if nd/agenda-limit-project-toplevel "toplevel" "complete")))
(defmacro nd/agenda-base-task-command (keyword skip-fun) (defun nd/agenda-base-task-command (keyword skip-fun)
"shorter syntax to define task agenda commands" "shorter syntax to define task agenda commands"
`(tags-todo `(tags-todo
"-NA-REFILE/!" "-NA-REFILE/!"
@ -364,7 +336,7 @@
(org-agenda-todo-ignore-with-date 'all) (org-agenda-todo-ignore-with-date 'all)
(org-agenda-sorting-strategy '(category-keep))))) (org-agenda-sorting-strategy '(category-keep)))))
(defmacro nd/agenda-base-project-command (match keyword statuscode) (defun nd/agenda-base-project-command (match keyword statuscode)
"shorter syntax to define project agenda commands" "shorter syntax to define project agenda commands"
`(tags `(tags
,match ,match
@ -627,6 +599,34 @@ Using this scheme, we simply compare the magnitude of the statuscodes"
;; t if children match the statuscode we ask ;; t if children match the statuscode we ask
(if (= statuscode child-statuscode) keyword)))))))) (if (= statuscode child-statuscode) keyword))))))))
(setq org-agenda-tags-todo-honor-ignore-options t)
(setq org-agenda-custom-commands
`(("t"
"Task view"
((agenda "" nil)
,(nd/agenda-base-task-command "Next Project" ''nd/skip-non-next-project-tasks)
,(nd/agenda-base-task-command "Waiting Project" ''nd/skip-non-waiting-project-tasks)
,(nd/agenda-base-task-command "Atomic" ''nd/skip-non-atomic-tasks)
,(nd/agenda-base-task-command "Held Project" ''nd/skip-non-held-project-tasks)))
("o"
"Project Overview"
(,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Stuck" 10)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Waiting" 30)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Active" 40)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Held" 20)))
("r"
"Refile and errors"
((tags "REFILE" ((org-agenda-overriding-header "Tasks to Refile")) (org-tags-match-list-sublevels nil))
,(nd/agenda-base-task-command "Discontinous Project" ''nd/skip-non-discontinuous-project-tasks)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Unmarked Completed" 0)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/" "Invalid" 50)))
("A"
"Archive"
((tags "-NA-REFILE/"
((org-agenda-overriding-header "Atomic Tasks to Archive")
(org-agenda-skip-function 'nd/skip-non-archivable-atomic-tasks)
(org-tags-match-list-sublevels nil)))))))
(evil-define-key 'motion org-agenda-mode-map "T" 'nd/toggle-project-toplevel-display) (evil-define-key 'motion org-agenda-mode-map "T" 'nd/toggle-project-toplevel-display)
(setq org-agenda-span 'day) (setq org-agenda-span 'day)

View File

@ -480,37 +480,6 @@ I use tags for filtering in the agenda view to narrow down tasks by project/cont
(setq org-agenda-dim-blocked-tasks nil) (setq org-agenda-dim-blocked-tasks nil)
(setq org-agenda-compact-blocks t) (setq org-agenda-compact-blocks t)
#+END_SRC #+END_SRC
*** custom commands
#+BEGIN_SRC emacs-lisp
(setq org-agenda-tags-todo-honor-ignore-options t)
(setq org-agenda-custom-commands
`(("t"
"Task view"
((agenda "" nil)
,(macroexpand '(nd/agenda-base-task-command "Next Project" 'nd/skip-non-next-project-tasks))
,(macroexpand '(nd/agenda-base-task-command "Waiting Project" 'nd/skip-non-waiting-project-tasks))
,(macroexpand '(nd/agenda-base-task-command "Atomic" 'nd/skip-non-atomic-tasks))
,(macroexpand '(nd/agenda-base-task-command "Held Project" 'nd/skip-non-held-project-tasks))))
("o"
"Project Overview"
(,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Stuck" 10))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Waiting" 30))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Active" 40))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Held" 20))))
("r"
"Refile and errors"
((tags "REFILE" ((org-agenda-overriding-header "Tasks to Refile")) (org-tags-match-list-sublevels nil))
,(macroexpand '(nd/agenda-base-task-command "Discontinous Project" 'nd/skip-non-discontinuous-project-tasks))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Unmarked Completed" 0))
,(macroexpand '(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/" "Invalid" 50))))
("a"
"Archive"
((tags "-NA-REFILE/"
((org-agenda-overriding-header "Atomic Tasks to Archive")
(org-agenda-skip-function 'nd/skip-non-archivable-atomic-tasks)
(org-tags-match-list-sublevels nil)))))))
#+END_SRC
*** interactive view functions *** interactive view functions
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defvar nd/agenda-limit-project-toplevel t (defvar nd/agenda-limit-project-toplevel t
@ -523,7 +492,7 @@ I use tags for filtering in the agenda view to narrow down tasks by project/cont
(org-agenda-redo)) (org-agenda-redo))
(message "Showing %s project view in agenda" (if nd/agenda-limit-project-toplevel "toplevel" "complete"))) (message "Showing %s project view in agenda" (if nd/agenda-limit-project-toplevel "toplevel" "complete")))
(defmacro nd/agenda-base-task-command (keyword skip-fun) (defun nd/agenda-base-task-command (keyword skip-fun)
"shorter syntax to define task agenda commands" "shorter syntax to define task agenda commands"
`(tags-todo `(tags-todo
"-NA-REFILE/!" "-NA-REFILE/!"
@ -532,7 +501,7 @@ I use tags for filtering in the agenda view to narrow down tasks by project/cont
(org-agenda-todo-ignore-with-date 'all) (org-agenda-todo-ignore-with-date 'all)
(org-agenda-sorting-strategy '(category-keep))))) (org-agenda-sorting-strategy '(category-keep)))))
(defmacro nd/agenda-base-project-command (match keyword statuscode) (defun nd/agenda-base-project-command (match keyword statuscode)
"shorter syntax to define project agenda commands" "shorter syntax to define project agenda commands"
`(tags `(tags
,match ,match
@ -803,6 +772,37 @@ These are the building blocks for skip functions.
;; t if children match the statuscode we ask ;; t if children match the statuscode we ask
(if (= statuscode child-statuscode) keyword)))))))) (if (= statuscode child-statuscode) keyword))))))))
#+END_SRC #+END_SRC
*** custom commands
#+BEGIN_SRC emacs-lisp
(setq org-agenda-tags-todo-honor-ignore-options t)
(setq org-agenda-custom-commands
`(("t"
"Task view"
((agenda "" nil)
,(nd/agenda-base-task-command "Next Project" ''nd/skip-non-next-project-tasks)
,(nd/agenda-base-task-command "Waiting Project" ''nd/skip-non-waiting-project-tasks)
,(nd/agenda-base-task-command "Atomic" ''nd/skip-non-atomic-tasks)
,(nd/agenda-base-task-command "Held Project" ''nd/skip-non-held-project-tasks)))
("o"
"Project Overview"
(,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Stuck" 10)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Waiting" 30)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Active" 40)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Held" 20)))
("r"
"Refile and errors"
((tags "REFILE" ((org-agenda-overriding-header "Tasks to Refile")) (org-tags-match-list-sublevels nil))
,(nd/agenda-base-task-command "Discontinous Project" ''nd/skip-non-discontinuous-project-tasks)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/!" "Unmarked Completed" 0)
,(nd/agenda-base-project-command "-NA-REFILE-ATOMIC/" "Invalid" 50)))
("A"
"Archive"
((tags "-NA-REFILE/"
((org-agenda-overriding-header "Atomic Tasks to Archive")
(org-agenda-skip-function 'nd/skip-non-archivable-atomic-tasks)
(org-tags-match-list-sublevels nil)))))))
#+END_SRC
*** keymap *** keymap
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(evil-define-key 'motion org-agenda-mode-map "T" 'nd/toggle-project-toplevel-display) (evil-define-key 'motion org-agenda-mode-map "T" 'nd/toggle-project-toplevel-display)