generate_work() — tailwindcss Function Reference
Architecture documentation for the generate_work() function in walk.rs from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD dc874db4_e8a3_5292_d49c_2245b8b18f45["generate_work()"] 8031325b_dcd2_8c49_70e7_46191ce03a79["walk.rs"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|defined in| 8031325b_dcd2_8c49_70e7_46191ce03a79 04e8d630_da3f_f0a4_57a8_0bd018070b1a["run_one()"] 04e8d630_da3f_f0a4_57a8_0bd018070b1a -->|calls| dc874db4_e8a3_5292_d49c_2245b8b18f45 ec8f604f_bf9a_8b8d_48e2_c2b429de285f["send()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| ec8f604f_bf9a_8b8d_48e2_c2b429de285f da7185cc_deeb_42bc_cc20_4a3139551ba0["visit()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| da7185cc_deeb_42bc_cc20_4a3139551ba0 22ec8950_f405_d7ab_6054_ecd191592786["from_entry()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 22ec8950_f405_d7ab_6054_ecd191592786 97a7782b_b5fc_60b9_647d_53de6ce7f711["new_raw()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 97a7782b_b5fc_60b9_647d_53de6ce7f711 c30294ef_bb08_283b_8249_9905047aecb1["file_type()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| c30294ef_bb08_283b_8249_9905047aecb1 b285c11e_be54_1a5d_97fd_6b377476305a["is_symlink()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| b285c11e_be54_1a5d_97fd_6b377476305a 934d114d_964b_414a_2b41_82e8174b7c3d["path()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 934d114d_964b_414a_2b41_82e8174b7c3d 275ce747_52cf_7193_9f0d_2cf3bab3ea9c["from_path()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 275ce747_52cf_7193_9f0d_2cf3bab3ea9c 1f3047bd_cab3_dab1_e7b5_f7ef13815e23["is_dir()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 1f3047bd_cab3_dab1_e7b5_f7ef13815e23 951367a8_ba0e_dae4_3cae_d3f7848916e3["check_symlink_loop()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 951367a8_ba0e_dae4_3cae_d3f7848916e3 862035d5_a7df_75ac_7b1e_717ff1207a9a["should_skip_entry()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 862035d5_a7df_75ac_7b1e_717ff1207a9a 633cf0ee_78d6_12f4_349d_a7fafa78e65a["path_equals()"] dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 633cf0ee_78d6_12f4_349d_a7fafa78e65a style dc874db4_e8a3_5292_d49c_2245b8b18f45 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
crates/ignore/src/walk.rs lines 1715–1785
fn generate_work(
&mut self,
ig: &Ignore,
depth: usize,
root_device: Option<u64>,
result: Result<fs::DirEntry, io::Error>,
) -> WalkState {
let fs_dent = match result {
Ok(fs_dent) => fs_dent,
Err(err) => {
return self.visitor.visit(Err(Error::from(err).with_depth(depth)));
}
};
let mut dent = match DirEntryRaw::from_entry(depth, &fs_dent) {
Ok(dent) => DirEntry::new_raw(dent, None),
Err(err) => {
return self.visitor.visit(Err(err));
}
};
let is_symlink = dent.file_type().map_or(false, |ft| ft.is_symlink());
if self.follow_links && is_symlink {
let path = dent.path().to_path_buf();
dent = match DirEntryRaw::from_path(depth, path, true) {
Ok(dent) => DirEntry::new_raw(dent, None),
Err(err) => {
return self.visitor.visit(Err(err));
}
};
if dent.is_dir() {
if let Err(err) = check_symlink_loop(ig, dent.path(), depth) {
return self.visitor.visit(Err(err));
}
}
}
// N.B. See analogous call in the single-threaded implementation about
// why it's important for this to come before the checks below.
if should_skip_entry(ig, &dent) {
return WalkState::Continue;
}
if let Some(ref stdout) = self.skip {
let is_stdout = match path_equals(&dent, stdout) {
Ok(is_stdout) => is_stdout,
Err(err) => return self.visitor.visit(Err(err)),
};
if is_stdout {
return WalkState::Continue;
}
}
let should_skip_filesize = if self.max_filesize.is_some() && !dent.is_dir() {
skip_filesize(
self.max_filesize.unwrap(),
dent.path(),
&dent.metadata().ok(),
)
} else {
false
};
let should_skip_filtered = if let Some(Filter(predicate)) = &self.filter {
!predicate(&dent)
} else {
false
};
if !should_skip_filesize && !should_skip_filtered {
self.send(Work {
dent,
ignore: ig.clone(),
root_device,
});
}
WalkState::Continue
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does generate_work() do?
generate_work() is a function in the tailwindcss codebase, defined in crates/ignore/src/walk.rs.
Where is generate_work() defined?
generate_work() is defined in crates/ignore/src/walk.rs at line 1715.
What does generate_work() call?
generate_work() calls 14 function(s): check_symlink_loop, file_type, from_entry, from_path, is_dir, is_symlink, metadata, new_raw, and 6 more.
What calls generate_work()?
generate_work() is called by 1 function(s): run_one.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free