Skip to content

Commit 9fd6640

Browse files
authored
Merge pull request #12674 from ElectreAAS/push-ropxzswxsywq
Remove duplicate code in diagnostics
2 parents a707b7f + a8e7958 commit 9fd6640

File tree

1 file changed

+12
-26
lines changed

1 file changed

+12
-26
lines changed

bin/diagnostics.ml

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,24 @@
11
open Import
22

3-
let exec () =
4-
let open Fiber.O in
5-
let where = Rpc.Rpc_common.active_server_exn () in
6-
let module Client = Dune_rpc_client.Client in
7-
let+ errors =
8-
let* connect = Client.Connection.connect_exn where in
9-
Dune_rpc_impl.Client.client
10-
connect
11-
(Dune_rpc_private.Initialize.Request.create
12-
~id:(Dune_rpc_private.Id.make (Sexp.Atom "diagnostics_cmd")))
13-
~f:(fun cli ->
14-
let* decl =
15-
Client.Versioned.prepare_request cli Dune_rpc_private.Public.Request.diagnostics
16-
in
17-
match decl with
18-
| Error e -> raise (Dune_rpc_private.Version_error.E e)
19-
| Ok decl -> Client.request cli decl ())
20-
in
21-
match errors with
22-
| Ok errors ->
23-
List.iter errors ~f:(fun err ->
24-
Console.print_user_message (Dune_rpc.Diagnostic.to_user_message err))
25-
| Error e -> Rpc.Rpc_common.raise_rpc_error e
26-
;;
27-
283
let info =
294
let doc = "Fetch and return errors from the current build." in
305
Cmd.info "diagnostics" ~doc
316
;;
327

338
let term =
349
let+ (builder : Common.Builder.t) = Common.Builder.term in
35-
Rpc.Rpc_common.client_term builder exec
10+
Rpc.Rpc_common.client_term builder (fun () ->
11+
let open Fiber.O in
12+
let+ errors =
13+
Rpc.Rpc_common.fire_request
14+
~name:"diagnostics_cmd"
15+
~wait:false
16+
builder
17+
Dune_rpc_private.Procedures.Public.diagnostics
18+
()
19+
in
20+
List.iter errors ~f:(fun err ->
21+
Console.print_user_message (Dune_rpc.Diagnostic.to_user_message err)))
3622
;;
3723

3824
let command = Cmd.v info term

0 commit comments

Comments
 (0)