Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - Add the ability to create Terminal Threads in the Sidebar and Agent Panel.
138 lines
3.3 KiB
Rust
138 lines
3.3 KiB
Rust
use crate::{EnumFeatureFlag, FeatureFlag, PresenceFlag, register_feature_flag};
|
|
|
|
pub struct NotebookFeatureFlag;
|
|
|
|
impl FeatureFlag for NotebookFeatureFlag {
|
|
const NAME: &'static str = "notebooks";
|
|
type Value = PresenceFlag;
|
|
}
|
|
register_feature_flag!(NotebookFeatureFlag);
|
|
|
|
pub struct PanicFeatureFlag;
|
|
|
|
impl FeatureFlag for PanicFeatureFlag {
|
|
const NAME: &'static str = "panic";
|
|
type Value = PresenceFlag;
|
|
}
|
|
register_feature_flag!(PanicFeatureFlag);
|
|
|
|
/// A feature flag for granting access to beta ACP features.
|
|
///
|
|
/// We reuse this feature flag for new betas, so don't delete it if it is not currently in use.
|
|
pub struct AcpBetaFeatureFlag;
|
|
|
|
impl FeatureFlag for AcpBetaFeatureFlag {
|
|
const NAME: &'static str = "acp-beta";
|
|
type Value = PresenceFlag;
|
|
}
|
|
register_feature_flag!(AcpBetaFeatureFlag);
|
|
|
|
pub struct AgentSharingFeatureFlag;
|
|
|
|
impl FeatureFlag for AgentSharingFeatureFlag {
|
|
const NAME: &'static str = "agent-sharing";
|
|
type Value = PresenceFlag;
|
|
}
|
|
register_feature_flag!(AgentSharingFeatureFlag);
|
|
|
|
pub struct DiffReviewFeatureFlag;
|
|
|
|
impl FeatureFlag for DiffReviewFeatureFlag {
|
|
const NAME: &'static str = "diff-review";
|
|
type Value = PresenceFlag;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
false
|
|
}
|
|
}
|
|
register_feature_flag!(DiffReviewFeatureFlag);
|
|
|
|
pub struct UpdatePlanToolFeatureFlag;
|
|
|
|
impl FeatureFlag for UpdatePlanToolFeatureFlag {
|
|
const NAME: &'static str = "update-plan-tool";
|
|
type Value = PresenceFlag;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
false
|
|
}
|
|
}
|
|
register_feature_flag!(UpdatePlanToolFeatureFlag);
|
|
|
|
pub struct LspToolFeatureFlag;
|
|
|
|
impl FeatureFlag for LspToolFeatureFlag {
|
|
const NAME: &'static str = "lsp-tool";
|
|
type Value = PresenceFlag;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
false
|
|
}
|
|
}
|
|
register_feature_flag!(LspToolFeatureFlag);
|
|
|
|
pub struct RenameToolFeatureFlag;
|
|
|
|
impl FeatureFlag for RenameToolFeatureFlag {
|
|
const NAME: &'static str = "rename-tool";
|
|
type Value = PresenceFlag;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
true
|
|
}
|
|
}
|
|
register_feature_flag!(RenameToolFeatureFlag);
|
|
|
|
pub struct ProjectPanelUndoRedoFeatureFlag;
|
|
|
|
impl FeatureFlag for ProjectPanelUndoRedoFeatureFlag {
|
|
const NAME: &'static str = "project-panel-undo-redo";
|
|
type Value = PresenceFlag;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
true
|
|
}
|
|
}
|
|
register_feature_flag!(ProjectPanelUndoRedoFeatureFlag);
|
|
|
|
/// Controls how agent thread worktree chips are labeled in the sidebar.
|
|
#[derive(Clone, Copy, PartialEq, Eq, Debug, EnumFeatureFlag)]
|
|
pub enum AgentThreadWorktreeLabel {
|
|
#[default]
|
|
Both,
|
|
Worktree,
|
|
Branch,
|
|
}
|
|
|
|
pub struct AgentThreadWorktreeLabelFlag;
|
|
|
|
impl FeatureFlag for AgentThreadWorktreeLabelFlag {
|
|
const NAME: &'static str = "agent-thread-worktree-label";
|
|
type Value = AgentThreadWorktreeLabel;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
false
|
|
}
|
|
}
|
|
register_feature_flag!(AgentThreadWorktreeLabelFlag);
|
|
|
|
pub struct AutoWatchFeatureFlag;
|
|
|
|
impl FeatureFlag for AutoWatchFeatureFlag {
|
|
const NAME: &'static str = "auto-watch-screens";
|
|
type Value = PresenceFlag;
|
|
}
|
|
register_feature_flag!(AutoWatchFeatureFlag);
|
|
|
|
pub struct SkillsFeatureFlag;
|
|
|
|
impl FeatureFlag for SkillsFeatureFlag {
|
|
const NAME: &'static str = "skills";
|
|
type Value = PresenceFlag;
|
|
|
|
fn enabled_for_staff() -> bool {
|
|
true
|
|
}
|
|
}
|
|
register_feature_flag!(SkillsFeatureFlag);
|