package forester
Source file Change_configuration.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39(* * SPDX-FileCopyrightText: 2024 The Forester Project Contributors AND The RedPRL Development Team * * SPDX-License-Identifier: GPL-3.0-or-later OR Apache-2.0 WITH LLVM-exception * *) open Forester_frontend open struct module L = Lsp.Types module RPC = Jsonrpc end (* TODO: set up json conversions for forester config*) let compute (params : L.DidChangeConfigurationParams.t) = match params.settings with | `Assoc xs -> begin match List.assoc_opt "configuration_file" xs with | Some (`String f) -> begin try let config = Config_parser.parse_forest_config_file f in Lsp_state.modify @@ fun state -> {state with forest = {state.forest with config = config}} with | _ -> Eio.traceln "failed to parse configuration file" end | _ -> Eio.traceln "invalid value for configuration_file" (* RPC.Response.Error.raise *) (* ( *) (* RPC.Response.Error.make *) (* ~code: InvalidRequest *) (* ~message: "invalid value for configuration_file" *) (* () *) (* ) *) end | json -> Eio.traceln "unknown configuration value %a" Yojson.Safe.pp json