In the edit tool card, use the UI font size for the editor that we use to render the diff (#29882)

I am currently setting the font size corrrectly by using a custom
EditorStyle and building an element. However I need to use the same
properties as a normal editor for everything but font size.

Release Notes:

- N/A
This commit is contained in:
Nathan Sobo 2025-05-04 18:09:47 -06:00 committed by GitHub
parent 52da375a9d
commit eb15ed7d60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 1 deletions

View file

@ -56,6 +56,7 @@ web_search.workspace = true
workspace-hack.workspace = true
workspace.workspace = true
zed_llm_client.workspace = true
theme.workspace = true
[dev-dependencies]
client = { workspace = true, features = ["test-support"] }

View file

@ -8,7 +8,7 @@ use buffer_diff::{BufferDiff, BufferDiffSnapshot};
use editor::{Editor, EditorMode, MultiBuffer, PathKey};
use gpui::{
Animation, AnimationExt, AnyWindowHandle, App, AppContext, AsyncApp, Context, Entity, EntityId,
Task, WeakEntity, pulsating_between,
Task, TextStyleRefinement, WeakEntity, pulsating_between,
};
use language::{
Anchor, Buffer, Capability, LanguageRegistry, LineEnding, OffsetRangeExt, Rope, TextBuffer,
@ -18,11 +18,13 @@ use language_model::{LanguageModelRequestMessage, LanguageModelToolSchemaFormat}
use project::{AgentLocation, Project};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use settings::Settings;
use std::{
path::{Path, PathBuf},
sync::Arc,
time::Duration,
};
use theme::ThemeSettings;
use ui::{Disclosure, Tooltip, Window, prelude::*};
use util::ResultExt;
use workspace::Workspace;
@ -540,6 +542,13 @@ impl ToolCard for EditFileToolCard {
});
let (editor, editor_line_height) = self.editor.update(cx, |editor, cx| {
let ui_font_size = ThemeSettings::get_global(cx).ui_font_size(cx);
editor.set_text_style_refinement(TextStyleRefinement {
font_size: Some(ui_font_size.into()),
..TextStyleRefinement::default()
});
let line_height = editor
.style()
.map(|style| style.text.line_height_in_pixels(window.rem_size()))