chore: fmt
This commit is contained in:
parent
cfecbc5522
commit
d0f287772b
3 changed files with 124 additions and 130 deletions
|
@ -1,6 +1,4 @@
|
||||||
use super::{AppVersion, CursorStyle, WindowBounds};
|
use super::{AppVersion, CursorStyle, WindowBounds};
|
||||||
use anyhow::{anyhow, Result};
|
|
||||||
use collections::VecDeque;
|
|
||||||
use crate::{
|
use crate::{
|
||||||
geometry::{
|
geometry::{
|
||||||
rect::RectF,
|
rect::RectF,
|
||||||
|
@ -9,6 +7,8 @@ use crate::{
|
||||||
keymap_matcher::KeymapMatcher,
|
keymap_matcher::KeymapMatcher,
|
||||||
Action, AnyWindowHandle, ClipboardItem, Menu,
|
Action, AnyWindowHandle, ClipboardItem, Menu,
|
||||||
};
|
};
|
||||||
|
use anyhow::{anyhow, Result};
|
||||||
|
use collections::VecDeque;
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
use postage::oneshot;
|
use postage::oneshot;
|
||||||
use std::{
|
use std::{
|
||||||
|
@ -330,12 +330,7 @@ impl super::Window for Window {
|
||||||
|
|
||||||
fn set_input_handler(&mut self, _: Box<dyn super::InputHandler>) {}
|
fn set_input_handler(&mut self, _: Box<dyn super::InputHandler>) {}
|
||||||
|
|
||||||
fn prompt(
|
fn prompt(&self, _: super::PromptLevel, _: &str, _: &[&str]) -> oneshot::Receiver<usize> {
|
||||||
&self,
|
|
||||||
_: super::PromptLevel,
|
|
||||||
_: &str,
|
|
||||||
_: &[&str],
|
|
||||||
) -> oneshot::Receiver<usize> {
|
|
||||||
let (done_tx, done_rx) = oneshot::channel();
|
let (done_tx, done_rx) = oneshot::channel();
|
||||||
self.pending_prompts.borrow_mut().push_back(done_tx);
|
self.pending_prompts.borrow_mut().push_back(done_tx);
|
||||||
done_rx
|
done_rx
|
||||||
|
|
|
@ -1,125 +1,123 @@
|
||||||
|
|
||||||
|
use gpui::fonts::{Properties, Weight};
|
||||||
|
use gpui::text_layout::*;
|
||||||
|
|
||||||
use gpui::text_layout::*;
|
#[gpui::test]
|
||||||
use gpui::fonts::{Properties, Weight};
|
fn test_wrap_line(cx: &mut gpui::AppContext) {
|
||||||
|
let font_cache = cx.font_cache().clone();
|
||||||
#[gpui::test]
|
let font_system = cx.platform().fonts();
|
||||||
fn test_wrap_line(cx: &mut gpui::AppContext) {
|
let family = font_cache
|
||||||
let font_cache = cx.font_cache().clone();
|
.load_family(&["Courier"], &Default::default())
|
||||||
let font_system = cx.platform().fonts();
|
.unwrap();
|
||||||
let family = font_cache
|
let font_id = font_cache.select_font(family, &Default::default()).unwrap();
|
||||||
.load_family(&["Courier"], &Default::default())
|
|
||||||
.unwrap();
|
|
||||||
let font_id = font_cache.select_font(family, &Default::default()).unwrap();
|
|
||||||
|
|
||||||
let mut wrapper = LineWrapper::new(font_id, 16., font_system);
|
|
||||||
assert_eq!(
|
|
||||||
wrapper
|
|
||||||
.wrap_line("aa bbb cccc ddddd eeee", 72.0)
|
|
||||||
.collect::<Vec<_>>(),
|
|
||||||
&[
|
|
||||||
Boundary::new(7, 0),
|
|
||||||
Boundary::new(12, 0),
|
|
||||||
Boundary::new(18, 0)
|
|
||||||
],
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
wrapper
|
|
||||||
.wrap_line("aaa aaaaaaaaaaaaaaaaaa", 72.0)
|
|
||||||
.collect::<Vec<_>>(),
|
|
||||||
&[
|
|
||||||
Boundary::new(4, 0),
|
|
||||||
Boundary::new(11, 0),
|
|
||||||
Boundary::new(18, 0)
|
|
||||||
],
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
wrapper.wrap_line(" aaaaaaa", 72.).collect::<Vec<_>>(),
|
|
||||||
&[
|
|
||||||
Boundary::new(7, 5),
|
|
||||||
Boundary::new(9, 5),
|
|
||||||
Boundary::new(11, 5),
|
|
||||||
]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
wrapper
|
|
||||||
.wrap_line(" ", 72.)
|
|
||||||
.collect::<Vec<_>>(),
|
|
||||||
&[
|
|
||||||
Boundary::new(7, 0),
|
|
||||||
Boundary::new(14, 0),
|
|
||||||
Boundary::new(21, 0)
|
|
||||||
]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
wrapper
|
|
||||||
.wrap_line(" aaaaaaaaaaaaaa", 72.)
|
|
||||||
.collect::<Vec<_>>(),
|
|
||||||
&[
|
|
||||||
Boundary::new(7, 0),
|
|
||||||
Boundary::new(14, 3),
|
|
||||||
Boundary::new(18, 3),
|
|
||||||
Boundary::new(22, 3),
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[gpui::test(retries = 5)]
|
|
||||||
fn test_wrap_shaped_line(cx: &mut gpui::AppContext) {
|
|
||||||
// This is failing intermittently on CI and we don't have time to figure it out
|
|
||||||
let font_cache = cx.font_cache().clone();
|
|
||||||
let font_system = cx.platform().fonts();
|
|
||||||
let text_layout_cache = TextLayoutCache::new(font_system.clone());
|
|
||||||
|
|
||||||
let family = font_cache
|
|
||||||
.load_family(&["Helvetica"], &Default::default())
|
|
||||||
.unwrap();
|
|
||||||
let font_id = font_cache.select_font(family, &Default::default()).unwrap();
|
|
||||||
let normal = RunStyle {
|
|
||||||
font_id,
|
|
||||||
color: Default::default(),
|
|
||||||
underline: Default::default(),
|
|
||||||
};
|
|
||||||
let bold = RunStyle {
|
|
||||||
font_id: font_cache
|
|
||||||
.select_font(
|
|
||||||
family,
|
|
||||||
&Properties {
|
|
||||||
weight: Weight::BOLD,
|
|
||||||
..Default::default()
|
|
||||||
},
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
color: Default::default(),
|
|
||||||
underline: Default::default(),
|
|
||||||
};
|
|
||||||
|
|
||||||
let text = "aa bbb cccc ddddd eeee";
|
|
||||||
let line = text_layout_cache.layout_str(
|
|
||||||
text,
|
|
||||||
16.0,
|
|
||||||
&[(4, normal), (5, bold), (6, normal), (1, bold), (7, normal)],
|
|
||||||
);
|
|
||||||
|
|
||||||
let mut wrapper = LineWrapper::new(font_id, 16., font_system);
|
|
||||||
assert_eq!(
|
|
||||||
wrapper
|
|
||||||
.wrap_shaped_line(text, &line, 72.0)
|
|
||||||
.collect::<Vec<_>>(),
|
|
||||||
&[
|
|
||||||
ShapedBoundary {
|
|
||||||
run_ix: 1,
|
|
||||||
glyph_ix: 3
|
|
||||||
},
|
|
||||||
ShapedBoundary {
|
|
||||||
run_ix: 2,
|
|
||||||
glyph_ix: 3
|
|
||||||
},
|
|
||||||
ShapedBoundary {
|
|
||||||
run_ix: 4,
|
|
||||||
glyph_ix: 2
|
|
||||||
}
|
|
||||||
],
|
|
||||||
);
|
|
||||||
|
|
||||||
|
let mut wrapper = LineWrapper::new(font_id, 16., font_system);
|
||||||
|
assert_eq!(
|
||||||
|
wrapper
|
||||||
|
.wrap_line("aa bbb cccc ddddd eeee", 72.0)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
&[
|
||||||
|
Boundary::new(7, 0),
|
||||||
|
Boundary::new(12, 0),
|
||||||
|
Boundary::new(18, 0)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
wrapper
|
||||||
|
.wrap_line("aaa aaaaaaaaaaaaaaaaaa", 72.0)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
&[
|
||||||
|
Boundary::new(4, 0),
|
||||||
|
Boundary::new(11, 0),
|
||||||
|
Boundary::new(18, 0)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
wrapper.wrap_line(" aaaaaaa", 72.).collect::<Vec<_>>(),
|
||||||
|
&[
|
||||||
|
Boundary::new(7, 5),
|
||||||
|
Boundary::new(9, 5),
|
||||||
|
Boundary::new(11, 5),
|
||||||
|
]
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
wrapper
|
||||||
|
.wrap_line(" ", 72.)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
&[
|
||||||
|
Boundary::new(7, 0),
|
||||||
|
Boundary::new(14, 0),
|
||||||
|
Boundary::new(21, 0)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
wrapper
|
||||||
|
.wrap_line(" aaaaaaaaaaaaaa", 72.)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
&[
|
||||||
|
Boundary::new(7, 0),
|
||||||
|
Boundary::new(14, 3),
|
||||||
|
Boundary::new(18, 3),
|
||||||
|
Boundary::new(22, 3),
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[gpui::test(retries = 5)]
|
||||||
|
fn test_wrap_shaped_line(cx: &mut gpui::AppContext) {
|
||||||
|
// This is failing intermittently on CI and we don't have time to figure it out
|
||||||
|
let font_cache = cx.font_cache().clone();
|
||||||
|
let font_system = cx.platform().fonts();
|
||||||
|
let text_layout_cache = TextLayoutCache::new(font_system.clone());
|
||||||
|
|
||||||
|
let family = font_cache
|
||||||
|
.load_family(&["Helvetica"], &Default::default())
|
||||||
|
.unwrap();
|
||||||
|
let font_id = font_cache.select_font(family, &Default::default()).unwrap();
|
||||||
|
let normal = RunStyle {
|
||||||
|
font_id,
|
||||||
|
color: Default::default(),
|
||||||
|
underline: Default::default(),
|
||||||
|
};
|
||||||
|
let bold = RunStyle {
|
||||||
|
font_id: font_cache
|
||||||
|
.select_font(
|
||||||
|
family,
|
||||||
|
&Properties {
|
||||||
|
weight: Weight::BOLD,
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.unwrap(),
|
||||||
|
color: Default::default(),
|
||||||
|
underline: Default::default(),
|
||||||
|
};
|
||||||
|
|
||||||
|
let text = "aa bbb cccc ddddd eeee";
|
||||||
|
let line = text_layout_cache.layout_str(
|
||||||
|
text,
|
||||||
|
16.0,
|
||||||
|
&[(4, normal), (5, bold), (6, normal), (1, bold), (7, normal)],
|
||||||
|
);
|
||||||
|
|
||||||
|
let mut wrapper = LineWrapper::new(font_id, 16., font_system);
|
||||||
|
assert_eq!(
|
||||||
|
wrapper
|
||||||
|
.wrap_shaped_line(text, &line, 72.0)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
&[
|
||||||
|
ShapedBoundary {
|
||||||
|
run_ix: 1,
|
||||||
|
glyph_ix: 3
|
||||||
|
},
|
||||||
|
ShapedBoundary {
|
||||||
|
run_ix: 2,
|
||||||
|
glyph_ix: 3
|
||||||
|
},
|
||||||
|
ShapedBoundary {
|
||||||
|
run_ix: 4,
|
||||||
|
glyph_ix: 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,8 @@ fn main() {
|
||||||
|
|
||||||
log::info!("========== starting zed ==========");
|
log::info!("========== starting zed ==========");
|
||||||
let platform = platform();
|
let platform = platform();
|
||||||
let foreground = std::rc::Rc::new(gpui::executor::Foreground::platform(platform.dispatcher()).unwrap());
|
let foreground =
|
||||||
|
std::rc::Rc::new(gpui::executor::Foreground::platform(platform.dispatcher()).unwrap());
|
||||||
let fplatform = foreground_platform(foreground);
|
let fplatform = foreground_platform(foreground);
|
||||||
let mut app = gpui::App::new(Assets, platform, fplatform).unwrap();
|
let mut app = gpui::App::new(Assets, platform, fplatform).unwrap();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue