Acho que o pry-remote é a melhor maneira de executar o alavancagem no Emacs, desde então o pry obtém seu próprio buffer dedicado e pode se conectar a um processo ruby de qualquer lugar (incluindo um terminal que não seja do Emacs ou coisas como pow ). Eu uso algo como isto:
(defun my-run-remote-pry (&rest args)
(interactive)
(let ((buffer (apply 'make-comint "pry-remote" "pry-remote" nil args)))
(switch-to-buffer buffer)
(setq-local comint-process-echoes t)))
(define-key ruby-mode-map (kbd "C-c r d") 'my-run-remote-pry) ; (or whatever keybinding)
Então, você colocará binding.remote_pry
seu código; você se apega a uma espera pry
com C-c r d
(ou o que seja) e sai da alavanca (continuando o processo) com C-c C-d
.
Você provavelmente também desejará desativar a paginação no seu ~/.pryrc
, uma vez que ele não funciona bem com comint
:
Pry.config.pager = false
^[[0G
, como^[[1A
. Posso me livrar deles?