11" Name: gnupg.vim
2- " Last Change: 2015 Dec 17
3- " Maintainer: James McCoy <vega.james@gmail .com>
2+ " Last Change: 2016 Apr 24
3+ " Maintainer: James McCoy <jamessan@jamessan .com>
44" Original Author: Markus Braun <[email protected] >55" Summary: Vim plugin for transparent editing of gpg encrypted files.
66" License: This program is free software; you can redistribute it and/or
175175if (exists (" g:loaded_gnupg" ) || &cp || exists (" #GnuPG" ))
176176 finish
177177endif
178- let g: loaded_gnupg = ' 2.5 '
178+ let g: loaded_gnupg = ' 2.6 '
179179let s: GPGInitRun = 0
180180
181181" check for correct vim version {{{2
@@ -296,16 +296,6 @@ function s:GPGInit(bufread)
296296 let g: GPGPreferSymmetric = 0
297297 endif
298298
299- " check if armored files are preferred
300- if (! exists (" g:GPGPreferArmor" ))
301- " .asc files should be armored as that's what the extension is used for
302- if expand (' <afile>' ) = ~ ' \.asc$'
303- let g: GPGPreferArmor = 1
304- else
305- let g: GPGPreferArmor = 0
306- endif
307- endif
308-
309299 " check if signed files are preferred
310300 if (! exists (" g:GPGPreferSign" ))
311301 let g: GPGPreferSign = 0
@@ -670,6 +660,7 @@ function s:GPGEncrypt()
670660 return
671661 endif
672662
663+ let filename = resolve (expand (' <afile>' ))
673664 " initialize GPGOptions if not happened before
674665 if (! exists (" b:GPGOptions" ) || empty (b: GPGOptions ))
675666 let b: GPGOptions = []
@@ -679,7 +670,10 @@ function s:GPGEncrypt()
679670 else
680671 let b: GPGOptions += [" encrypt" ]
681672 endif
682- if (exists (" g:GPGPreferArmor" ) && g: GPGPreferArmor == 1 )
673+ " Fallback to preference by filename if the user didn't indicate
674+ " their preference.
675+ let preferArmor = get (g: , ' GPGPreferArmor' , -1 )
676+ if (preferArmor >= 0 && preferArmor) || filename = ~ ' \.asc$'
683677 let b: GPGOptions += [" armor" ]
684678 endif
685679 if (exists (" g:GPGPreferSign" ) && g: GPGPreferSign == 1 )
@@ -738,7 +732,6 @@ function s:GPGEncrypt()
738732 return
739733 endif
740734
741- let filename = resolve (expand (' <afile>' ))
742735 if rename (destfile, filename)
743736 " Rename failed, so clean up the tempfile
744737 call delete (destfile)
0 commit comments