]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Better mail backup writing
authormartin f. krafft <madduck@madduck.net>
Thu, 14 Oct 2021 01:20:15 +0000 (14:20 +1300)
committermartin f. krafft <madduck@madduck.net>
Thu, 14 Oct 2021 01:55:45 +0000 (14:55 +1300)
.vim/after/ftplugin/mail.vim

index 45b54922824642f40b7ba366823951137c90c0b6..2ab8174528c90b526ab841ff318abdc3dd26d2bf 100644 (file)
@@ -196,7 +196,18 @@ fun! DelegateCompletion(next)
   endif
 endfun
 
   endif
 endfun
 
-autocmd BufWritePost <buffer> exe 'write ' . fnameescape((exists('$TMPDIR') ? expand('$TMPDIR') : '/tmp') . '/mail.backup.' . strftime('%Y-%m-%d-%H%M%S'))
+function! WriteMailBackup()
+    let l:tmpdir = fnameescape((exists('$TMPDIR') ? expand('$TMPDIR') : '/tmp'))
+    let l:tgtdir = l:tmpdir . '/mail-backups'
+    call mkdir(l:tgtdir, "p", 0o700)
+    let l:modified = &modified
+    let l:filename = l:tgtdir . '/' . strftime('%Y-%m-%d-%H%M%S') . '.msg'
+    exe 'silent update! ' . l:filename
+    if 0 && l:modified
+      echo 'Backup written to ' . l:filename
+    endif
+endfunction
+autocmd BufWritePre <buffer> call WriteMailBackup()
 
 let g:markdown_in_mail = 1
 runtime! ftplugin/markdown.vim
 
 let g:markdown_in_mail = 1
 runtime! ftplugin/markdown.vim