Skip to content

Repository files navigation

Clojure/Script mode for CodeMirror 6

Enabling a decent Clojure/Script editor experience in the browser. Built for and by Nextjournal.

✨ Features

⚡️ Lightning-fast thanks to lezer incremental parsing

🥤 Slurping & 🤮 Barfing

  • Forward: Ctrl + / or Mod + + J / K
  • Backward: Ctrl + Alt + /

💗 Semantic Selections

  • Expand/Contract: Alt + / or Mod + 1 / 2

🧙 Prepared for evaluation

  • At Cursor: Mod +
  • Top-level form: Mod + +
  • Cell: Alt +

🧹 Autoformatting following Tonsky’s Better Clojure Formatting

🎹 And lots of more useful key bindings

📦 Use it in your project

Include it in your deps.edn

{:deps {io.github.nextjournal/clojure-mode {:git/sha"<SHA>"}}}

Use it from NPM

import{default_extensions,complete_keymap}from'@nextjournal/clojure-mode';import{EditorView,drawSelection,keymap}from'@codemirror/view';import{EditorState}from'@codemirror/state';letextensions=[keymap.of(complete_keymap),
...default_extensions];letstate=EditorState.create({doc: "... some clojure code...",extensions: extensions});leteditorElt=document.querySelector('#editor');leteditor=newEditorView({state: state,parent: editorElt,extensions: extensions});

🛠 Development Setup

⚖️ License

Licensed under the EPL License, Copyright © 2020-present Nextjournal GmbH.

See LICENSE for more information.

Releases

Packages

Contributors

Languages