"" " Refer $VIMRUNTIME/autoload/dist/script.vim in vim " or $VIMRUNTIME/scripts.vim in neovim. When a file's shebang is like " "pip install -r" or "pip-compile", set its filetype to |requirements|. function! requirements#scripts#shabang() abort let s:line1 = getline(1) if s:line1 =~# "^#!" if s:line1 =~# '^#!\s*\S*\' let s:name = substitute(s:line1, '^#!.*\\s\+\(\i\+\).*', '\1', '') elseif s:line1 =~# '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)' let s:name = substitute(s:line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '') else let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '') endif if s:name =~# '^pip' set ft=requirements endif endif endfunction " vim: et sw=4 ts=4 sts=4: