emacsでコード読んでるときに「現在いる行が含まれたプルリク」に飛びたいを見れるようにした

hisaichi5518.hatenablog.jp

これ見て hub browse -- commit/<commit-id> でcommitに飛べることを知ったので、それを使って emacsでコード読んでるときに「現在いる行が含まれたプルリク」に飛びたいを見れるようにした。 このスクリプトも元ブログと一緒でプルリクのページではなくコミットページを開くところで終わってますが。

(defun open-github-commit ()
  (interactive)
  (let* ((cmd1 "git blame -l -L %s,+1  %s | cut -d ' ' -f 1")
         (cmd2 "hub browse -- commit/%s")
         (zero "0000000000000000000000000000000000000000")
         (commit-id (shell-command-to-string (format cmd1 (line-number-at-pos) buffer-file-name))))
    (if (string= zero commit-id)
        (message "This line is not commited")
      (shell-command (format cmd2 commit-id)))))

(global-set-key (kbd "M-g o") 'open-github-commit)

さよならgheに対応してないelispGitHub - ganmacs/emacs-github-open: Open a commit url in github.com