File: string_ext.ml

package info (click to toggle)
ocamlformat 0.27.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,068 kB
  • sloc: ml: 61,288; pascal: 4,739; lisp: 229; sh: 217; makefile: 121
file content (17 lines) | stat: -rw-r--r-- 462 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
include Base
include String

let starts_with_whitespace s = (not (is_empty s)) && Char.is_whitespace s.[0]

let ends_with_whitespace s =
  (not (is_empty s)) && Char.is_whitespace s.[length s - 1]

let rec _indent_of_line s i end_ =
    if Int.equal i end_ then None
    else
      match s.[i] with
      | ' ' | '\t' -> _indent_of_line s (i + 1) end_
      | '\n' | '\r' -> None
      | _ -> Some i

let indent_of_line s = _indent_of_line s 0 (String.length s)