@@ -30,36 +30,25 @@ function go#job#Spawn(args)
30
30
call add (self .messages , a: msg )
31
31
endfunction
32
32
33
- function cbs.close_cb (chan) dict
34
- let l: job = ch_getjob (a: chan )
35
- let l: status = job_status (l: job )
36
-
37
- " the job might be in fail status, we assume by default it's failed.
38
- " However if it's dead, we can use the real exitval
39
- let exitval = 1
40
- if l: status == " dead"
41
- let l: info = job_info (l: job )
42
- let exitval = l: info .exitval
43
- endif
44
-
33
+ function cbs.exit_cb (job, exitval) dict
45
34
if has_key (self , ' custom_cb' )
46
- call self .custom_cb (l : job , exitval, self .messages )
35
+ call self .custom_cb (a : job , a: exitval , self .messages )
47
36
endif
48
37
49
38
if has_key (self , ' error_info_cb' )
50
- call self .error_info_cb (l : job , exitval, self .messages )
39
+ call self .error_info_cb (a : job , a: exitval , self .messages )
51
40
endif
52
41
53
42
if get (g: , ' go_echo_command_info' , 1 )
54
- if exitval == 0
43
+ if a: exitval == 0
55
44
call go#util#EchoSuccess (" SUCCESS" )
56
45
else
57
46
call go#util#EchoError (" FAILED" )
58
47
endif
59
48
endif
60
49
61
50
let l: listtype = go#list#Type (" quickfix" )
62
- if exitval == 0
51
+ if a: exitval == 0
63
52
call go#list#Clean (l: listtype )
64
53
call go#list#Window (l: listtype )
65
54
return
@@ -99,9 +88,9 @@ function go#job#Spawn(args)
99
88
let cbs.callback = a: args .callback
100
89
endif
101
90
102
- " override close callback handler if user provided it
103
- if has_key (a: args , ' close_cb ' )
104
- let cbs.close_cb = a: args .close_cb
91
+ " override exit callback handler if user provided it
92
+ if has_key (a: args , ' exit_cb ' )
93
+ let cbs.exit_cb = a: args .exit_cb
105
94
endif
106
95
107
96
return cbs
0 commit comments