You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 2, 2025. It is now read-only.
DEPRECATION NOTICE: This project's functionality is now part of orchard (var info) and clj-suitable (code completion).
A Clojure library designed to provide tooling support for
ClojureScript. Currently it provides var info and auto-completion
based on the ClojureScript compiler state.
It is the basis for ClojureScript features in
cider-nrepl (and in
CIDER respectively), including source navigation and auto-completion,
but is separate for the sake of test-harnesses and decoupled
development.
Artifacts
With Leiningen:
[cljs-tooling "0.3.1"]
Usage
Var info
cljs-tooling.info> (info @cljs.env/*compiler* 'go 'cljs.core.async)
=> {:ns cljs.core.async.macros
:doc"Asynchronously executes the body, returning immediately to the\n calling thread. Additionally, any visible calls to <!, >! and alt!/alts!\n channel operations within the body will block (if necessary) by\n 'parking' the calling thread rather than tying up an OS thread (or\n the only JS thread when in ClojureScript). Upon completion of the\n operation, the body will be resumed.\n\n Returns a channel which will receive the result of the body when\n completed":file"cljs/core/async/macros.clj":column1:line4:name go
:arglists ([& body])}
Completion
;; env is pulled from cljs compiler state
cljs-tooling.complete> (completions @cljs.env/*compiler* "al" 'cljs.core)
=> ("alength""alter-meta!")
Self-host ClojureScript
Starting with version 0.3 this library is compatible with self-host
ClojureScript. In order to try it out in lumo, for instance, just
do: