Disable ligatures in SSH connection dialogue (#20549)

Closes #20381

Release Notes:

- Fixed password dialog for remote server showing ligatures
This commit is contained in:
Conrad Irwin 2024-11-12 11:33:22 -07:00 committed by GitHub
parent d1e2c6e657
commit 47ca3401ce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View file

@ -7,6 +7,11 @@ use schemars::schema::{InstanceType, SchemaObject};
pub struct FontFeatures(pub Arc<Vec<(String, u32)>>); pub struct FontFeatures(pub Arc<Vec<(String, u32)>>);
impl FontFeatures { impl FontFeatures {
/// Disables `calt`.
pub fn disable_ligatures() -> Self {
Self(Arc::new(vec![("calt".into(), 0)]))
}
/// Get the tag name list of the font OpenType features /// Get the tag name list of the font OpenType features
/// only enabled or disabled features are returned /// only enabled or disabled features are returned
pub fn tag_value_list(&self) -> &[(String, u32)] { pub fn tag_value_list(&self) -> &[(String, u32)] {

View file

@ -7,8 +7,8 @@ use editor::Editor;
use futures::channel::oneshot; use futures::channel::oneshot;
use gpui::{ use gpui::{
percentage, Animation, AnimationExt, AnyWindowHandle, AsyncAppContext, DismissEvent, percentage, Animation, AnimationExt, AnyWindowHandle, AsyncAppContext, DismissEvent,
EventEmitter, FocusableView, ParentElement as _, PromptLevel, Render, SemanticVersion, EventEmitter, FocusableView, FontFeatures, ParentElement as _, PromptLevel, Render,
SharedString, Task, TextStyleRefinement, Transformation, View, WeakView, SemanticVersion, SharedString, Task, TextStyleRefinement, Transformation, View, WeakView,
}; };
use gpui::{AppContext, Model}; use gpui::{AppContext, Model};
@ -178,6 +178,7 @@ impl SshPrompt {
let mut text_style = cx.text_style(); let mut text_style = cx.text_style();
let refinement = TextStyleRefinement { let refinement = TextStyleRefinement {
font_family: Some(theme.buffer_font.family.clone()), font_family: Some(theme.buffer_font.family.clone()),
font_features: Some(FontFeatures::disable_ligatures()),
font_size: Some(theme.buffer_font_size.into()), font_size: Some(theme.buffer_font_size.into()),
color: Some(cx.theme().colors().editor_foreground), color: Some(cx.theme().colors().editor_foreground),
background_color: Some(gpui::transparent_black()), background_color: Some(gpui::transparent_black()),