visit() — tailwindcss Function Reference
Architecture documentation for the visit() function in walk.rs from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD d73ec138_1801_f65e_9f01_1730eee813b7["visit()"] bd2e8909_e461_841f_0d61_4a0d1fd86cf5["visit()"] bd2e8909_e461_841f_0d61_4a0d1fd86cf5 -->|calls| d73ec138_1801_f65e_9f01_1730eee813b7 3c9ff46d_5dc3_e0e4_1102_fa9394d62b1e["run()"] 3c9ff46d_5dc3_e0e4_1102_fa9394d62b1e -->|calls| d73ec138_1801_f65e_9f01_1730eee813b7 2aa52a47_974a_150a_b496_0005da3d3ee4["threads()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| 2aa52a47_974a_150a_b496_0005da3d3ee4 bd2e8909_e461_841f_0d61_4a0d1fd86cf5["visit()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| bd2e8909_e461_841f_0d61_4a0d1fd86cf5 bc0b1e15_e21e_382e_7f60_1f7c3822f040["new_stdin()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| bc0b1e15_e21e_382e_7f60_1f7c3822f040 ea878296_643d_a792_237f_e683d50eeb36["device_num()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| ea878296_643d_a792_237f_e683d50eeb36 ad2e15fc_c5af_84a3_2d6a_26dcd054ddb3["is_quit()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| ad2e15fc_c5af_84a3_2d6a_26dcd054ddb3 9cddcb8d_8667_c506_99c7_f194e438a77a["from_path()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| 9cddcb8d_8667_c506_99c7_f194e438a77a 257c924a_e97b_8a42_d7b6_020af6d65de0["new_raw()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| 257c924a_e97b_8a42_d7b6_020af6d65de0 e16c7a27_1865_9055_554b_f50df737dd8e["push()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| e16c7a27_1865_9055_554b_f50df737dd8e 654d5ef1_1b1b_7e5c_528a_7066dc9d25ad["new_for_each_thread()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| 654d5ef1_1b1b_7e5c_528a_7066dc9d25ad daea13be_da9d_f3dd_7f4f_74a78b7b3852["run()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| daea13be_da9d_f3dd_7f4f_74a78b7b3852 9d894c7c_30e0_c74a_cfb3_a68f088d0048["build()"] d73ec138_1801_f65e_9f01_1730eee813b7 -->|calls| 9d894c7c_30e0_c74a_cfb3_a68f088d0048 style d73ec138_1801_f65e_9f01_1730eee813b7 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
crates/ignore/src/walk.rs lines 1344–1418
pub fn visit(mut self, builder: &mut dyn ParallelVisitorBuilder<'_>) {
let threads = self.threads();
let mut stack = vec![];
{
let mut visitor = builder.build();
let mut paths = Vec::new().into_iter();
std::mem::swap(&mut paths, &mut self.paths);
// Send the initial set of root paths to the pool of workers. Note
// that we only send directories. For files, we send to them the
// callback directly.
for path in paths {
let (dent, root_device) = if path == Path::new("-") {
(DirEntry::new_stdin(), None)
} else {
let root_device = if !self.same_file_system {
None
} else {
match device_num(&path) {
Ok(root_device) => Some(root_device),
Err(err) => {
let err = Error::Io(err).with_path(path);
if visitor.visit(Err(err)).is_quit() {
return;
}
continue;
}
}
};
match DirEntryRaw::from_path(0, path, false) {
Ok(dent) => (DirEntry::new_raw(dent, None), root_device),
Err(err) => {
if visitor.visit(Err(err)).is_quit() {
return;
}
continue;
}
}
};
stack.push(Message::Work(Work {
dent,
ignore: self.ig_root.clone(),
root_device,
}));
}
// ... but there's no need to start workers if we don't need them.
if stack.is_empty() {
return;
}
}
// Create the workers and then wait for them to finish.
let quit_now = Arc::new(AtomicBool::new(false));
let active_workers = Arc::new(AtomicUsize::new(threads));
let stacks = Stack::new_for_each_thread(threads, stack);
std::thread::scope(|s| {
let handles: Vec<_> = stacks
.into_iter()
.map(|stack| Worker {
visitor: builder.build(),
stack,
quit_now: quit_now.clone(),
active_workers: active_workers.clone(),
max_depth: self.max_depth,
min_depth: self.min_depth,
max_filesize: self.max_filesize,
follow_links: self.follow_links,
skip: self.skip.clone(),
filter: self.filter.clone(),
})
.map(|worker| s.spawn(|| worker.run()))
.collect();
for handle in handles {
handle.join().unwrap();
}
});
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does visit() do?
visit() is a function in the tailwindcss codebase.
What does visit() call?
visit() calls 11 function(s): build, device_num, from_path, is_quit, new_for_each_thread, new_raw, new_stdin, push, and 3 more.
What calls visit()?
visit() is called by 2 function(s): run, visit.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free