# HG changeset patch # User Meredith Howard # Date 1552778744 14400 # Node ID 36a4da0a98636cde24dce39c528b9ea55aa21d6d # Parent 27f7431c8170674b1d7e6ad90e64e52f0df81826 Separate errors from filter stream diff --git a/.vim/autoload/vimrc.vim b/.vim/autoload/vimrc.vim --- a/.vim/autoload/vimrc.vim +++ b/.vim/autoload/vimrc.vim @@ -47,3 +47,16 @@ func! vimrc#Hgcd() abort pwd endfunc +func! vimrc#SafeFilterFile(cmd) + let errors = tempname() + try + exec 'silent %!' . a:cmd . ' 2>' . shellescape(errors) + if v:shell_error + for line in readfile(errors) + echomsg line + endfor + endif + finally + call delete(errors) + endtry +endfunc diff --git a/.vimrc b/.vimrc --- a/.vimrc +++ b/.vimrc @@ -299,8 +299,8 @@ augroup END augroup encrypted autocmd! autocmd BufReadPre,FileReadPre *.gpg,*.gpg.* setl noswapfile noundofile nobackup viminfo= - autocmd BufReadPost *.gpg,*.gpg.* :sil %!gpg2 -d - autocmd BufWritePre *.gpg,*.gpg.* :sil %!gpg2 -se -a --default-recipient-self + autocmd BufReadPost *.gpg,*.gpg.* call vimrc#SafeFilterFile('gpg2 -d') + autocmd BufWritePre *.gpg,*.gpg.* call vimrc#SafeFilterFile('gpg2 -se -a --default-recipient-self') autocmd BufWritePost *.gpg,*.gpg.* :sil undo augroup END "}}}