abo-abo / lispy

Short and sweet LISP editing
http://oremacs.com/lispy/
1.2k stars 130 forks source link

Lispy eval display style #493

Open bestlem opened 5 years ago

bestlem commented 5 years ago

I note that lispy-eval-display-style being set to overlay only works for clojure. Could this be added for other lisps?

However I note that eros-mode has taken code from cider to display the result.

I have replaced the error function in lispy-eval by (eros--eval-overlay result (cdr (lispy--bounds-dwim)))

and this seems to work in emacs-lisp and racket modes

abo-abo commented 5 years ago

Hmm. For me it works for Elisp and Python. You just need to have CIDER installed. Not even loaded, lispy will load CIDER if needed.

bestlem commented 5 years ago

I don't have cider loaded or even loaded as a package. lispy is not loading it. I haven't set up or used clojure.

abo-abo commented 5 years ago

OK, here's what lispy-eval does:

(cond ((eq lispy-eval-display-style 'message)
       (lispy-message result))
      ((or (fboundp 'cider--display-interactive-eval-result)
           (require 'cider nil t))
       (cider--display-interactive-eval-result result
                                               (cdr (lispy--bounds-dwim))))
      (t
       (error "Please install CIDER 0.10 to display overlay")))

So if you (setq lispy-eval-display-style 'overlay) and (require 'cider nil t) succeeds, you'll get overlays.

even loaded as a package

If this means you don't have CIDER installedf, that obviously this is not going to work. You need to install CIDER. Using Clojure is not necessary.

bestlem commented 2 years ago

This was fixed some time ago - lispy-eval now calls eros--eval-overlay