Changeset 6 in code
- Timestamp:
- Jun 16, 2022, 9:59:30 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cli/dune
r3 r6 2 2 (name txt) 3 3 (public_name txt) 4 (modules txt authors convert conversion file index last listing new topics html atom gemini pu ll)4 (modules txt authors convert conversion file index last listing new topics html atom gemini publish pull) 5 5 (libraries text_parse.converter text_parse.parsers logarion msgpck curl str cmdliner)) -
trunk/cli/file.ml
r3 r6 1 let split_filetypes files =2 let acc (dirs, files) x = if Sys.is_directory x3 then (x::dirs, files) else (dirs, x::files) in4 List.fold_left acc ([],[]) files5 6 1 open Logarion 7 2 let file files = 8 let dirs, files = split_filetypes files in3 let dirs, files = File_store.split_filetypes files in 9 4 let _link_as_named dir file = Unix.link file (Filename.concat dir file) in 10 5 let link_with_id dir file = … … 15 10 16 11 let unfile files = 17 let dirs, files = split_filetypes files in12 let dirs, files = File_store.split_filetypes files in 18 13 let unlink dir file = try Unix.unlink (Filename.concat dir file) 19 14 with Unix.(Unix_error(ENOENT,_,_))-> () in -
trunk/cli/txt.ml
r3 r6 15 15 Listing.term; 16 16 New.term; 17 Publish.term; 17 18 Pull.term; 18 19 Topics.term; -
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.