ui: Remove InlineCode component (#45123)

We recently added this `InlineCode` component but I'd forgotten that
many months ago I also introduced an `inline_code` method to the Label
component which does the same thing. That means we don't need a
standalone component at all!

Release Notes:

- N/A
This commit is contained in:
Danilo Leal authored and GitHub committed 2025-12-17 16:00:50 +00:00
1 parent 55543ed539
commit 5d3a26dcde
4 files changed
+7 -73

No files matched your search

@@ -20,7 +20,7 @@ use settings::{Settings, SettingsStore};
use std::pin::Pin;
use std::str::FromStr;
use std::{collections::BTreeMap, sync::Arc};
use ui::{ButtonLike, Indicator, InlineCode, List, ListBulletItem, prelude::*};
use ui::{ButtonLike, Indicator, List, ListBulletItem, prelude::*};
use util::ResultExt;
use crate::AllLanguageModelSettings;
@@ -691,7 +691,7 @@ impl Render for ConfigurationView {
.child(
ListBulletItem::new("")
.child(Label::new("To get your first model, try running"))
.child(InlineCode::new("lms get qwen2.5-coder-7b")),
.child(Label::new("lms get qwen2.5-coder-7b").inline_code(cx)),
),
),
)
@@ -23,8 +23,8 @@ use std::sync::LazyLock;
use std::sync::atomic::{AtomicU64, Ordering};
use std::{collections::HashMap, sync::Arc};
use ui::{
ButtonLike, ButtonLink, ConfiguredApiCard, ElevationIndex, InlineCode, List, ListBulletItem,
Tooltip, prelude::*,
ButtonLike, ButtonLink, ConfiguredApiCard, ElevationIndex, List, ListBulletItem, Tooltip,
prelude::*,
};
use ui_input::InputField;
@@ -724,7 +724,7 @@ impl ConfigurationView {
cx.notify();
}
fn render_instructions() -> Div {
fn render_instructions(cx: &mut Context<Self>) -> Div {
v_flex()
.gap_2()
.child(Label::new(
@@ -742,7 +742,7 @@ impl ConfigurationView {
.child(
ListBulletItem::new("")
.child(Label::new("Start Ollama and download a model:"))
.child(InlineCode::new("ollama run gpt-oss:20b")),
.child(Label::new("ollama run gpt-oss:20b").inline_code(cx)),
)
.child(ListBulletItem::new(
"Click 'Connect' below to start using Ollama in Zed",
@@ -833,7 +833,7 @@ impl Render for ConfigurationView {
v_flex()
.gap_2()
.child(Self::render_instructions())
.child(Self::render_instructions(cx))
.child(self.render_api_url_editor(cx))
.child(self.render_api_key_editor(cx))
.child(
-2
View File
@@ -17,7 +17,6 @@ mod icon;
mod image;
mod indent_guides;
mod indicator;
mod inline_code;
mod keybinding;
mod keybinding_hint;
mod label;
@@ -64,7 +63,6 @@ pub use icon::*;
pub use image::*;
pub use indent_guides::*;
pub use indicator::*;
pub use inline_code::*;
pub use keybinding::*;
pub use keybinding_hint::*;
pub use label::*;
-64
View File
@@ -1,64 +0,0 @@
use crate::prelude::*;
use gpui::{AnyElement, IntoElement, ParentElement, Styled};
/// InlineCode mimics the way inline code is rendered when wrapped in backticks in Markdown.
///
/// # Usage Example
///
/// ```
/// use ui::InlineCode;
///
/// let InlineCode = InlineCode::new("<div>hey</div>");
/// ```
#[derive(IntoElement, RegisterComponent)]
pub struct InlineCode {
label: SharedString,
label_size: LabelSize,
}
impl InlineCode {
pub fn new(label: impl Into<SharedString>) -> Self {
Self {
label: label.into(),
label_size: LabelSize::Default,
}
}
/// Sets the size of the label.
pub fn label_size(mut self, size: LabelSize) -> Self {
self.label_size = size;
self
}
}
impl RenderOnce for InlineCode {
fn render(self, _: &mut Window, cx: &mut App) -> impl IntoElement {
h_flex()
.min_w_0()
.px_0p5()
.overflow_hidden()
.bg(cx.theme().colors().text.opacity(0.05))
.child(Label::new(self.label).size(self.label_size).buffer_font(cx))
}
}
impl Component for InlineCode {
fn scope() -> ComponentScope {
ComponentScope::DataDisplay
}
fn preview(_window: &mut Window, _cx: &mut App) -> Option<AnyElement> {
Some(
v_flex()
.gap_6()
.child(
example_group(vec![single_example(
"Simple",
InlineCode::new("zed.dev").into_any_element(),
)])
.vertical(),
)
.into_any_element(),
)
}
}