diff --git a/web/template/syzoj/submitpage.php b/web/template/syzoj/submitpage.php index 7c40b40..b4da3d0 100644 --- a/web/template/syzoj/submitpage.php +++ b/web/template/syzoj/submitpage.php @@ -366,9 +366,41 @@ function resume(){ window.setTimeout("resume();",1000); } } +var languageNames=; +var aceModesByLanguageName={ + "C":"c_cpp", + "C++":"c_cpp", + "Pascal":"pascal", + "Java":"java", + "Ruby":"ruby", + "Bash":"sh", + "Python":"python", + "PHP":"php", + "Perl":"perl", + "C#":"csharp", + "Obj-C":"objectivec", + "FreeBasic":"vbscript", + "Scheme":"scheme", + "Clang":"c_cpp", + "Clang++":"c_cpp", + "Lua":"lua", + "JavaScript":"javascript", + "Go":"golang", + "SQL":"sql", + "Fortran":"fortran", + "Matlab":"matlab", + "Cobol":"cobol", + "R":"r", + "Scratch3":"plain_text", + "UnknownLanguage":"plain_text" +}; +function getAceModeName(lang){ + var langIndex=parseInt(lang,10); + var languageName=languageNames[langIndex]||""; + return aceModesByLanguageName[languageName]||"plain_text"; +} function switchLang(lang){ - var langnames=new Array("c_cpp","c_cpp","pascal","java","ruby","sh","python","php","perl","csharp","objectivec","vbscript","scheme","c_cpp","c_cpp","lua","javascript","golang","sql","fortran","matlab","cobol","r"); - editor.getSession().setMode("ace/mode/"+langnames[lang]); + editor.getSession().setMode("ace/mode/"+getAceModeName(lang)); } function reloadtemplate(lang){