This commit is contained in:
tidely 2025-08-26 16:02:01 -04:00 committed by GitHub
commit 76245b0f7d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -111,7 +111,6 @@ pub struct BufferSearchBar {
pending_search: Option<Task<()>>,
search_options: SearchOptions,
default_options: SearchOptions,
configured_options: SearchOptions,
query_error: Option<String>,
dismissed: bool,
search_history: SearchHistory,
@ -653,7 +652,6 @@ impl BufferSearchBar {
active_match_index: None,
searchable_items_with_matches: Default::default(),
default_options: search_options,
configured_options: search_options,
search_options,
pending_search: None,
query_error: None,
@ -749,16 +747,6 @@ impl BufferSearchBar {
return false;
};
self.configured_options =
SearchOptions::from_settings(&EditorSettings::get_global(cx).search);
if self.dismissed
&& (self.configured_options != self.default_options
|| self.configured_options != self.search_options)
{
self.search_options = self.configured_options;
self.default_options = self.configured_options;
}
self.dismissed = false;
self.adjust_query_regex_language(cx);
handle.search_bar_visibility_changed(true, window, cx);
@ -2750,11 +2738,6 @@ mod tests {
"Search bar should be present and visible"
);
search_bar.deploy(&deploy, window, cx);
assert_eq!(
search_bar.configured_options,
SearchOptions::NONE,
"Should have configured search options matching the settings"
);
assert_eq!(
search_bar.search_options,
SearchOptions::WHOLE_WORD,
@ -2765,15 +2748,15 @@ mod tests {
search_bar.deploy(&deploy, window, cx);
assert_eq!(
search_bar.search_options,
SearchOptions::NONE,
"After hiding and showing the search bar, default options should be used"
SearchOptions::WHOLE_WORD,
"After hiding and showing the search bar, options should be preserved"
);
search_bar.toggle_search_option(SearchOptions::REGEX, window, cx);
search_bar.toggle_search_option(SearchOptions::WHOLE_WORD, window, cx);
assert_eq!(
search_bar.search_options,
SearchOptions::REGEX | SearchOptions::WHOLE_WORD,
SearchOptions::REGEX,
"Should enable the options toggled"
);
assert!(
@ -2781,43 +2764,6 @@ mod tests {
"Search bar should be present and visible"
);
});
update_search_settings(
SearchSettings {
button: true,
whole_word: false,
case_sensitive: true,
include_ignored: false,
regex: false,
},
cx,
);
search_bar.update_in(cx, |search_bar, window, cx| {
assert_eq!(
search_bar.search_options,
SearchOptions::REGEX | SearchOptions::WHOLE_WORD,
"Should have no search options enabled by default"
);
search_bar.deploy(&deploy, window, cx);
assert_eq!(
search_bar.configured_options,
SearchOptions::CASE_SENSITIVE,
"Should have configured search options matching the settings"
);
assert_eq!(
search_bar.search_options,
SearchOptions::REGEX | SearchOptions::WHOLE_WORD,
"Toggling a non-dismissed search bar with custom options should not change the default options"
);
search_bar.dismiss(&Dismiss, window, cx);
search_bar.deploy(&deploy, window, cx);
assert_eq!(
search_bar.search_options,
SearchOptions::CASE_SENSITIVE,
"After hiding and showing the search bar, default options should be used"
);
});
}
fn update_search_settings(search_settings: SearchSettings, cx: &mut TestAppContext) {