merlin-js#
Try-it: https://voodoos.github.io/merlin-js
To run locally, run 'make' then launch an http server from the 'examples' directory. For example:
make
cd examples
python3 -m http.server
For self-hosted knots, clone URLs may differ based on your setup.
Download tar.gz
Read doc.length from view.state.doc instead of reconstructing via
String.concat — our String reconstruction may differ from
CodeMirror's internal length.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Three changes to address CodeMirror RangeError and cm-gap issues:
1. jtw_client: Accumulate per-phrase output and emit as single
Top_response at cell end, instead of per-phrase Top_response_at.
Eliminates mid-document widget decorations that cause cm-gap
artifacts in CodeMirror's virtual rendering.
2. merlin_codemirror: Clamp lint diagnostic positions to current
document length. The doc can change between query send and
response arrival (e.g., formatter), making positions stale.
3. cell.ml: Skip formatter for run_on=load cells. The formatter
can change document length, creating changesets that invalidate
decoration positions from concurrent eval responses.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Try-it: https://voodoos.github.io/merlin-js
To run locally, run 'make' then launch an http server from the 'examples' directory. For example:
make
cd examples
python3 -m http.server