diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-07-09 15:47:14 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-07-09 15:47:14 +1200 |
commit | b4a2c25d7e81c88077c408e7189fbc23e771fb36 (patch) | |
tree | 9eba14fcffd5084c8a1d1d08e4f37b80b0f30a46 /vim/filetype.vim | |
parent | Merge branch 'release/v1.24.0' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-b4a2c25d7e81c88077c408e7189fbc23e771fb36.tar.gz dotfiles-b4a2c25d7e81c88077c408e7189fbc23e771fb36.zip |
Merge branch 'release/v1.25.0'v1.25.0
* release/v1.25.0:
Add extra Perl file detection rules
Adjust comment on scripts.vim load
Don't defer package load for matchit
Clear b:current_compiler on unload
Adjust comments in filetype.vim
Specify which Vim to run in Makefile
Tweak HTML indenting to indent after <p>
Use !=# for &filetype match
Revert :setglobal changes
Overhaul ftplugin check, lint, tidy
Change local leader back to comma
Overhaul base after-ftplugins
Remove Perl indent string again
Tidy space and backspace mappings
Upgrade and adjust config for diff_prune.vim
Highlight overly long Git commit subjects as error
Test 'modifiable' for spellchecking text/markdown
Disable concealing when editing Vim help
Add patterns for Vim help file detection
Move shebang updating into filetype.vim
Use stridx() for shebang check
Correct filetype reset; blank, not NONE
Correct a comment on shebang_update.vim
Diffstat (limited to 'vim/filetype.vim')
-rw-r--r-- | vim/filetype.vim | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/vim/filetype.vim b/vim/filetype.vim index ad2545a0..6bb52b96 100644 --- a/vim/filetype.vim +++ b/vim/filetype.vim @@ -42,6 +42,14 @@ function! s:StripRepeat() endfunction +" Check whether the first line was changed and looks like a shebang, and if +" so, re-run filetype detection +function! s:CheckShebang() + if line('''[') == 1 && stridx(getline(1), '#!') == 0 + doautocmd filetypedetect BufRead + endif +endfunction + " Use our own filetype detection rules augroup filetypedetect autocmd! @@ -165,6 +173,8 @@ augroup filetypedetect " Vim help files autocmd BufNewFile,BufRead \ ~/.vim/doc/?*.txt + \,*/vim-*/doc/?*.txt + \,*/*.vim/doc/?*.txt \,$VIMRUNTIME/doc/?*.txt \ setfiletype help " HTML files @@ -499,13 +509,20 @@ augroup filetypedetect \| call s:StripRepeat() \|endif - " If we *still* don't have a filetype, run the scripts.vim file that will - " examine actual file contents--but only the first one; don't load the - " system one at all + " If we still don't have a filetype, run the scripts.vim file that performs + " cleverer checks including looking at actual file contents--but only my + " custom one; don't load the system one at all. autocmd BufNewFile,BufRead,StdinReadPost \ * \ if !did_filetype() \| runtime scripts.vim \|endif + " If supported, on leaving insert mode, check whether the first line was + " changed and looks like a shebang format, and if so, re-run filetype + " detection + if v:version > 700 + autocmd InsertLeave * call s:CheckShebang() + endif + augroup END |