summaryrefslogtreecommitdiffstats
path: root/AufgabeFFP7.hs
diff options
context:
space:
mode:
Diffstat (limited to 'AufgabeFFP7.hs')
-rw-r--r--AufgabeFFP7.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/AufgabeFFP7.hs b/AufgabeFFP7.hs
index c9454a5..091cb49 100644
--- a/AufgabeFFP7.hs
+++ b/AufgabeFFP7.hs
@@ -13,7 +13,7 @@ empty = (0, "")
13 13
14-- insert character before cursor 14-- insert character before cursor
15insert :: Char -> Buffer -> Buffer 15insert :: Char -> Buffer -> Buffer
16insert c (cur, buf) = (cur, buf1 ++ [c] ++ buf2) 16insert c (cur, buf) = (min (length buf + 1) (max (cur - 1) 0), buf1 ++ [c] ++ buf2)
17 where 17 where
18 (buf1, buf2) = splitAt cur buf 18 (buf1, buf2) = splitAt cur buf
19 19
@@ -21,7 +21,7 @@ insert c (cur, buf) = (cur, buf1 ++ [c] ++ buf2)
21delete :: Buffer -> Buffer 21delete :: Buffer -> Buffer
22delete (cur, buf) 22delete (cur, buf)
23 | buf2 == [] = (min cur (length buf1), buf1) 23 | buf2 == [] = (min cur (length buf1), buf1)
24 | cur < 0 = (cur, buf) 24 | cur < 0 = (0, buf)
25 | otherwise = (cur, buf1 ++ tail buf2) 25 | otherwise = (cur, buf1 ++ tail buf2)
26 where 26 where
27 (buf1, buf2) = splitAt cur buf 27 (buf1, buf2) = splitAt cur buf
@@ -36,11 +36,11 @@ right (cur, buf) = (max 0 (min (cur + 1) (length buf)), buf)
36 36
37-- is cursor at left end? 37-- is cursor at left end?
38atLeft :: Buffer -> Bool 38atLeft :: Buffer -> Bool
39atLeft (cur, buf) = cur == 0 39atLeft (cur, buf) = cur <= 0
40 40
41-- is cursor at right end? 41-- is cursor at right end?
42atRight :: Buffer -> Bool 42atRight :: Buffer -> Bool
43atRight (cur, buf) = cur == length buf 43atRight (cur, buf) = cur >= length buf
44 44
45-------------------------------------------------------------------------------- 45--------------------------------------------------------------------------------
46 46