(function () { var editor = ace.edit('code'); editor.setTheme('ace/theme/tomorrow_night_eighties'); editor.session.setMode('ace/mode/golang'); editor.focus(); var localStorage = window.localStorage || { setItem: function () { }, getItem: function () { return ''; } }; var savedCode = localStorage.getItem('code') || ''; if (savedCode === '') { savedCode = 'println("Hello World!")\n'; } editor.setValue(savedCode, 1); $('#code').on('keydown', function (e) { var meta = e.metaKey || e.ctrlKey; var keyCode = (e.keyCode || e.which); var enter = keyCode === 10 || keyCode === 13; var format = keyCode === 32; if (meta && format) { e.preventDefault(); $('#output').html('
Formatting...
'); $.ajax({ url: '/api/format', method: 'POST', data: { code: editor.getValue() }, success: function (data) { editor.setValue(data, 1); $('#output').html(''); }, error: function (xhr, status, text) { var response = xhr.responseText.replace(/\n/g, '' + response + '
'); localStorage.setItem('code', editor.getValue()); } else { $('#output').html('Looks like the server is not reachable.
'); } } }); } if (meta && enter) { e.preventDefault(); $('#output').html(''); $('#output').append('Executing...
'); $.ajax({ url: '/api/run', method: 'POST', data: { code: editor.getValue() }, success: function (data) { var output = data.replace(/\n/g, '' + output + '
'); localStorage.setItem('code', editor.getValue()); }, error: function (xhr, status, text) { var response = xhr.responseText.replace(/\n/g, '' + response + '
'); localStorage.setItem('code', editor.getValue()); } else { $('#output').html('Looks like the server is not reachable.
'); } } }); } }); })();