Inline language_model_selector into assistant_context_editor

This commit is contained in:
Piotr Osiewicz 2025-05-21 10:39:14 +02:00
parent a3513fb2b2
commit 22be776fa9
13 changed files with 15 additions and 70 deletions

24
Cargo.lock generated
View file

@ -86,7 +86,6 @@ dependencies = [
"jsonschema", "jsonschema",
"language", "language",
"language_model", "language_model",
"language_model_selector",
"log", "log",
"lsp", "lsp",
"markdown", "markdown",
@ -492,6 +491,7 @@ dependencies = [
"collections", "collections",
"context_server", "context_server",
"editor", "editor",
"feature_flags",
"fs", "fs",
"futures 0.3.31", "futures 0.3.31",
"fuzzy", "fuzzy",
@ -499,17 +499,18 @@ dependencies = [
"indexed_docs", "indexed_docs",
"language", "language",
"language_model", "language_model",
"language_model_selector",
"languages", "languages",
"log", "log",
"multi_buffer", "multi_buffer",
"open_ai", "open_ai",
"ordered-float 2.10.1",
"parking_lot", "parking_lot",
"paths", "paths",
"picker", "picker",
"pretty_assertions", "pretty_assertions",
"project", "project",
"prompt_store", "prompt_store",
"proto",
"rand 0.8.5", "rand 0.8.5",
"regex", "regex",
"rope", "rope",
@ -8753,25 +8754,6 @@ dependencies = [
"zed_llm_client", "zed_llm_client",
] ]
[[package]]
name = "language_model_selector"
version = "0.1.0"
dependencies = [
"collections",
"feature_flags",
"futures 0.3.31",
"fuzzy",
"gpui",
"language_model",
"log",
"ordered-float 2.10.1",
"picker",
"proto",
"ui",
"workspace-hack",
"zed_actions",
]
[[package]] [[package]]
name = "language_models" name = "language_models"
version = "0.1.0" version = "0.1.0"

View file

@ -80,7 +80,6 @@ members = [
"crates/language", "crates/language",
"crates/language_extension", "crates/language_extension",
"crates/language_model", "crates/language_model",
"crates/language_model_selector",
"crates/language_models", "crates/language_models",
"crates/language_selector", "crates/language_selector",
"crates/language_tools", "crates/language_tools",
@ -287,7 +286,6 @@ journal = { path = "crates/journal" }
language = { path = "crates/language" } language = { path = "crates/language" }
language_extension = { path = "crates/language_extension" } language_extension = { path = "crates/language_extension" }
language_model = { path = "crates/language_model" } language_model = { path = "crates/language_model" }
language_model_selector = { path = "crates/language_model_selector" }
language_models = { path = "crates/language_models" } language_models = { path = "crates/language_models" }
language_selector = { path = "crates/language_selector" } language_selector = { path = "crates/language_selector" }
language_tools = { path = "crates/language_tools" } language_tools = { path = "crates/language_tools" }

View file

@ -52,7 +52,6 @@ itertools.workspace = true
jsonschema.workspace = true jsonschema.workspace = true
language.workspace = true language.workspace = true
language_model.workspace = true language_model.workspace = true
language_model_selector.workspace = true
log.workspace = true log.workspace = true
lsp.workspace = true lsp.workspace = true
markdown.workspace = true markdown.workspace = true

View file

@ -3,10 +3,10 @@ use fs::Fs;
use gpui::{Entity, FocusHandle, SharedString}; use gpui::{Entity, FocusHandle, SharedString};
use crate::Thread; use crate::Thread;
use language_model::{ConfiguredModel, LanguageModelRegistry}; use assistant_context_editor::language_model_selector::{
use language_model_selector::{
LanguageModelSelector, LanguageModelSelectorPopoverMenu, ToggleModelSelector, LanguageModelSelector, LanguageModelSelectorPopoverMenu, ToggleModelSelector,
}; };
use language_model::{ConfiguredModel, LanguageModelRegistry};
use settings::update_settings_file; use settings::update_settings_file;
use std::sync::Arc; use std::sync::Arc;
use ui::{PopoverMenuHandle, Tooltip, prelude::*}; use ui::{PopoverMenuHandle, Tooltip, prelude::*};

View file

@ -17,6 +17,7 @@ use assistant_settings::{AssistantDockPosition, AssistantSettings};
use assistant_slash_command::SlashCommandWorkingSet; use assistant_slash_command::SlashCommandWorkingSet;
use assistant_tool::ToolWorkingSet; use assistant_tool::ToolWorkingSet;
use assistant_context_editor::language_model_selector::ToggleModelSelector;
use client::{UserStore, zed_urls}; use client::{UserStore, zed_urls};
use editor::{Anchor, AnchorRangeExt as _, Editor, EditorEvent, MultiBuffer}; use editor::{Anchor, AnchorRangeExt as _, Editor, EditorEvent, MultiBuffer};
use fs::Fs; use fs::Fs;
@ -30,7 +31,6 @@ use language::LanguageRegistry;
use language_model::{ use language_model::{
LanguageModelProviderTosView, LanguageModelRegistry, RequestUsage, ZED_CLOUD_PROVIDER_ID, LanguageModelProviderTosView, LanguageModelRegistry, RequestUsage, ZED_CLOUD_PROVIDER_ID,
}; };
use language_model_selector::ToggleModelSelector;
use project::{Project, ProjectPath, Worktree}; use project::{Project, ProjectPath, Worktree};
use prompt_store::{PromptBuilder, PromptStore, UserPromptId}; use prompt_store::{PromptBuilder, PromptStore, UserPromptId};
use proto::Plan; use proto::Plan;

View file

@ -9,6 +9,7 @@ use crate::terminal_codegen::TerminalCodegen;
use crate::thread_store::{TextThreadStore, ThreadStore}; use crate::thread_store::{TextThreadStore, ThreadStore};
use crate::{CycleNextInlineAssist, CyclePreviousInlineAssist}; use crate::{CycleNextInlineAssist, CyclePreviousInlineAssist};
use crate::{RemoveAllContext, ToggleContextPicker}; use crate::{RemoveAllContext, ToggleContextPicker};
use assistant_context_editor::language_model_selector::ToggleModelSelector;
use client::ErrorExt; use client::ErrorExt;
use collections::VecDeque; use collections::VecDeque;
use db::kvp::Dismissable; use db::kvp::Dismissable;
@ -24,7 +25,6 @@ use gpui::{
Focusable, FontWeight, Subscription, TextStyle, WeakEntity, Window, anchored, deferred, point, Focusable, FontWeight, Subscription, TextStyle, WeakEntity, Window, anchored, deferred, point,
}; };
use language_model::{LanguageModel, LanguageModelRegistry}; use language_model::{LanguageModel, LanguageModelRegistry};
use language_model_selector::ToggleModelSelector;
use parking_lot::Mutex; use parking_lot::Mutex;
use settings::Settings; use settings::Settings;
use std::cmp; use std::cmp;

View file

@ -8,6 +8,7 @@ use crate::ui::{
AnimatedLabel, MaxModeTooltip, AnimatedLabel, MaxModeTooltip,
preview::{AgentPreview, UsageCallout}, preview::{AgentPreview, UsageCallout},
}; };
use assistant_context_editor::language_model_selector::ToggleModelSelector;
use assistant_settings::{AssistantSettings, CompletionMode}; use assistant_settings::{AssistantSettings, CompletionMode};
use buffer_diff::BufferDiff; use buffer_diff::BufferDiff;
use client::UserStore; use client::UserStore;
@ -30,7 +31,6 @@ use language_model::{
ConfiguredModel, LanguageModelRequestMessage, MessageContent, RequestUsage, ConfiguredModel, LanguageModelRequestMessage, MessageContent, RequestUsage,
ZED_CLOUD_PROVIDER_ID, ZED_CLOUD_PROVIDER_ID,
}; };
use language_model_selector::ToggleModelSelector;
use multi_buffer; use multi_buffer;
use project::Project; use project::Project;
use prompt_store::PromptStore; use prompt_store::PromptStore;

