blob: dfa59cced12c14eadb6a511fc450fc43d969ddb7 [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);
Yee Cheng Chin989426b2023-10-14 11:46:51 +02005int expand_terminal_opt(char_u *pat, expand_T *xp, regmatch_T *rmp, char_u ***matches, int *numMatches);
Bram Moolenaar0e655112020-09-11 20:36:36 +02006int term_write_session(FILE *fd, win_T *wp, hashtab_T *terminal_bufs);
Bram Moolenaar4d8bac82018-03-09 21:33:34 +01007int term_should_restore(buf_T *buf);
Bram Moolenaard85f2712017-07-28 21:51:57 +02008void free_terminal(buf_T *buf);
Bram Moolenaar2a4857a2019-01-29 22:29:07 +01009void free_unused_terminals(void);
Bram Moolenaarcb8bbe92017-07-16 13:48:22 +020010void write_to_term(buf_T *buffer, char_u *msg, channel_T *channel);
Bram Moolenaar94053a52017-08-01 21:44:33 +020011int term_job_running(term_T *term);
Bram Moolenaar9e636b92022-05-29 22:37:05 +010012int term_job_running_not_none(term_T *term);
Bram Moolenaar3c518402017-09-08 20:47:00 +020013int term_none_open(term_T *term);
Yee Cheng Chin15b314f2022-10-09 18:53:32 +010014int term_confirm_stop(buf_T *buf);
Bram Moolenaar25cdd9c2018-03-10 20:28:12 +010015int term_try_stop_job(buf_T *buf);
Bram Moolenaar56bc8e22018-05-10 18:05:56 +020016int term_check_timers(int next_due_arg, proftime_T *now);
Bram Moolenaar6d819742017-08-06 14:57:49 +020017int term_in_normal_mode(void);
18void term_enter_job_mode(void);
Bram Moolenaarc896adb2022-11-19 19:02:40 +000019void check_no_reduce_keys(void);
Bram Moolenaar1e814bc2019-11-03 21:19:41 +010020int send_keys_to_term(term_T *term, int c, int modmask, int typed);
Bram Moolenaar69fbc9e2017-09-14 20:37:57 +020021int terminal_is_active(void);
Bram Moolenaar3d9bdfe2017-08-12 22:55:58 +020022cursorentry_T *term_get_cursor_shape(guicolor_T *fg, guicolor_T *bg);
Bram Moolenaar6d819742017-08-06 14:57:49 +020023int term_use_loop(void);
Bram Moolenaar6eddadf2018-05-06 16:40:16 +020024void term_win_entered(void);
Bram Moolenaara48d4e42021-12-08 22:13:38 +000025void term_focus_change(int in_focus);
Bram Moolenaar69fbc9e2017-09-14 20:37:57 +020026int terminal_loop(int blocking);
Bram Moolenaard98c0b62020-02-02 15:25:16 +010027int may_close_term_popup(void);
Bram Moolenaareea32af2021-11-21 14:51:13 +000028void term_channel_closing(channel_T *ch);
Bram Moolenaard85f2712017-07-28 21:51:57 +020029void term_channel_closed(channel_T *ch);
Bram Moolenaar0cb8ac72018-05-11 22:01:51 +020030void term_check_channel_closed_recently(void);
Bram Moolenaar6eddadf2018-05-06 16:40:16 +020031int term_do_update_window(win_T *wp);
32void term_update_window(win_T *wp);
Bram Moolenaar3194e5b2021-12-13 21:59:09 +000033void term_did_update_window(win_T *wp);
Bram Moolenaar63ecdda2017-07-28 22:29:35 +020034int term_is_finished(buf_T *buf);
Bram Moolenaar423802d2017-07-30 16:52:24 +020035int term_show_buffer(buf_T *buf);
Bram Moolenaar63ecdda2017-07-28 22:29:35 +020036void term_change_in_curbuf(void);
Bram Moolenaar219c7d02020-02-01 21:57:29 +010037int term_get_attr(win_T *wp, linenr_T lnum, int col);
Bram Moolenaar87fd0922021-11-20 13:47:45 +000038void term_reset_wincolor(win_T *wp);
39void term_update_wincolor(win_T *wp);
40void term_update_wincolor_all(void);
LemonBoyb2b3acb2022-05-20 10:10:34 +010041void term_update_palette_all(void);
Bram Moolenaarad431992021-05-03 20:40:38 +020042void term_update_colors_all(void);
Bram Moolenaar21554412017-07-24 21:44:43 +020043char_u *term_get_status_text(term_T *term);
Bram Moolenaar3ad69532021-11-19 17:01:08 +000044void term_clear_status_text(term_T *term);
Bram Moolenaara2c45a12017-07-27 22:14:59 +020045int set_ref_in_term(int copyID);
Bram Moolenaard96ff162018-02-18 22:13:29 +010046void f_term_dumpwrite(typval_T *argvars, typval_T *rettv);
47int term_swap_diff(void);
48void f_term_dumpdiff(typval_T *argvars, typval_T *rettv);
49void f_term_dumpload(typval_T *argvars, typval_T *rettv);
Bram Moolenaare41e3b42017-08-11 16:24:50 +020050void f_term_getaltscreen(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020051void f_term_getattr(typval_T *argvars, typval_T *rettv);
Bram Moolenaar97870002017-07-30 18:28:38 +020052void f_term_getcursor(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020053void f_term_getjob(typval_T *argvars, typval_T *rettv);
54void f_term_getline(typval_T *argvars, typval_T *rettv);
Bram Moolenaar82b9ca02017-08-08 23:06:46 +020055void f_term_getscrolled(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020056void f_term_getsize(typval_T *argvars, typval_T *rettv);
Bram Moolenaara42d3632018-04-14 17:05:38 +020057void f_term_setsize(typval_T *argvars, typval_T *rettv);
Bram Moolenaarb000e322017-07-30 19:38:21 +020058void f_term_getstatus(typval_T *argvars, typval_T *rettv);
59void f_term_gettitle(typval_T *argvars, typval_T *rettv);
Bram Moolenaar7c9aec42017-08-03 13:51:25 +020060void f_term_gettty(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020061void f_term_list(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020062void f_term_scrape(typval_T *argvars, typval_T *rettv);
63void f_term_sendkeys(typval_T *argvars, typval_T *rettv);
Bram Moolenaara42d3632018-04-14 17:05:38 +020064void f_term_getansicolors(typval_T *argvars, typval_T *rettv);
Bram Moolenaarf59c6e82018-04-10 15:59:11 +020065void f_term_setansicolors(typval_T *argvars, typval_T *rettv);
Bram Moolenaard2842ea2019-09-26 23:08:54 +020066void f_term_setapi(typval_T *argvars, typval_T *rettv);
Bram Moolenaar25cdd9c2018-03-10 20:28:12 +010067void f_term_setrestore(typval_T *argvars, typval_T *rettv);
68void f_term_setkill(typval_T *argvars, typval_T *rettv);
Bram Moolenaar423802d2017-07-30 16:52:24 +020069void f_term_start(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020070void f_term_wait(typval_T *argvars, typval_T *rettv);
Bram Moolenaar3c518402017-09-08 20:47:00 +020071void term_send_eof(channel_T *ch);
Bram Moolenaarf9c38832018-06-19 19:59:20 +020072job_T *term_getjob(term_T *term);
Bram Moolenaaraa5df7e2019-02-03 14:53:10 +010073int use_conpty(void);
Bram Moolenaarb9cdb372019-04-17 18:24:35 +020074int terminal_enabled(void);
Bram Moolenaare4f25e42017-07-07 11:54:15 +020075/* vim: set ft=c : */