changeset 211:011d855724bf

Make Vim8 terminate the background job on exit.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 12 Jun 2018 21:11:53 -0700
parents 39547ffc8867
children 2c30656d5f3b
files autoload/gutentags.vim
diffstat 1 files changed, 18 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/autoload/gutentags.vim	Sat Jun 09 09:57:55 2018 -0700
+++ b/autoload/gutentags.vim	Tue Jun 12 21:11:53 2018 -0700
@@ -563,18 +563,19 @@
     endfunction
 
     function! gutentags#build_default_job_options(module) abort
-        let l:job_opts = {
-                    \'on_exit': function(
-                    \    '<SID>nvim_job_exit_wrapper',
-                    \    ['gutentags#'.a:module.'#on_job_exit']),
-                    \'on_stdout': function(
-                    \    '<SID>nvim_job_out_wrapper',
-                    \    ['gutentags#default_io_cb']),
-                    \'on_stderr': function(
-                    \    '<SID>nvim_job_out_wrapper',
-                    \    ['gutentags#default_io_cb'])
-                    \}
-        return l:job_opts
+       " Neovim kills jobs on exit, which is what we want.
+       let l:job_opts = {
+                \'on_exit': function(
+                \    '<SID>nvim_job_exit_wrapper',
+                \    ['gutentags#'.a:module.'#on_job_exit']),
+                \'on_stdout': function(
+                \    '<SID>nvim_job_out_wrapper',
+                \    ['gutentags#default_io_cb']),
+                \'on_stderr': function(
+                \    '<SID>nvim_job_out_wrapper',
+                \    ['gutentags#default_io_cb'])
+                \}
+       return l:job_opts
     endfunction
 
     function! gutentags#start_job(cmd, opts) abort
@@ -584,10 +585,11 @@
     " Vim8 job API.
     function! gutentags#build_default_job_options(module) abort
         let l:job_opts = {
-                    \'exit_cb': 'gutentags#'.a:module.'#on_job_exit',
-                    \'out_cb': 'gutentags#default_io_cb',
-                    \'err_cb': 'gutentags#default_io_cb'
-                    \}
+                 \'exit_cb': 'gutentags#'.a:module.'#on_job_exit',
+                 \'out_cb': 'gutentags#default_io_cb',
+                 \'err_cb': 'gutentags#default_io_cb',
+                 \'stoponexit': 'term'
+                 \}
         return l:job_opts
     endfunction