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

1
Cargo.lock generated
View file

@ -753,6 +753,7 @@ dependencies = [
"tempfile", "tempfile",
"terminal", "terminal",
"terminal_view", "terminal_view",
"theme",
"tree-sitter-rust", "tree-sitter-rust",
"ui", "ui",
"unindent", "unindent",

View file

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

View file

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