diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-07-17 16:08:22 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-07-17 16:08:22 +1200 |
commit | 3155b55819b5af8f6186b597331c04c94eaf93db (patch) | |
tree | fe99c6cd3d6c67ac603145a8dd5625cf99e8898c | |
parent | Merge branch 'release/v1.33.0' into develop (diff) | |
download | dotfiles-3155b55819b5af8f6186b597331c04c94eaf93db.tar.gz dotfiles-3155b55819b5af8f6186b597331c04c94eaf93db.zip |
Separate shebang_create_exec into autoload funcs
-rw-r--r-- | vim/autoload/shebang_create_exec.vim | 14 | ||||
-rw-r--r-- | vim/plugin/shebang_create_exec.vim | 18 |
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 |