Olical / conjure

Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile, Python and more!)
https://conjure.oli.me.uk
The Unlicense
1.73k stars 109 forks source link

Add highlighting to indicate which forms have not been changed since their last evaluation #573

Open Olical opened 4 months ago

Olical commented 4 months ago

As requested by rwaweber on Discord.

image

This behaviour can be found in Emacs + CIDER, we should borrow the idea.

It should not be implemented in a single client way, this is a generic feature that should work across all clients. We just need to find a way to track buffer changes to forms, a nice way to highlight those forms in the UI and then integrate our change watching with the eval commands with a kind of middleware.

This might be a great use for expanding the event / hook system.

practicalli-johnny commented 4 months ago

The visual representation for highlighting evaluated code in Emacs is subtle (arguably so subtle that most do not notice this feature exists even though it's on by default)

Hopefully such a feature via Conjure can be configured to be less subtle if desired.

I like the visual design of https://github.com/folke/todo-comments.nvim although this maybe overkill for evaluation markers.

Ideally the evaluated highlight visuals would complement and not conflict with other visuals, especially from LSP clients & Todo comments.