aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vim/autoload/shebang_create_exec.vim14
-rw-r--r--vim/plugin/shebang_create_exec.vim18
2 files changed, 16 insertions, 16 deletions
diff --git a/vim/autoload/shebang_create_exec.vim b/vim/autoload/shebang_create_exec.vim
new file mode 100644
index 00000000..b01cf584
--- /dev/null
+++ b/vim/autoload/shebang_create_exec.vim
@@ -0,0 +1,14 @@
+" If the buffer starts with a shebang and the file being saved to doesn't
+" exist yet, set up a hook to make it executable after the write is done
+function! shebang_create_exec#Check(filename) abort
+ if stridx(getline(1), '#!') == 0 && !filereadable(a:filename)
+ autocmd shebang_create_exec BufWritePost <buffer>
+ \ call shebang_create_exec#Chmod(expand('<afile>:p'))
+ endif
+endfunction
+
+" Make the file executable and clear away the hook that called us
+function! shebang_create_exec#Chmod(filename) abort
+ autocmd! shebang_create_exec BufWritePost <buffer>
+ call system('chmod +x '.shellescape(a:filename))
+endfunction
diff --git a/vim/plugin/shebang_create_exec.vim b/vim/plugin/shebang_create_exec.vim
index 7fabd8f7..401a23b8 100644
--- a/vim/plugin/shebang_create_exec.vim
+++ b/vim/plugin/shebang_create_exec.vim
@@ -16,20 +16,6 @@ let g:loaded_shebang_create_exec = 1
" Set up hook for before writes to check the buffer for new shebangs
augroup shebang_create_exec
autocmd!
- autocmd BufWritePre * call s:Check(expand('<afile>:p'))
+ autocmd BufWritePre *
+ \ call shebang_create_exec#Check(expand('<afile>:p'))
augroup END
-
-" If the buffer starts with a shebang and the file being saved to doesn't
-" exist yet, set up a hook to make it executable after the write is done
-function! s:Check(filename) abort
- if stridx(getline(1), '#!') == 0 && !filereadable(a:filename)
- autocmd shebang_create_exec BufWritePost <buffer>
- \ call s:Chmod(expand('<afile>:p'))
- endif
-endfunction
-
-" Make the file executable and clear away the hook that called us
-function! s:Chmod(filename) abort
- autocmd! shebang_create_exec BufWritePost <buffer>
- call system('chmod +x '.shellescape(a:filename))
-endfunction