`sig
val get_acp : unit -> int
val get_console_cp : unit -> int
val set_console_cp : int -> unit
val get_console_output_cp : unit -> int
val set_console_output_cp : int -> unit
type input = Resize | Key of LTerm_key.t | Mouse of LTerm_mouse.t
val read_console_input : Lwt_unix.file_descr -> LTerm_windows.input Lwt.t
type text_attributes = { foreground : int; background : int; }
type console_screen_buffer_info = {
size : LTerm_geom.size;
cursor_position : LTerm_geom.coord;
attributes : LTerm_windows.text_attributes;
window : LTerm_geom.rect;
maximum_window_size : LTerm_geom.size;
}
val get_console_screen_buffer_info :
Lwt_unix.file_descr -> LTerm_windows.console_screen_buffer_info
type console_mode = {
cm_echo_input : bool;
cm_insert_mode : bool;
cm_line_input : bool;
cm_mouse_input : bool;
cm_processed_input : bool;
cm_quick_edit_mode : bool;
cm_window_input : bool;
}
val get_console_mode : Lwt_unix.file_descr -> LTerm_windows.console_mode
val set_console_mode :
Lwt_unix.file_descr -> LTerm_windows.console_mode -> unit
val get_console_cursor_info : Lwt_unix.file_descr -> int * bool
val set_console_cursor_info : Lwt_unix.file_descr -> int -> bool -> unit
val set_console_cursor_position :
Lwt_unix.file_descr -> LTerm_geom.coord -> unit
val set_console_text_attribute :
Lwt_unix.file_descr -> LTerm_windows.text_attributes -> unit
type char_info = {
ci_char : CamomileLibrary.UChar.t;
ci_foreground : int;
ci_background : int;
}
val write_console_output :
Lwt_unix.file_descr ->
LTerm_windows.char_info array array ->
LTerm_geom.size -> LTerm_geom.coord -> LTerm_geom.rect -> LTerm_geom.rect
val fill_console_output_character :
Lwt_unix.file_descr ->
CamomileLibrary.UChar.t -> int -> LTerm_geom.coord -> int
end`