Update assistant to agent in settings and keymaps (#29943)

Closes #ISSUE

Release Notes:

- Agent Beta: Renamed the top-level `assistant` settings key to `agent`.
A migration for existing settings files is included.
- Agent Beta: Moved the `assistant::ToggleFocus`,
`assistant::ToggleModelSelector`, and `assistant::OpenRulesLibrary`
actions to the `agent` namespace. Existing keymaps that mention these
actions by their old names will continue to work.

---------

Co-authored-by: Max <max@zed.dev>
This commit is contained in:
Cole Miller 2025-05-05 21:02:56 -04:00 committed by GitHub
parent 34e10e4e56
commit bdd911f89e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 191 additions and 58 deletions

View file

@ -0,0 +1,41 @@
use std::ops::Range;
use tree_sitter::{Query, QueryMatch};
use crate::{
MigrationPatterns, patterns::SETTINGS_ASSISTANT_PATTERN,
patterns::SETTINGS_EDIT_PREDICTIONS_ASSISTANT_PATTERN,
};
pub const SETTINGS_PATTERNS: MigrationPatterns = &[
(SETTINGS_ASSISTANT_PATTERN, rename_assistant),
(
SETTINGS_EDIT_PREDICTIONS_ASSISTANT_PATTERN,
rename_edit_prediction_assistant,
),
];
fn rename_assistant(
_contents: &str,
mat: &QueryMatch,
query: &Query,
) -> Option<(Range<usize>, String)> {
let key_capture_ix = query.capture_index_for_name("key")?;
let key_range = mat
.nodes_for_capture_index(key_capture_ix)
.next()?
.byte_range();
return Some((key_range, "agent".to_string()));
}
fn rename_edit_prediction_assistant(
_contents: &str,
mat: &QueryMatch,
query: &Query,
) -> Option<(Range<usize>, String)> {
let key_capture_ix = query.capture_index_for_name("enabled_in_assistant")?;
let key_range = mat
.nodes_for_capture_index(key_capture_ix)
.next()?
.byte_range();
return Some((key_range, "enabled_in_text_threads".to_string()));
}