summaryrefslogtreecommitdiffstats
path: root/src/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Main.hs')
-rw-r--r--src/Main.hs22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/Main.hs b/src/Main.hs
index d9a8aa1..61db22f 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -3,7 +3,7 @@
{-# LANGUAGE TemplateHaskell #-}
module Main where
-import Control.Lens hiding (imap)
+import Control.Lens hiding (Empty, imap)
import Control.Applicative
import Control.Concurrent
import Control.Monad
@@ -26,8 +26,8 @@ import qualified Data.Map as Map
import Buffer
import Process
-import Scanner (scan, runScanner, toChar)
-import Trammel
+import Scanner
+import Blessings
data Mode
@@ -104,8 +104,7 @@ uiThread cf putState getState = forever $ do
_ <- hLookAhead stdin -- wait for input
--t0 <- getCurrentTime
- -- ((res, s), _) <- runScanner scan
- ((_, s), _) <- runScanner scan
+ s <- scan stdin
--t1 <- getCurrentTime
--putStrLn $ "====> \ESC[32;1m" ++ show s ++ "\ESC[m in " ++
-- (show $ diffUTCTime t1 t0)
@@ -116,7 +115,8 @@ uiThread cf putState getState = forever $ do
-- Right _ -> return ()
-- TODO don't leak C
- let cmd = getCommand (_mode q0) (map toChar s)
+ let ScanKey k = s
+ let cmd = getCommand (_mode q0) k
--withOutput cf $ do
-- putStrLn $ show cmd
@@ -362,11 +362,11 @@ renderInputLine mb_cnt m (lhs, rhs) = do
moveCursorLeft $ length $ lit rhs
-renderLeft :: Trammel String -> IO ()
+renderLeft :: Blessings String -> IO ()
renderLeft = putStr . pp
-renderRight :: Trammel String -> IO ()
+renderRight :: Blessings String -> IO ()
renderRight a = do
saveCursor
moveCursorRight 1024 -- XXX obviously, this is a hack..^_^
@@ -376,7 +376,7 @@ renderRight a = do
-promptString :: Mode -> Trammel String
+promptString :: Mode -> Blessings String
promptString NormalMode = SGR [33,1] "@ "
promptString InsertMode = "> "
promptString SelectRegisterMode = "\" "
@@ -393,12 +393,12 @@ spans p xs = f_r (span p_r xs)
f_l (as, bs) = Left as : if null bs then [] else f_r (span p_r bs)
-gaudySpans :: [Int] -> (Char -> Bool) -> String -> Trammel String
+gaudySpans :: [Int] -> (Char -> Bool) -> String -> Blessings String
gaudySpans c p =
mconcat . map (either (SGR c . Plain . lit) Plain) . spans p
-gaudySpecial :: [Int] -> String -> Trammel String
+gaudySpecial :: [Int] -> String -> Blessings String
gaudySpecial c = gaudySpans c (not . isPrint)