Liking cljdoc? Tell your friends :D
Clojure only.

co.multiply.remontoire.outline

A namespace at a glance, from the running system's own metadata: every var with its signature, source order preserved, privates included and marked — the gist of a namespace, not just its API (§7). Runtime over parsing, deliberately: everything the glance needs — arglists, doc, the macro and private flags, line — already sits on the vars, for any loaded namespace with no file plumbing, and reflects what is live after a hot reload rather than what is on disk. Source-level outlining (unloaded files, comment blocks, the shape of a file as written) is form/changed-forms territory and stays there.

A namespace at a glance, from the running system's own metadata: every
var with its signature, source order preserved, privates included and
marked — the gist of a namespace, not just its API (§7). Runtime over
parsing, deliberately: everything the glance needs — arglists, doc,
the macro and private flags, line — already sits on the vars, for any
loaded namespace with no file plumbing, and reflects what is live after
a hot reload rather than what is on disk. Source-level outlining
(unloaded files, comment blocks, the shape of a file as written) is
`form`/`changed-forms` territory and stays there.
raw docstring

fileclj

(file x)

The source file of the namespace x designates, verbatim, as a string. The munged namespace path is tried first (.clj, then .cljc), so a namespace assembled from several files — clojure.core loads five — answers with its defining file; the :file metadata its vars carry is the fallback, covering unconventional layouts. Throws a plain explanation when no file is on the classpath — REPL-minted namespaces and source-stripped AOT jars have none, and that is worth saying outright rather than returning nil.

The source file of the namespace `x` designates, verbatim, as a string.
The munged namespace path is tried first (`.clj`, then `.cljc`), so a
namespace assembled from several files — clojure.core `load`s five —
answers with its defining file; the `:file` metadata its vars carry is
the fallback, covering unconventional layouts. Throws a plain
explanation when no file is on the classpath — REPL-minted namespaces
and source-stripped AOT jars have none, and that is worth saying
outright rather than returning nil.
raw docstring

nsesclj

(nses)
(nses match)

Every loaded namespace — the system at a glance, and the top of the drilldown that outline continues. match (a string, a regex, or a symbol matched as its name, as everywhere) searches names and namespace docstrings, ranked the way vars ranks: names with a whole dot-segment matching exactly first — "outline" puts x.outline above x.outline-test — then remaining name hits, then docstring-only hits, alphabetical within each tier; so (nses 'some.ns) still answers whether a namespace is really loaded. Without match, all of them, sorted. Names only, deliberately: a flat vector of symbols is the composable form — filter it, count it, map outline over it — which means a docstring hit carries no quoted evidence; outline the namespace to see it. Loaded namespaces, not the classpath: what the running system has actually required.

Every loaded namespace — the system at a glance, and the top of the
drilldown that `outline` continues. `match` (a string, a regex, or a
symbol matched as its name, as everywhere) searches names and
namespace docstrings, ranked the way `vars` ranks: names with a whole
dot-segment matching exactly first — "outline" puts `x.outline`
above `x.outline-test` — then remaining name hits, then
docstring-only hits, alphabetical within each tier; so
`(nses 'some.ns)` still answers whether a namespace is really loaded.
Without `match`, all of them, sorted. Names only, deliberately: a
flat vector of symbols is the composable form — filter it, count it,
map `outline` over it — which means a docstring hit carries no quoted
evidence; `outline` the namespace to see it. Loaded namespaces, not
the classpath: what the running system has actually required.
raw docstring

outlineclj

(outline ns)
(outline ns
         {:keys [include-docstrings include-private match]
          :or {include-private true}})

The outline of the namespace ns designates: {:ns sym :doc gist :vars [entry …]}, entries in source order, privates included and marked — the glance, signatures only, safe for any size of namespace. Options: :include-docstrings carries every docstring whole (and the full ns docstring); :match (string or regex) keeps only vars whose name or docstring matches. The default flipped twice on 2026-08-05: docstrings-on when this call was the initialize instructions' bootstrap and both fresh tenants stripped the option; back to the glance when the rendered manual moved into the instructions themselves and outline returned to being a reading tool.

The outline of the namespace `ns` designates: `{:ns sym :doc gist
:vars [entry …]}`, entries in source order, privates included and
marked — the glance, signatures only, safe for any size of namespace.
Options: `:include-docstrings` carries every docstring whole (and the
full ns docstring); `:match` (string or regex) keeps only vars whose
name or docstring matches. The default flipped twice on 2026-08-05:
docstrings-on when this call was the initialize instructions'
bootstrap and both fresh tenants stripped the option; back to the
glance when the rendered manual moved into the instructions
themselves and outline returned to being a reading tool.
raw docstring

varsclj

(vars match)

Every loaded var whose name or docstring matches, across all namespaces — the entry point for "where does that function live?", where nses searches namespace names and outline reads one namespace at a time. Hits are outline entries with :ns attached, scored: vars named exactly match first, then name hits, then docstring-only hits — the definition asked for outranks a mention of it — and namespace-then-source-line order within each tier. Docstring hits quote their matching lines as :matched, the same evidence outline shows. match is required — the JVM's whole var population is no glance — and takes what nses takes: a string (case-insensitive substring), a regex, or a symbol matched as its name.

Every loaded var whose name or docstring matches, across all
namespaces — the entry point for "where does that function live?",
where `nses` searches namespace names and `outline` reads one
namespace at a time. Hits are outline entries with `:ns` attached,
scored: vars named exactly `match` first, then name hits, then
docstring-only hits — the definition asked for outranks a mention of
it — and namespace-then-source-line order within each tier. Docstring
hits quote their matching lines as `:matched`, the same evidence
`outline` shows. `match` is required — the JVM's whole var population
is no glance — and takes what `nses` takes: a string
(case-insensitive substring), a regex, or a symbol matched as its
name.
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close