diff options
author | tv <tv@shackspace.de> | 2014-12-30 17:52:39 +0100 |
---|---|---|
committer | tv <tv@shackspace.de> | 2014-12-30 17:52:39 +0100 |
commit | 19398520536f1e6dda0cc3c6770353d9fe463b7b (patch) | |
tree | 6bb004d4a1519cf79443cd66accb06d1c64d0c3c | |
parent | 6509114b38272fbb24eb0943a8efb41f7f5660fd (diff) |
toggle folds with mouse 2
-rw-r--r-- | test5.hs | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -238,10 +238,16 @@ keymap s = \q -> mousemap :: MouseInfo -> State -> IO State +mousemap MouseInfo{mouseButton=1,mouseY=y} = defaultMouse1Click y +mousemap MouseInfo{mouseButton=3,mouseY=y} = \q -> defaultMouse1Click y q >>= toggleFold mousemap MouseInfo{mouseButton=4} = moveTreeDown 3 mousemap MouseInfo{mouseButton=5} = moveTreeUp 3 +mousemap MouseInfo{mouseButton=0} = return +mousemap info = \q -> + return q { flashMessage = SGR [38,5,202] $ Plain $ show info } -mousemap MouseInfo{mouseButton=1,mouseY=y} = \q@State{..} -> do + +defaultMouse1Click y q@State{..} = do let linearClickPos = let i = (y - length headBuffer + yoffset) - 1 {-zero-based-} in if 0 <= i && i < length treeBuffer @@ -257,11 +263,6 @@ mousemap MouseInfo{mouseButton=1,mouseY=y} = \q@State{..} -> do { cursor = findNextN i $ Z.root cursor } -mousemap MouseInfo{mouseButton=0} = return - -mousemap info = \q -> - return q { flashMessage = SGR [38,5,202] $ Plain $ show info } - topOverrun :: State -> Int |