This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-04-25
Channels
- # admin-announcements (5)
- # arachne (1)
- # beginners (29)
- # boot (36)
- # cider (110)
- # clara (1)
- # cljs-dev (3)
- # cljs-edn (14)
- # cljsrn (24)
- # clojure (63)
- # clojure-belgium (3)
- # clojure-dusseldorf (5)
- # clojure-greece (9)
- # clojure-russia (142)
- # clojure-sg (15)
- # clojure-uk (20)
- # clojurebridge (4)
- # clojurescript (58)
- # data-science (1)
- # datomic (37)
- # editors (2)
- # editors-rus (7)
- # emacs (1)
- # garden (31)
- # hoplon (3)
- # jobs-discuss (8)
- # keechma (86)
- # leiningen (1)
- # liberator (2)
- # mount (23)
- # off-topic (2)
- # om (18)
- # onyx (42)
- # planck (1)
- # quil (6)
- # re-frame (8)
- # reagent (3)
- # ring-swagger (1)
- # specter (4)
- # untangled (1)
Is there a good way to integrate difform or something similar into cider test so I can easily see how data structures differ on test failures?
@jonpither PRs welcome.
just tracing through all of the dependencies. didn't automate the graph building yet but that's what it looks like right now.
The graph might be more readable if you exclude compat, util, and common. These files are supposed to be required by everybody anyway, so they don't really add information.
wonder if there should be a standard dependency on cider client which can translate to and from nrepl client?
Is there a way to have project-based REPL history saved? Currently I use
(setq cider-repl-history-file "~/.cider_history”)
but that combines history from all projects. I’d like REPL history to be stored on a per-project basis, such that I can start up a repl, press C-<up>, and be at the last command I executed for that project.As I’m bouncing around between more Clojure projects now, it’s harder to keep things straight
How cider recognizes ClojureScript repl? I'm starting repl and then figwheel/cljs-repl - but cider think he in Clojure repl (not clojurescript).
(setq cider-cljs-lein-repl
"(do (require 'figwheel-sidecar.repl-api)
(figwheel-sidecar.repl-api/start-figwheel!)
(figwheel-sidecar.repl-api/cljs-repl))")
otherwise by default it starts a Rhino based cljs repl, which is probably not what you want
you can thank @malabarba for that snippet, I'm just spreading the word
It's interesting what is the difference between cljs and clj repl for emacs internally ?
and a function cider-current-connection
which finds the right REPL for the currrent buffer
I’m experiencing problem with finding proper REPL sometimes, however still can’t reproduce that bug 😞
no worries, I were reading that thread, and just sharing experience I have with cider
when you say it "uses clj repl", is that when eval'ing code from a file? or when going to the repl (C-c C-z)? or ...?
it has happened with my cider few times, in different circumstances, I actually can’t stable reproduce that, that’s the problem
And for me inverse sometimes cider recognized cljs repl started in clj repl, but rarely ;)
Hey, I added some stuff to the figwheel wiki based on the wisdom I've learned from this chat room: https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl#integration-with-emacscider
TBH I can't get this to work very reliably ; do I need :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
in my profiles.clj
?
Incidentally CIDER has a variable cider-jack-in-nrepl-middlewares
, but it's apparently only boot injects it, not leiningen: https://github.com/clojure-emacs/cider/blob/master/cider.el#L339
@dpsutton the files that call nrepl-client directly are those that use the nrepl-dict object. We should probably move the dict functions to util or common.
@xcthulhu: lein has plugins which are capable of injecting tyheir own middleware, so we inject plugins instead of middlewares for lein]
Oh yeah but it doesn't hurt anything. Moreover I try to keep dependency requirements in project.clj to a minimum because it makes travis testing take longer the more stuff you burden it with
(add-to-list 'cider-jack-in-dependencies '("com.cemerick/piggieback" "0.2.1"))
(defun figwheel-repl (buffer)
"Start a figwheel repl (for clojurescript development). Takes BUFFER as an argument."
(interactive "P")
;; TODO: this can't be temporarily bound in the let below for some reason
(setq cider-cljs-lein-repl
"(do (require 'figwheel-sidecar.repl-api)
(figwheel-sidecar.repl-api/start-figwheel!)
(figwheel-sidecar.repl-api/cljs-repl))")
(let ((cider-jack-in-lein-plugins
(cons '("lein-figwheel" "0.5.2") cider-jack-in-lein-plugins))
(cider-jack-in-dependencies
(cons '("figwheel-sidecar" "0.5.2") cider-jack-in-dependencies)))
(cider-jack-in-clojurescript)))
yeah man, it really is, but otherwise I have to pull in leiningen.core into the running process which is not something you really want
Understood. Anyway, I do prefer keeping as many dependencies as possible in CIDER injections but if you really think having it in project.clj
is better I'll go change it back
I guess I was worried because the injections hadn't worked for me, and it prevents lein repl from working outside of emacs
when its in the project.clj you can run lein repl and get a working figwheel and cljs-repl
how does projectile map between implementation and test? It's complaining "No matching test found" when my test for src/dcp30/netcdf_out.clj is in test/dcp30/netcdf_out_test.clj.
Here you go. https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl#leiningen
@xcthulhu: thanks! we don't need to include [org.clojure/tools.nrepl "0.2.11"]
anymore?
@bhauman: that's right, they are automatically injected when you jack-in
so now you can jack-in
and start-figwheel
(the classic three calls actually)
or just jack-in-with-clojurescript
https://clojurians.slack.com/archives/cider/p1461603804000840 Ahh, because my clojure project is a level below my git project, projectile seems to think I'm in a generic project and isn't doing the mapping.
I suppose I could make (add-to-list 'cider-jack-in-dependencies '("com.cemerick/piggieback" "0.2.1"))
permanent
I have no idea how to fix the fact that (let ((cider-cljs-lein-repl ...)) (cider-jack-in-clojurescript))
doesn't work...
@bhauman: has anyone already brought up the idea of extracting the profile merging logic out of leiningen? Would be useful for other tools as well, as leiningen is quite a hefty dependency
anyone knows why I would be getting the following error: error in process sentinel: Symbol’s function definition is void: cider-turn-on-eldoc-mode
? I started getting this after upgrading cider.
it seems cider-turn-on-eldoc
no longer exists. Can it be that you're loading old and new versions? or do you call it yourself in some hook?
you could try M-x toggle-debug-on-error
, then reproduce the error and you should get a stack trace
Debugger entered--Lisp error: (void-function cider-turn-on-eldoc-mode)
cider-turn-on-eldoc-mode()
run-hooks(cider-mode-hook cider-mode-on-hook)
cider-mode(1)
cider-enable-on-existing-clojure-buffers()
cider--connected-handler()
run-hooks(nrepl-connected-hook)
nrepl-start-client-process(nil 60585 #<process nrepl-server>)
nrepl-server-filter(#<process nrepl-server> "nREPL server started on port 60585 on host 127.0.0.1 - )
that's how it goes with these things. I thought I saw somewhere the regular eldoc-mode
works with CIDER now