     tabSize: 2
     viewportMargin: Infinity
     gutters: ['error']
-    extraKeys:
-      'Shift-Enter': 'run'
-      'F1': 'contextHelp'
-      'Ctrl-Space': 'suggest'
 
   context =
     used: false

    else
      CodeMirror.Pass

  fallthrough: ['default']

contexts = []


        from: CodeMirror.Pos cur.line, token.start
        to: CodeMirror.Pos cur.line, cur.ch

lead_editor_commands =
  run: (cm) ->
    cm.lead_cell.run()
    add_context()

  contextHelp: (cm) ->
    cur = cm.getCursor()
    token = cm.getTokenAt(cur)
    if lead.graphite.has_docs token.string
      run_in_info_context cm.lead_cell, "docs '#{token.string}'"
    else if lead.ops[token.string]?
      run_in_info_context cm.lead_cell, "help #{token.string}"

  suggest: (cm) ->
    CodeMirror.showHint cm, suggest, async: true

  fill_with_last_value: (cm) ->
    previous_context = input_cell_at_offset cm.lead_cell, -1
    if previous_context?
      cm.setValue previous_context.editor.getValue()
