remove conditional action registration for activate semantic search mode

This commit is contained in:
KCaverly 2023-09-20 12:38:29 -04:00
parent 22d095bd35
commit 37a0c6615f
4 changed files with 16 additions and 17 deletions

View File

@ -370,8 +370,7 @@
},
// Difference settings for semantic_index
"semantic_index": {
"enabled": false,
"reindexing_delay_seconds": 600
"enabled": false
},
// Different settings for specific languages.
"languages": {

View File

@ -71,9 +71,9 @@ pub fn init(cx: &mut AppContext) {
cx.add_action(ProjectSearchBar::activate_text_mode);
// This action should only be registered if the semantic index is enabled
if SemanticIndex::enabled(cx) {
cx.add_action(ProjectSearchBar::activate_semantic_mode);
}
// We are registering it all the time, as I dont want to introduce a dependency
// for Semantic Index Settings globally whenever search is tested.
cx.add_action(ProjectSearchBar::activate_semantic_mode);
cx.capture_action(ProjectSearchBar::tab);
cx.capture_action(ProjectSearchBar::tab_previous);
@ -1449,15 +1449,17 @@ impl ProjectSearchBar {
_: &ActivateSemanticMode,
cx: &mut ViewContext<Pane>,
) {
if let Some(search_view) = pane
.active_item()
.and_then(|item| item.downcast::<ProjectSearchView>())
{
search_view.update(cx, |view, cx| {
view.activate_search_mode(SearchMode::Semantic, cx)
});
} else {
cx.propagate_action();
if SemanticIndex::enabled(cx) {
if let Some(search_view) = pane
.active_item()
.and_then(|item| item.downcast::<ProjectSearchView>())
{
search_view.update(cx, |view, cx| {
view.activate_search_mode(SearchMode::Semantic, cx)
});
} else {
cx.propagate_action();
}
}
}

View File

@ -6,13 +6,11 @@ use settings::Setting;
#[derive(Deserialize, Debug)]
pub struct SemanticIndexSettings {
pub enabled: bool,
pub reindexing_delay_seconds: usize,
}
#[derive(Clone, Default, Serialize, Deserialize, JsonSchema, Debug)]
pub struct SemanticIndexSettingsContent {
pub enabled: Option<bool>,
pub reindexing_delay_seconds: Option<usize>,
}
impl Setting for SemanticIndexSettings {

View File

@ -156,8 +156,8 @@ fn main() {
project_panel::init(Assets, cx);
channel::init(&client);
diagnostics::init(cx);
semantic_index::init(fs.clone(), http.clone(), languages.clone(), cx);
search::init(cx);
semantic_index::init(fs.clone(), http.clone(), languages.clone(), cx);
vim::init(cx);
terminal_view::init(cx);
copilot::init(copilot_language_server_id, http.clone(), node_runtime, cx);