Make build_gitignore
async
This commit is contained in:
parent
621fab2da1
commit
ca225d0765
1 changed files with 4 additions and 4 deletions
|
@ -1331,7 +1331,7 @@ impl LocalSnapshot {
|
||||||
fn insert_entry(&mut self, mut entry: Entry, fs: &dyn Fs) -> Entry {
|
fn insert_entry(&mut self, mut entry: Entry, fs: &dyn Fs) -> Entry {
|
||||||
if !entry.is_dir() && entry.path.file_name() == Some(&GITIGNORE) {
|
if !entry.is_dir() && entry.path.file_name() == Some(&GITIGNORE) {
|
||||||
let abs_path = self.abs_path.join(&entry.path);
|
let abs_path = self.abs_path.join(&entry.path);
|
||||||
match build_gitignore(&abs_path, fs) {
|
match smol::block_on(build_gitignore(&abs_path, fs)) {
|
||||||
Ok(ignore) => {
|
Ok(ignore) => {
|
||||||
let ignore_dir_path = entry.path.parent().unwrap();
|
let ignore_dir_path = entry.path.parent().unwrap();
|
||||||
self.ignores
|
self.ignores
|
||||||
|
@ -1506,8 +1506,8 @@ impl LocalSnapshot {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_gitignore(abs_path: &Path, fs: &dyn Fs) -> Result<Gitignore> {
|
async fn build_gitignore(abs_path: &Path, fs: &dyn Fs) -> Result<Gitignore> {
|
||||||
let contents = smol::block_on(fs.load(&abs_path))?;
|
let contents = fs.load(&abs_path).await?;
|
||||||
let parent = abs_path.parent().unwrap_or(Path::new("/"));
|
let parent = abs_path.parent().unwrap_or(Path::new("/"));
|
||||||
let mut builder = GitignoreBuilder::new(parent);
|
let mut builder = GitignoreBuilder::new(parent);
|
||||||
for line in contents.lines() {
|
for line in contents.lines() {
|
||||||
|
@ -2117,7 +2117,7 @@ impl BackgroundScanner {
|
||||||
|
|
||||||
// If we find a .gitignore, add it to the stack of ignores used to determine which paths are ignored
|
// If we find a .gitignore, add it to the stack of ignores used to determine which paths are ignored
|
||||||
if child_name == *GITIGNORE {
|
if child_name == *GITIGNORE {
|
||||||
match build_gitignore(&child_abs_path, self.fs.as_ref()) {
|
match build_gitignore(&child_abs_path, self.fs.as_ref()).await {
|
||||||
Ok(ignore) => {
|
Ok(ignore) => {
|
||||||
let ignore = Arc::new(ignore);
|
let ignore = Arc::new(ignore);
|
||||||
ignore_stack = ignore_stack.append(job.path.clone(), ignore.clone());
|
ignore_stack = ignore_stack.append(job.path.clone(), ignore.clone());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue