API for clojure.repl
-
by Chris Houser, Christophe Grand, Stephen Gilardi, Michel Salim
Full namespace name:
clojure.repl
Overview
Utilities meant to be used interactively at the REPL
Public Variables and Functions
apropos
function
Usage: (apropos str-or-pattern)
Given a regular expression or stringable thing, return a seq of all
public definitions in all currently-loaded namespaces that match the
str-or-pattern.
Source
demunge
function
Usage: (demunge fn-name)
Given a string representation of a fn class,
as in a stack trace element, returns a readable version.
Added in Clojure version 1.3
Source
dir
macro
Usage: (dir nsname)
Prints a sorted directory of public vars in a namespace
Source
dir-fn
function
Usage: (dir-fn ns)
Returns a sorted seq of symbols naming public vars in
a namespace or namespace alias. Looks for aliases in *ns*
Source
doc
macro
Usage: (doc name)
Prints documentation for a var or special form given its name,
or for a spec if given a keyword
Added in Clojure version 1.0
Source
find-doc
function
Usage: (find-doc re-string-or-pattern)
Prints documentation for any var whose documentation or name
contains a match for re-string-or-pattern
Added in Clojure version 1.0
Source
pst
function
Usage: (pst)
(pst e-or-depth)
(pst e depth)
Prints a stack trace of the exception, to the depth requested. If none supplied, uses the root cause of the
most recent repl exception (*e), and a depth of 12.
Added in Clojure version 1.3
Source
root-cause
function
Usage: (root-cause t)
Returns the initial cause of an exception or error by peeling off all of
its wrappers
Added in Clojure version 1.3
Source
set-break-handler!
function
Usage: (set-break-handler!)
(set-break-handler! f)
Register INT signal handler. After calling this, Ctrl-C will cause
the given function f to be called with a single argument, the signal.
Uses thread-stopper if no function given.
Source
source
macro
Usage: (source n)
Prints the source code for the given symbol, if it can find it.
This requires that the symbol resolve to a Var defined in a
namespace for which the .clj is in the classpath.
Example: (source filter)
Source
source-fn
function
Usage: (source-fn x)
Returns a string of the source code for the given symbol, if it can
find it. This requires that the symbol resolve to a Var defined in
a namespace for which the .clj is in the classpath. Returns nil if
it can't find the source. For most REPL usage, 'source' is more
convenient.
Example: (source-fn 'filter)
Source
stack-element-str
function
Usage: (stack-element-str el)
Returns a (possibly unmunged) string representation of a StackTraceElement
Added in Clojure version 1.3
Source
thread-stopper
function
Usage: (thread-stopper)
(thread-stopper thread)
Returns a function that takes one arg and uses that as an exception message
to stop the given thread. Defaults to the current thread
Source
clojure.repl.deps
clojure.repl.deps provides facilities for dynamically modifying the available
libraries in the runtime when running at the REPL, without restarting
Public Variables and Functions
add-lib
function
Usage: (add-lib lib coord)
(add-lib lib)
Given a lib that is not yet on the repl classpath, make it available by
downloading the library if necessary and adding it to the classloader.
Libs already on the classpath are not updated. Requires a valid parent
DynamicClassLoader.
lib - symbol identifying a library, for Maven: groupId/artifactId
coord - optional map of location information specific to the procurer,
or latest if not supplied
Returns coll of libs loaded, including transitive (or nil if none).
For info on libs, coords, and versions, see:
https://clojure.org/reference/deps_and_cli
Added in Clojure version 1.12
Source
add-libs
function
Usage: (add-libs lib-coords)
Given lib-coords, a map of lib to coord, will resolve all transitive deps for the libs
together and add them to the repl classpath, unlike separate calls to add-lib.
Added in Clojure version 1.12
Source
sync-deps
function
Usage: (sync-deps & {:as opts})
Calls add-libs with any libs present in deps.edn but not yet present on the classpath.
:aliases - coll of alias keywords to use during the sync
Added in Clojure version 1.12
Source