From: martin f. krafft Date: Thu, 21 Feb 2019 01:21:05 +0000 (+1300) Subject: move all mail ftplugin stuff to after X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/d36966d1e5d01fed6ca19773a610035350e7f924 move all mail ftplugin stuff to after --- diff --git a/.vim/after/ftplugin/mail.vim b/.vim/after/ftplugin/mail.vim index 35abab1..16157a9 100644 --- a/.vim/after/ftplugin/mail.vim +++ b/.vim/after/ftplugin/mail.vim @@ -100,3 +100,71 @@ augroup listinsert au! augroup END set nolist + +nmap :w:%!mailplate --keep-unknown official +nmap :w:%!mailplate --keep-unknown tahi +nmap :w:%!mailplate --keep-unknown pmvm +nmap :w:%!mailplate --keep-unknown pobox +nmap :w:%!mailplate --keep-unknown debian +nmap :w:%!mailplate --keep-unknown debconf +nmap :w:%!mailplate --keep-unknown uniwh +nmap :w:%!mailplate --keep-unknown mtfk +nmap :w:%!mailplate --keep-unknown sudetia +nmap :w:%!mailplate --keep-unknown private +nmap :w:%!mailplate --auto --keep-unknown 2>/dev/null + +" change subject line +" Before: Subject: old +" After : Subject: New (was: old) +" http://strcat.de/wiki/dotfiles#vim +" map ,sw 1G/^Subject: :s/Re:/was:/Wi ($)0Whi +map ns 1G/^Subject: /:s,\(Subject: \)\(Re: \)*\(.*\)$,\1 (was: \3),:set nohlsf li + +" Delete 'was' in the Subject. +" Before: Subject: New (was: old) +" After : Subject: New +" http://strcat.de/wiki/dotfiles#vim +map dw 1G/^Subject: /:s, *(was: .*)$:set nohlsf l + +" http://dollyfish.net.nz/blog/2008-04-01/mutt-and-vim-custom-autocompletion +fun! LBDBCompleteFn(findstart, base) + let line = getline('.') + if a:findstart + " locate the start of the word + let start = col('.') - 1 + while start > 0 && line[start - 1] =~ '[^:,]' + let start -= 1 + endwhile + while start < col('.') && line[start] =~ '[:, ]' + let start += 1 + endwhile + return start + else + let res = [] + let query = substitute(a:base, '"', '', 'g') + let query = substitute(query, '\s*<.*>\s*', '', 'g') + for m in LbdbQuery(query) + call complete_add(printf('"%s" <%s>', escape(m[0], '"'), m[1])) + if complete_check() + break + endif + endfor + return res + endif +endfun +set completefunc=LBDBCompleteFn + +" And this magic by James Vega, which ensures that we only complete with lbdb +" on the recipient lines of the mail header. +inoremap DelegateCompletion(1) +inoremap DelegateCompletion(0) + +fun! DelegateCompletion(next) + if getline('.') =~? '^\%(To\|B\=Cc\):' + return "\x18\x15" + elseif a:next + return "\x0e" + else + return "\x10" + endif +endfun diff --git a/.vim/ftplugin/mail.vim b/.vim/ftplugin/mail.vim deleted file mode 100644 index 0431526..0000000 --- a/.vim/ftplugin/mail.vim +++ /dev/null @@ -1,67 +0,0 @@ -nmap :w:%!mailplate --keep-unknown official -nmap :w:%!mailplate --keep-unknown tahi -nmap :w:%!mailplate --keep-unknown pmvm -nmap :w:%!mailplate --keep-unknown pobox -nmap :w:%!mailplate --keep-unknown debian -nmap :w:%!mailplate --keep-unknown debconf -nmap :w:%!mailplate --keep-unknown uniwh -nmap :w:%!mailplate --keep-unknown mtfk -nmap :w:%!mailplate --keep-unknown sudetia -nmap :w:%!mailplate --keep-unknown private -nmap :w:%!mailplate --auto --keep-unknown 2>/dev/null - -" change subject line -" Before: Subject: old -" After : Subject: New (was: old) -" http://strcat.de/wiki/dotfiles#vim -" map ,sw 1G/^Subject: :s/Re:/was:/Wi ($)0Whi -map ns 1G/^Subject: /:s,\(Subject: \)\(Re: \)*\(.*\)$,\1 (was: \3),:set nohlsf li - -" Delete 'was' in the Subject. -" Before: Subject: New (was: old) -" After : Subject: New -" http://strcat.de/wiki/dotfiles#vim -map dw 1G/^Subject: /:s, *(was: .*)$:set nohlsf l - -" http://dollyfish.net.nz/blog/2008-04-01/mutt-and-vim-custom-autocompletion -fun! LBDBCompleteFn(findstart, base) - let line = getline('.') - if a:findstart - " locate the start of the word - let start = col('.') - 1 - while start > 0 && line[start - 1] =~ '[^:,]' - let start -= 1 - endwhile - while start < col('.') && line[start] =~ '[:, ]' - let start += 1 - endwhile - return start - else - let res = [] - let query = substitute(a:base, '"', '', 'g') - let query = substitute(query, '\s*<.*>\s*', '', 'g') - for m in LbdbQuery(query) - call complete_add(printf('"%s" <%s>', escape(m[0], '"'), m[1])) - if complete_check() - break - endif - endfor - return res - endif -endfun -set completefunc=LBDBCompleteFn - -" And this magic by James Vega, which ensures that we only complete with lbdb -" on the recipient lines of the mail header. -inoremap DelegateCompletion(1) -inoremap DelegateCompletion(0) - -fun! DelegateCompletion(next) - if getline('.') =~? '^\%(To\|B\=Cc\):' - return "\x18\x15" - elseif a:next - return "\x0e" - else - return "\x10" - endif -endfun