Detailed changes
@@ -251,7 +251,7 @@ pub(crate) fn search_files(
fuzzy::match_path_sets(
candidate_sets.as_slice(),
query.as_str(),
- None,
+ &None,
false,
100,
&cancellation_flag,
@@ -73,7 +73,7 @@ impl DiagnosticsSlashCommand {
fuzzy::match_path_sets(
candidate_sets.as_slice(),
query.as_str(),
- None,
+ &None,
false,
100,
&cancellation_flag,
@@ -104,7 +104,7 @@ impl FileSlashCommand {
fuzzy::match_path_sets(
candidate_sets.as_slice(),
query.as_str(),
- None,
+ &None,
false,
100,
&cancellation_flag,
@@ -886,14 +886,14 @@ impl FileFinderDelegate {
.collect::<Vec<_>>();
let search_id = util::post_inc(&mut self.search_count);
- self.cancel_flag.store(true, atomic::Ordering::Relaxed);
+ self.cancel_flag.store(true, atomic::Ordering::Release);
self.cancel_flag = Arc::new(AtomicBool::new(false));
let cancel_flag = self.cancel_flag.clone();
cx.spawn_in(window, async move |picker, cx| {
let matches = fuzzy::match_path_sets(
candidate_sets.as_slice(),
query.path_query(),
- relative_to,
+ &relative_to,
false,
100,
&cancel_flag,
@@ -902,7 +902,7 @@ impl FileFinderDelegate {
.await
.into_iter()
.map(ProjectPanelOrdMatch);
- let did_cancel = cancel_flag.load(atomic::Ordering::Relaxed);
+ let did_cancel = cancel_flag.load(atomic::Ordering::Acquire);
picker
.update(cx, |picker, cx| {
picker
@@ -76,7 +76,7 @@ impl<'a> Matcher<'a> {
continue;
}
- if cancel_flag.load(atomic::Ordering::Relaxed) {
+ if cancel_flag.load(atomic::Ordering::Acquire) {
break;
}
@@ -121,7 +121,7 @@ pub fn match_fixed_path_set(
pub async fn match_path_sets<'a, Set: PathMatchCandidateSet<'a>>(
candidate_sets: &'a [Set],
query: &str,
- relative_to: Option<Arc<Path>>,
+ relative_to: &Option<Arc<Path>>,
smart_case: bool,
max_results: usize,
cancel_flag: &AtomicBool,
@@ -148,7 +148,6 @@ pub async fn match_path_sets<'a, Set: PathMatchCandidateSet<'a>>(
executor
.scoped(|scope| {
for (segment_idx, results) in segment_results.iter_mut().enumerate() {
- let relative_to = relative_to.clone();
scope.spawn(async move {
let segment_start = segment_idx * segment_size;
let segment_end = segment_start + segment_size;
@@ -157,7 +156,7 @@ pub async fn match_path_sets<'a, Set: PathMatchCandidateSet<'a>>(
let mut tree_start = 0;
for candidate_set in candidate_sets {
- if cancel_flag.load(atomic::Ordering::Relaxed) {
+ if cancel_flag.load(atomic::Ordering::Acquire) {
break;
}
@@ -209,7 +208,7 @@ pub async fn match_path_sets<'a, Set: PathMatchCandidateSet<'a>>(
})
.await;
- if cancel_flag.load(atomic::Ordering::Relaxed) {
+ if cancel_flag.load(atomic::Ordering::Acquire) {
return Vec::new();
}
@@ -189,7 +189,7 @@ where
})
.await;
- if cancel_flag.load(atomic::Ordering::Relaxed) {
+ if cancel_flag.load(atomic::Ordering::Acquire) {
return Vec::new();
}