Emacs×Ruby - PryをEmacsで使ってみる

Pry = IRB.succ

今回は久々にRuby+Emacsなお話です。

あなたはRubyプログラミングで試行錯誤するときに
どういうツールを使っていますか?

irb?
xmp(rcodetools)?

irbはRubyをインストールしたときに
昔からついてくる対話的Rubyです。

シェルのインターフェースでRubyの式を
書いたら評価結果を表示してくれます。

その進化形がPryです。

で、pryとは何かというと、

『Pry = IRB + Shell + Ruby Shell + Debugger』

といった感じです。

Emacsの世界にあるeshellは

『Eshell = IELM + Shell + Emacs Lisp Shell』

なので、pryはRuby界のeshellみたいなものと
思っていただければよいです。

$ sudo gem install pry pry-nav

でインストールしてください。

Emacsで使う準備

pryはEmacsから使えます。

Rubyのパッケージには、ruby-mode.elなどのelispが
含まれていますが、古いのでMELPAのものを使います。

昔からEmacsでirbを使うにはinf-ruby.elを使うのですが、
MELPA版のinf-ruby.elはpryにも対応しています。

M-x package-refresh-contents
M-x package-install inf-ruby

そして、以下の設定をしてください。

==== pry-init.el
(require 'inf-ruby)
(setq inf-ruby-default-implementation "pry")
(setq inf-ruby-eval-binding "Pry.toplevel_binding")
;; riなどのエスケープシーケンスを処理し、色付けする
(add-hook 'inf-ruby-mode-hook 'ansi-color-for-comint-mode-on)

Emacsと併用するのでpryの設定ファイルである
.pryrcでemacsclientをエディタに設定してください。

==== ~/.pryrc
Pry.config.editor = "emacsclient"

続きはメルマガで

EmacsでPryを使うのは楽しいものです。

続きは明日のメルマガでお話します。お楽しみに!

↓
http://www.mag2.com/m/0001373131.html