Add poc files
This commit is contained in:
parent
30da2412e3
commit
fa600b98f7
220 changed files with 45679 additions and 0 deletions
107
commons_core/ANSITerminal.mli
Normal file
107
commons_core/ANSITerminal.mli
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
(* File: ANSITerminal.mli
|
||||
|
||||
Copyright 2004 Troestler Christophe
|
||||
Christophe.Troestler(at)umh.ac.be
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public License
|
||||
version 2.1 as published by the Free Software Foundation, with the
|
||||
special exception on linking described in file LICENSE.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file
|
||||
LICENSE for more details.
|
||||
*)
|
||||
(** This module offers basic control of ANSI compliant terminals.
|
||||
|
||||
@author Christophe Troestler
|
||||
@version 0.3
|
||||
*)
|
||||
|
||||
(** {2 Color} *)
|
||||
|
||||
type color =
|
||||
| Black | Red | Green | Yellow | Blue | Magenta | Cyan | White
|
||||
| Default (** Default color of the terminal *)
|
||||
|
||||
(** Various styles for the text. [Blink] and [Hidden] may not work on
|
||||
every terminal. *)
|
||||
type style =
|
||||
| Reset
|
||||
| Bold | Underlined | Blink | Inverse | Hidden
|
||||
| Foreground of color
|
||||
| Background of color
|
||||
|
||||
val black : style (** Shortcut for [Foreground Black] *)
|
||||
val red : style (** Shortcut for [Foreground Red] *)
|
||||
val green : style (** Shortcut for [Foreground Green] *)
|
||||
val yellow : style (** Shortcut for [Foreground Yellow] *)
|
||||
val blue : style (** Shortcut for [Foreground Blue] *)
|
||||
val magenta : style (** Shortcut for [Foreground Magenta] *)
|
||||
val cyan : style (** Shortcut for [Foreground Cyan] *)
|
||||
val white : style (** Shortcut for [Foreground White] *)
|
||||
val default : style (** Shortcut for [Foreground Default] *)
|
||||
|
||||
val on_black : style (** Shortcut for [Background Black] *)
|
||||
val on_red : style (** Shortcut for [Background Red] *)
|
||||
val on_green : style (** Shortcut for [Background Green] *)
|
||||
val on_yellow : style (** Shortcut for [Background Yellow] *)
|
||||
val on_blue : style (** Shortcut for [Background Blue] *)
|
||||
val on_magenta : style (** Shortcut for [Background Magenta] *)
|
||||
val on_cyan : style (** Shortcut for [Background Cyan] *)
|
||||
val on_white : style (** Shortcut for [Background White] *)
|
||||
val on_default : style (** Shortcut for [Background Default] *)
|
||||
|
||||
val set_autoreset : bool -> unit
|
||||
(** Turns the autoreset feature on and off. It defaults to on. *)
|
||||
|
||||
val print_string : style list -> string -> unit
|
||||
(** [print_string attr txt] prints the string [txt] with the
|
||||
attibutes [attr]. After printing, the attributes are
|
||||
automatically reseted to the defaults, unless autoreset is turned
|
||||
off. *)
|
||||
|
||||
val printf : style list -> ('a, unit, string, unit) format4 -> 'a
|
||||
(** [printf attr format arg1 ... argN] prints the arguments
|
||||
[arg1],...,[argN] according to [format] with the attibutes [attr].
|
||||
After printing, the attributes are automatically reseted to the
|
||||
defaults, unless autoreset is turned off. *)
|
||||
|
||||
|
||||
(** {2 Erasing} *)
|
||||
|
||||
type loc = Above | Below | Screen
|
||||
|
||||
val erase : loc -> unit
|
||||
(** [erase Above] erases everything before the position of the cursor.
|
||||
[erase Below] erases everything after the position of the cursor.
|
||||
[erase Screen] erases the whole screen.
|
||||
*)
|
||||
|
||||
|
||||
(** {2 Cursor} *)
|
||||
|
||||
val set_cursor : int -> int -> unit
|
||||
(** [set_cursor x y] puts the cursor at position [(x,y)], [x]
|
||||
indicating the column (the leftmost one being 1) and [y] being the
|
||||
line (the topmost one being 1). If [x <= 0], the [x] coordinate
|
||||
is unchanged; if [y <= 0], the [y] coordinate is unchanged. *)
|
||||
|
||||
val move_cursor : int -> int -> unit
|
||||
(** [move_cursor x y] moves the cursor by [x] columns (to the right
|
||||
if [x > 0], to the left if [x < 0]) and by [y] lines (downwards if
|
||||
[y > 0] and upwards if [y < 0]). *)
|
||||
|
||||
val save_cursor : unit -> unit
|
||||
(** [save_cursor()] saves the current position of the cursor. *)
|
||||
val restore_cursor : unit -> unit
|
||||
(** [restore_cursor()] replaces the cursor to the position saved
|
||||
with [save_cursor()]. *)
|
||||
|
||||
|
||||
(** {2 Scrolling} *)
|
||||
|
||||
val scroll : int -> unit
|
||||
(** [scroll n] scrolls the terminal by [n] lines, up (creating new
|
||||
lines at the bottom) if [n > 0] and down if [n < 0]. *)
|
||||
Loading…
Add table
Add a link
Reference in a new issue