Skip to content

Switch to/from repl buffer for current major-mode

Notifications You must be signed in to change notification settings

jeroentbt/repl-toggle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Switch from code buffers to the corresponding REPL

This is a generalization of an idea by Mickey Petersen of masteringemacs fame:

Use one keystroke to jump from a code buffer to the corresponding repl buffer and back again.

This works even if you do other stuff in between, as the last buffer used to jump to a repl is stored in a buffer local variable in the repl buffer.

Currently this assumes that the stored command to start the repl will switch to an already open repl buffer if it exists.

There are no repl/mode combinations preconfigured, put something like the following in your emacs setup for php and elisp repl:

(setq rtog/fullscreen t)
(require 'repl-toggle)
(setq rtog/mode-repl-alist '((php-mode . php-boris) (emacs-lisp-mode . ielm)))

This defines a global minor mode, indicated at with ‘rt’ in the modeline, that grabs “C-c C-z” as repl toggling keybinding. I don’t know with which repl modes this actualy works. If you use this mode, please tell me your rtog/mode-repl-alist, so that I can update the documentation.

Configurations known to work

  • (php-mode . php-boris)
  • (emacs-lisp-mode . ielm)
  • (elixir-mode . elixir-mode-iex)
  • (ruby-mode . inf-ruby)

Pass code at point to the REPL

If you supply the universal prefix argument to the switching function, you can

  • C-u pass the current line
  • C-u C-u pass the current defun
  • C-u C-u C-u pass the the whole current buffer

to the repl buffer you switch to.

fullscreen REPL

If you set rtog/fullscreen to true, prior to loading this module, the repl-commands will be executed fullscreen, i.e. as single frame, restoring the window-layout on stwitching back to the originating buffer.

(setq rtog/fullscreen t)

About

Switch to/from repl buffer for current major-mode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 100.0%