From c85a33e792e69294780d173d892b918a86542059 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Thu, 5 Dec 2024 20:20:35 -0500
Subject: [PATCH 1/2] remove inline js script in ScriptConfig/edit-config.jelly
---
.../ScriptConfig/edit-config-codemirror.js | 28 +++++++++++++++++
.../ScriptConfig/edit-config.jelly | 30 +------------------
2 files changed, 29 insertions(+), 29 deletions(-)
create mode 100644 src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js
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..c0ded3f
--- /dev/null
+++ b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js
@@ -0,0 +1,28 @@
+document.onreadystatechange = function(){
+ // editor.on seems to require newer codemirror version
+ // var pending;
+ // editor.on("change", function() {
+ // clearTimeout(pending);
+ // pending = setTimeout(update, 400);
+ // });
+ console.log("SHLOMO");
+ 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();
+};
\ No newline at end of file
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
From 11ea3ee5d94a5dca25fbaf0236571953963ac91a Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Thu, 5 Dec 2024 20:24:32 -0500
Subject: [PATCH 2/2] remove inline js script in ScriptConfig/edit-config.jelly
---
.../managedscripts/ScriptConfig/edit-config-codemirror.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
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
index c0ded3f..8e664a3 100644
--- 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
@@ -5,7 +5,6 @@ document.onreadystatechange = function(){
// clearTimeout(pending);
// pending = setTimeout(update, 400);
// });
- console.log("SHLOMO");
function looksLike(code) {
var firstline = code.split('\n')[0];
if(firstline.indexOf('#!') == 0){
@@ -25,4 +24,4 @@ document.onreadystatechange = function(){
editor.setOption("mode", looksLike(editor.getValue()));
}
update();
-};
\ No newline at end of file
+};