Standardize REPL commands & improve SPC o r

- SPC o r now prompts for a REPL to open when none was found for the
  current buffer.
- REPL handlers must now follow the naming convention "*/open*-repl".
  e.g. +python/open-ipython-repl, +emacs-lisp/open-repl, etc.
- +eval/open-repl has been split in two:
  - +eval/open-repl-other-window
  - +eval/open-repl-same-window
This commit is contained in:
Henrik Lissner
2019-02-18 01:56:38 -05:00
parent 4437d80133
commit 94b16cba6c
19 changed files with 83 additions and 52 deletions

View File

@ -8,15 +8,15 @@ This module adds support for shell scripting languages.
+ REPL support
* Table of Contents :TOC:
- [[#install][Install]]
- [[#appendix][Appendix]]
- [[#commands][Commands]]
- [[Install][Install]]
- [[Appendix][Appendix]]
- [[Commands][Commands]]
* Install
This module has no dependencies.
* Appendix
** Commands
| command | key / ex command | description |
|------------+------------------+-------------------------------------------------------|
| ~+sh/repl~ | =:repl= | Open a terminal (or send the current selection to it) |
| command | key / ex command | description |
|-----------------+------------------+-------------------------------------------------------|
| ~+sh/open-repl~ | =:repl= | Open a terminal (or send the current selection to it) |

View File

@ -27,7 +27,7 @@
(defvar sh-shell-file)
;;;###autoload
(defun +sh/repl ()
(defun +sh/open-repl ()
"Open a shell REPL."
(let* ((dest-sh (symbol-name sh-shell))
(sh-shell-file dest-sh))

View File

@ -15,7 +15,7 @@
:mode ("/bspwmrc\\'" . sh-mode)
:config
(set-electric! 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;"))
(set-repl-handler! 'sh-mode #'+sh/repl)
(set-repl-handler! 'sh-mode #'+sh/open-repl)
(setq sh-indent-after-continuation 'always)