io.aviso.repl
Utilities to assist with REPL-oriented development.
If you are using Stuart Sierra’s component library, you may want to also require io.aviso.component.
-main
added in 1.3.0
(-main & args)Installs pretty exceptions, then delegates to clojure.main/main.
copy
added in 0.1.32
(copy)Copies the current contents of the Clipboard, returning its contents as a string.
This makes use of AWT; it will throw java.awt.HeadlessException when AWT is not available, for example, when the JVM is launched with -Djava.awt.headless=true.
format-exception
added in 0.1.32
(format-exception)(format-exception text)Passed the standard exception text and formats it using parse-exception and write-exception, returning the formatted exception text.
With no arguments, parses the clipboard text and prints the formatted exception to *out* (returning nil).
install-pretty-exceptions
(install-pretty-exceptions)Installs an override that outputs pretty exceptions when caught by the main REPL loop. Also, overrides clojure.repl/pst, clojure.stacktrace/print-stack-trace, clojure.stacktrace/print-cause-trace.
In addition, installs an uncaught-exception-handler so that uncaught exceptions in non-REPL threads will be printed reasonably. See io.aviso.logging for a better handler, used when clojure.tools.logging is available.
Caught exceptions do not print the stack trace; the pst replacement does.
paste
added in 0.1.32
(paste s)Pastes a string in as the new content of the Clipboard.
This can be helpful when, for example, pretty printing some EDN content from a log file before pasting it into some other editor.
pretty-print
added in 0.1.32
(pretty-print)(pretty-print object)Pretty-prints the supplied object to a returned string.
With no arguments, copies from the clipboard, parses as EDN, and prints the EDN data to *out*, returning nil.
pretty-print-stack-trace
(pretty-print-stack-trace tr)(pretty-print-stack-trace tr n)Replacement for clojure.stacktrace/print-stack-trace and print-cause-trace. These functions are used by clojure.test.
pretty-pst
(pretty-pst)(pretty-pst e-or-depth)(pretty-pst e depth)Used as an override of clojure.repl/pst but uses pretty formatting.
pretty-repl-caught
(pretty-repl-caught e)A replacement for clojure.main/repl-caught that prints the exception to *err*, without a stack trace or properties.
uncaught-exception-handler
added in 0.1.18
(uncaught-exception-handler)Returns a reified UncaughtExceptionHandler that prints the formatted exception to *err*.