1pub mod env_vars;
2
3use std::ffi::OsString;
4use std::path::Path;
5
6use env_vars::EnvVars;
7
8pub const PRE_COMMIT_CONFIG_YAML: &str = ".pre-commit-config.yaml";
9pub const PRE_COMMIT_CONFIG_YML: &str = ".pre-commit-config.yml";
10pub const PREK_TOML: &str = "prek.toml";
11pub const PRE_COMMIT_HOOKS_YAML: &str = ".pre-commit-hooks.yaml";
12
13pub const CONFIG_FILENAMES: &[&str] = &[PREK_TOML, PRE_COMMIT_CONFIG_YAML, PRE_COMMIT_CONFIG_YML];
14
15pub fn prepend_paths(paths: &[&Path]) -> Result<OsString, std::env::JoinPathsError> {
19 std::env::join_paths(
20 paths.iter().map(|p| p.to_path_buf()).chain(
21 EnvVars::var_os(EnvVars::PATH)
22 .as_ref()
23 .iter()
24 .flat_map(std::env::split_paths),
25 ),
26 )
27}