codeq.makeEditor = function (elt, options) { var statusBar = $(elt).siblings(".block-statusbar")[0], updateStatusBar = function (pos) { statusBar.innerHTML = 'line ' + (pos.line+1) + ', column ' + (pos.ch+1); }, allOptions = $.extend({ cursorHeight: 0.85, lineNumbers: true, matchBrackets: true, extraKeys: { // replace tabs with spaces Tab: function (cm) { var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); cm.replaceSelection(spaces); } } }, options), editor = CodeMirror(elt, allOptions); updateStatusBar({line: 0, ch: 0}); editor.on('cursorActivity', function (instance) { var pos = instance.getDoc().getCursor(); updateStatusBar(pos); }); return editor; };