diff options
author | adityacp | 2018-04-06 15:01:47 +0530 |
---|---|---|
committer | adityacp | 2018-04-06 15:01:47 +0530 |
commit | c9aeb7b7e1484229782f0f8ab397890b27cfc905 (patch) | |
tree | 2274f38792505eb9b2e2a8a75ce1acb2aa614bf1 /yaksh/static | |
parent | 463cd907d0e744d5bbbd5ed5f0d0dde1bd8ca162 (diff) | |
download | online_test-c9aeb7b7e1484229782f0f8ab397890b27cfc905.tar.gz online_test-c9aeb7b7e1484229782f0f8ab397890b27cfc905.tar.bz2 online_test-c9aeb7b7e1484229782f0f8ab397890b27cfc905.zip |
Highlight error line in code mirror for python
Diffstat (limited to 'yaksh/static')
-rw-r--r-- | yaksh/static/yaksh/js/requesthandler.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/yaksh/static/yaksh/js/requesthandler.js b/yaksh/static/yaksh/js/requesthandler.js index a215ce4..f858317 100644 --- a/yaksh/static/yaksh/js/requesthandler.js +++ b/yaksh/static/yaksh/js/requesthandler.js @@ -75,6 +75,22 @@ function response_handler(method_type, content_type, data, uid){ var error_output = document.getElementById("error_panel"); error_output.innerHTML = res.error; focus_on_error(error_output); + err_lineno = $("#err_lineno").val(); + if(marker){ + marker.clear(); + } + if(err_lineno){ + var lineno = parseInt(err_lineno) - 1; + var editor = global_editor.editor; + var line_length = editor.getLine(lineno).length; + marker = editor.markText({line: lineno, ch: 0}, {line: lineno, ch: line_length}, + {className: "activeline", clearOnEnter:true}); + } + else{ + if(marker){ + marker.clear(); + } + } } } else { reset_values(); @@ -125,6 +141,8 @@ function ajax_check_code(url, method_type, data_type, data, uid) var global_editor = {}; var csrftoken = jQuery("[name=csrfmiddlewaretoken]").val(); +var err_lineno; +var marker; $(document).ready(function(){ if(is_exercise == "True" && can_skip == "False"){ setTimeout(function() {show_solution();}, delay_time*1000); @@ -148,6 +166,7 @@ $(document).ready(function(){ mode: mode_dict[lang], gutter: true, lineNumbers: true, + styleSelectedText: true, onChange: function (instance, changes) { render(); } |