View file

@ -22,6 +22,7 @@ clock.workspace = true
collections.workspace = true collections.workspace = true
context_server.workspace = true context_server.workspace = true
editor.workspace = true editor.workspace = true
feature_flags.workspace = true
fs.workspace = true fs.workspace = true
futures.workspace = true futures.workspace = true
fuzzy.workspace = true fuzzy.workspace = true
@ -29,15 +30,16 @@ gpui.workspace = true
indexed_docs.workspace = true indexed_docs.workspace = true
language.workspace = true language.workspace = true
language_model.workspace = true language_model.workspace = true
language_model_selector.workspace = true
log.workspace = true log.workspace = true
multi_buffer.workspace = true multi_buffer.workspace = true
open_ai.workspace = true open_ai.workspace = true
ordered-float.workspace = true
parking_lot.workspace = true parking_lot.workspace = true
paths.workspace = true paths.workspace = true
picker.workspace = true picker.workspace = true
project.workspace = true project.workspace = true
prompt_store.workspace = true prompt_store.workspace = true
proto.workspace = true
regex.workspace = true regex.workspace = true
rope.workspace = true rope.workspace = true
rpc.workspace = true rpc.workspace = true

View file

@ -2,6 +2,7 @@ mod context;
mod context_editor; mod context_editor;
mod context_history; mod context_history;
mod context_store; mod context_store;
pub mod language_model_selector;
mod slash_command; mod slash_command;
mod slash_command_picker; mod slash_command_picker;

