- Timestamp:
- Jun 16, 2022, 9:59:30 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/file_store.ml
r3 r6 4 4 5 5 let extension = ".txt" 6 let def_dir = try Sys.getenv "LOGARION_DIR" with Not_found -> "." 6 let def_dir () = 7 let share = Sys.getenv "HOME" ^ "/.local/share/texts/" in 8 try Sys.getenv "txtdir" with Not_found -> 9 match Sys.is_directory share with 10 | true -> share 11 | false | exception (Sys_error _) -> "." 7 12 8 13 let to_string f = … … 50 55 ) else it 51 56 57 let split_filetypes files = 58 let acc (dirs, files) x = if Sys.is_directory x 59 then (x::dirs, files) else (dirs, x::files) in 60 List.fold_left acc ([],[]) files 61 52 62 (* Compare file system nodes to skip reparsing? *) 53 63 let list_fs ?(r=false) dir = … … 73 83 @@ List.fold_left (fold_valid_text predicate) new_iteration flist 74 84 75 let iter ?(r=false) ?(dir=def_dir ) ?(predicate=fun _ -> true) ?order ?number fn =85 let iter ?(r=false) ?(dir=def_dir ()) ?(predicate=fun _ -> true) ?order ?number fn = 76 86 let flist = list_fs ~r dir in match order with 77 87 | Some comp -> List.iter fn @@ fold_sort_take ~predicate ~number comp flist … … 79 89 List.fold_left (fold_valid_text predicate) new_iteration flist 80 90 81 let fold ?(r=false) ?(dir=def_dir ) ?(predicate=fun _ -> true) ?order ?number fn acc =91 let fold ?(r=false) ?(dir=def_dir ()) ?(predicate=fun _ -> true) ?order ?number fn acc = 82 92 let flist = list_fs ~r dir in match order with 83 93 | Some comp -> List.fold_left fn acc @@ fold_sort_take ~predicate ~number comp flist … … 85 95 List.fold_left (fold_valid_text predicate) new_iteration flist 86 96 87 let with_id ?(r=false) ?(dir=def_dir ) id =97 let with_id ?(r=false) ?(dir=def_dir ()) id = 88 98 let matched acc path = 89 99 match to_text path with … … 126 136 if Sys.file_exists candidate then Error "Name clash, try again" else Ok candidate 127 137 128 let with_text ?(dir=def_dir ) new_text =138 let with_text ?(dir=def_dir ()) new_text = 129 139 match id_filename dir extension new_text with 130 140 | Error _ as e -> e
Note:
See TracChangeset
for help on using the changeset viewer.