mirror of
https://github.com/vim/vim.git
synced 2026-01-23 15:09:02 +01:00
This reverts commits: -6b652a7850-2f689d5abd-a025a46d41Several email addresses that are known to be valid caused bounces due to an issue with my email setup. The previous commits incorrectly marked these addresses as invalid. So revert the whole thing again. Signed-off-by: Christian Brabandt <cb@256bit.org>
50 lines
1.4 KiB
VimL
50 lines
1.4 KiB
VimL
" Vim plugin with helper function(s) for --remote-wait
|
|
" Maintainer: Flemming Madsen <fma@cci.dk>
|
|
" Last Change: 2008 May 29
|
|
|
|
" Has this already been loaded?
|
|
if exists("loaded_rrhelper") || !has("clientserver")
|
|
finish
|
|
endif
|
|
let loaded_rrhelper = 1
|
|
|
|
" Setup answers for a --remote-wait client who will assume
|
|
" a SetupRemoteReplies() function in the command server
|
|
|
|
function SetupRemoteReplies()
|
|
let cnt = 0
|
|
let max = argc()
|
|
|
|
let id = expand("<client>")
|
|
if (type(id) == v:t_number && id == 0) || (type(id) == v:t_string && id == '')
|
|
return
|
|
endif
|
|
|
|
while cnt < max
|
|
" Handle same file from more clients and file being more than once
|
|
" on the command line by encoding this stuff in the group name
|
|
let uniqueGroup = "RemoteReply_".id."_".cnt
|
|
|
|
" Path separators are always forward slashes for the autocommand pattern.
|
|
" Escape special characters with a backslash.
|
|
let f = substitute(argv(cnt), '\\', '/', "g")
|
|
if exists('*fnameescape')
|
|
let f = fnameescape(f)
|
|
else
|
|
let f = escape(f, " \t\n*?[{`$\\%#'\"|!<")
|
|
endif
|
|
execute "augroup ".uniqueGroup
|
|
execute "autocmd ".uniqueGroup." BufUnload ". f ." call DoRemoteReply('".id."', '".cnt."', '".uniqueGroup."', '". f ."')"
|
|
let cnt = cnt + 1
|
|
endwhile
|
|
augroup END
|
|
endfunc
|
|
|
|
function DoRemoteReply(id, cnt, group, file)
|
|
call server2client(a:id, a:cnt)
|
|
execute 'autocmd! '.a:group.' BufUnload '.a:file
|
|
execute 'augroup! '.a:group
|
|
endfunc
|
|
|
|
" vim: set sw=2 sts=2 :
|