Clojure/Script mode for CodeMirror 6
Enabling a decent Clojure/Script editor experience in the browser. Built for and by Nextjournal.
⚡️ Lightning-fast thanks to lezer incremental parsing
- Try pasting
clojure/core.cljinto the live demo.
🥤 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
{: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});- Install JS dependencies:
yarn install - Start dev server:
yarn watch - Open the demo page at http://localhost:8002/
Licensed under the EPL License, Copyright © 2020-present Nextjournal GmbH.
See LICENSE for more information.