1071d4279SBram Moolenaar" Vim filetype plugin file 2071d4279SBram Moolenaar" Language: Mail 3071d4279SBram Moolenaar" Maintainer: Bram Moolenaar <[email protected]> 4*113cb513SBram Moolenaar" Last Change: 2021 Oct 23 5071d4279SBram Moolenaar 6071d4279SBram Moolenaar" Only do this when not done yet for this buffer 7071d4279SBram Moolenaarif exists("b:did_ftplugin") 8071d4279SBram Moolenaar finish 9071d4279SBram Moolenaarendif 10071d4279SBram Moolenaarlet b:did_ftplugin = 1 11071d4279SBram Moolenaar 122df58b4aSBram Moolenaarlet b:undo_ftplugin = "setl modeline< tw< fo< comments<" 13071d4279SBram Moolenaar 149964e468SBram Moolenaar" Don't use modelines in e-mail messages, avoid trojan horses and nasty 159964e468SBram Moolenaar" "jokes" (e.g., setting 'textwidth' to 5). 16071d4279SBram Moolenaarsetlocal nomodeline 17071d4279SBram Moolenaar 18071d4279SBram Moolenaar" many people recommend keeping e-mail messages 72 chars wide 19071d4279SBram Moolenaarif &tw == 0 20071d4279SBram Moolenaar setlocal tw=72 21071d4279SBram Moolenaarendif 22071d4279SBram Moolenaar 23071d4279SBram Moolenaar" Set 'formatoptions' to break text lines and keep the comment leader ">". 24071d4279SBram Moolenaarsetlocal fo+=tcql 25071d4279SBram Moolenaar 262df58b4aSBram Moolenaar" Add n:> to 'comments, in case it was removed elsewhere 272df58b4aSBram Moolenaarsetlocal comments+=n:> 282df58b4aSBram Moolenaar 29*113cb513SBram Moolenaar" .eml files are universally formatted with DOS line-endings, per RFC5322. 30*113cb513SBram Moolenaar" If the file was not DOS the it will be marked as changed, which is probably 31*113cb513SBram Moolenaar" a good thing. 32*113cb513SBram Moolenaarif expand('%:e') ==? 'eml' 33*113cb513SBram Moolenaar let b:undo_ftplugin ..= " fileformat=" .. &fileformat 34*113cb513SBram Moolenaar setlocal fileformat=dos 35*113cb513SBram Moolenaarendif 36*113cb513SBram Moolenaar 375c73622aSBram Moolenaar" Add mappings, unless the user doesn't want this. 38071d4279SBram Moolenaarif !exists("no_plugin_maps") && !exists("no_mail_maps") 39071d4279SBram Moolenaar " Quote text by inserting "> " 40071d4279SBram Moolenaar if !hasmapto('<Plug>MailQuote') 41071d4279SBram Moolenaar vmap <buffer> <LocalLeader>q <Plug>MailQuote 42071d4279SBram Moolenaar nmap <buffer> <LocalLeader>q <Plug>MailQuote 43071d4279SBram Moolenaar endif 44071d4279SBram Moolenaar vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>:noh<CR>`` 45071d4279SBram Moolenaar nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>:noh<CR>`` 46071d4279SBram Moolenaarendif 47