View file

@ -1,3 +1,6 @@
use crate::language_model_selector::{
LanguageModelSelector, LanguageModelSelectorPopoverMenu, ToggleModelSelector,
};
use anyhow::Result; use anyhow::Result;
use assistant_settings::AssistantSettings; use assistant_settings::AssistantSettings;
use assistant_slash_command::{SlashCommand, SlashCommandOutputSection, SlashCommandWorkingSet}; use assistant_slash_command::{SlashCommand, SlashCommandOutputSection, SlashCommandWorkingSet};
@ -36,9 +39,6 @@ use language_model::{
LanguageModelImage, LanguageModelProvider, LanguageModelProviderTosView, LanguageModelRegistry, LanguageModelImage, LanguageModelProvider, LanguageModelProviderTosView, LanguageModelRegistry,
Role, Role,
}; };
use language_model_selector::{
LanguageModelSelector, LanguageModelSelectorPopoverMenu, ToggleModelSelector,
};
use multi_buffer::MultiBufferRow; use multi_buffer::MultiBufferRow;
use picker::Picker; use picker::Picker;
use project::{Project, Worktree}; use project::{Project, Worktree};

View file

@ -1,36 +0,0 @@
[package]
name = "language_model_selector"
version = "0.1.0"
edition.workspace = true
publish.workspace = true
license = "GPL-3.0-or-later"
[lints]
workspace = true
[lib]
path = "src/language_model_selector.rs"
[features]
test-support = [
"gpui/test-support",
]
[dependencies]
collections.workspace = true
feature_flags.workspace = true
futures.workspace = true
fuzzy.workspace = true
gpui.workspace = true
language_model.workspace = true
log.workspace = true
ordered-float.workspace = true
picker.workspace = true
proto.workspace = true
ui.workspace = true
workspace-hack.workspace = true
zed_actions.workspace = true
[dev-dependencies]
gpui = { workspace = true, "features" = ["test-support"] }
language_model = { workspace = true, "features" = ["test-support"] }

View file

@ -1 +0,0 @@
../../LICENSE-GPL