Reviewing GitHub PRs in Emacs
My Emacs config's todo-list has long had an item about finding some way to review GitHub PRs without having to leave Emacs and when the forge issue that I subscribe to came alive again I thought it was time to see if I can improve my config.
I found three packages for doing reviews
I've tried the first one before but at the time it didn't seem to work at all. Apparently that's improved somewhat, though there's a PR with a change that's necessary to make it work.1 The first two don't support comments on multiple lines of a PR, there are issues/discussions for both
code-review
: Code suggestion on multiple linesgithub-review
: Multi-line code comments
The last one, emacs-pr-review
does support commenting on multiple lines, but
it lacks a nice way of opening a review from magit
. What I can do is
- position the cursor on a PR in the
magit
status view, then - copy the the PR's URL using
forge-copy-url-at-point-as-kill
, and - open the PR by calling
pr-review
and pasting the PR's URL.
Which I did for a few days until I got tired of it and wrote a function to cut out they copy/paste part.
(defun mes/pr-review-via-forge () (interactive) (if-let* ((target (forge--browse-target)) (url (if (stringp target) target (forge-get-url target))) (rev-url (pr-review-url-parse url))) (pr-review url) (user-error "No PR to review at point")))
I've bound it to a key in magit-mode-map
to make it easier.
I have to say I'm not completely happy with emacs-pr-review
, so if either of
the other two sort out commenting on multiple lines I'll check them out again.
My full setup for pr-review
is here.
Footnotes:
The details can be found among the comments of the forge issue.