@@ -192,6 +192,24 @@ function s:JobStop(job)
192192 endif
193193endfunc
194194
195+ function s: JobKill (job, sig )
196+ if has (' nvim' )
197+ let sig = a: sig
198+ if type (sig ) == type (" " )
199+ let map = {
200+ \ 'int': 2,
201+ \ 'hup': 1,
202+ \ 'term': 15,
203+ \ 'kill': 9
204+ \ }
205+ let sig = get (map , sig, 15)
206+ endif
207+ silent ! call luaeval (" vim.loop.kill(vim.fn.jobpid(_A), _B)" , [a: job , sig ])
208+ else
209+ call job_stop (a: job , a: sig )
210+ endif
211+ endfunc
212+
195213function s: ChanSend (job, data)
196214 if has (' nvim' )
197215 call chansend (a: job , a: data )
@@ -858,7 +876,7 @@ endfunc
858876
859877function s: Scroll (topline)
860878 let v = winsaveview ()
861- let v .topline = a: topline
879+ v .topline = a: topline
862880 call winrestview (v )
863881endfunc
864882
@@ -943,7 +961,7 @@ function s:RestVisual(vis)
943961 call setpos (" '>" , a: vis [1 ])
944962 if a: vis [0 ][1 ] != 0
945963 let v = winsaveview ()
946- silent ! exe " normal! `<" .a: vis [2 ]." `> \<Esc> "
964+ silent ! exe " normal! `<" .a: vis [2 ]." \<Esc> "
947965 call winrestview (v )
948966 endif
949967endfunc
@@ -1025,37 +1043,6 @@ function s:RightRelease(click)
10251043 call s: Open (cmd, a: click , dir , w )
10261044endfunc
10271045
1028- for m in [' ' , ' i' ]
1029- for n in [' ' , ' 2-' , ' 3-' , ' 4-' ]
1030- for c in [' Mouse' , ' Drag' , ' Release' ]
1031- exe m .' noremap <' .n .' Middle' .c .' > <Nop>'
1032- exe m .' noremap <' .n .' Right' .c .' > <Nop>'
1033- endfor
1034- endfor
1035- exe m .' noremap <silent> <MiddleDrag> <LeftDrag>'
1036- exe m .' noremap <silent> <RightDrag> <LeftDrag>'
1037- endfor
1038- for n in [' ' , ' 2-' , ' 3-' , ' 4-' ]
1039- exe ' nnoremap <silent> <' .n .' MiddleMouse>'
1040- \ ' :call <SID>MousePress("")<CR>'
1041- exe ' vnoremap <silent> <' .n .' MiddleMouse>'
1042- \ ' :<C-u>call <SID>MousePress("v")<CR>'
1043- exe ' nnoremap <silent> <' .n .' MiddleRelease>'
1044- \ ' :call <SID>MiddleRelease(col("."))<CR>'
1045- exe ' nnoremap <silent> <' .n .' RightMouse>'
1046- \ ' :call <SID>MousePress("")<CR>'
1047- exe ' vnoremap <silent> <' .n .' RightMouse>'
1048- \ ' :<C-u>call <SID>MousePress("v")<CR>'
1049- exe ' nnoremap <silent> <' .n .' RightRelease>'
1050- \ ' :call <SID>RightRelease(col("."))<CR>'
1051- endfor
1052- inoremap <silent> <MiddleMouse> <C-o> :call <SID> MousePress('')<CR>
1053- inoremap <silent> <MiddleRelease> <C-o> :call <SID> MiddleRelease(col('.'))<CR>
1054- vnoremap <silent> <MiddleRelease> :<C-u> call <SID> MiddleRelease(-1)<CR>
1055- inoremap <silent> <RightMouse> <C-o> :call <SID> MousePress('')<CR>
1056- inoremap <silent> <RightRelease> <C-o> :call <SID> RightRelease(col('.'))<CR>
1057- vnoremap <silent> <RightRelease> :<C-u> call <SID> RightRelease(-1)<CR>
1058-
10591046function s: Clear (b )
10601047 call deletebufline (a: b , 1 , " $" )
10611048 if has_key (s: scratch , a: b )
@@ -1122,7 +1109,7 @@ endfunc
11221109
11231110function s: Signal (sig )
11241111 for job in s: Jobs (bufnr ())
1125- call job_stop (job.h , a: sig )
1112+ call s: JobKill (job.h , a: sig )
11261113 endfor
11271114endfunc
11281115
@@ -1369,4 +1356,4 @@ if s:ctrlexe != ''
13691356 \ })
13701357 endif
13711358 let $EDITOR = s: ctrlexe
1372- endif
1359+ endif
0 commit comments