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

@ -46,6 +46,7 @@ use registrar::{ForDeployed, ForDismissed, SearchActionsRegistrar, WithResults};
const MAX_BUFFER_SEARCH_HISTORY_SIZE: usize = 50;
/// Opens the buffer search interface with the specified configuration.
#[derive(PartialEq, Clone, Deserialize, JsonSchema, Action)]
#[action(namespace = buffer_search)]
#[serde(deny_unknown_fields)]
@ -58,7 +59,17 @@ pub struct Deploy {
pub selection_search_enabled: bool,
}
actions!(buffer_search, [DeployReplace, Dismiss, FocusEditor]);
actions!(
buffer_search,
[
/// Deploys the search and replace interface.
DeployReplace,
/// Dismisses the search bar.
Dismiss,
/// Focuses back on the editor.
FocusEditor
]
);
impl Deploy {
pub fn find() -> Self {

View file

@ -47,7 +47,16 @@ use workspace::{
actions!(
project_search,
[SearchInNew, ToggleFocus, NextField, ToggleFilters]
[
/// Searches in a new project search tab.
SearchInNew,
/// Toggles focus between the search bar and the search results.
ToggleFocus,
/// Moves to the next input field.
NextField,
/// Toggles the search filters panel.
ToggleFilters
]
);
#[derive(Default)]

View file

@ -23,19 +23,35 @@ pub fn init(cx: &mut App) {
actions!(
search,
[
/// Focuses on the search input field.
FocusSearch,
/// Toggles whole word matching.
ToggleWholeWord,
/// Toggles case-sensitive search.
ToggleCaseSensitive,
/// Toggles searching in ignored files.
ToggleIncludeIgnored,
/// Toggles regular expression mode.
ToggleRegex,
/// Toggles the replace interface.
ToggleReplace,
/// Toggles searching within selection only.
ToggleSelection,
/// Selects the next search match.
SelectNextMatch,
/// Selects the previous search match.
SelectPreviousMatch,
/// Selects all search matches.
SelectAllMatches,
/// Cycles through search modes.
CycleMode,
/// Navigates to the next query in search history.
NextHistoryQuery,
/// Navigates to the previous query in search history.
PreviousHistoryQuery,
/// Replaces all matches.
ReplaceAll,
/// Replaces the next match.
ReplaceNext,
]
);