codeq.makeEditor = function (elt, options) { var statusBar = document.createElement("div"), updateStatusBar = function (pos) { statusBar.innerHTML = 'line ' + (pos.line+1) + ', column ' + (pos.ch+1); }, editor; options.cursorHeight = 0.85; options.lineNumbers = true; options.matchBrackets = true; options.extraKeys = { // replace tabs with spaces Tab: function (cm) { var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); cm.replaceSelection(spaces); } }; editor = CodeMirror(elt, options), statusBar.className = 'editor-statusbar'; updateStatusBar({line: 0, ch: 0}); editor.addPanel(statusBar, {position: 'bottom'}); editor.on('cursorActivity', function (instance) { var pos = instance.getDoc().getCursor(); updateStatusBar(pos); }); return editor; };