mirror of
https://github.com/archtechx/todo-system.git
synced 2025-12-12 00:54:03 +00:00
more gitignore logic improvements
This commit is contained in:
parent
df395e08ef
commit
d08da09de1
2 changed files with 9 additions and 3 deletions
|
|
@ -2,7 +2,7 @@ use std::fs::canonicalize;
|
|||
use std::path::PathBuf;
|
||||
|
||||
use clap::{Parser, ArgAction};
|
||||
use scan::{scan_readme_file, add_excludes_from_gitignore};
|
||||
use scan::scan_readme_file;
|
||||
use crate::entries::Entry;
|
||||
use crate::render::render_entries;
|
||||
use crate::scan::{Stats, scan_dir, scan_todo_file};
|
||||
|
|
@ -92,8 +92,6 @@ fn main() {
|
|||
scan_readme_file(&readme_path, &mut entries).unwrap();
|
||||
}
|
||||
|
||||
add_excludes_from_gitignore(&root_dir, &mut excludes);
|
||||
|
||||
for p in &paths {
|
||||
scan_dir(p.as_path(), &mut entries, &mut excludes, &mut stats).unwrap();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,6 +107,10 @@ pub fn add_excludes_from_gitignore(base_dir: &PathBuf, excludes: &mut Vec<PathBu
|
|||
}
|
||||
|
||||
for line in std::fs::read_to_string(gitignore).unwrap().lines() {
|
||||
if line.trim().is_empty() {
|
||||
continue;
|
||||
}
|
||||
|
||||
if line.trim() == "*" {
|
||||
if let Ok(realpath) = canonicalize(&base_dir) {
|
||||
excludes.push(realpath);
|
||||
|
|
@ -119,6 +123,10 @@ pub fn add_excludes_from_gitignore(base_dir: &PathBuf, excludes: &mut Vec<PathBu
|
|||
continue;
|
||||
}
|
||||
|
||||
if line.trim().starts_with('#') {
|
||||
continue;
|
||||
}
|
||||
|
||||
let mut pattern = base_dir.clone();
|
||||
pattern.push(line.trim_end_matches("*/").trim_matches('/'));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue