Skip to content

Commit

Permalink
Make completion window move to top when cursor is below half
Browse files Browse the repository at this point in the history
  • Loading branch information
vv9k committed Jun 20, 2021
1 parent 4b7276d commit 4b6b55c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
13 changes: 11 additions & 2 deletions helix-term/src/ui/completion.rs
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,9 @@ impl Component for Completion {
.language()
.and_then(|scope| scope.strip_prefix("source."))
.unwrap_or("");
let cursor_pos = doc.selection(view.id).cursor();
let cursor_pos =
helix_core::coords_at_pos(doc.text().slice(..), cursor_pos).row - view.first_line;

let doc = match &option.documentation {
Some(lsp::Documentation::String(contents))
Expand Down Expand Up @@ -289,8 +292,14 @@ impl Component for Completion {

let half = area.height / 2;
let height = 15.min(half);
// -2 to subtract command line + statusline. a bit of a hack, because of splits.
let area = Rect::new(0, area.height - height - 2, area.width, height);
let y = if cursor_pos > half as usize {
0
} else {
// -2 to subtract command line + statusline. a bit of a hack, because of splits.
area.height.saturating_sub(height).saturating_sub(2)
};

let area = Rect::new(0, y, area.width, height);

// clear area
let background = cx.editor.theme.get("ui.popup");
Expand Down
1 change: 0 additions & 1 deletion helix-term/src/ui/markdown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ fn parse<'a>(
}
}
Event::Code(text) | Event::Html(text) => {
log::warn!("code {:?}", text);
let mut span = to_span(text);
span.style = code_style;
spans.push(span);
Expand Down

0 comments on commit 4b6b55c

Please sign in to comment.