Search code examples
clojureread-eval-print-loopnoircounterclockwise

Special REPL support for Noir?


I'm using eclipse with counterclockwise plugin.

If I edit the file, changes are not reflected until I press ctrl+alt+s. For example, if I change (def foo 1) to (def foo 2) and type foo in the repl, it prints 1 not 2 until I press ctrl+alt+s.

However, If I change (defpage "/" [] "test") to (defpage "/" [] "changed"), I could see the change immediately just by refreshing the browser without needing to press ctrl+alt+s.

How is this happening?


Solution

  • In development mode, noir uses ring.middleware.reload to reload changed files. It's not perfect. For instance, if insert new or remove middleware. But things like pages aren't in active use all the time, so it can reload the namespace and get the new routine.