Liking cljdoc? Tell your friends :D

General Overview

In order to obtain the most accurate results the checkers themselves must run in the real runtime environment of your application. This allows the tool to leverage your real code instead of it being a pure source-level analysis. These low-level checkers connect to a central daemon. The daemon serves several roles:

  • An LSP (language server protocol) server for arbitrary editors.

  • Runtime file I/O (browser cljs environments cannot read the filesystem)

  • A central common place to run a UI for centralized configuration and control outside of editors.

The overall system diagram looks like this:

   +------------------+ +------------------+
   | Checker (CLJ)    | | Checker (CLJS)   |
   | In JVM           | | Browser/Node/??? |
   +------------------+ +------------------+
                  ^         ^
                  |         |
                  +----+----+
                       |
                       v
                   +--------+
                   | Daemon |
                   +--------+
                       ^
                       |
          +---------+--+-------+
          |         |          |
          v         v          v
   +---------+ +---------+
   | Editor  | | Editor  | ...
   +---------+ +---------+

The IntelliJ plugin is pre-configured to understand how to connect to the daemon. Other editors have to be configured to work with the LSP support. Please see the relevant chapter in this guide for more information on each of these elements.

Can you improve this documentation?Edit on GitHub

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