tools/eval: add REPL support for +eval/buffer
This commit is contained in:
parent
6536eded02
commit
c2db4a8708
2 changed files with 16 additions and 10 deletions
|
@ -56,18 +56,27 @@
|
|||
(defun +eval/buffer ()
|
||||
"Evaluate the whole buffer."
|
||||
(interactive)
|
||||
(cond ((assq major-mode +eval-runners)
|
||||
(+eval/region (point-min) (point-max)))
|
||||
((quickrun))))
|
||||
(if (or (assq major-mode +eval-runners)
|
||||
(and (fboundp '+eval--ensure-in-repl-buffer)
|
||||
(ignore-errors
|
||||
(get-buffer-window (or (+eval--ensure-in-repl-buffer)
|
||||
t)))))
|
||||
(+eval/region (point-min) (point-max))
|
||||
(quickrun)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +eval/region (beg end)
|
||||
"Evaluate a region between BEG and END and display the output."
|
||||
(interactive "r")
|
||||
(let ((load-file-name buffer-file-name))
|
||||
(if-let (runner (cdr (assq major-mode +eval-runners)))
|
||||
(funcall runner beg end)
|
||||
(quickrun-region beg end))))
|
||||
(if (and (fboundp '+eval--ensure-in-repl-buffer)
|
||||
(ignore-errors
|
||||
(get-buffer-window (or (+eval--ensure-in-repl-buffer)
|
||||
t))))
|
||||
(+eval/send-region-to-repl beg end)
|
||||
(if-let (runner (cdr (assq major-mode +eval-runners)))
|
||||
(funcall runner beg end)
|
||||
(quickrun-region beg end)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +eval/line-or-region ()
|
||||
|
|
|
@ -6,10 +6,7 @@
|
|||
"Evaluate selection or sends it to the open REPL, if available."
|
||||
:move-point nil
|
||||
(interactive "<r>")
|
||||
(if (and (fboundp '+eval--ensure-in-repl-buffer)
|
||||
(+eval--ensure-in-repl-buffer))
|
||||
(+eval/send-region-to-repl beg end)
|
||||
(+eval/region beg end)))
|
||||
(+eval/region beg end))
|
||||
|
||||
;;;###autoload (autoload '+eval:replace-region "tools/eval/autoload/evil" nil t)
|
||||
(evil-define-operator +eval:replace-region (beg end)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue