diff --git a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js
new file mode 100644
index 0000000..8e664a3
--- /dev/null
+++ b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js
@@ -0,0 +1,27 @@
+document.onreadystatechange = function(){
+ // editor.on seems to require newer codemirror version
+ // var pending;
+ // editor.on("change", function() {
+ // clearTimeout(pending);
+ // pending = setTimeout(update, 400);
+ // });
+ function looksLike(code) {
+ var firstline = code.split('\n')[0];
+ if(firstline.indexOf('#!') == 0){
+ var shellpattern = /bin\/[\w]{0,2}sh/;
+ var shellpatternwin = /[\w]{0,2}sh\.exe/;
+ if(firstline.indexOf('python') > -1){
+ return "python";
+ // perl requires stapler-adjunct-codemirror > 1.3
+ }else if(firstline.indexOf('perl') > -1){
+ return "perl";
+ }else if(shellpattern.exec(firstline) || shellpatternwin.exec(firstline)){
+ return "shell";
+ }
+ }
+ }
+ function update() {
+ editor.setOption("mode", looksLike(editor.getValue()));
+ }
+ update();
+};
diff --git a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly
index 9590573..480bb51 100644
--- a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly
+++ b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly
@@ -55,34 +55,6 @@ THE SOFTWARE.
org.kohsuke.stapler.codemirror.mode.shell.shell,
org.kohsuke.stapler.codemirror.mode.perl.perl,
"/>
-
+
\ No newline at end of file