This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-15
Channels
- # aws (1)
- # beginners (6)
- # boot (25)
- # cider (30)
- # cljs-dev (50)
- # cljsrn (45)
- # clojure (98)
- # clojure-austin (5)
- # clojure-czech (1)
- # clojure-dev (21)
- # clojure-dusseldorf (29)
- # clojure-germany (2)
- # clojure-greece (117)
- # clojure-italy (2)
- # clojure-nl (4)
- # clojure-russia (26)
- # clojure-serbia (10)
- # clojure-spec (123)
- # clojure-turkiye (1)
- # clojure-uk (27)
- # clojured (13)
- # clojurescript (57)
- # core-async (18)
- # cursive (13)
- # datomic (20)
- # defnpodcast (16)
- # emacs (8)
- # events (2)
- # figwheel (3)
- # instaparse (1)
- # jobs (3)
- # jobs-discuss (39)
- # klipse (9)
- # lumo (100)
- # mount (1)
- # numerical-computing (1)
- # off-topic (22)
- # om (34)
- # onyx (17)
- # pedestal (1)
- # perun (29)
- # re-frame (60)
- # reagent (16)
- # remote-jobs (8)
- # rethinkdb (6)
- # ring-swagger (19)
- # rum (1)
- # slack-help (1)
- # specter (3)
- # untangled (1)
- # yada (17)
@darnok anything cider related in your ~/.leiningen/profiles.clj
? if so remove it and try again
This is how cider calls leiningen:
/usr/local/bin/lein update-in :dependencies conj [acyclic/squiggly-clojure "0.1.7"] -- update-in :dependencies conj [org.clojure/tools.nrepl "0.2.12" :exclusions [org.clojure/clojure]] -- update-in :plugins conj [refactor-nrepl "2.3.0-SNAPSHOT"] -- update-in :plugins conj [cider/cider-nrepl "0.15.0-SNAPSHOT"] -- repl :headless
I switched to cider-0.15.0-SNAPSHOT, that’s why there is [cider/cider-nrepl “0.15.0-SNAPSHOT”]
in the command.
injecting cider middleware using boot... Well, I used to have a profile.boot
file that looked like:
(require 'boot.repl)
(swap! boot.repl/*default-dependencies*
concat '[[cider/cider-nrepl "0.13.0"]])
(swap! boot.repl/*default-middleware*
conj 'cider.nrepl/cider-middleware))
Following the instructions https://github.com/clojure-emacs/cider-nrepl#via-boot , this should work as well:
(set-env! :dependencies '[[org.clojure/tools.nrepl "0.2.12"]
[cider/cider-nrepl "0.14.0"]])
(require '[cider.tasks :refer [add-middleware]])
(task-options! add-middleware {:middleware '[cider.nrepl.middleware.apropos/wrap-apropos
cider.nrepl.middleware.version/wrap-version]})
Well, it doesn't 🙂. This is the result if I want to start my application with the latter profile.boot
:
$ boot run
Retrieving cider-nrepl-0.14.0.pom from
Retrieving cider-nrepl-0.14.0.jar from (331k)
clojure.lang.ExceptionInfo: Could not locate cider/tasks__init.class or cider/tasks.clj on classpath.
data: {:file "/tmp/boot.user4842850808872874474.clj", :line 7}
java.io.FileNotFoundException: Could not locate cider/tasks__init.class or cider/tasks.clj on classpath.
...
Where did I go wrong?@darnok report to squiggly: yes, pls. is just a guess but there could be some kind of dependency clash… both cider-nrepl
and refactor-nrepl
use source inlining to avoid dependency clashes but it seems that squiggly does not...
basically prefixing all the dependencies recursively so you can use multiple versions of the same thing. and your deps won’t interfere with other dependencies.. kinda important for leiningen plugins as they can easily clash with the project dependencies...
@kurt-o-sys the patch for add-middleware
is available only in 0.15.0-SNAPSHOT
@richiardiandrea oh... ok, thanks!
hi all. I have a problem with buffer loading / evaluation and multimethods. For example, I have
(defmulti my-multi (fn [switcher _] switcher))
(defmethod my-multi :first
[_ arg1]
(do-something-first arg1))
(defmethod my-multy :second
[_ arg1]
(do-something-second arg1))
I update it to
(defmulti my-multi (fn [switcher _ _] switcher))
(defmethod my-multi :first
[_ arg1 arg2]
(do-something-first arg1 arg2))
(defmethod my-multy :second
[_ arg1 arg2]
(do-something-second arg1 arg2))
then I load / eval buffer with C-c C-k
(`cider-load-buffer`), or with cider-eval-buffer
. But when method is called, I get clojure.lang.ArityException
. The code lays in one file (and namespace), but is called from another. I tried to load / evaluate both buffers, but it doesn't help. Also, code is called from core.async
if it matters.it is pretty uncomfortable to restart Clojure REPL each time I change arity of multimethod...
had the same experience with mmetods long ago - I believe it’s how they are implemented in clojure
Hi all,
Does anybody know if an equivalent to this is expected to work in cider when using company-mode? I can only get completions for the rest of the path (e.g. java.io.FileN
offers -> java.io.FileNotFoundException
completion, but FileN
results in no candidates)
http://bytopia.org/2015/03/06/smart-classname-completion-for/