Search symbols and docs matching a regular expression
Search symbols and docs matching a regular expression
Rich content handling for CIDER. Mostly derived from the pprint middleware.
In the long ago, @technomancy [1] talked about his vision for using nREPL to support multimedia results beyond plain text, ala DrRacket and other "rich" REPLs. There was an initial cut at this [2], which never became part of the mainline Emacs tooling.
The goal of this module is to provide some support for recognizing multimedia objects (images and URIs thereto) as the result of evaluation, so that they can be rendered by a REPL.
The design of this module is based heavily on RFC-2045 [3] which
describes messages packaged with Content-Type
,
Content-Transfer-Encoding
and of course a body in that it seeks to
provide decorated responses which contain metadata which a client
can use to provide a rich interpretation.
There's also RFC-2017 [4] which defines the message/external-body
MIME type for defining messages which don't contain their own
bodies.
The basic architecture of this changeset is that eval results are inspected, and matched against two fundamental supported cases. One is that the value is actually a binary Java image, which can be MIME encoded and transmitted back directly. The other is that the object is some variant of a URI (such as a file naming an image or other content) which cannot be directly serialized. In this second case we send an RFC-2017 response which provides the URL from which a client could request the nREPL server slurp the desired content.
Hence the slurp middleware which slurps URLs and produces MIME coded data.
[1] https://groups.google.com/forum/#!topic/clojure-tools/rkmJ-5086RY [2] https://github.com/technomancy/nrepl-discover/blob/master/src/nrepl/discover/samples.clj#L135 [3] https://tools.ietf.org/html/rfc2045 [4] https://tools.ietf.org/html/rfc2017
Rich content handling for CIDER. Mostly derived from the pprint middleware. --- In the long ago, @technomancy [1] talked about his vision for using nREPL to support multimedia results beyond plain text, ala DrRacket and other "rich" REPLs. There was an initial cut at this [2], which never became part of the mainline Emacs tooling. The goal of this module is to provide some support for recognizing multimedia objects (images and URIs thereto) as the result of evaluation, so that they can be rendered by a REPL. The design of this module is based heavily on RFC-2045 [3] which describes messages packaged with `Content-Type`, `Content-Transfer-Encoding` and of course a body in that it seeks to provide decorated responses which contain metadata which a client can use to provide a rich interpretation. There's also RFC-2017 [4] which defines the `message/external-body` MIME type for defining messages which don't contain their own bodies. The basic architecture of this changeset is that eval results are inspected, and matched against two fundamental supported cases. One is that the value is actually a binary Java image, which can be MIME encoded and transmitted back directly. The other is that the object is some variant of a URI (such as a file naming an image or other content) which cannot be directly serialized. In this second case we send an RFC-2017 response which provides the URL from which a client could request the nREPL server slurp the desired content. Hence the slurp middleware which slurps URLs and produces MIME coded data. --- [1] https://groups.google.com/forum/#!topic/clojure-tools/rkmJ-5086RY [2] https://github.com/technomancy/nrepl-discover/blob/master/src/nrepl/discover/samples.clj#L135 [3] https://tools.ietf.org/html/rfc2045 [4] https://tools.ietf.org/html/rfc2017
Expression-based debugger for clojure code
Expression-based debugger for clojure code
Instrument user code to "light up" when it runs. The instrumented code will report the value of local variables and report its return value. Implemented as an extension of the debugger.
Instrument user code to "light up" when it runs. The instrumented code will report the value of local variables and report its return value. Implemented as an extension of the debugger.
Code and EDN formatting functionality.
Code and EDN formatting functionality.
Macroexpansion middleware.
Macroexpansion middleware.
Change out, err, System/out and System/err to print on sessions in addition to process out.
Automatically changes the root binding of all output channels to print to any active sessions. An active session is one that has sent at least one "eval" op.
We use an eval message, instead of the clone op, because there's no guarantee that the channel that sent the clone message will properly handle output replies.
Change *out*, *err*, System/out and System/err to print on sessions in addition to process out. Automatically changes the root binding of all output channels to print to any active sessions. An active session is one that has sent at least one "eval" op. We use an eval message, instead of the clone op, because there's no guarantee that the channel that sent the clone message will properly handle output replies.
This profiler is intended for interactive profiling applications where you do not expect a profiling tool to automatically compensate for JVM warm-up and garbage collection issues. If you are doing numeric computing or writing other purely functional code that can be executed repeatedly without unpleasant side effects, I recommend you at the very least check out Criterium.
If you are primarily concerned about the influence of JVM-exogenous factors on your code—HTTP requests, SQL queries, other network- or (possibly) filesystem-accessing operations—then this package may be just what the doctor ordered.
Based on older middleware (nrepl-profile) that's not actively maintained anymore.
This profiler is intended for interactive profiling applications where you do not expect a profiling tool to automatically compensate for JVM warm-up and garbage collection issues. If you are doing numeric computing or writing other purely functional code that can be executed repeatedly without unpleasant side effects, I recommend you at the very least check out Criterium. If you are primarily concerned about the influence of JVM-exogenous factors on your code—HTTP requests, SQL queries, other network- or (possibly) filesystem-accessing operations—then this package may be just what the doctor ordered. Based on older middleware (nrepl-profile) that's not actively maintained anymore.
Rich reading & handling for CIDER.
Goes with middleware.content-types, providing the capability to convert URLs to values which can be handled nicely.
Rich reading & handling for CIDER. Goes with middleware.content-types, providing the capability to convert URLs to values which can be handled nicely.
Cause and stacktrace analysis for exceptions
Cause and stacktrace analysis for exceptions
Test execution, reporting, and inspection
Test execution, reporting, and inspection
Extensions to clojure.test
functionality.
These are kept in a separate namespace because they are, by definition, opinionated.
Extensions to `clojure.test` functionality. These are kept in a separate namespace because they are, by definition, opinionated.
State tracker for client sessions.
State tracker for client sessions.
Undefine a symbol
Undefine a symbol
Coercion utilities for coercing bencoded maps.
Coercion utilities for coercing bencoded maps.
Utilities to safely reply to op requests and help deal with the errors/exceptions that might arise from doing so.
Utilities to safely reply to op requests and help deal with the errors/exceptions that might arise from doing so.
Generic instrumentation for clojure code
Generic instrumentation for clojure code
Utility functions for extracting and manipulating metadata.
Utility functions for extracting and manipulating metadata.
Common utilities for interaction with the client.
Common utilities for interaction with the client.
Return version info of the CIDER-nREPL middleware itself.
Return version info of the CIDER-nREPL middleware itself.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close