@@ -136,20 +136,25 @@ let print ~is_warning ~src ~(start_pos : Lexing.position)
136136 (* 3 for separator + the 2 spaces around it *)
137137 let line_width = 78 - max_line_digits_count - indent - 3 in
138138 let lines =
139- String. sub src start_line_line_offset
140- (end_line_line_end_offset - start_line_line_offset)
141- |> String. split_on_char '\n'
142- |> filter_mapi (fun i line ->
143- let line_number = i + first_shown_line in
144- if more_than_5_highlighted_lines then
145- if line_number = highlight_line_start_line + 2 then
146- Some (Elided , line)
147- else if
148- line_number > highlight_line_start_line + 2
149- && line_number < highlight_line_end_line - 1
150- then None
151- else Some (Number line_number, line)
152- else Some (Number line_number, line))
139+ if
140+ start_line_line_offset > = 0
141+ && end_line_line_end_offset > = start_line_line_offset
142+ then
143+ String. sub src start_line_line_offset
144+ (end_line_line_end_offset - start_line_line_offset)
145+ |> String. split_on_char '\n'
146+ |> filter_mapi (fun i line ->
147+ let line_number = i + first_shown_line in
148+ if more_than_5_highlighted_lines then
149+ if line_number = highlight_line_start_line + 2 then
150+ Some (Elided , line)
151+ else if
152+ line_number > highlight_line_start_line + 2
153+ && line_number < highlight_line_end_line - 1
154+ then None
155+ else Some (Number line_number, line)
156+ else Some (Number line_number, line))
157+ else []
153158 in
154159 let leading_space_to_cut =
155160 lines
0 commit comments