mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-24 19:10:24 +00:00
8ae5a3b61a
Co-authored-by: Antonio <antonio@zed.dev> Resurrected this from some assistant work I did in Spring of 2023. - [x] Resurrect streaming responses - [x] Use streaming responses to enable AI via Zed's servers by default (but preserve API key option for now) - [x] Simplify protobuf - [x] Proxy to OpenAI on zed.dev - [x] Proxy to Gemini on zed.dev - [x] Improve UX for switching between openAI and google models - We current disallow cycling when setting a custom model, but we need a better solution to keep OpenAI models available while testing the google ones - [x] Show remaining tokens correctly for Google models - [x] Remove semantic index - [x] Delete `ai` crate - [x] Cloud front so we can ban abuse - [x] Rate-limiting - [x] Fix panic when using inline assistant - [x] Double check the upgraded `AssistantSettings` are backwards-compatible - [x] Add hosted LLM interaction behind a `language-models` feature flag. Release Notes: - We are temporarily removing the semantic index in order to redesign it from scratch. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Thorsten <thorsten@zed.dev> Co-authored-by: Max <max@zed.dev>
36 lines
957 B
Rust
36 lines
957 B
Rust
use gpui::{Action, SharedString};
|
|
|
|
use crate::{ActivateRegexMode, ActivateTextMode};
|
|
|
|
// TODO: Update the default search mode to get from config
|
|
#[derive(Copy, Clone, Debug, Default, PartialEq)]
|
|
pub enum SearchMode {
|
|
#[default]
|
|
Text,
|
|
Regex,
|
|
}
|
|
|
|
impl SearchMode {
|
|
pub(crate) fn label(&self) -> &'static str {
|
|
match self {
|
|
SearchMode::Text => "Text",
|
|
SearchMode::Regex => "Regex",
|
|
}
|
|
}
|
|
pub(crate) fn tooltip(&self) -> SharedString {
|
|
format!("Activate {} Mode", self.label()).into()
|
|
}
|
|
pub(crate) fn action(&self) -> Box<dyn Action> {
|
|
match self {
|
|
SearchMode::Text => ActivateTextMode.boxed_clone(),
|
|
SearchMode::Regex => ActivateRegexMode.boxed_clone(),
|
|
}
|
|
}
|
|
}
|
|
|
|
pub(crate) fn next_mode(mode: &SearchMode) -> SearchMode {
|
|
match mode {
|
|
SearchMode::Text => SearchMode::Regex,
|
|
SearchMode::Regex => SearchMode::Text,
|
|
}
|
|
}
|