summaryrefslogtreecommitdiff
path: root/src/context.cc
diff options
context:
space:
mode:
authorDelapouite <delapouite@gmail.com>2017-09-27 17:26:39 +0200
committerDelapouite <delapouite@gmail.com>2017-09-27 17:26:39 +0200
commit6b339b7a97692efb53af42650f570242e38ab008 (patch)
treecdb0c4596f7a104ed9fbfa95a2a4b4aec1c4b0f3 /src/context.cc
parent76f072a786c84195bd04e65afd76ccc01da8b69b (diff)
Add status info when navigating through jumplist (<c-o>, <c-i>)
Diffstat (limited to 'src/context.cc')
-rw-r--r--src/context.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/context.cc b/src/context.cc
index 3963254d..e3e20e0c 100644
--- a/src/context.cc
+++ b/src/context.cc
@@ -2,6 +2,7 @@
#include "alias_registry.hh"
#include "client.hh"
+#include "face_registry.hh"
#include "register_manager.hh"
#include "window.hh"
@@ -85,26 +86,33 @@ void JumpList::push(SelectionList jump)
m_current = m_jumps.size();
}
-const SelectionList& JumpList::forward()
+const SelectionList& JumpList::forward(Context& context)
{
if (m_current != m_jumps.size() and
m_current + 1 != m_jumps.size())
{
SelectionList& res = m_jumps[++m_current];
res.update();
+ context.print_status({ format("jumped to #{} ({})",
+ m_current, m_jumps.size() - 1),
+ get_face("Information") });
return res;
}
throw runtime_error("no next jump");
}
-const SelectionList& JumpList::backward(const SelectionList& current)
+const SelectionList& JumpList::backward(Context& context)
{
+ const SelectionList& current = context.selections();
if (m_current != m_jumps.size() and
m_jumps[m_current] != current)
{
push(current);
SelectionList& res = m_jumps[--m_current];
res.update();
+ context.print_status({ format("jumped to #{} ({})",
+ m_current, m_jumps.size() - 1),
+ get_face("Information") });
return res;
}
if (m_current != 0)
@@ -117,6 +125,9 @@ const SelectionList& JumpList::backward(const SelectionList& current)
}
SelectionList& res = m_jumps[--m_current];
res.update();
+ context.print_status({ format("jumped to #{} ({})",
+ m_current, m_jumps.size() - 1),
+ get_face("Information") });
return res;
}
throw runtime_error("no previous jump");