A path as segments, with empty ones and . dropped.
.
List<String> pathSegments(String path) => [ for (final segment in path.split(_separator)) if (segment.isNotEmpty && segment != '.') segment, ];