next() — tailwindcss Function Reference
Architecture documentation for the next() function in walk.rs from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD 83bb976e_1649_1bda_3eb2_5a61fc6842eb["next()"] b3ca296d_790b_9bf3_23ea_56e5c5c48565["walk.rs"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|defined in| b3ca296d_790b_9bf3_23ea_56e5c5c48565 10cd0c5a_639d_bb39_ec52_5763cda217d9["skip_entry()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| 10cd0c5a_639d_bb39_ec52_5763cda217d9 c7f5232e_c491_e113_d855_43401ccf346b["new_stdin()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| c7f5232e_c491_e113_d855_43401ccf346b 22e63b02_548b_5463_d609_2419e47f16ca["is_dir()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| 22e63b02_548b_5463_d609_2419e47f16ca 108dca3a_76ad_c78e_2e8e_08a7c813e095["add_parents()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| 108dca3a_76ad_c78e_2e8e_08a7c813e095 8bec8549_d2b7_dfe4_b90d_d76194ad9e78["new_walkdir()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| 8bec8549_d2b7_dfe4_b90d_d76194ad9e78 eaa93251_8ff2_5e1b_adef_2cb61588bdb0["path()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| eaa93251_8ff2_5e1b_adef_2cb61588bdb0 78dc08c8_e2ba_96ff_3ae5_92c4eba84aeb["depth()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| 78dc08c8_e2ba_96ff_3ae5_92c4eba84aeb 2e9f6a7a_9cba_9f62_594a_cc8fdadca4a1["walkdir_is_dir()"] 83bb976e_1649_1bda_3eb2_5a61fc6842eb -->|calls| 2e9f6a7a_9cba_9f62_594a_cc8fdadca4a1 style 83bb976e_1649_1bda_3eb2_5a61fc6842eb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
crates/ignore/src/walk.rs lines 1088–1154
fn next(&mut self) -> Option<Result<DirEntry, Error>> {
loop {
let ev = match self.it.as_mut().and_then(|it| it.next()) {
Some(ev) => ev,
None => {
match self.its.next() {
None => return None,
Some((_, None)) => {
return Some(Ok(DirEntry::new_stdin()));
}
Some((path, Some(it))) => {
self.it = Some(it);
if path.is_dir() {
let (ig, err) = self.ig_root.add_parents(path);
self.ig = ig;
if let Some(err) = err {
return Some(Err(err));
}
} else {
self.ig = self.ig_root.clone();
}
}
}
continue;
}
};
match ev {
Err(err) => {
return Some(Err(Error::from_walkdir(err)));
}
Ok(WalkEvent::Exit) => {
self.ig = self.ig.parent().unwrap();
}
Ok(WalkEvent::Dir(ent)) => {
let mut ent = DirEntry::new_walkdir(ent, None);
let should_skip = match self.skip_entry(&ent) {
Err(err) => return Some(Err(err)),
Ok(should_skip) => should_skip,
};
if should_skip {
self.it.as_mut().unwrap().it.skip_current_dir();
// Still need to push this on the stack because
// we'll get a WalkEvent::Exit event for this dir.
// We don't care if it errors though.
let (igtmp, _) = self.ig.add_child(ent.path());
self.ig = igtmp;
continue;
}
let (igtmp, err) = self.ig.add_child(ent.path());
self.ig = igtmp;
ent.err = err;
return Some(Ok(ent));
}
Ok(WalkEvent::File(ent)) => {
let ent = DirEntry::new_walkdir(ent, None);
let should_skip = match self.skip_entry(&ent) {
Err(err) => return Some(Err(err)),
Ok(should_skip) => should_skip,
};
if should_skip {
continue;
}
return Some(Ok(ent));
}
}
}
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does next() do?
next() is a function in the tailwindcss codebase, defined in crates/ignore/src/walk.rs.
Where is next() defined?
next() is defined in crates/ignore/src/walk.rs at line 1088.
What does next() call?
next() calls 8 function(s): add_parents, depth, is_dir, new_stdin, new_walkdir, path, skip_entry, walkdir_is_dir.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free