-(function(){
- 'use strict';
-
- function divine_format() {
- var filename = $('#prog').val();
- var ext = /\.([^.]*)$/.exec(filename)[1];
- var format;
-
- switch(ext) {
- case 'c':
- format = 'C';
- break;
- case 'cc':
- case 'cpp':
- case 'cxx':
- case 'C':
- format = 'CPP';
- break;
- case 'go':
- format = 'GOLANG';
- break;
- case 'hs':
- case 'lhs':
- format = 'HASKELL';
- break;
- case 'lisp':
- case 'lsp':
- case 'cl':
- case 'l':
- format = 'SBCL';
- break;
- case 'java':
- format = 'JAVA';
- break;
- case 'pas':
- format = 'PASCAL';
- break;
- case 'pl':
- format = 'PERL';
- break;
- case 'py':
- format = 'PYTHON';
- break;
- case 'rb':
- format = 'RUBY';
- break;
- }
-
- if(format)
- $('#prog_format').val(format);
- }
-
- $( document ).ready(function() {
- $('#prog').on('change', divine_format);
- });
-})();
+const ext_table = {
+ 'c' : 'C',
+
+ 'cc' : 'CPP',
+ 'cpp' : 'CPP',
+ 'cxx' : 'CPP',
+ 'C' : 'CPP',
+
+ 'go' : 'GOLANG',
+
+ 'gs' : 'GOLFSCRIPT',
+
+ 'hs' : 'HASKELL',
+ 'lhs' : 'HASKELL',
+
+ 'lisp': 'SBCL',
+ 'lsp' : 'SBCL',
+ 'cl' : 'SBCL',
+ 'l' : 'SBCL',
+
+ 'java': 'JAVA',
+
+ 'pas' : 'PASCAL',
+
+ 'pl' : 'PERL',
+
+ 'py' : 'PYTHON',
+
+ 'rb' : 'RUBY'
+}
+
+function divine_format() {
+ const filename = q('#prog').value;
+ const ext = /\.([^.]*)$/.exec(filename)[1];
+
+ if(ext_table[ext])
+ q('#prog_format').value = ext_table[ext];
+}
+
+$(() => $('#prog').on('change', divine_format));