1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 17:20:04 +08:00

feat(mail): add mail layer option

This commit is contained in:
Shidong Wang 2021-10-23 15:51:36 +08:00
parent fa43ef2043
commit 31ab74f8be
No known key found for this signature in database
GPG Key ID: 41BB7053E835C848
4 changed files with 28 additions and 6 deletions

View File

@ -10,10 +10,12 @@
" @section mail, layers-mail
" @parentsection layers
" The `mail` layer provides basic function to connected to mail server.
"
" NOTE: this layer is still wip now.
" @subsection layer options
"
" 1. `ssh_port`: set the port of mail server
" 1. `imap_host`: set the imap server host
" 2. `imap_port`: set the imap server port
" 3. `imap_login`: set the login of imap server
"
" @subsection key bindings
" >
@ -21,15 +23,30 @@
" SPC a m open mail client
" <
if exists('s:imap_host')
finish
endif
let s:imap_host = 'imap.163.com'
let s:imap_port = 143
let s:imap_login = ''
function! SpaceVim#layers#mail#plugins() abort
return [
\ [g:_spacevim_root_dir . 'bundle/vim-mail', {'merged' : 0, 'loadconf' : 1}],
\ ]
endfunction
function! SpaceVim#layers#mail#set_variable(opt) abort
let s:imap_host = get(a:opt, 'imap_host', s:imap_host)
let s:imap_port = get(a:opt, 'imap_port', s:imap_port)
endfunction
function! SpaceVim#layers#mail#config() abort
call SpaceVim#mapping#space#def('nnoremap', ['a', 'm'], 'call mail#client#open()', 'Start mail client', 1)
let g:mail_imap_host = s:imap_port
let g:mail_imap_port = s:imap_port
let g:mail_imap_login = s:imap_login
endfunction
function! SpaceVim#layers#mail#health() abort

View File

@ -92,7 +92,7 @@ function! mail#client#open()
let username = input('USERNAME: ')
let password = input('PASSWORD: ')
if !empty(username) && !empty(password)
call mail#client#connect('imap.163.com', 143)
call mail#client#connect(g:mail_imap_host, g:mail_imap_port)
call mail#client#send(mail#command#login(username, password))
call mail#client#send(mail#command#select(mail#client#win#currentDir()))
call mail#client#send(mail#command#fetch('1:15', 'BODY[HEADER.FIELDS ("DATE" "FROM" "SUBJECT")]'))

View File

@ -12,6 +12,9 @@ let g:mail_method = 'imap'
let g:mail_sending_name = 'Shidong Wang'
let g:mail_sending_address = 'wsdjeg@163.com'
let g:mail_logger_silent = 0
let g:mail_imap_host = get(g:, 'mail_imap_host', 'imap.163.com')
if !exists('g:mail_directory')
let g:mail_directory = expand('~/.vim-mail/')
endif

View File

@ -4624,11 +4624,13 @@ The following key bindings will be enabled when this layer is loaded:
==============================================================================
MAIL *SpaceVim-layers-mail*
The `mail` layer provides basic function to connected to mail server.
The `mail` layer provides basic function to connected to mail server. NOTE:
this layer is still wip now.
LAYER OPTIONS
1. `ssh_port`: set the port of mail server
1. `imap_host`: set the imap server host
2. `imap_port`: set the imap server port
3. `imap_login`: set the login of imap server
KEY BINDINGS