aboutsummaryrefslogtreecommitdiff
path: root/plugin/shebang_change_filetype.vim
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/shebang_change_filetype.vim')
-rw-r--r--plugin/shebang_change_filetype.vim25
1 files changed, 25 insertions, 0 deletions
diff --git a/plugin/shebang_change_filetype.vim b/plugin/shebang_change_filetype.vim
new file mode 100644
index 0000000..ca6c183
--- /dev/null
+++ b/plugin/shebang_change_filetype.vim
@@ -0,0 +1,25 @@
+"
+" shebang_change_filetype.vim: On leaving insert mode, check whether the first
+" line was changed and looks like a shebang format.
+"
+" Author: Tom Ryder <tom@sanctum.geek.nz>
+" License: Same as Vim itself
+"
+if exists('loaded_shebang_change_filetype') || &compatible
+ finish
+endif
+if !has('autocmd') || v:version < 700
+ finish
+endif
+let loaded_shebang_change_filetype = 1
+
+" Set up hook for before writes to check the buffer for new shebangs
+augroup shebang_change_filetype
+ autocmd!
+ autocmd InsertLeave *
+ \ call shebang_change_filetype#Check()
+ if exists('##TextChanged')
+ autocmd TextChanged *
+ \ call shebang_change_filetype#Check()
+ endif
+augroup END