From bbf4c9592895263a213089b4dd97cbe1f82f3f9a Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Fri, 25 Aug 2017 12:54:19 +0300 Subject: [PATCH] .vimrc: Improve SetExecutableBit Do not set/clear the executable bit if it's already set/clear. --- .vimrc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.vimrc b/.vimrc index d743be7..f592934 100644 --- a/.vimrc +++ b/.vimrc @@ -592,11 +592,12 @@ function! SetExecutableBit(x) endif checktime let fname = expand("%:p") + let fx = executable(fname) execute "au FileChangedShell " . fname . " :echo" - if a:x - silent !chmod a+x % - else - silent !chmod a-x % + if a:x && !fx + !chmod a+x % + elseif !a:x && fx + !chmod a-x % endif if v:shell_error echoerr 'Error running chmod: ' . v:shell_error @@ -606,6 +607,7 @@ function! SetExecutableBit(x) endfunction command! Xbit if executable(expand("%:p")) | call SetExecutableBit(0) | else | call SetExecutableBit(1) | endif + " ---------- " From http://slobin.pp.ru/vim/_vimrc.html -- 2.39.2