@@ -632,6 +632,7 @@ static void f_isnan(typval_T *argvars, typval_T *rettv);
632632static void f_items(typval_T *argvars, typval_T *rettv);
633633#ifdef FEAT_JOB_CHANNEL
634634static void f_job_getchannel(typval_T *argvars, typval_T *rettv);
635+ static void f_job_info(typval_T *argvars, typval_T *rettv);
635636static void f_job_setoptions(typval_T *argvars, typval_T *rettv);
636637static void f_job_start(typval_T *argvars, typval_T *rettv);
637638static void f_job_stop(typval_T *argvars, typval_T *rettv);
@@ -8208,6 +8209,7 @@ static struct fst
82088209 {"items", 1, 1, f_items},
82098210#ifdef FEAT_JOB_CHANNEL
82108211 {"job_getchannel", 1, 1, f_job_getchannel},
8212+ {"job_info", 1, 1, f_job_info},
82118213 {"job_setoptions", 2, 2, f_job_setoptions},
82128214 {"job_start", 1, 2, f_job_start},
82138215 {"job_status", 1, 1, f_job_status},
@@ -14341,6 +14343,18 @@ f_job_getchannel(typval_T *argvars, typval_T *rettv)
1434114343 }
1434214344}
1434314345
14346+ /*
14347+ * "job_info()" function
14348+ */
14349+ static void
14350+ f_job_info(typval_T *argvars, typval_T *rettv)
14351+ {
14352+ job_T *job = get_job_arg(&argvars[0]);
14353+
14354+ if (job != NULL && rettv_dict_alloc(rettv) != FAIL)
14355+ job_info(job, rettv->vval.v_dict);
14356+ }
14357+
1434414358/*
1434514359 * "job_setoptions()" function
1434614360 */
@@ -14375,13 +14389,11 @@ f_job_start(typval_T *argvars, typval_T *rettv)
1437514389f_job_status(typval_T *argvars, typval_T *rettv)
1437614390{
1437714391 job_T *job = get_job_arg(&argvars[0]);
14378- char *result;
1437914392
1438014393 if (job != NULL)
1438114394 {
14382- result = job_status(job);
1438314395 rettv->v_type = VAR_STRING;
14384- rettv->vval.v_string = vim_strsave((char_u *)result );
14396+ rettv->vval.v_string = vim_strsave((char_u *)job_status(job) );
1438514397 }
1438614398}
1438714399
0 commit comments