From ec1dbbc802daf22342e4124747564402d80e0ca4 Mon Sep 17 00:00:00 2001 From: Lucas Sta Maria Date: Sun, 22 Dec 2024 22:54:42 +0800 Subject: [PATCH] feat(emacs): add `git-link-magit-commit` and `git-link-magit-commit-tree` --- .emacs.d/include/priime-vc.el | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.emacs.d/include/priime-vc.el b/.emacs.d/include/priime-vc.el index 8cbd563..f2a326d 100644 --- a/.emacs.d/include/priime-vc.el +++ b/.emacs.d/include/priime-vc.el @@ -22,9 +22,31 @@ (commit (git-link--commit)) (new-link (s-replace branch commit old-link))) (kill-new new-link) - (message new-link) new-link)) +(defun git-link--magit-commit-url (type) + "Create a URL with the given TYPE to the current commit from Magit." + (let* ((remote (git-link--remote)) + (remote-url (git-link--remote-url remote)) + (short-hash (magit-commit-at-point)) + (full-hash (magit-rev-hash short-hash)) + (target-link (concat remote-url type full-hash))) + target-link)) + +(defun git-link-magit-commit-tree () + "Create a URL representing a tree to the current commit from Magit." + (interactive) + (let* ((target-link (git-link--magit-commit-url "/tree/"))) + (kill-new target-link) + target-link)) + +(defun git-link-magit-commit () + "Create a URL representing a commit to the current commit from Magit." + (interactive) + (let* ((target-link (git-link--magit-commit-url "/commit/"))) + (kill-new target-link) + target-link)) + (provide 'priime-vc) ;;; priime-vc.el ends here