Merge pull request #2470 from zed-industries/kb/fix-project-search-esc

In project search on ESC, reduce multiple carets to one first
This commit is contained in:
Kirill Bulatov 2023-05-16 15:16:34 +03:00 committed by GitHub
commit 421db9225a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 9 deletions

View File

@ -191,7 +191,7 @@
} }
}, },
{ {
"context": "BufferSearchBar > Editor", "context": "BufferSearchBar",
"bindings": { "bindings": {
"escape": "buffer_search::Dismiss", "escape": "buffer_search::Dismiss",
"tab": "buffer_search::FocusEditor", "tab": "buffer_search::FocusEditor",
@ -200,13 +200,13 @@
} }
}, },
{ {
"context": "ProjectSearchBar > Editor", "context": "ProjectSearchBar",
"bindings": { "bindings": {
"escape": "project_search::ToggleFocus" "escape": "project_search::ToggleFocus"
} }
}, },
{ {
"context": "ProjectSearchView > Editor", "context": "ProjectSearchView",
"bindings": { "bindings": {
"escape": "project_search::ToggleFocus" "escape": "project_search::ToggleFocus"
} }

View File

@ -11,6 +11,19 @@ pub struct Binding {
context_predicate: Option<KeymapContextPredicate>, context_predicate: Option<KeymapContextPredicate>,
} }
impl std::fmt::Debug for Binding {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(
f,
"Binding {{ keystrokes: {:?}, action: {}::{}, context_predicate: {:?} }}",
self.keystrokes,
self.action.namespace(),
self.action.name(),
self.context_predicate
)
}
}
impl Clone for Binding { impl Clone for Binding {
fn clone(&self) -> Self { fn clone(&self) -> Self {
Self { Self {

View File

@ -234,7 +234,6 @@ pub fn init(app_state: Arc<AppState>, cx: &mut AppContext) {
}, },
); );
cx.add_action(Workspace::toggle_sidebar_item); cx.add_action(Workspace::toggle_sidebar_item);
cx.add_action(Workspace::focus_center);
cx.add_action(|workspace: &mut Workspace, _: &ActivatePreviousPane, cx| { cx.add_action(|workspace: &mut Workspace, _: &ActivatePreviousPane, cx| {
workspace.activate_previous_pane(cx) workspace.activate_previous_pane(cx)
}); });
@ -1415,11 +1414,6 @@ impl Workspace {
cx.notify(); cx.notify();
} }
pub fn focus_center(&mut self, _: &menu::Cancel, cx: &mut ViewContext<Self>) {
cx.focus_self();
cx.notify();
}
fn add_pane(&mut self, cx: &mut ViewContext<Self>) -> ViewHandle<Pane> { fn add_pane(&mut self, cx: &mut ViewContext<Self>) -> ViewHandle<Pane> {
let pane = cx.add_view(|cx| { let pane = cx.add_view(|cx| {
Pane::new( Pane::new(