diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2019-06-22 19:00:32 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2019-06-22 19:00:32 +1200 |
commit | 009bd6626ea6e33b59a31a219df628ed0cc5a46c (patch) | |
tree | 5d5537256f4ba067475f92eb983ff0dd9bc14ad2 /vim/autoload/mail.vim | |
parent | Add local maps for normalising mail quotes (diff) | |
download | dotfiles-009bd6626ea6e33b59a31a219df628ed0cc5a46c.tar.gz dotfiles-009bd6626ea6e33b59a31a219df628ed0cc5a46c.zip |
Move mail ftplugin function out into autoload
Now that it isn't called on every load.
Diffstat (limited to 'vim/autoload/mail.vim')
-rw-r--r-- | vim/autoload/mail.vim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vim/autoload/mail.vim b/vim/autoload/mail.vim index 40b7fb7f..3fbba860 100644 --- a/vim/autoload/mail.vim +++ b/vim/autoload/mail.vim @@ -79,3 +79,26 @@ function! mail#NewBlank(count, up, visual) abort endif endfunction + +function! mail#StrictQuote(start, end) abort + let body = 0 + for lnum in range(a:start, a:end) + + " Get current line + let line = getline(lnum) + + " Get the leading quote string, if any; skip if there isn't one + let quote = matchstr(line, '^>[> ]*') + if !strlen(quote) + continue + endif + + " Normalise the quote with no spaces + let quote = substitute(quote, '[^>]', '', 'g') + + " Re-set the line + let line = substitute(line, '^[> ]\+', quote, '') + call setline(lnum, line) + + endfor +endfunction |