Skip to content

Commit

Permalink
Allow collapse matching against empty extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
dhruvkb committed Oct 24, 2023
1 parent 2cada08 commit 7c18ede
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
4 changes: 4 additions & 0 deletions src/.pls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
specs:
- pattern: \.rs$
collapse:
ext: "" # Collapse module index files under their corresponding directories.
16 changes: 8 additions & 8 deletions src/models/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -138,17 +138,17 @@ impl<'pls> Node<'pls> {
/// If the collapse uses a name, use that name.
/// If the collapse uses an ext, use this node's stem with that ext.
pub fn find_collapse(&mut self) {
let collapse = self
self.collapse_name = self
.specs
.iter()
.rev()
.find(|spec| spec.collapse.is_some())
.and_then(|spec| spec.collapse.clone());
self.collapse_name = match collapse {
Some(Collapse::Name(name)) => Some(name),
Some(Collapse::Ext(ext)) => Some(format!("{}.{}", self.stem(), ext)),
None => None,
}
.filter_map(|spec| spec.collapse.as_ref())
.next()
.map(|collapse| match collapse {
Collapse::Name(name) => name.clone(),
Collapse::Ext(ext) if ext.is_empty() => self.stem(),
Collapse::Ext(ext) => format!("{}.{}", self.stem(), ext),
});
}

// ===========
Expand Down

0 comments on commit 7c18ede

Please sign in to comment.