Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

#### :bug: Bug fix

- Fix fatal compiler error that occurred when an `%ffi` extension point contained invalid JavaScript https://github.com/rescript-lang/rescript/pull/7998

#### :memo: Documentation

#### :nail_care: Polish
Expand Down
33 changes: 19 additions & 14 deletions compiler/ml/code_frame.ml
Original file line number Diff line number Diff line change
Expand Up @@ -136,20 +136,25 @@ let print ~is_warning ~src ~(start_pos : Lexing.position)
(* 3 for separator + the 2 spaces around it *)
let line_width = 78 - max_line_digits_count - indent - 3 in
let lines =
String.sub src start_line_line_offset
(end_line_line_end_offset - start_line_line_offset)
|> String.split_on_char '\n'
|> filter_mapi (fun i line ->
let line_number = i + first_shown_line in
if more_than_5_highlighted_lines then
if line_number = highlight_line_start_line + 2 then
Some (Elided, line)
else if
line_number > highlight_line_start_line + 2
&& line_number < highlight_line_end_line - 1
then None
else Some (Number line_number, line)
else Some (Number line_number, line))
if
start_line_line_offset >= 0
&& end_line_line_end_offset >= start_line_line_offset
then
String.sub src start_line_line_offset
(end_line_line_end_offset - start_line_line_offset)
|> String.split_on_char '\n'
|> filter_mapi (fun i line ->
let line_number = i + first_shown_line in
if more_than_5_highlighted_lines then
if line_number = highlight_line_start_line + 2 then
Some (Elided, line)
else if
line_number > highlight_line_start_line + 2
&& line_number < highlight_line_end_line - 1
then None
else Some (Number line_number, line)
else Some (Number line_number, line))
else []
in
let leading_space_to_cut =
lines
Expand Down
Loading