Skip to content

Commit 8342a24

Browse files
Julowjonludlam
authored andcommitted
Remove unecessary line ending computation
1 parent 6a2b91d commit 8342a24

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

src/parser/lexer.mll

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ let trim_trailing_blank_lines : string -> string = fun s ->
7272

7373
let trim_leading_whitespace : first_line_offset:int -> string -> string =
7474
fun ~first_line_offset s ->
75+
(** Returns [None] for an empty, [Some ident] for an indented line. *)
7576
let count_leading_whitespace line =
7677
let rec count_leading_whitespace' index len =
7778
if index = len then None
@@ -83,21 +84,17 @@ let trim_leading_whitespace : first_line_offset:int -> string -> string =
8384
let len = String.length line in
8485
(* '\r' may remain because we only split on '\n' below. This is important
8586
for the first line, which would be considered not empty without this check. *)
86-
let len, ending =
87-
if len > 0 && line.[len - 1] = '\r' then (len - 1, "\r\n") else (len, "\n")
88-
in
89-
match count_leading_whitespace' 0 len with
90-
| Some index -> `Leading_whitespace index
91-
| None -> `Blank_line ending
87+
let len = if len > 0 && line.[len - 1] = '\r' then len - 1 else len in
88+
count_leading_whitespace' 0 len
9289
in
9390

9491
let lines = Astring.String.cuts ~sep:"\n" s in
9592

9693
let least_amount_of_whitespace =
9794
List.fold_left (fun least_so_far line ->
9895
match (count_leading_whitespace line, least_so_far) with
99-
| (`Leading_whitespace n, None) -> Some n
100-
| (`Leading_whitespace n, Some least) when n < least -> Some n
96+
| (Some _ as n', None) -> n'
97+
| (Some n as n', Some least) when n < least -> n'
10198
| _ -> least_so_far)
10299
in
103100

@@ -106,9 +103,9 @@ let trim_leading_whitespace : first_line_offset:int -> string -> string =
106103
| [] -> 0, None
107104
| first_line :: tl ->
108105
begin match count_leading_whitespace first_line with
109-
| `Leading_whitespace n ->
106+
| Some n ->
110107
n, least_amount_of_whitespace (Some (first_line_offset + n)) tl
111-
| `Blank_line _ ->
108+
| None ->
112109
0, least_amount_of_whitespace None tl
113110
end
114111
in

0 commit comments

Comments
 (0)