Skip to content

clojure-lsp/clojure-lsp-intellij

Repository files navigation

JetBrains Plugin Version Slack community

clojure-lsp-intellij

Free OpenSource Intellij plugin with support for Clojure & ClojureScript development using the Language Server (LSP) clojure-lsp providing features via static analysis

Clojure LSP Intellij


homepagefeaturescapabilitiesdevelopingtroubleshootingsupport us


Rationale

IntelliJ is the only mainstream editor without a plugin with good, free, and dedicated support for LSP, there are already excellent plugins for Clojure like Cursive which provides lots of features with REPL support or ClojureKit which adds basic Clojure support for the language, but none uses clojure-lsp or follows the LSP standard which some users may prefer as some features are only available in clojure-lsp.

Keep in mind that this plugin provides only LSP features relying on clojure-lsp (and clj-kondo under the hood) static analysis, so no runtime features exist, like REPL integration or support, for that a separated plugin is needed as it's not possible to use only the REPL part of other plugins like Cursive together with this plugin.

Also, this plugin does not use official IntelliJ's LSP support yet for 2 reasons:

  • It's only available for Ultimate Edition (paid edition), making this plugin only available for those editions.
  • It's pretty alpha, missing some features yet, some that were already implemented in this plugin.

Getting Started

When opening a Clojure project or file, the plugin will try to download latest clojure-lsp server or use it from a custom path if specified in IntelliJ settings, then it will spawn the process for each project and communicate with it to provide all features.

Make sure to check the Clojure REPL plugin too.

Contributing

Contributions are very welcome, check the issues page for more information about what are good first issues or open an issue describing the desired support.

Support the project 💙

You can help us keep going and improving clojure-lsp-intellij by supporting the project, the support helps to keep the project going, updated, and maintained.