@@ -240,8 +240,8 @@ impl MessageEditor {
text: format!("@{}", mat.string),
runs: Vec::new(),
},
- server_id: LanguageServerId(0), // TODO: Make this optional or something?
documentation: None,
+ server_id: LanguageServerId(0), // TODO: Make this optional or something?
lsp_completion: Default::default(), // TODO: Make this optional or something?
})
.collect())
@@ -326,7 +326,6 @@ impl Render for MessageEditor {
div()
.w_full()
- .h(px(500.))
.px_2()
.py_1()
.bg(cx.theme().colors().editor_background)
@@ -360,7 +359,7 @@ mod tests {
MessageEditor::new(
language_registry,
ChannelStore::global(cx),
- cx.new_view(|cx| Editor::auto_height(25, cx)),
+ cx.new_view(|cx| Editor::auto_height(4, cx)),
cx,
)
});
@@ -1177,9 +1177,9 @@ impl EditorElement {
list_origin.x = (cx.viewport_size().width - list_width).max(Pixels::ZERO);
}
- // if list_origin.y + list_height > text_bounds.lower_right().y {
- // list_origin.y -= layout.position_map.line_height + list_height;
- // }
+ if list_origin.y + list_height > text_bounds.lower_right().y {
+ list_origin.y -= layout.position_map.line_height + list_height;
+ }
cx.break_content_mask(|cx| context_menu.draw(list_origin, available_space, cx));
}
@@ -2128,7 +2128,13 @@ impl EditorElement {
if let Some(newest_selection_head) = newest_selection_head {
if (start_row..end_row).contains(&newest_selection_head.row()) {
if editor.context_menu_visible() {
- let max_height = (12. * line_height).min((bounds.size.height - line_height) / 2.);
+ let max_height = cmp::min(
+ 12. * line_height,
+ cmp::max(
+ 3. * line_height,
+ (bounds.size.height - line_height) / 2.,
+ )
+ );
context_menu =
editor.render_context_menu(newest_selection_head, &self.style, max_height, cx);
}
@@ -379,10 +379,11 @@ pub trait LspAdapter: 'static + Send + Sync {
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct CodeLabel {
+ /// The text to display.
pub text: String,
- /// Determines the syntax highlighting for the label
+ /// Syntax highlighting runs.
pub runs: Vec<(Range<usize>, HighlightId)>,
- /// Which part of the label participates
+ /// The portion of the text that should be used in fuzzy filtering.
pub filter_range: Range<usize>,
}