Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions plugin/hsftp.vim
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,12 @@ function! H_DownloadFile()

if has_key(conf, 'host')
let action = printf('get %s %s', conf['remotepath'], conf['localpath'])
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)


if has_key(conf, 'user')
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)
else
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['host'], action)
endif

if conf['confirm_download'] == 1
let choice = confirm('Download file?', "&Yes\n&No", 2)
Expand All @@ -80,8 +84,13 @@ function! H_UploadFile()

if has_key(conf, 'host')
let action = printf('put %s %s', conf['localpath'], conf['remotepath'])
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)


if has_key(conf, 'user')
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)
else
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['host'], action)
endif

if conf['confirm_upload'] == 1
let choice = confirm('Upload file?', "&Yes\n&No", 2)
if choice != 1
Expand Down Expand Up @@ -118,8 +127,12 @@ function! H_UploadFolder()
endfor
" let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)

let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; %s expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)

if has_key(conf, 'user')
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s@%s; expect \"*assword:\"; send %s\r; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['user'], conf['host'], conf['pass'], action)
else
let cmd = printf('expect -c "set timeout 5; spawn sftp -P %s %s; expect \"sftp>\"; send \"%s\r\"; expect -re \"100%\"; send \"exit\r\";"', conf['port'], conf['host'], action)
endif

execute '!' . cmd
else
echo 'Could not find .hsftp config file'
Expand Down