2023年5月18日木曜日

(emacs)robeを再起動する方法

(emacs)robeを再起動する方法

概要

robe-start すると inf-ruby 経由で pry バッファが起動します
新規でファイルを追加したり既存のファイルを変更すると pry バッファには反映されません

今回はそんなときに使える pry バッファの再起動方法を紹介します

環境

  • macOS 11.7.6
  • emacs 28.2
  • robe 20221207.225
  • pry 0.14.2

仕組み

robe を再起動するということは pry バッファを削除し再度 robe-start を実行することと同義です

なのでそれを行う関数を定義するだけです

コード

(defun restart-pry-buffer ()
  "Restart the Pry buffer by killing it and starting robe again."
  (interactive)
  (let ((pry-buffer (get-buffer "*pry*")))
    (when pry-buffer
      (kill-buffer pry-buffer)))
  (robe-start))

使い方

  • M-x restart-pry-buffer

注意点

kill-buffer と robe-start の際に確認を求められます

改良版: kill-buffer 時に確認を求められない

(defun restart-pry-buffer ()
  "Restart the Pry buffer by killing it and starting robe again."
  (interactive)
  (let ((pry-buffer (get-buffer "*pry*"))
        (kill-buffer-query-functions nil)
        (kill-buffer-hook nil))
    (when pry-buffer
      (kill-buffer pry-buffer)))
  (robe-start))

0 件のコメント:

コメントを投稿