I'm not sure it's relevant, but one thing that caught me out is that the
"interruptible-eval" middleware has a hard dependency on the "pr-values"
middleware (i.e. it depends
on #'clojure.tools.nrepl.middleware.pr-values/pr-values). I found this
caused trouble when I was trying to insert my own
The conflict is introduced by trying constrain all the cider-middlewares to
live between pr-values and session, with wrap-exceptions needing to be the
first along the chain.
This mostly looks good, except for wrap-exceptions/session:
(wrap-describe
interruptible-eval
pr-values
wrap-load-file
a
... inspired this workaround, is there a better way?
Essentially, :expects and :requires are breaking the sort order when they
shouldn't, causing certain middlewares to just be in totally the wrong
place. I couldn't find the pattern after staring at for a bit. Since
leiningen calls linearize-mid