diff options
Diffstat (limited to 'users/glittershark/emacs.d')
-rw-r--r-- | users/glittershark/emacs.d/org-config.el | 22 | ||||
-rw-r--r-- | users/glittershark/emacs.d/utils.el | 13 |
2 files changed, 35 insertions, 0 deletions
diff --git a/users/glittershark/emacs.d/org-config.el b/users/glittershark/emacs.d/org-config.el index 2624cf4aad49..634d76476d66 100644 --- a/users/glittershark/emacs.d/org-config.el +++ b/users/glittershark/emacs.d/org-config.el @@ -92,3 +92,25 @@ org-enforce-todo-dependencies nil org-babel-clojure-backend 'cider) + +(defun +grfn/insert-work-template () + (interactive) + (goto-char (point-min)) + (forward-line) + (insert "#+TODO: TODO(t) NEXT(n) ACTIVE(a) | DONE(d) PR(p) RUNNING(r) TESTING(D) +#+TODO: BLOCKED(b) BACKLOG(l) PROPOSED(o) | CANCELLED(c) +#+FILETAGS: @work +#+FILETAGS: @work +#+PROPERTY: Effort_ALL 0 4:00 8:00 12:00 20:00 32:00 +#+PROPERTY: ESTIMATE_ALL 0 1 2 3 5 8 +#+PROPERTY: STORY-TYPE_ALL Feature Bug Chore +#+PROPERTY: NOBLOCKING t +#+COLUMNS: %TODO %40ITEM(Task) %17EFFORT(Estimated){:} %CLOCKSUM(Time Spent) %17STORY-TYPE(Type) %TAGS")) + +(defun +grfn/insert-org-template () + (interactive) + (pcase (buffer-file-name) + ((s-contains "/work/") (+grfn/insert-work-template)))) + +;;; TODO: this doesn't work? +(define-auto-insert "\\.org?$" #'grfn/insert-org-template t) diff --git a/users/glittershark/emacs.d/utils.el b/users/glittershark/emacs.d/utils.el index d6d1d5722b5f..c595b46ce258 100644 --- a/users/glittershark/emacs.d/utils.el +++ b/users/glittershark/emacs.d/utils.el @@ -90,3 +90,16 @@ Returns nil if the regex did not match, non-nil otherwise" ,@body (evil-indent beg (+ (line-end-position) 1)))) (goto-line-char orig-line-char))) + +(pcase-defmacro s-starts-with (prefix) + `(pred (s-starts-with-p ,prefix))) + +(pcase-defmacro s-contains (needle &optional ignore-case) + `(pred (s-contains-p ,needle + ,@(when ignore-case (list ignore-case))))) + +(comment + (pcase "foo" + ((s-contains "bar") 1) + ((s-contains "o") 2)) + ) |