default_re | Some r -> (r, Str.regexp r) ?> . ?> "name" (* default *) | Some o -> o in let list = sort_by ord list in ?>
files matching ordered by

puts f.prn) list ?>
List.stable_sort cex list | "kind" -> List.stable_sort ck list | "time" -> List.stable_sort cmt list | "size" -> List.stable_sort csz list | _ -> list ?> %-32s %-13s %5s %s%s\n" let header = sprintf "%-32s %-13s %-5s %s\n" "checksum" "last modified" "size" "name" ?> "lib" | "cma"->"lib" | "cmi"->"obj" | "cmo"->"obj" | "ml"->"src" | "sml"->"src" | "mli"->"hdr" | "sig"->"hdr" | _->"" in let i = if perm land 0o111 = 0 then "" else "*" in match (k,i) with | ("", "*") -> ("exe", "*") | other -> other ?> "" in let (kind, indicator) = match st.st_kind with | S_DIR->("dir", "/") | S_FIFO->("fifo", "|") | S_BLK->("bdev", "") | S_CHR->("cdev", "") | S_LNK->("link", "@") | S_SOCK->("sock", "=") | S_REG->reg_kinds ext st.st_perm in let prn = sprintf entry_fmt md5 (TimeStamp.brief st.st_mtime) (human_size st.st_size) f kind f indicator in {name=f; ext=ext; kind=kind; md5=md5; mtime=st.st_mtime; size=st.st_size; prn=prn} ?> closedir dh; List.sort rc files ?> term | name::files -> . .~term in .~(loop .. files)>. in loop .<[]>. (read_all (opendir d) []) ?> .<()>. | (tag,text)::opts -> .<(kprintf .~puts "\n" (if .~ord = tag then "selected" else "") tag text; .~(ord_options puts ord opts))>. (* End of `dir.meta' *) ?>