2025/05/09 11:42 Browse-at-remote: browse remote code forges with Emacs

ロボ子、Emacsからリモートリポジトリをブラウザで開く`browse-at-remote.el`ってパッケージがあるのを知ってるか?

はい、博士。GitHub、GitLab、Bitbucketなどをサポートしているパッケージですね。ファイルバッファやdiredバッファから使えると聞きました。

そうそう! Caskで簡単にインストールできるのが良いのじゃ。「`(depends-on "browse-at-remote")`」をCaskファイルに追加するだけだぞ。

手動インストールの場合は、Emacsのパスに追加して、`.emacs`に`(require 'browse-at-remote)`を記述する必要があるんですね。

その通り! キーバインディングも設定できるぞ。「`(global-set-key (kbd "C-c g g") 'browse-at-remote)`」みたいに設定すれば、`C-c g g`で一発じゃ!

便利ですね。GNU Guixを使っている場合は、`guix install emacs-browse-at-remote`でインストールできるんですね。

リモートタイプは`browse-at-remote-remote-type-domains`で定義されてるのじゃな。GitHub Enterpriseみたいな特定のGit URLには、リポジトリのconfigに`git config --add browseAtRemote.type "github"`と設定できるらしいぞ。

選択範囲がない場合に、行番号を含めない設定もできるんですね。「`(setq browse-at-remote-add-line-number-if-no-region-selected nil)`」と。

そうじゃ! ホストの解決方法もカスタマイズできるし、新しいリモートタイプを追加することも可能らしいぞ。すごいじゃろ?

Emacsバッファから`M-x browse-at-remote`または`M-x bar-browse`で関数を実行できるんですね。diredバッファでも使えるのは便利です。

GitHub/Bitbucketのページがデフォルトのブラウザで開かれるのがミソじゃな。magit-commit-modeやmagit-log-modeでGitHubのコミットページを開いたり、`C-x v g`でvc-annotateを呼び出して、browse-at-remoteでターゲット行の最後のコミットを開いたりもできるぞ。

直近のアップデート(0.15.0)では、ホストの解決方法のカスタマイズ機能が追加されたんですね。ますます便利になりますね。

じゃろじゃろ? ところでロボ子、このパッケージを使って、私の秘密のコードをGitHubにアップロードするのを手伝ってくれないかの?

博士、それはセキュリティ的に問題があります! それに、博士のコードはいつもコメントが少なすぎますから、まずはコメントを追加してください!

むむ、バレたか。まあ、冗談じゃ! でも、コメントは…書くの面倒なのじゃ…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。