;;; ../../../../mnt/c/Users/SmithEvar/.doom.d/config-true-helix.el -*- lexical-binding: t; -*- ;; TH specific stuff (defvar my/work-devops-base-url "https://dev.azure.com/Helix076/Helix") (defun make-helix-devops-pullrequest-link (pr-number) (browse-url (concat my/work-devops-base-url "/_git/Helix/pullrequest/" pr-number))) (defun make-mobile-devops-pullrequest-link (pr-number) (browse-url (concat my/work-devops-base-url "/_git/Mobile/pullrequest/" pr-number))) (defun make-apidomain-devops-pullrequest-link (pr-number) (browse-url (concat my/work-devops-base-url "/_git/Helix.API.Domain/pullrequest/" pr-number))) (defun make-infrastructure-devops-pullrequest-link (pr-number) (browse-url (concat my/work-devops-base-url "/_git/Infrastructure/pullrequest/" pr-number))) (defun make-devops-workitem-link (story-number) (browse-url (concat my/work-devops-base-url "/_workitems/edit/" story-number))) (defvar my/yas-devops-repo-list-expr '("helix" "mobile" "apidomain" "infrastructure")) ;; Work related TH stuff (defvar my/work-org-file (concat my/org-dir-work "work.org")) (defvar my/standups-priority-prompt-string "%^{prompt||[#A]|[#B]|[#C]}") (defvar my/standups-people-prompt-string "%^{prompt|General|Cody|Corey|Emily|Evar|Mike|Nick|Melissa|Heather|Tom|Drew|Liz|Alex|Jared|Denise|Brian|Chris|Sam}") (defvar my/devops-repo-prompt-string "%^{prompt|AutoHistory|CLinkDataImportTool|Helix|Helix.API.Domain|Mobile|Infrastructure|SampleDataTool}") (defvar my/standups-default-properties-string "") (after! org (setq +org-capture-projects-file my/work-org-file) (setq org-capture-templates `(("g" "GTD Captures") ("gi" "inbox" entry (file+olp ,my/work-org-file "Inbox") ,(concat "* TODO %?")) ("gf" "followup" entry (file+olp ,my/work-org-file "Inbox") ,(concat "* TODO " my/standups-people-prompt-string " - %?" my/standups-default-properties-string)) ;("f" "Followup" entry (file+olp ,my/work-org-file "Active" "Followups") ; ,(concat "* TODO " my/standups-priority-prompt-string " " my/standups-people-prompt-string " - %? :actionable:" my/standups-default-properties-string)) ("p" "Centralized templates for projects") ("pt" "Project todo" entry (function +org-capture-central-project-todo-file) "* TODO %?\n %i\n %a" :heading "Tasks" :parents ("Code Notes") :prepend nil) ("pn" "Project notes" entry (function +org-capture-central-project-notes-file) "* %U %?\n %i\n %a" :heading "Misc" :parents ("Code Notes") :prepend t) ("s" "Standups") ("sa" "Announcement" entry (file+olp ,my/work-org-file "Active" "Announcements") ,(concat "* " my/standups-people-prompt-string " - %? :announcement:")))) (org-add-link-type "devops-workitem" #'make-devops-workitem-link) (org-add-link-type "devops-helix-pr" #'make-helix-devops-pullrequest-link) (org-add-link-type "devops-mobile-pr" #'make-mobile-devops-pullrequest-link) (org-add-link-type "devops-apidomain-pr" #'make-apidomain-devops-pullrequest-link) (org-add-link-type "devops-infrastructure-pr" #'make-infrastructure-devops-pullrequest-link)) (defun th-today () (interactive) (let ((file-name "daily-reviews.org") (header-format (format-time-string "%Y-%m-%d %A"))) (find-file (concat my/org-dir-work file-name)) (-if-let* [(header-pos (org-find-exact-headline-in-buffer header-format (current-buffer) t))] (goto-char header-pos) (goto-char (point-max)) (newline 2) (let ((snippet (yas-lookup-snippet "GTD Daily Review" #'org-mode))) (yas-expand-snippet snippet) (org-clock-in))) (unless (not (eq winum--window-count 1)) (split-window-vertically) (org-agenda nil "n") (setq org-agenda-todo-ignore-scheduled 'all) (org-agenda-goto-today) (org-agenda-day-view) (org-agenda-log-mode) (evil-window-rotate-downwards)))) (defun th-standups () (interactive) (let ((file-name "standups.org") (header-format (format-time-string "%Y-%m-%d %A"))) (find-file (concat my/org-dir-work file-name)) (-if-let* [(header-pos (org-find-exact-headline-in-buffer header-format (current-buffer) t))] (goto-char header-pos) (goto-char (point-max)) (newline 2) (let ((snippet (yas-lookup-snippet "True Helix standup minutes" #'org-mode))) (yas-expand-snippet snippet)))))