Work around SLY / rainbow-delimiter clash.

master
Pierre Neidhardt 2021-06-03 14:19:31 +02:00
parent 80f4d38dea
commit 88094bfdfe
2 changed files with 21 additions and 4 deletions

View File

@ -192,6 +192,7 @@ Good substitute for `sly-mrepl-indent-and-complete-symbol'."
(setq sly-command-switch-to-existing-lisp 'always)
(add-hook 'sly-mrepl-hook #'ambrevar/init-lispy)
(add-hook 'sly-mrepl-hook #'rainbow-delimiters-mode)
(require 'patch-sly-rainbow)
;; #p completion. See https://github.com/joaotavora/sly/issues/405.
(with-eval-after-load 'company
@ -324,10 +325,7 @@ returns a string."
(propertize "> " 'font-lock-face 'sly-mrepl-prompt-face)))
(with-eval-after-load 'sly-mrepl
(if (boundp 'sly-mrepl-prompt-formatter)
(setq sly-mrepl-prompt-formatter
#'ambrevar/sly-new-prompt)
(advice-add 'sly-mrepl--insert-prompt :around #'ambrevar/sly-prepare-prompt)))
(setq sly-mrepl-prompt-formatter #'ambrevar/sly-new-prompt))
(defun ambrevar/sly-end-of-prompt-p ()
(and (not (= (point) (point-min)))

View File

@ -0,0 +1,19 @@
;; Workaround for https://github.com/joaotavora/sly/issues/452.
(defun ambrevar/disable-rainbow-delimiters (_orig &rest args)
"`rainbow-delimiters-mode' interferes with `ffap' (and thus Helm) in SLY mrepl.
Example:
> (princ \"/home\")
/home
\"/home\"
Running `ffap' on the first /home would not work as expected."
(rainbow-delimiters-mode -1))
(advice-add 'sly-mrepl-return :before 'ambrevar/disable-rainbow-delimiters)
(defun ambrevar/enable-rainbow-delimiters (_orig &rest args)
"See `ambrevar/disable-rainbow-delimiters'."
(rainbow-delimiters-mode 1))
(advice-add 'sly-mrepl--insert-prompt :before 'ambrevar/enable-rainbow-delimiters)
(provide 'patch-sly-rainbow)