diff --git a/lib/ansi.ml b/lib/ansi.ml index f167c3b..1076180 100644 --- a/lib/ansi.ml +++ b/lib/ansi.ml @@ -1,10 +1,7 @@ open Angstrom open Types +open Parsers -let is_digit = function '0' .. '9' -> true | _ -> false -let digit = take_while is_digit >>| int_of_string -let is_semi c = c == ';' -let skip_semi = skip is_semi let ansi_escape = string "\x1b[" let ansi_values = sep_by skip_semi digit diff --git a/lib/parsers.ml b/lib/parsers.ml new file mode 100644 index 0000000..f45cdda --- /dev/null +++ b/lib/parsers.ml @@ -0,0 +1,9 @@ +open Angstrom + +let is_digit = function '0' .. '9' -> true | _ -> false +let is_semi c = c == ';' + +let digit = take_while is_digit >>| int_of_string +let skip_semi = skip is_semi + +let semi_digits = sep_by1 skip_semi digit