Make use of file types for highlighting and tabs

This commit is contained in:
Maximilian Grundke
2015-12-10 13:48:31 +01:00
parent 79e7f7b7e8
commit 842907f1fa
2 changed files with 14 additions and 3 deletions

View File

@ -7,11 +7,13 @@ $(function() {
var active_file = undefined;
var fileTrees = []
var editor = undefined;
var fileTypeById = {}
var showActiveFile = function() {
var session = editor.getSession();
//session.setMode(active_file.file_type.editor_mode);
//session.setTabSize(active_file.file_type.indent_size);
var fileType = fileTypeById[active_file.file_type_id]
session.setMode(fileType.editor_mode);
session.setTabSize(fileType.indent_size);
session.setValue(active_file.content);
session.setUseSoftTabs(true);
session.setUseWrapMode(true);
@ -50,6 +52,7 @@ $(function() {
var slider = $('#submissions-slider>input');
var submissions = $('#data').data('submissions');
var files = $('#data').data('files');
var filetypes = $('#data').data('file-types');
editor = ace.edit('current-file');
editor.setShowPrintMargin(false);
@ -57,6 +60,11 @@ $(function() {
editor.$blockScrolling = Infinity;
editor.setReadOnly(true);
_.each(filetypes, function (filetype) {
filetype = JSON.parse(filetype);
fileTypeById[filetype.id] = filetype;
});
slider.on('change', function(event) {
currentSubmission = slider.val();
var currentFiles = files[currentSubmission];

View File

@ -5,10 +5,13 @@ h1 = "#{@exercise} (external user #{@external_user})"
- initial_files = current_submission.files.to_a
- all_files = []
- file_types = Set.new()
- submissions.each do |submission|
- submission.files.each do |file|
- file_types.add(ActiveSupport::JSON.encode(file.file_type))
- all_files.push(submission.files)
.hidden#data data-submissions=ActiveSupport::JSON.encode(submissions) data-files=ActiveSupport::JSON.encode(all_files)
.hidden#data data-submissions=ActiveSupport::JSON.encode(submissions) data-files=ActiveSupport::JSON.encode(all_files) data-file-types=ActiveSupport::JSON.encode(file_types)
#stats-editor.row
- index = 0