From cbb65c137e969cae4d442411c6796a6027316a2e Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Sun, 8 Jul 2018 17:24:41 +1200 Subject: Move shebang updating into filetype.vim Much more logical location. --- vim/filetype.vim | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'vim/filetype.vim') diff --git a/vim/filetype.vim b/vim/filetype.vim index ad2545a0..bda01984 100644 --- a/vim/filetype.vim +++ b/vim/filetype.vim @@ -42,6 +42,13 @@ function! s:StripRepeat() endfunction +" Check if the first line is a shebang +function! s:CheckShebang() + if line('''[') == 1 && stridx(getline(1), '#!') == 0 + doautocmd filetypedetect BufRead + endif +endfunction + " Use our own filetype detection rules augroup filetypedetect autocmd! @@ -508,4 +515,10 @@ augroup filetypedetect \| runtime scripts.vim \|endif + " If supported, on leaving insert mode, check whether the first line was " + " changed and is a shebang format, and if so, re-run filetype detection + if v:version > 700 + autocmd InsertLeave * call s:CheckShebang() + endif + augroup END -- cgit v1.2.3