summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2023-03-01 19:50:53 +1100
committerMaxime Coste <mawww@kakoune.org>2023-03-01 19:50:53 +1100
commit1479bf6f088b8d44f3ba31a794cb7ee92dec9f0a (patch)
treece34c40befe44c6cb23e25a01fada2b0e2ddfc65 /src
parent0a4c4a5de5ce5de804d2d96d2c6c5b92f69b3305 (diff)
parent6acc18373d16e7531660a8e6d2c417f58a3d5a2d (diff)
Merge remote-tracking branch 'inahga/aghani-info-width'
Diffstat (limited to 'src')
-rw-r--r--src/main.cc3
-rw-r--r--src/terminal_ui.cc6
-rw-r--r--src/terminal_ui.hh1
3 files changed, 8 insertions, 2 deletions
diff --git a/src/main.cc b/src/main.cc
index 6e4415cf..8ce47d8e 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -567,7 +567,8 @@ void register_options()
" terminal_wheel_scroll_amount int\n"
" terminal_shift_function_key int\n"
" terminal_padding_char codepoint\n"
- " terminal_padding_fill bool\n",
+ " terminal_padding_fill bool\n"
+ " terminal_info_max_width int\n",
UserInterface::Options{});
reg.declare_option("modelinefmt", "format string used to generate the modeline",
"%val{bufname} %val{cursor_line}:%val{cursor_char_column} {{context_info}} {{mode_info}} - %val{client}@[%val{session}]"_str);
diff --git a/src/terminal_ui.cc b/src/terminal_ui.cc
index 9d6cf4b0..311c2527 100644
--- a/src/terminal_ui.cc
+++ b/src/terminal_ui.cc
@@ -1264,7 +1264,9 @@ void TerminalUI::info_show(const DisplayLine& title, const DisplayLineList& cont
else if (style != InfoStyle::Modal)
max_size.line -= m_menu.size.line;
- const auto max_content_width = max_size.column - (framed ? 4 : 2) - (assisted ? m_assistant[0].column_length() : 0);
+ const auto max_content_width = (m_info_max_width > 0 ? std::min(max_size.column, m_info_max_width) : max_size.column) -
+ (framed ? 4 : 2) -
+ (assisted ? m_assistant[0].column_length() : 0);
if (max_content_width <= 0)
return;
@@ -1495,6 +1497,8 @@ void TerminalUI::set_ui_options(const Options& options)
m_padding_char = find("terminal_padding_char").map([](StringView s) { return s.column_length() < 1 ? ' ' : s[0_char]; }).value_or(Codepoint{'~'});
m_padding_fill = find("terminal_padding_fill").map(to_bool).value_or(false);
+
+ m_info_max_width = find("terminal_info_max_width").map(str_to_int_ifp).value_or(0);
}
}
diff --git a/src/terminal_ui.hh b/src/terminal_ui.hh
index b02cbb33..fe3f1d6b 100644
--- a/src/terminal_ui.hh
+++ b/src/terminal_ui.hh
@@ -170,6 +170,7 @@ private:
void set_resize_pending();
ColumnCount m_status_len = 0;
+ ColumnCount m_info_max_width = 0;
};
}