From d543ac76aeb9548365f95ca647114cfcd6f7a1f2 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Wed, 15 Dec 2021 00:42:08 +0100 Subject: [PATCH] Fix Java RegEx for relative files --- app/assets/javascripts/editor/editor.js.erb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/editor/editor.js.erb b/app/assets/javascripts/editor/editor.js.erb index 72367214..079b74d0 100644 --- a/app/assets/javascripts/editor/editor.js.erb +++ b/app/assets/javascripts/editor/editor.js.erb @@ -407,7 +407,7 @@ var CodeOceanEditor = { initializeRegexes: function () { // These RegEx are run on the HTML escaped output! this.regex_for_language.set("ace/mode/python", /File "(.+?)", line (\d+)/g); - this.regex_for_language.set("ace/mode/java", /(.*\.java):(\d+):/g); + this.regex_for_language.set("ace/mode/java", /(?:\.\/)?(.*\.java):(\d+):/g); }, initializeTooltips: function () { @@ -626,15 +626,17 @@ var CodeOceanEditor = { }, jumpToSourceLine: function (event) { - var file = $(event.target).data('file'); - var line = $(event.target).data('line'); + const file = $(event.target).data('file'); + const line = $(event.target).data('line'); - // set active file, only needed for codepilot, so skipped for now - - var frame = $('div.frame[data-filename="' + file + '"]'); + const frame = $('div.frame[data-filename="' + file + '"]'); this.showFrame(frame); - var editor = this.editor_for_file.get(file); + const file_id = frame.find('.editor').data('file-id'); + this.setActiveFile(frame.data('filename'), file_id); + this.selectFileInJsTree($('#files'), file_id); + + const editor = this.editor_for_file.get(file); editor.gotoLine(line, 0); event.preventDefault(); },