diff options
Diffstat (limited to 'lib/export.ml')
-rw-r--r-- | lib/export.ml | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/export.ml b/lib/export.ml index 3346195..0468e64 100644 --- a/lib/export.ml +++ b/lib/export.ml @@ -1,4 +1,14 @@ let to_path path ~content = - let oc = open_out path in - Printf.fprintf oc "%s" content; - close_out oc + try + let home = Sys.getenv_opt "HOME" in + let path = + match home with + | Some home -> Str.replace_first (Str.regexp "~") home path + | None -> path + in + let oc = open_out path in + Printf.fprintf oc "%s\n" content; + close_out oc; + "Successfully wrote to " ^ path + with + | exn -> "Failed to write to path: " ^ Printexc.to_string exn |