Skip to content

feat: add embedded ClojureScript REPL for interactive graph querying#12393

Open
andrewaylett wants to merge 1 commit intologseq:masterfrom
andrewaylett:push-xlyrqwsqswkp
Open

feat: add embedded ClojureScript REPL for interactive graph querying#12393
andrewaylett wants to merge 1 commit intologseq:masterfrom
andrewaylett:push-xlyrqwsqswkp

Conversation

@andrewaylett
Copy link
Copy Markdown

The existing code block evaluation creates a fresh SCI context each time, so defs don't accumulate and exploratory work is lost. This adds a persistent, notebook-style REPL that maintains state across cells and navigation, and exposes the graph's DataScript database for interactive querying.

Accessible from the right sidebar (developer mode) and a dedicated /repl route (dev builds only). Cells use CodeMirror with Clojure mode and Shift+Enter to evaluate. Top-level convenience bindings (q, pull, entity, db) and namespaced DataScript access (d/q, d/pull, etc.) are provided.

Ctrl+Space triggers autocomplete from the SCI context — includes initial bindings, namespace-qualified symbols, and any user-defined vars. Clojure-aware auto-indentation is enabled via smartIndent.

The existing code block evaluation creates a fresh SCI context each time,
so defs don't accumulate and exploratory work is lost. This adds a
persistent, notebook-style REPL that maintains state across cells and
navigation, and exposes the graph's DataScript database for interactive
querying.

Accessible from the right sidebar (developer mode) and a dedicated /repl
route (dev builds only). Cells use CodeMirror with Clojure mode and
Shift+Enter to evaluate. Top-level convenience bindings (q, pull, entity,
db) and namespaced DataScript access (d/q, d/pull, etc.) are provided.

Ctrl+Space triggers autocomplete from the SCI context — includes initial
bindings, namespace-qualified symbols, and any user-defined vars.
Clojure-aware auto-indentation is enabled via smartIndent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant