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