name = substitute(line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
+ elseif line1 =~ '^#!.*\<busybox\>'
+ name = substitute(line1, '^#!.*\<busybox\>\s\+\(\i\+\).*', '\1', '')
else
name = substitute(line1, '^#!\s*\S*[/\\]\(\f\+\).*', '\1', '')
endif
# Returns an empty string when not recognized.
export def Exe2filetype(name: string, line1: string): string
# Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
- if name =~ '^\(bash\d*\|dash\|ksh\d*\|sh\)\>'
+ if name =~ '^\(bash\d*\|d\?ash\|ksh\d*\|sh\)\>'
return dist#ft#SetFileTypeSH(line1, false)
# csh scripts
['#!/path/bash2'],
['#!/path/dash'],
['#!/path/ksh'],
- ['#!/path/ksh93']],
+ ['#!/path/ksh93'],
+ ['#!/path/ash'],
+ ['#!/path/busybox ash'],
+ ['#!/path/busybox sh']],
csh: [['#!/path/csh']],
tcsh: [['#!/path/tcsh']],
zsh: [['#!/path/zsh']],