@@ -38,55 +38,55 @@ runKillRing act = do
38
38
pasteCommand :: (Save s , MonadState KillRing m , MonadState Undo m )
39
39
=> ([Grapheme ] -> s -> s ) -> Command m (ArgMode s ) s
40
40
pasteCommand use = \ s -> do
41
- ms <- liftM peek get
41
+ ms <- peek <$> get
42
42
case ms of
43
43
Nothing -> return $ argState s
44
44
Just p -> do
45
45
modify $ saveToUndo $ argState s
46
46
setState $ applyArg (use p) s
47
47
48
- deleteFromDiff' :: InsertMode -> InsertMode -> ([Grapheme ],InsertMode )
48
+ deleteFromDiff' :: InsertMode -> InsertMode -> ([Grapheme ], InsertMode )
49
49
deleteFromDiff' (IMode xs1 ys1) (IMode xs2 ys2)
50
50
| posChange >= 0 = (take posChange ys1, IMode xs1 ys2)
51
- | otherwise = (take (negate posChange) ys2 , IMode xs2 ys1)
51
+ | otherwise = (take (negate posChange) ys2, IMode xs2 ys1)
52
52
where
53
53
posChange = length xs2 - length xs1
54
54
55
55
killFromHelper :: (MonadState KillRing m , MonadState Undo m ,
56
56
Save s , Save t )
57
57
=> KillHelper -> Command m s t
58
58
killFromHelper helper = saveForUndo >=> \ oldS -> do
59
- let (gs,newIM) = applyHelper helper (save oldS)
59
+ let (gs, newIM) = applyHelper helper (save oldS)
60
60
modify (push gs)
61
61
setState (restore newIM)
62
62
63
63
killFromArgHelper :: (MonadState KillRing m , MonadState Undo m , Save s , Save t )
64
64
=> KillHelper -> Command m (ArgMode s ) t
65
65
killFromArgHelper helper = saveForUndo >=> \ oldS -> do
66
- let (gs,newIM) = applyArgHelper helper (fmap save oldS)
66
+ let (gs, newIM) = applyArgHelper helper (fmap save oldS)
67
67
modify (push gs)
68
68
setState (restore newIM)
69
69
70
70
copyFromArgHelper :: (MonadState KillRing m , Save s )
71
71
=> KillHelper -> Command m (ArgMode s ) s
72
72
copyFromArgHelper helper = \ oldS -> do
73
- let (gs,_) = applyArgHelper helper (fmap save oldS)
73
+ let (gs, _) = applyArgHelper helper (fmap save oldS)
74
74
modify (push gs)
75
75
setState (argState oldS)
76
76
77
77
78
78
data KillHelper = SimpleMove (InsertMode -> InsertMode )
79
- | GenericKill (InsertMode -> ([Grapheme ],InsertMode ))
79
+ | GenericKill (InsertMode -> ([Grapheme ], InsertMode ))
80
80
-- a generic kill gives more flexibility, but isn't repeatable.
81
- -- for example: dd,cc, %
81
+ -- for example: dd, cc, %
82
82
83
83
killAll :: KillHelper
84
84
killAll = GenericKill $ \ (IMode xs ys) -> (reverse xs ++ ys, emptyIM)
85
85
86
- applyHelper :: KillHelper -> InsertMode -> ([Grapheme ],InsertMode )
86
+ applyHelper :: KillHelper -> InsertMode -> ([Grapheme ], InsertMode )
87
87
applyHelper (SimpleMove move) im = deleteFromDiff' im (move im)
88
88
applyHelper (GenericKill act) im = act im
89
89
90
- applyArgHelper :: KillHelper -> ArgMode InsertMode -> ([Grapheme ],InsertMode )
90
+ applyArgHelper :: KillHelper -> ArgMode InsertMode -> ([Grapheme ], InsertMode )
91
91
applyArgHelper (SimpleMove move) im = deleteFromDiff' (argState im) (applyArg move im)
92
92
applyArgHelper (GenericKill act) im = act (argState im)
0 commit comments