home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / rrhelper.vim < prev    next >
Text File  |  2003-08-12  |  1KB  |  44 lines

  1. " Vim plugin with helper function(s) for --remote-wait
  2. " Maintainer: Flemming Madsen <fma@cci.dk>
  3. " Last Change: 2002 Feb 26
  4.  
  5. " Has this already been loaded?
  6. if exists("loaded_rrhelper")
  7.   finish
  8. endif
  9. let loaded_rrhelper = 1
  10.  
  11. " Setup answers for a --remote-wait client who will assume
  12. " a SetupRemoteReplies() function in the command server
  13.  
  14. if has("clientserver")
  15.   function SetupRemoteReplies()
  16.     let cnt = 0
  17.     let max = argc()
  18.  
  19.     let id = expand("<client>")
  20.     if id == 0
  21.       return
  22.     endif
  23.     while cnt < max
  24.       " Handle same file from more clients and file being more than once
  25.       " on the command line by encoding this stuff in the group name
  26.       let uniqueGroup = "RemoteReply_".id."_".cnt
  27.       execute "augroup ".uniqueGroup
  28.       execute 'autocmd '.uniqueGroup.' BufUnload '.argv(cnt).'  call DoRemoteReply("'.id.'", "'.cnt.'", "'.uniqueGroup.'", "'.argv(cnt).'")'
  29.       let cnt = cnt + 1
  30.     endwhile
  31.     augroup END
  32.   endfunc
  33.  
  34.   function DoRemoteReply(id, cnt, group, file)
  35.     call server2client(a:id, a:cnt)
  36.     execute 'autocmd! '.a:group.' BufUnload '.a:file
  37.     execute 'augroup! '.a:group
  38.   endfunc
  39.  
  40. endif
  41.  
  42.  
  43. " vim: set sw=2 sts=2 :
  44.