
require:
   "codemirror/mode/javascript/javascript"
   .common ->
      fade-in, Into, Cards, make-eval
      stdrepl
      stdeditor
      stdsetup
      codemirror
   repple -> Outputter

provide:
   setup
   codemirror
   stdsetup
   Outputter


_evaluate = eval

evaluate{match text} =
   R"^\{"? ->
      _evaluate{'({text})'}
   else ->
      _evaluate{text}


async setup{config} =
   stdsetup with config & {
      = evaluate
      setenv{values} =
         items{values} each {name, value} ->
            global[name] = value
         undefined
      reset-bindings = true
      continuate = R"[{(\[,] *$"
      lang = .javascript
      theme = config.theme
   }
