gpui: Store action documentation (#33809)

Closes #ISSUE

Adds a new `documentation` method to actions, that is extracted from doc
comments when using the `actions!` or derive macros.

Additionally, this PR adds doc comments to as many action definitions in
Zed as possible.

Release Notes:

- N/A *or* Added/Fixed/Improved ...
This commit is contained in:
Ben Kunkle 2025-07-02 20:14:33 -05:00 committed by GitHub
parent def8bab5a8
commit 6cd4dbdea1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
96 changed files with 1467 additions and 78 deletions

View file

@ -12,7 +12,15 @@ use smallvec::SmallVec;
use ui::{ContextMenu, PopoverMenu, PopoverMenuHandle, Tooltip, prelude::*};
#[cfg(not(target_os = "macos"))]
actions!(app_menu, [ActivateMenuRight, ActivateMenuLeft]);
actions!(
app_menu,
[
/// Navigates to the menu item on the right.
ActivateMenuRight,
/// Navigates to the menu item on the left.
ActivateMenuLeft
]
);
#[cfg(not(target_os = "macos"))]
#[derive(Clone, Deserialize, JsonSchema, PartialEq, Default, Action)]

View file

@ -11,7 +11,17 @@ use workspace::notifications::DetachAndPromptErr;
use crate::TitleBar;
actions!(collab, [ToggleScreenSharing, ToggleMute, ToggleDeafen]);
actions!(
collab,
[
/// Toggles screen sharing on or off.
ToggleScreenSharing,
/// Toggles microphone mute.
ToggleMute,
/// Toggles deafen mode (mute both microphone and speakers).
ToggleDeafen
]
);
fn toggle_screen_sharing(_: &ToggleScreenSharing, window: &mut Window, cx: &mut App) {
let call = ActiveCall::global(cx).read(cx);

View file

@ -47,7 +47,17 @@ const MAX_PROJECT_NAME_LENGTH: usize = 40;
const MAX_BRANCH_NAME_LENGTH: usize = 40;
const MAX_SHORT_SHA_LENGTH: usize = 8;
actions!(collab, [ToggleUserMenu, ToggleProjectMenu, SwitchBranch]);
actions!(
collab,
[
/// Toggles the user menu dropdown.
ToggleUserMenu,
/// Toggles the project menu dropdown.
ToggleProjectMenu,
/// Switches to a different git branch.
SwitchBranch
]
);
pub fn init(cx: &mut App) {
TitleBarSettings::register(cx);