mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	When UV_OVERLAPPED_PIPE was used for the pipe passed to the child process, a problem occurred with the standard input of the .Net Framework application (#11809). Therefore, add the overlapped option to jobstart() and change it so that it is set only when necessary
		
			
				
	
	
		
			25 lines
		
	
	
		
			641 B
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			641 B
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Common functions for providers
 | 
						|
 | 
						|
" Start the provider and perform a 'poll' request
 | 
						|
"
 | 
						|
" Returns a valid channel on success
 | 
						|
function! provider#Poll(argv, orig_name, log_env, ...) abort
 | 
						|
  let job = {'rpc': v:true, 'stderr_buffered': v:true}
 | 
						|
  if a:0
 | 
						|
    let job = extend(job, a:1)
 | 
						|
  endif
 | 
						|
  try
 | 
						|
    let channel_id = jobstart(a:argv, job)
 | 
						|
    if channel_id > 0 && rpcrequest(channel_id, 'poll') ==# 'ok'
 | 
						|
      return channel_id
 | 
						|
    endif
 | 
						|
  catch
 | 
						|
    echomsg v:throwpoint
 | 
						|
    echomsg v:exception
 | 
						|
    for row in get(job, 'stderr', [])
 | 
						|
      echomsg row
 | 
						|
    endfor
 | 
						|
  endtry
 | 
						|
  throw remote#host#LoadErrorForHost(a:orig_name, a:log_env)
 | 
						|
endfunction
 |