diff --git a/ivette/src/frama-c/api/generated/kernel/services/index.ts b/ivette/src/frama-c/api/generated/kernel/services/index.ts index 3419792ac5a8199df425a22577780aee9cfc9b5a..666ca9816dc76ca6cb39f5fab1e5c0e2658bc156 100644 --- a/ivette/src/frama-c/api/generated/kernel/services/index.ts +++ b/ivette/src/frama-c/api/generated/kernel/services/index.ts @@ -75,6 +75,15 @@ const load_internal: Server.SetRequest<string,string | undefined> = { /** Load a save file. Returns an error, if not successfull. */ export const load: Server.SetRequest<string,string | undefined>= load_internal; +const save_internal: Server.SetRequest<string,string | undefined> = { + kind: Server.RqKind.SET, + name: 'kernel.services.save', + input: Json.jString, + output: Json.jString, +}; +/** Save the current session. Returns an error, if not successfull. */ +export const save: Server.SetRequest<string,string | undefined>= save_internal; + /** Source file positions. */ export type source = { dir: string, base: string, file: string, line: number }; diff --git a/src/plugins/server/kernel_main.ml b/src/plugins/server/kernel_main.ml index effed249b3a61a1e1df9ae2dafdf7830f55c9083..3c5fb34a4619c6ea96e51827dfdfbb1c63420ae0 100644 --- a/src/plugins/server/kernel_main.ml +++ b/src/plugins/server/kernel_main.ml @@ -74,6 +74,16 @@ let () = try Project.load_all (Filepath.Normalized.of_string file); None with Project.IOError err -> Some err) + +let () = + Request.register ~package ~kind:`SET ~name:"save" + ~descr:(Md.plain "Save the current session. Returns an error, if not successfull.") + ~input:(module Jstring) + ~output:(module Joption(Jstring)) + (fun file -> + try Project.save_all (Filepath.Normalized.of_string file); None + with Project.IOError err -> Some err) + (* -------------------------------------------------------------------------- *) (* --- File Positions --- *) (* -------------------------------------------------------------------------- *)