summaryrefslogtreecommitdiff
path: root/src/window.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2011-10-04 18:49:41 +0000
committerMaxime Coste <frrrwww@gmail.com>2011-10-04 18:49:41 +0000
commitc8cf7bbaa9c6ee1ef312ddebb407f8bb13683210 (patch)
tree466f070c42a9be2edabefdefb7f65f4167601797 /src/window.cc
parent4f771b084a20758df20d36aea4e62c964f8fc6a0 (diff)
Window: add a basic status line
Diffstat (limited to 'src/window.cc')
-rw-r--r--src/window.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/window.cc b/src/window.cc
index 86be7d18..f75c08b1 100644
--- a/src/window.cc
+++ b/src/window.cc
@@ -4,6 +4,7 @@
#include "filters.hh"
#include <algorithm>
+#include <sstream>
namespace Kakoune
{
@@ -327,6 +328,26 @@ void Window::scroll_to_keep_cursor_visible_ifn()
}
}
+std::string Window::status_line() const
+{
+ BufferCoord cursor = window_to_buffer(cursor_position());
+ std::ostringstream oss;
+ oss << m_buffer.name() << " -- " << cursor.line << "," << cursor.column
+ << " -- " << m_selections.size() << " sel -- ";
+ switch (m_select_mode)
+ {
+ case SelectMode::Normal:
+ oss << "[Normal]";
+ break;
+ case SelectMode::Append:
+ oss << "[Append]";
+ break;
+ default:
+ assert(false);
+ }
+ return oss.str();
+}
+
IncrementalInserter::IncrementalInserter(Window& window, Mode mode)
: m_window(window)
{