mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-08 02:31:18 -03:00
improve the size of completions page to show the entire prompt
This commit is contained in:
@@ -434,9 +434,11 @@ static void reader_repaint() {
|
||||
std::vector<int> indents = data->indents;
|
||||
indents.resize(len);
|
||||
|
||||
// Re-render our completions page if necessary. We set the term size to 1 less than the true
|
||||
// term height. This means we will always show the (bottom) line of the prompt.
|
||||
data->pager.set_term_size(maxi(1, common_get_width()), maxi(1, common_get_height() - 1));
|
||||
// Re-render our completions page if necessary. We set the term size to less than the true
|
||||
// term height by the number of prompt lines. This means we will always show the entire line of
|
||||
// the prompt.
|
||||
data->pager.set_term_size(maxi(1, common_get_width()),
|
||||
maxi(1, common_get_height() - (int)calc_prompt_lines(full_line)));
|
||||
data->pager.update_rendering(&data->current_page_rendering);
|
||||
|
||||
bool focused_on_pager = data->active_edit_line() == &data->pager.search_field_line;
|
||||
|
||||
@@ -346,7 +346,7 @@ static prompt_layout_t calc_prompt_layout(const wchar_t *prompt, prompt_type_t w
|
||||
return prompt_layout;
|
||||
}
|
||||
|
||||
static size_t calc_prompt_lines(const wcstring &prompt) {
|
||||
size_t calc_prompt_lines(const wcstring &prompt) {
|
||||
// Hack for the common case where there's no newline at all. I don't know if a newline can
|
||||
// appear in an escape sequence, so if we detect a newline we have to defer to
|
||||
// calc_prompt_width_and_lines.
|
||||
|
||||
@@ -240,4 +240,7 @@ class cached_esc_sequences_t {
|
||||
// change by calling `cached_esc_sequences.clear()`.
|
||||
extern cached_esc_sequences_t cached_esc_sequences;
|
||||
|
||||
// Calculates the number of prompt lines.
|
||||
size_t calc_prompt_lines(const wcstring &prompt);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user