Skip to content

Instantly share code, notes, and snippets.

@BBBSnowball
Forked from irq0/gist:c176fbdd0c3889c16093
Last active August 29, 2015 14:04
Show Gist options
  • Save BBBSnowball/ca739e6e4bf64a117052 to your computer and use it in GitHub Desktop.
Save BBBSnowball/ca739e6e4bf64a117052 to your computer and use it in GitHub Desktop.
/indices/
/self-installs/
{:user {:plugins [
; "lein ancient" shows dependencies for that a newer version is available
[lein-ancient "0.5.5"]
; launch a server for SLIME (Emacs)
[lein-ritz "0.7.0"]
; linter - run "lein eastwood"
[jonase/eastwood "0.1.4"]
; "lein kibit" finds macros/functions that can be used
[lein-kibit "0.0.8"]
; try out a library without a project - "lein try clj-time "0.5.1" opens a REPL
[lein-try "0.4.1"]]
:repl-options {:nrepl-middleware [io.aviso.nrepl/pretty-middleware
cider.nrepl.middleware.inspect/wrap-inspect
cider.nrepl.middleware.classpath/wrap-classpath
cider.nrepl.middleware.complete/wrap-complete
cider.nrepl.middleware.info/wrap-info
cider.nrepl.middleware.inspect/wrap-inspect
cider.nrepl.middleware.macroexpand/wrap-macroexpand
cider.nrepl.middleware.stacktrace/wrap-stacktrace
cider.nrepl.middleware.trace/wrap-trace
ritz.nrepl.middleware.javadoc/wrap-javadoc
ritz.nrepl.middleware.apropos/wrap-apropos]}
:dependencies [
; write #spy/p or #spy/d left of any expression to print it
[spyscope "0.1.4"]
[org.clojure/tools.namespace "0.2.4"]
; pretty stack traces
[io.aviso/pretty "0.1.10"]
; explicit dependency on leiningen - required for parts of vinyasa
; https://github.com/zcaudate/vinyasa#installation
[org.clojure/core.cache "0.6.3"]
[leiningen "2.4.2"]
; emacs integration
[cider/cider-nrepl "0.7.0-SNAPSHOT"]
[ritz/ritz-nrepl-middleware "0.7.0"]
; several useful tools (see below)
[im.chit/vinyasa "0.2.1"]
[reply "0.3.1"]
[org.thnetos/cd-client "0.3.6"]
]
:injections [(require 'spyscope.core)
(require '[vinyasa.inject :as inj])
(inj/inject 'clojure.core
'[[vinyasa.inject inject]
[vinyasa.pull pull]
; not enabled because it uses the iroh library which is compiled for Java 1.7
;[vinyasa.graft graft]
[vinyasa.lein lein]
[vinyasa.reimport reimport]
])
; inject functions that are added by REPL-y
; (For some reason, they end up in the user namespace.)
(require 'reply.initialization)
(doseq [[name value] [['>apropos #'reply.initialization/apropos-better]
['>cdoc #'reply.initialization/lazy-clojuredocs]]]
(clojure.core/intern 'clojure.core name value)
(clojure.core/alter-meta! (clojure.core/intern 'clojure.core name) (constantly (meta value))))
; inject some functions into the clojure.core namespace - all with prefix '>' !
(inj/inject 'clojure.core '>
'[[cemerick.pomegranate add-classpath get-classpath resources]
[clojure.tools.namespace.repl refresh]
[clojure.repl dir doc find-doc source pst [root-cause >cause]]
[clojure.pprint pprint]
[clojure.java.shell sh]])]}}
; indirect dependencies:
; - REPL-y: useful ctrl+c, readline improvements, code completion, clojuredocs command?
; helpful command: lein deps :plugin-tree
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment