My own corner of monopam
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(merlint): skip . and _ prefixed dirs during traversal

Avoids Sys_error crash on broken symlinks (e.g. .claude/skills/sync)
and generally ignores hidden/build artifact directories. Also wraps
Sys.is_directory defensively against broken symlinks.

+6 -6
+6 -6
merlint/lib/dune.ml
··· 77 77 |> List.concat_map (fun entry -> 78 78 let path = Fpath.(dir_path / entry) in 79 79 let path_str = Fpath.to_string path in 80 - if 80 + let first_char = if String.length entry > 0 then entry.[0] else '\000' in 81 + if first_char = '.' || first_char = '_' then [] 82 + else if 81 83 entry = "dune" && Sys.file_exists path_str 82 - && not (Sys.is_directory path_str) 84 + && not (try Sys.is_directory path_str with Sys_error _ -> true) 83 85 then [ path ] 84 - else if 85 - Sys.is_directory path_str && entry <> "_build" && entry <> ".git" 86 - && entry <> "_opam" 87 - then files path 86 + else if try Sys.is_directory path_str with Sys_error _ -> false then 87 + files path 88 88 else []) 89 89 90 90 (** Parse a dune file and extract module information *)