Skip to content

Commit 4b47b3b

Browse files
committed
refactor
1 parent f7c2f12 commit 4b47b3b

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

tools/src/tools.ml

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,7 @@ module FormatCodeblocks = struct
771771
| _ -> Ast_mapper.default_mapper.attribute mapper attr);
772772
}
773773
in
774-
let formatted_content, source =
774+
let content =
775775
if Filename.check_suffix path ".md" then
776776
let content =
777777
let ic = open_in path in
@@ -787,8 +787,8 @@ module FormatCodeblocks = struct
787787
~markdownBlockStartLine:1 content
788788
in
789789
if hadCodeBlocks && formattedContents <> content then
790-
(formattedContents, content)
791-
else (content, content)
790+
Ok (formattedContents, content)
791+
else Ok (content, content)
792792
else if Filename.check_suffix path ".res" then
793793
let parser =
794794
Res_driver.parsing_engine.parse_implementation ~for_printer:true
@@ -799,10 +799,11 @@ module FormatCodeblocks = struct
799799
let filename = Filename.basename filename in
800800
let mapper = makeMapper ~displayFilename:filename in
801801
let astMapped = mapper.structure mapper structure in
802-
( Res_printer.print_implementation
803-
~width:Res_multi_printer.default_print_width astMapped ~comments,
804-
source )
805-
else
802+
Ok
803+
( Res_printer.print_implementation
804+
~width:Res_multi_printer.default_print_width astMapped ~comments,
805+
source )
806+
else if Filename.check_suffix path ".resi" then
806807
let parser =
807808
Res_driver.parsing_engine.parse_interface ~for_printer:true
808809
in
@@ -811,23 +812,32 @@ module FormatCodeblocks = struct
811812
in
812813
let mapper = makeMapper ~displayFilename:filename in
813814
let astMapped = mapper.signature mapper signature in
814-
( Res_printer.print_interface
815-
~width:Res_multi_printer.default_print_width astMapped ~comments,
816-
source )
815+
Ok
816+
( Res_printer.print_interface
817+
~width:Res_multi_printer.default_print_width astMapped ~comments,
818+
source )
819+
else
820+
Error
821+
(Printf.sprintf
822+
"File extension not supported. This command accepts .res, .resi, \
823+
and .md files")
817824
in
818-
let errors = !errors in
819-
if List.length errors > 0 then (
820-
errors |> List.rev |> String.concat "\n" |> print_endline;
821-
Error
822-
(Printf.sprintf "%s: Error formatting docstrings."
823-
(Filename.basename path)))
824-
else if formatted_content <> source then (
825-
match outputMode with
826-
| `Stdout -> Ok formatted_content
827-
| `File ->
828-
let oc = open_out path in
829-
Printf.fprintf oc "%s" formatted_content;
830-
close_out oc;
831-
Ok (Filename.basename path ^ ": formatted successfully"))
832-
else Ok (Filename.basename path ^ ": needed no formatting")
825+
match content with
826+
| Error e -> Error e
827+
| Ok (formatted_content, source) ->
828+
let errors = !errors in
829+
if List.length errors > 0 then (
830+
errors |> List.rev |> String.concat "\n" |> print_endline;
831+
Error
832+
(Printf.sprintf "%s: Error formatting docstrings."
833+
(Filename.basename path)))
834+
else if formatted_content <> source then (
835+
match outputMode with
836+
| `Stdout -> Ok formatted_content
837+
| `File ->
838+
let oc = open_out path in
839+
Printf.fprintf oc "%s" formatted_content;
840+
close_out oc;
841+
Ok (Filename.basename path ^ ": formatted successfully"))
842+
else Ok (Filename.basename path ^ ": needed no formatting")
833843
end

0 commit comments

Comments
 (0)