punktf_lib/
lib.rs

1#![allow(
2	dead_code,
3	rustdoc::private_intra_doc_links,
4	clippy::needless_lifetimes
5)]
6#![deny(
7	deprecated_in_future,
8	exported_private_dependencies,
9	future_incompatible,
10	missing_copy_implementations,
11	rustdoc::missing_crate_level_docs,
12	rustdoc::broken_intra_doc_links,
13	missing_docs,
14	clippy::missing_docs_in_private_items,
15	missing_debug_implementations,
16	rust_2018_compatibility,
17	rust_2018_idioms,
18	trivial_casts,
19	trivial_numeric_casts,
20	unsafe_code,
21	unstable_features,
22	unused_import_braces,
23	unused_qualifications,
24
25	// clippy attributes
26	clippy::missing_const_for_fn,
27	clippy::redundant_pub_crate,
28	// 2022-05-31: Disabled as this lint appears to have many false positives
29	// clippy::use_self
30)]
31#![cfg_attr(docsrs, feature(doc_cfg), feature(doc_alias))]
32
33//! This is the library powering `punktf`, a cross-platform multi-target dotfiles manager.
34
35pub mod profile;
36pub mod template;
37pub mod visit;
38
39#[cfg(test)]
40mod tests {
41	use std::sync::Once;
42
43	static SETUP_GATE: Once = Once::new();
44
45	pub fn setup_test_env() {
46		SETUP_GATE.call_once(|| {
47			env_logger::Builder::from_env(
48				env_logger::Env::default().default_filter_or(log::Level::Debug.as_str()),
49			)
50			.is_test(true)
51			.try_init()
52			.expect("Test logger setup to not fail");
53
54			color_eyre::install().expect("color_eyre setup to not fail");
55		})
56	}
57}