Fix 🐛 on file starting with single shebang

This commit is contained in:
Alexander Bezzubov 2017-07-25 10:25:43 +02:00
parent 7cd8904cbb
commit 3303cf7824
2 changed files with 5 additions and 2 deletions

View File

@ -284,14 +284,16 @@ func getInterpreter(data []byte) (interpreter string) {
// skip shebang
line = bytes.TrimSpace(line[2:])
splitted := bytes.Fields(line)
if len(splitted) == 0 {
return ""
}
if bytes.Contains(splitted[0], []byte("env")) {
if len(splitted) > 1 {
interpreter = string(splitted[1])
}
} else {
splittedPath := bytes.Split(splitted[0], []byte{'/'})
interpreter = string(splittedPath[len(splittedPath)-1])
}

View File

@ -212,6 +212,7 @@ println("The shell script says ",vm.arglist.concat(" "));`
{name: "TestGetLanguagesByShebang_8", content: []byte(`#!bash`), expected: []string{"Shell"}},
{name: "TestGetLanguagesByShebang_9", content: []byte(multilineExecHack), expected: []string{"Tcl"}},
{name: "TestGetLanguagesByShebang_10", content: []byte(multilineNoExecHack), expected: []string{"Shell"}},
{name: "TestGetLanguagesByShebang_11", content: []byte(`#!`), expected: nil},
}
for _, test := range tests {