Move assistant actions to the top of the crate

Co-Authored-By: Marshall <marshall@zed.dev>
This commit is contained in:
Antonio Scandurra 2023-12-06 18:39:50 +01:00
parent 14def2a1a3
commit e4884f1d76
2 changed files with 25 additions and 25 deletions

View file

@ -12,12 +12,25 @@ use chrono::{DateTime, Local};
use collections::HashMap; use collections::HashMap;
use fs::Fs; use fs::Fs;
use futures::StreamExt; use futures::StreamExt;
use gpui::AppContext; use gpui::{actions, AppContext};
use regex::Regex; use regex::Regex;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::{cmp::Reverse, ffi::OsStr, path::PathBuf, sync::Arc}; use std::{cmp::Reverse, ffi::OsStr, path::PathBuf, sync::Arc};
use util::paths::CONVERSATIONS_DIR; use util::paths::CONVERSATIONS_DIR;
actions!(
NewConversation,
Assist,
Split,
CycleMessageRole,
QuoteSelection,
ToggleFocus,
ResetKey,
InlineAssist,
ToggleIncludeConversation,
ToggleRetrieveContext,
);
#[derive( #[derive(
Copy, Clone, Debug, Default, Eq, PartialEq, PartialOrd, Ord, Hash, Serialize, Deserialize, Copy, Clone, Debug, Default, Eq, PartialEq, PartialOrd, Ord, Hash, Serialize, Deserialize,
)] )]

View file

@ -2,8 +2,9 @@ use crate::{
assistant_settings::{AssistantDockPosition, AssistantSettings, OpenAIModel}, assistant_settings::{AssistantDockPosition, AssistantSettings, OpenAIModel},
codegen::{self, Codegen, CodegenKind}, codegen::{self, Codegen, CodegenKind},
prompts::generate_content_prompt, prompts::generate_content_prompt,
MessageId, MessageMetadata, MessageStatus, Role, SavedConversation, SavedConversationMetadata, Assist, CycleMessageRole, InlineAssist, MessageId, MessageMetadata, MessageStatus,
SavedMessage, NewConversation, QuoteSelection, ResetKey, Role, SavedConversation, SavedConversationMetadata,
SavedMessage, Split, ToggleFocus, ToggleIncludeConversation, ToggleRetrieveContext,
}; };
use ai::{ use ai::{
@ -28,12 +29,12 @@ use editor::{
use fs::Fs; use fs::Fs;
use futures::StreamExt; use futures::StreamExt;
use gpui::{ use gpui::{
actions, div, point, relative, rems, uniform_list, Action, AnyElement, AppContext, div, point, relative, rems, uniform_list, Action, AnyElement, AppContext, AsyncWindowContext,
AsyncWindowContext, ClipboardItem, Context, Div, EventEmitter, FocusHandle, Focusable, ClipboardItem, Context, Div, EventEmitter, FocusHandle, Focusable, FocusableView, FontStyle,
FocusableView, FontStyle, FontWeight, HighlightStyle, InteractiveElement, IntoElement, Model, FontWeight, HighlightStyle, InteractiveElement, IntoElement, Model, ModelContext,
ModelContext, ParentElement, Pixels, PromptLevel, Render, SharedString, ParentElement, Pixels, PromptLevel, Render, SharedString, StatefulInteractiveElement, Styled,
StatefulInteractiveElement, Styled, Subscription, Task, TextStyle, UniformListScrollHandle, Subscription, Task, TextStyle, UniformListScrollHandle, View, ViewContext, VisualContext,
View, ViewContext, VisualContext, WeakModel, WeakView, WhiteSpace, WindowContext, WeakModel, WeakView, WhiteSpace, WindowContext,
}; };
use language::{language_settings::SoftWrap, Buffer, LanguageRegistry, ToOffset as _}; use language::{language_settings::SoftWrap, Buffer, LanguageRegistry, ToOffset as _};
use project::Project; use project::Project;
@ -51,10 +52,9 @@ use std::{
sync::Arc, sync::Arc,
time::{Duration, Instant}, time::{Duration, Instant},
}; };
use theme::{ActiveTheme, ThemeSettings}; use theme::ThemeSettings;
use ui::{ use ui::{
h_stack, v_stack, Button, ButtonCommon, ButtonLike, Clickable, Color, Icon, IconButton, h_stack, prelude::*, v_stack, Button, ButtonLike, Icon, IconButton, IconElement, Label, Tooltip,
IconElement, Label, Selectable, Tooltip,
}; };
use util::{paths::CONVERSATIONS_DIR, post_inc, ResultExt, TryFutureExt}; use util::{paths::CONVERSATIONS_DIR, post_inc, ResultExt, TryFutureExt};
use uuid::Uuid; use uuid::Uuid;
@ -64,19 +64,6 @@ use workspace::{
Save, Toast, ToggleZoom, Toolbar, Workspace, Save, Toast, ToggleZoom, Toolbar, Workspace,
}; };
actions!(
NewConversation,
Assist,
Split,
CycleMessageRole,
QuoteSelection,
ToggleFocus,
ResetKey,
InlineAssist,
ToggleIncludeConversation,
ToggleRetrieveContext,
);
pub fn init(cx: &mut AppContext) { pub fn init(cx: &mut AppContext) {
AssistantSettings::register(cx); AssistantSettings::register(cx);
cx.observe_new_views( cx.observe_new_views(