blob: 930460671b18fa155278eaabd38fa218333c0029 [file] [log] [blame]
Bram Moolenaare4f25e42017-07-07 11:54:15 +02001/* terminal.c */
Bram Moolenaar13568252018-03-16 20:46:58 +01002void init_job_options(jobopt_T *opt);
3buf_T *term_start(typval_T *argvar, char **argv, jobopt_T *opt, int flags);
Bram Moolenaare4f25e42017-07-07 11:54:15 +02004void ex_terminal(exarg_T *eap);
Bram Moolenaar0e655112020-09-11 20:36:36 +02005int term_write_session(FILE *fd, win_T *wp, hashtab_T *terminal_bufs);
Bram Moolenaar4d8bac82018-03-09 21:33:34 +01006int term_should_restore(buf_T *buf);
Bram Moolenaard85f2712017-07-28 21:51:57 +02007void free_terminal(buf_T *buf);
Bram Moolenaar2a4857a2019-01-29 22:29:07 +01008void free_unused_terminals(void);
Bram Moolenaarcb8bbe92017-07-16 13:48:22 +02009void write_to_term(buf_T *buffer, char_u *msg, channel_T *channel);
Bram Moolenaar94053a52017-08-01 21:44:33 +020010int term_job_running(term_T *term);
Bram Moolenaar3c518402017-09-08 20:47:00 +020011int term_none_open(term_T *term);
Bram Moolenaar25cdd9c2018-03-10 20:28:12 +010012int term_try_stop_job(buf_T *buf);
Bram Moolenaar56bc8e22018-05-10 18:05:56 +020013int term_check_timers(int next_due_arg, proftime_T *now);
Bram Moolenaar6d819742017-08-06 14:57:49 +020014int term_in_normal_mode(void);
15void term_enter_job_mode(void);
Bram Moolenaar1e814bc2019-11-03 21:19:41 +010016int send_keys_to_term(term_T *term, int c, int modmask, int typed);
Bram Moolenaar69fbc9e2017-09-14 20:37:57 +020017int terminal_is_active(void);
Bram Moolenaar3d9bdfe2017-08-12 22:55:58 +020018cursorentry_T *term_get_cursor_shape(guicolor_T *fg, guicolor_T *bg);
Bram Moolenaar6d819742017-08-06 14:57:49 +020019int term_use_loop(void);
Bram Moolenaar6eddadf2018-05-06 16:40:16 +020020void term_win_entered(void);
Bram Moolenaar69fbc9e2017-09-14 20:37:57 +020021int terminal_loop(int blocking);
Bram Moolenaard98c0b62020-02-02 15:25:16 +010022int may_close_term_popup(void);
Bram Moolenaard85f2712017-07-28 21:51:57 +020023void term_channel_closed(channel_T *ch);
Bram Moolenaar0cb8ac72018-05-11 22:01:51 +020024void term_check_channel_closed_recently(void);
Bram Moolenaar6eddadf2018-05-06 16:40:16 +020025int term_do_update_window(win_T *wp);
26void term_update_window(win_T *wp);
Bram Moolenaar63ecdda2017-07-28 22:29:35 +020027int term_is_finished(buf_T *buf);
Bram Moolenaar423802d2017-07-30 16:52:24 +020028int term_show_buffer(buf_T *buf);
Bram Moolenaar63ecdda2017-07-28 22:29:35 +020029void term_change_in_curbuf(void);
Bram Moolenaar219c7d02020-02-01 21:57:29 +010030int term_get_attr(win_T *wp, linenr_T lnum, int col);
Bram Moolenaar87fd0922021-11-20 13:47:45 +000031void term_reset_wincolor(win_T *wp);
32void term_update_wincolor(win_T *wp);
33void term_update_wincolor_all(void);
Bram Moolenaarad431992021-05-03 20:40:38 +020034void term_update_colors_all(void);
Bram Moolenaar21554412017-07-24 21:44:43 +020035char_u *term_get_status_text(term_T *term);
Bram Moolenaar3ad69532021-11-19 17:01:08 +000036void term_clear_status_text(term_T *term);
Bram Moolenaara2c45a12017-07-27 22:14:59 +020037int set_ref_in_term(int copyID);
Bram Moolenaard96ff162018-02-18 22:13:29 +010038void f_term_dumpwrite(typval_T *argvars, typval_T *rettv);
39int term_swap_diff(void);
40void f_term_dumpdiff(typval_T *argvars, typval_T *rettv);
41void f_term_dumpload(typval_T *argvars, typval_T *rettv);
Bram Moolenaare41e3b42017-08-11 16:24:50 +020042void f_term_getaltscreen(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020043void f_term_getattr(typval_T *argvars, typval_T *rettv);
Bram Moolenaar97870002017-07-30 18:28:38 +020044void f_term_getcursor(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020045void f_term_getjob(typval_T *argvars, typval_T *rettv);
46void f_term_getline(typval_T *argvars, typval_T *rettv);
Bram Moolenaar82b9ca02017-08-08 23:06:46 +020047void f_term_getscrolled(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020048void f_term_getsize(typval_T *argvars, typval_T *rettv);
Bram Moolenaara42d3632018-04-14 17:05:38 +020049void f_term_setsize(typval_T *argvars, typval_T *rettv);
Bram Moolenaarb000e322017-07-30 19:38:21 +020050void f_term_getstatus(typval_T *argvars, typval_T *rettv);
51void f_term_gettitle(typval_T *argvars, typval_T *rettv);
Bram Moolenaar7c9aec42017-08-03 13:51:25 +020052void f_term_gettty(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020053void f_term_list(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020054void f_term_scrape(typval_T *argvars, typval_T *rettv);
55void f_term_sendkeys(typval_T *argvars, typval_T *rettv);
Bram Moolenaara42d3632018-04-14 17:05:38 +020056void f_term_getansicolors(typval_T *argvars, typval_T *rettv);
Bram Moolenaarf59c6e82018-04-10 15:59:11 +020057void f_term_setansicolors(typval_T *argvars, typval_T *rettv);
Bram Moolenaard2842ea2019-09-26 23:08:54 +020058void f_term_setapi(typval_T *argvars, typval_T *rettv);
Bram Moolenaar25cdd9c2018-03-10 20:28:12 +010059void f_term_setrestore(typval_T *argvars, typval_T *rettv);
60void f_term_setkill(typval_T *argvars, typval_T *rettv);
Bram Moolenaar423802d2017-07-30 16:52:24 +020061void f_term_start(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020062void f_term_wait(typval_T *argvars, typval_T *rettv);
Bram Moolenaar3c518402017-09-08 20:47:00 +020063void term_send_eof(channel_T *ch);
Bram Moolenaarf9c38832018-06-19 19:59:20 +020064job_T *term_getjob(term_T *term);
Bram Moolenaaraa5df7e2019-02-03 14:53:10 +010065int use_conpty(void);
Bram Moolenaarb9cdb372019-04-17 18:24:35 +020066int terminal_enabled(void);
Bram Moolenaare4f25e42017-07-07 11:54:15 +020067/* vim: set ft=c : */