nix-templates/home/dev/doom.d/config-true-helix.el

93 lines
4.5 KiB
EmacsLisp
Raw Normal View History

2025-06-25 01:35:01 -04:00
;;; ../../../../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)))))