static bool isProperFileName(S s) { ret nempty(s) && !startsWith(name, ".") && regexpIC("[a-z0-9-._]+", name).matches(s); }