patch 9.1.1342: Shebang filetype detection can be improved

Problem:  Shebang filetype detection can be improved
Solution: Improve detection logic (Eisuke Kawashima)

Vim does not correctly detect filetype from
  - `#!/usr/bin/env --split-string=awk -f`
  - `#!/usr/bin/env -S -i awk -f`
  - `#!/usr/bin/env -S VAR= awk -f`
So update the current detection logic to detect those cases.

closes: #17199

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/autoload/dist/script.vim b/runtime/autoload/dist/script.vim
index 859126f..c184bd0 100644
--- a/runtime/autoload/dist/script.vim
+++ b/runtime/autoload/dist/script.vim
@@ -4,7 +4,7 @@
 # Invoked from "scripts.vim" in 'runtimepath'
 #
 # Maintainer:	The Vim Project <https://github.com/vim/vim>
-# Last Change:	2025 Jan 20
+# Last Change:	2025 Apr 24
 # Former Maintainer:	Bram Moolenaar <Bram@vim.org>
 
 export def DetectFiletype()
@@ -26,8 +26,9 @@
   # "#!/usr/bin/bash" to make matching easier.
   # Recognize only a few {options} that are commonly used.
   if line1 =~ '^#!\s*\S*\<env\s'
-    line1 = substitute(line1, '\S\+=\S\+', '', 'g')
-    line1 = substitute(line1, '\(-[iS]\|--ignore-environment\|--split-string\)', '', '')
+    line1 = substitute(line1, '\s\zs--split-string[ \t=]', '', '')
+    line1 = substitute(line1, '\s\zs[A-Za-z0-9_]\+=\S*\ze\s', '', 'g')
+    line1 = substitute(line1, '\s\zs\%(-[iS]\+\|--ignore-environment\)\ze\s', '', 'g')
     line1 = substitute(line1, '\<env\s\+', '', '')
   endif