blob: 0527aa88c9966e1258d3255609ec10dcf122bf4e [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 Moolenaar4d8bac82018-03-09 21:33:34 +01005int term_write_session(FILE *fd, win_T *wp);
6int 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 Moolenaar98fd66d2017-08-05 19:34:47 +020016int send_keys_to_term(term_T *term, int c, 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 Moolenaard85f2712017-07-28 21:51:57 +020022void term_channel_closed(channel_T *ch);
Bram Moolenaar0cb8ac72018-05-11 22:01:51 +020023void term_check_channel_closed_recently(void);
Bram Moolenaar6eddadf2018-05-06 16:40:16 +020024int term_do_update_window(win_T *wp);
25void term_update_window(win_T *wp);
Bram Moolenaar63ecdda2017-07-28 22:29:35 +020026int term_is_finished(buf_T *buf);
Bram Moolenaar423802d2017-07-30 16:52:24 +020027int term_show_buffer(buf_T *buf);
Bram Moolenaar63ecdda2017-07-28 22:29:35 +020028void term_change_in_curbuf(void);
29int term_get_attr(buf_T *buf, linenr_T lnum, int col);
Bram Moolenaar21554412017-07-24 21:44:43 +020030char_u *term_get_status_text(term_T *term);
Bram Moolenaara2c45a12017-07-27 22:14:59 +020031int set_ref_in_term(int copyID);
Bram Moolenaara7c54cf2017-12-01 21:07:20 +010032void set_terminal_default_colors(int cterm_fg, int cterm_bg);
Bram Moolenaard96ff162018-02-18 22:13:29 +010033void f_term_dumpwrite(typval_T *argvars, typval_T *rettv);
34int term_swap_diff(void);
35void f_term_dumpdiff(typval_T *argvars, typval_T *rettv);
36void f_term_dumpload(typval_T *argvars, typval_T *rettv);
Bram Moolenaare41e3b42017-08-11 16:24:50 +020037void f_term_getaltscreen(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020038void f_term_getattr(typval_T *argvars, typval_T *rettv);
Bram Moolenaar97870002017-07-30 18:28:38 +020039void f_term_getcursor(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020040void f_term_getjob(typval_T *argvars, typval_T *rettv);
41void f_term_getline(typval_T *argvars, typval_T *rettv);
Bram Moolenaar82b9ca02017-08-08 23:06:46 +020042void f_term_getscrolled(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020043void f_term_getsize(typval_T *argvars, typval_T *rettv);
Bram Moolenaara42d3632018-04-14 17:05:38 +020044void f_term_setsize(typval_T *argvars, typval_T *rettv);
Bram Moolenaarb000e322017-07-30 19:38:21 +020045void f_term_getstatus(typval_T *argvars, typval_T *rettv);
46void f_term_gettitle(typval_T *argvars, typval_T *rettv);
Bram Moolenaar7c9aec42017-08-03 13:51:25 +020047void f_term_gettty(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020048void f_term_list(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020049void f_term_scrape(typval_T *argvars, typval_T *rettv);
50void f_term_sendkeys(typval_T *argvars, typval_T *rettv);
Bram Moolenaara42d3632018-04-14 17:05:38 +020051void f_term_getansicolors(typval_T *argvars, typval_T *rettv);
Bram Moolenaarf59c6e82018-04-10 15:59:11 +020052void f_term_setansicolors(typval_T *argvars, typval_T *rettv);
Bram Moolenaar25cdd9c2018-03-10 20:28:12 +010053void f_term_setrestore(typval_T *argvars, typval_T *rettv);
54void f_term_setkill(typval_T *argvars, typval_T *rettv);
Bram Moolenaar423802d2017-07-30 16:52:24 +020055void f_term_start(typval_T *argvars, typval_T *rettv);
Bram Moolenaarc6df10e2017-07-29 20:15:08 +020056void f_term_wait(typval_T *argvars, typval_T *rettv);
Bram Moolenaar3c518402017-09-08 20:47:00 +020057void term_send_eof(channel_T *ch);
Bram Moolenaarf9c38832018-06-19 19:59:20 +020058job_T *term_getjob(term_T *term);
Bram Moolenaaraa5df7e2019-02-03 14:53:10 +010059int use_conpty(void);
Bram Moolenaarb9cdb372019-04-17 18:24:35 +020060int terminal_enabled(void);
Bram Moolenaare4f25e42017-07-07 11:54:15 +020061/* vim: set ft=c : */