<div id="editor"></div>
"use strict";

const { basicSetup, EditorView } = CM["codemirror"];
const { javascript, javascriptLanguage, scopeCompletionSource } = CM[
  "@codemirror/lang-javascript"
];

const parent = document.querySelector("#editor");
const doc = `function microsoftShuffle(arr) {
  return arr.slice().sort(function () {
    return 0.5 - Math.random();
  });
}`;
const extensions = [
  basicSetup,
  javascript(),
  javascriptLanguage.data.of({
    autocomplete: scopeCompletionSource(globalThis)
  })
];

window.editor = new EditorView({
  doc,
  extensions,
  parent
});
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://codemirror.net/codemirror.js