Fix buffer_line_height bugs (#2756)

Release Notes:

- Bug fix: Raise minimum line height to 1.1
- Bug fix: Disable buffer_line_height setting in non-buffer UI
This commit is contained in:
Mikayla Maki 2023-07-19 17:11:45 -07:00 committed by GitHub
commit 6f1dcb4e94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 3 deletions

View File

@ -1300,7 +1300,7 @@ impl Editor {
let editor_view_id = cx.view_id();
let display_map = cx.add_model(|cx| {
let settings = settings::get::<ThemeSettings>(cx);
let style = build_style(settings, get_field_editor_theme.as_deref(), None, cx);
let style = build_style(settings, get_field_editor_theme.as_deref(), None, &mode, cx);
DisplayMap::new(
buffer.clone(),
style.text.font_id,
@ -1500,6 +1500,7 @@ impl Editor {
settings::get::<ThemeSettings>(cx),
self.get_field_editor_theme.as_deref(),
self.override_text_style.as_deref(),
&self.mode,
cx,
)
}
@ -8152,10 +8153,11 @@ fn build_style(
settings: &ThemeSettings,
get_field_editor_theme: Option<&GetFieldEditorTheme>,
override_text_style: Option<&OverrideTextStyle>,
mode: &EditorMode,
cx: &AppContext,
) -> EditorStyle {
let font_cache = cx.font_cache();
let line_height_scalar = settings.line_height();
let mut line_height_scalar = settings.line_height();
let theme_id = settings.theme.meta.id;
let mut theme = settings.theme.editor.clone();
let mut style = if let Some(get_field_editor_theme) = get_field_editor_theme {
@ -8166,6 +8168,14 @@ fn build_style(
.container
.background_color
.unwrap_or_default();
line_height_scalar = match mode {
EditorMode::Full => line_height_scalar,
EditorMode::AutoHeight { .. } | EditorMode::SingleLine => cx
.font_cache()
.line_height(field_editor_theme.text.font_size),
};
EditorStyle {
text: field_editor_theme.text,
placeholder_text: field_editor_theme.placeholder_text,

View File

@ -1977,6 +1977,7 @@ impl Element<Editor> for EditorElement {
let snapshot = editor.snapshot(cx);
let style = self.style.clone();
let line_height = (style.text.font_size * style.line_height_scalar).round();
let gutter_padding;

View File

@ -13,7 +13,7 @@ use std::sync::Arc;
use util::ResultExt as _;
const MIN_FONT_SIZE: f32 = 6.0;
const MIN_LINE_HEIGHT: f32 = 1.0;
const MIN_LINE_HEIGHT: f32 = 1.1;
#[derive(Clone, JsonSchema)]
pub struct ThemeSettings {