diff --git a/crates/zed/src/menus.rs b/crates/zed/src/menus.rs index ff1197822c..c5ea7b7391 100644 --- a/crates/zed/src/menus.rs +++ b/crates/zed/src/menus.rs @@ -38,6 +38,14 @@ pub fn menus() -> Vec> { name: "Open…", action: Box::new(workspace::Open), }, + MenuItem::Action { + name: "Save", + action: Box::new(workspace::Save), + }, + MenuItem::Action { + name: "Close Editor", + action: Box::new(workspace::CloseActiveItem), + }, ], }, Menu { @@ -64,6 +72,141 @@ pub fn menus() -> Vec> { name: "Paste", action: Box::new(editor::Paste), }, + MenuItem::Separator, + MenuItem::Action { + name: "Find", + action: Box::new(search::buffer_search::Deploy { focus: true }), + }, + MenuItem::Action { + name: "Find In Project", + action: Box::new(search::project_search::Deploy), + }, + MenuItem::Separator, + MenuItem::Action { + name: "Toggle Line Comment", + action: Box::new(editor::ToggleComments), + }, + ], + }, + Menu { + name: "Selection", + items: vec![ + MenuItem::Action { + name: "Select All", + action: Box::new(editor::SelectAll), + }, + MenuItem::Action { + name: "Expand Selection", + action: Box::new(editor::SelectLargerSyntaxNode), + }, + MenuItem::Action { + name: "Shrink Selection", + action: Box::new(editor::SelectSmallerSyntaxNode), + }, + MenuItem::Separator, + MenuItem::Action { + name: "Add Cursor Above", + action: Box::new(editor::AddSelectionAbove), + }, + MenuItem::Action { + name: "Add Cursor Below", + action: Box::new(editor::AddSelectionBelow), + }, + MenuItem::Action { + name: "Select Next Occurrence", + action: Box::new(editor::SelectNext { + replace_newest: false, + }), + }, + MenuItem::Separator, + MenuItem::Action { + name: "Move Line Up", + action: Box::new(editor::MoveLineUp), + }, + MenuItem::Action { + name: "Move Line Down", + action: Box::new(editor::MoveLineDown), + }, + MenuItem::Action { + name: "Duplicate Selection", + action: Box::new(editor::DuplicateLine), + }, + ], + }, + Menu { + name: "View", + items: vec![ + MenuItem::Action { + name: "Zoom In", + action: Box::new(super::IncreaseBufferFontSize), + }, + MenuItem::Action { + name: "Zoom Out", + action: Box::new(super::DecreaseBufferFontSize), + }, + MenuItem::Separator, + MenuItem::Action { + name: "Project Browser", + action: Box::new(workspace::sidebar::ToggleSidebarItemFocus { + side: workspace::sidebar::Side::Left, + item_index: 0, + }), + }, + MenuItem::Action { + name: "Command Palette", + action: Box::new(command_palette::Toggle), + }, + MenuItem::Action { + name: "Diagnostics", + action: Box::new(diagnostics::Deploy), + }, + ], + }, + Menu { + name: "Go", + items: vec![ + MenuItem::Action { + name: "Back", + action: Box::new(workspace::GoBack { pane: None }), + }, + MenuItem::Action { + name: "Forward", + action: Box::new(workspace::GoForward { pane: None }), + }, + MenuItem::Separator, + MenuItem::Action { + name: "Go to File", + action: Box::new(file_finder::Toggle), + }, + MenuItem::Action { + name: "Go to Symbol in Project", + action: Box::new(project_symbols::Toggle), + }, + MenuItem::Action { + name: "Go to Symbol in Editor", + action: Box::new(outline::Toggle), + }, + MenuItem::Action { + name: "Go to Definition", + action: Box::new(editor::GoToDefinition), + }, + MenuItem::Action { + name: "Go to References", + action: Box::new(editor::FindAllReferences), + }, + MenuItem::Action { + name: "Go to Line/Column", + action: Box::new(go_to_line::Toggle), + }, + MenuItem::Separator, + MenuItem::Action { + name: "Next Problem", + action: Box::new(editor::GoToNextDiagnostic), + }, + MenuItem::Action { + name: "Previous Problem", + action: Box::new(editor::GoToPrevDiagnostic), + }, ], }, ]