aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2019-05-24 11:30:11 +1200
committerTom Ryder <tom@sanctum.geek.nz>2019-05-24 11:30:11 +1200
commitbcb2b0d8b9b394d7ea9d3fad8838e84aa5aa4bae (patch)
treeb8da630390f5e8cbef7ca0dbe18119ef13a8acc8
parent55ecef2e56b364cb3cb04f90566c07ebbfbf72af (diff)
parenta9666ae25279c369bf16c57151f448f7711b96b2 (diff)
downloaddotfiles-4.44.0.tar.gz
Merge branch 'release/v4.44.0'v4.44.0
* release/v4.44.0: Bump VERSION Don't strip tabs after angle quotes More revision/expansion of blank/greeting strip Break up and improve greeting pattern Make greeting regex even nuttier
-rw-r--r--VERSION4
-rw-r--r--vim/after/ftplugin/mail.vim37
2 files changed, 24 insertions, 17 deletions
diff --git a/VERSION b/VERSION
index ebb75883..8a69beb5 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-tejr dotfiles v4.43.0
-Thu May 23 22:16:48 UTC 2019
+tejr dotfiles v4.44.0
+Thu May 23 23:30:11 UTC 2019
diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim
index fd2c9705..47c82bb6 100644
--- a/vim/after/ftplugin/mail.vim
+++ b/vim/after/ftplugin/mail.vim
@@ -10,22 +10,29 @@ if line('.') == 1 && col('.') == 1
" no quote, which is fine
call search('\m^>', 'c')
- " Delete quoted blank lines until we get to something with substance
- while getline('.') =~# '^>\s*$'
+ " Delete quoted blank lines or quoted greetings until we get to something
+ " with substance. Yes, I like Perl, how could you tell?
+ while getline('.') =~? '^> *'
+ \ . '\%('
+ \ . '\%('
+ \ . 'g''\=day'
+ \ . '\|\%(good \)\=\%(morning\|afternoon\|evening\)'
+ \ . '\|h[eu]\%(ll\|rr\)o\+'
+ \ . '\|hey\+'
+ \ . '\|hi\+'
+ \ . '\|sup'
+ \ . '\|what''s up'
+ \ . '\|yo'
+ \ . '\)'
+ \ . '[[:punct:] ]*'
+ \ . '\%('
+ \ . '\a\+'
+ \ . '[[:punct:] ]*'
+ \ . '\)\='
+ \ . '\)\=$'
delete
endwhile
- " Check this line to see if it's a generic hello or hello-name greeting that
- " we can just strip out; delete any following lines too, if they're blank
- if getline('.') =~? '^>\s*\%(<hello\|hey\+\|hi\)\%(\s\+\S\+\)\=[,;]*\s*$'
- delete
-
- " Delete quoted blank lines again
- while getline('.') =~# '^>\s*$'
- delete
- endwhile
- endif
-
" Now move to the first quoted or unquoted blank line
call search('\m^>\=$', 'c')
@@ -38,7 +45,7 @@ for lnum in range(1, line('$'))
let line = getline(lnum)
" Get the leading quote string, if any; stop if there isn't one
- let quote = matchstr(line, '^[> \t]\+')
+ let quote = matchstr(line, '^[> ]\+')
if strlen(quote) == 0
continue
endif
@@ -47,7 +54,7 @@ for lnum in range(1, line('$'))
let quote = substitute(quote, '[^>]', '', 'g')
" Re-set the line
- let line = substitute(line, '^[> \t]\+', quote, '')
+ let line = substitute(line, '^[> ]\+', quote, '')
call setline(lnum, line)
endfor