intigrate with .gitignore
This commit is contained in:
1 parent
cc983dc091
commit
d642e53a2b
2 files changed
+13
-2
No files matched your search
@@ -16,4 +16,5 @@ chrono = "0.4.23"
|
|||||||
serde_json = "1.0.91"
|
serde_json = "1.0.91"
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
execute = "0.2.11"
|
execute = "0.2.11"
|
||||||
once_cell = "1.17.0"
|
once_cell = "1.17.0"
|
||||||
|
gitignore = "1.0.7"
|
||||||
@@ -157,6 +157,10 @@ pub fn init<Ctx: HotReloadingContext + Send + 'static>(cfg: Config<Ctx>) {
|
|||||||
|
|
||||||
// watch for changes
|
// watch for changes
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
|
// try to find the gitingore file
|
||||||
|
let gitignore_file_path = crate_dir.join(".gitignore");
|
||||||
|
let gitignore_file = gitignore::File::new(&gitignore_file_path.as_path());
|
||||||
|
|
||||||
let mut last_update_time = chrono::Local::now().timestamp();
|
let mut last_update_time = chrono::Local::now().timestamp();
|
||||||
|
|
||||||
let (tx, rx) = std::sync::mpsc::channel();
|
let (tx, rx) = std::sync::mpsc::channel();
|
||||||
@@ -210,7 +214,13 @@ pub fn init<Ctx: HotReloadingContext + Send + 'static>(cfg: Config<Ctx>) {
|
|||||||
// skip non rust files
|
// skip non rust files
|
||||||
matches!(path.extension().and_then(|p| p.to_str()), Some("rs" | "toml" | "css" | "html" | "js")) &&
|
matches!(path.extension().and_then(|p| p.to_str()), Some("rs" | "toml" | "css" | "html" | "js")) &&
|
||||||
// skip excluded paths
|
// skip excluded paths
|
||||||
!excluded_paths.iter().any(|p| path.starts_with(p))
|
!excluded_paths.iter().any(|p| path.starts_with(p)) && match &gitignore_file{
|
||||||
|
Ok(file) => match file.is_excluded(path){
|
||||||
|
Ok(excluded) => !excluded,
|
||||||
|
Err(_) => true,
|
||||||
|
},
|
||||||
|
Err(_) => true,
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user