credence_lib/util/
file_path.rs1use super::constants::*;
2
3use std::path::*;
4
5pub fn file_name<PathT>(path: PathT) -> (String, String)
7where
8 PathT: AsRef<Path>,
9{
10 let path = path.as_ref().to_string_lossy();
11
12 let mut filename = path.as_ref();
13 if let Some(last_slash) = filename.rfind(MAIN_SEPARATOR) {
14 filename = &filename[last_slash + 1..];
15 }
16
17 let mut filename_without_extension = filename;
18 if let Some(first_dot) = filename_without_extension.find(EXTENSION_SEPARATOR) {
19 filename_without_extension = &filename_without_extension[..first_dot];
20 }
21
22 (filename.into(), filename_without_extension.into())
23}