patch 8.0.0693: no terminal emulator support
Problem: No terminal emulator support. Cannot properly run commands in the
GUI. Cannot run a job interactively with an ssh connection.
Solution: Very early implementation of the :terminal command. Includes
libvterm converted to ANSI C. Many parts still missing.
diff --git a/src/structs.h b/src/structs.h
index c7aa8f2..0fbc5a5 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -68,6 +68,7 @@
typedef struct frame_S frame_T;
typedef int scid_T; /* script ID */
typedef struct file_buffer buf_T; /* forward declaration */
+typedef struct terminal_S term_T;
/*
* Reference to a buffer that stores the value of buf_free_count.
@@ -268,6 +269,10 @@
char_u *wo_scl;
# define w_p_scl w_onebuf_opt.wo_scl /* 'signcolumn' */
#endif
+#ifdef FEAT_TERMINAL
+ char_u *wo_tms;
+#define w_p_tms w_onebuf_opt.wo_tms /* 'termsize' */
+#endif
#ifdef FEAT_EVAL
int wo_scriptID[WV_COUNT]; /* SIDs for window-local options */
@@ -2351,6 +2356,11 @@
#endif
int b_mapped_ctrl_c; /* modes where CTRL-C is mapped */
+#ifdef FEAT_TERMINAL
+ term_T *b_term; /* When not NULL this buffer is for a terminal
+ * window. */
+#endif
+
}; /* file_buffer */