92 lines
4.5 KiB
EmacsLisp
92 lines
4.5 KiB
EmacsLisp
;;; ../../../../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)))))
|