From 30e88909c70038afd0b35b50e719a4b35b97d51a Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 16 Jan 2021 01:10:19 +0100 Subject: [PATCH] SLY: Bind sly-insert-pipe to C-S-SPC. --- .emacs.d/lisp/init-sly.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.emacs.d/lisp/init-sly.el b/.emacs.d/lisp/init-sly.el index 568acdb8..1edc8c65 100644 --- a/.emacs.d/lisp/init-sly.el +++ b/.emacs.d/lisp/init-sly.el @@ -123,13 +123,23 @@ If REFRESH is non-nil, rebuild the environment." (not (eq evil-state 'insert))) (call-interactively #'evil-insert))) +(defun ambrevar/sly-insert-pipe () + "Convenient to write a `:<>' pipe." + (interactive) + (while (sly-inside-string-p) + (forward-char)) + (newline-and-indent) + (insert ":<>") + (ambrevar/sly-insert-double-quotes)) + (with-eval-after-load 'sly-mrepl (set-face-attribute 'sly-mrepl-output-face nil :inherit 'default :foreground) (setq sly-mrepl-history-file-name (expand-file-name "sly-mrepl-history" user-emacs-directory)) ;; While `,i RET` is short enough, it's one more key away in Evil insert state: (define-key sly-mrepl-mode-map (kbd "C-c M-p") 'sly-mrepl-set-package) (define-key sly-mrepl-mode-map (kbd "C-c M-o") 'sly-mrepl-clear-repl) - (define-key sly-mrepl-mode-map (kbd "S-SPC") 'ambrevar/sly-insert-double-quotes)) + (define-key sly-mrepl-mode-map (kbd "S-SPC") 'ambrevar/sly-insert-double-quotes) + (define-key sly-mrepl-mode-map (kbd "C-S-SPC") 'ambrevar/sly-insert-pipe)) (defun ambrevar/sly-load-reload-system () (interactive)