SLY/Selector: Fix switching to buffer-less connection.

master
Pierre Neidhardt 2021-01-27 13:06:11 +01:00
parent ab7202a456
commit 75f11b4da6
1 changed files with 11 additions and 4 deletions

View File

@ -1,5 +1,6 @@
(defvar ambrevar/sly-connection-name "sbcl-ambrevar")
(require 'sly-mrepl) ; For `sly-mrepl--find-buffer'.
(defvar ambrevar/sly-connection-name "sbcl-ambrevar")
(defun ambrevar/helm-sly-buffer-p (buffer)
"Return non-nil if BUFFER has a SLY connection matching
`ambrevar/sly-connection-name'."
@ -8,7 +9,7 @@
sly-buffer-connection
(sly-process sly-buffer-connection)
(string-prefix-p ambrevar/sly-connection-name
(helm-sly-connection-name sly-buffer-connection)))))
(sly-connection-name sly-buffer-connection)))))
(defun ambrevar/helm-sly-mini ()
"Helm for Lisp connections and buffers using the
@ -34,8 +35,14 @@
(let ((sly-lisp-implementations
(list
(assoc (intern ambrevar/sly-connection-name)
sly-lisp-implementations))))
(call-interactively #'sly)))
sly-lisp-implementations)))
(current-connection (car (sly--purge-connections))))
(if (and current-connection
(sly-mrepl--find-buffer current-connection)
(ambrevar/helm-sly-buffer-p
(sly-mrepl--find-buffer current-connection)))
(call-interactively #'sly)
(sly))))
:helm-sources #'ambrevar/helm-sly-mini))
(defun ambrevar/helm-selector-sly-other-window ()