summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Much/Action.hs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Much/Action.hs b/src/Much/Action.hs
index 5872964..1e4785a 100644
--- a/src/Much/Action.hs
+++ b/src/Much/Action.hs
@@ -96,6 +96,17 @@ moveToParent q@State{..} =
i -> moveTreeDown i q'
+moveCursorToThread :: Monad m => State -> m State
+moveCursorToThread q@State{..} =
+ case Z.label cursor of
+ TVSearch _ ->
+ return q { flashMessage = "cannot go further up" }
+ TVSearchResult _ ->
+ return q
+ _ ->
+ moveToParent q >>= moveCursorToThread
+
+
moveCursorToUnread
:: (Num a, Monad m, Eq a)
=> (Z.TreePos Z.Full TreeView -> Maybe (Z.TreePos Z.Full TreeView))