package matrix

  1. Overview
  2. Docs
Fast, modern terminal toolkit for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mosaic-0.1.0.tbz
sha256=9e4e90d17f9b2af1b07071fe425bc2c519c849c4f1d1ab73cde512be2d874849
sha512=06e9c4a741590942e81a27738d0b5c0413fafec8cf3b7dae047ad69f155e7b718aa4223818dc161b7d028efffcfd3365905e264d6fd31d453910ddfa91dcf9b9

doc/src/matrix.ansi/ansi.ml.html

Source file ansi.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
include Escape
module Writer = Writer
module Color = Color
module Attr = Attr
module Style = Style
module Parser = Parser
module Sgr_state = Sgr_state

let render ?hyperlinks_enabled segments =
  Segment.render ?hyperlinks_enabled segments

let parse = Parser.parse

let strip str =
  match String.index_from_opt str 0 '\x1b' with
  | None -> str
  | Some _ ->
      let buf = Buffer.create (String.length str) in
      let p = Parser.create () in
      let collect = function
        | Parser.Text s -> Buffer.add_string buf s
        | Parser.SGR _ | Parser.Control _ -> ()
      in
      Parser.feed p
        (Bytes.unsafe_of_string str)
        ~off:0 ~len:(String.length str) collect;
      Parser.feed p Bytes.empty ~off:0 ~len:0 collect;
      Buffer.contents buf