Warning cleanup: remove stale imports, add missing type signatures

This commit is contained in:
Jonathan Daugherty 2014-06-11 20:19:28 -07:00 committed by Corey O'Connor
parent 64c7ec0374
commit 9f8f35215e
5 changed files with 23 additions and 5 deletions

View File

@ -1,5 +1,6 @@
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE KindSignatures #-}
-- | A 'Config' can be provided to mkVty to customize the applications use of vty. A config file can
-- be used to customize vty for a user's system.
--
@ -173,6 +174,9 @@ configLanguage = LanguageDef
configLexer :: Stream s m Char => P.GenTokenParser s u m
configLexer = P.makeTokenParser configLanguage
mapDecl :: forall s u (m :: * -> *).
(Monad m, Stream s (WriterT Config m) Char) =>
ParsecT s u (WriterT Config m) ()
mapDecl = do
void $ string "map"
P.whiteSpace configLexer
@ -185,6 +189,9 @@ mapDecl = do
-- TODO: Generated by a vim macro. There is a better way here. Derive parser? Use Read
-- instance? Generics?
parseKey :: forall s u (m :: * -> *).
Stream s m Char =>
ParsecT s u m Key
parseKey = do
key <- P.identifier configLexer
case key of
@ -215,8 +222,14 @@ parseKey = do
"KMenu" -> return KMenu
_ -> fail $ key ++ " is not a valid key identifier"
parseModifiers :: forall s u (m :: * -> *).
Stream s m Char =>
ParsecT s u m [Modifier]
parseModifiers = P.brackets configLexer (parseModifier `sepBy` P.symbol configLexer ",")
parseModifier :: forall s u (m :: * -> *).
Stream s m Char =>
ParsecT s u m Modifier
parseModifier = do
m <- P.identifier configLexer
case m of
@ -226,14 +239,22 @@ parseModifier = do
"MAlt" -> return MAlt
_ -> fail $ m ++ " is not a valid modifier identifier"
debugLogDecl :: forall s u (m :: * -> *).
(Monad m, Stream s (WriterT Config m) Char) =>
ParsecT s u (WriterT Config m) ()
debugLogDecl = do
void $ string "debugLog"
P.whiteSpace configLexer
path <- P.stringLiteral configLexer
lift $ tell $ def { debugLog = Just path }
ignoreLine :: forall s u (m :: * -> *).
Stream s m Char => ParsecT s u m ()
ignoreLine = void $ manyTill anyChar newline
parseConfig :: forall s u (m :: * -> *).
(Monad m, Stream s (WriterT Config m) Char) =>
ParsecT s u (WriterT Config m) ()
parseConfig = void $ many $ do
P.whiteSpace configLexer
let directives = [mapDecl, debugLogDecl]

View File

@ -2,7 +2,6 @@
module Graphics.Vty.Inline.Unsafe where
import Graphics.Vty
import Graphics.Vty.Config (userConfig)
import Data.Default
import Data.IORef

View File

@ -12,7 +12,7 @@ import Graphics.Vty.Input.Events
import Codec.Binary.UTF8.Generic (decode)
import Data.List(tails,inits)
import Data.List(inits)
import qualified Data.Map as M( fromList, lookup )
import Data.Maybe ( mapMaybe )
import qualified Data.Set as S( fromList, member )

View File

@ -1,7 +1,5 @@
module Graphics.Vty.Input.Events where
import Data.Map (Map)
-- | Representations of non-modifier keys.
--
-- * KFun is indexed from 0 to 63. Range of supported FKeys varies by terminal and keyboard.

View File

@ -177,7 +177,7 @@ logInitialInputState input termName classifyTable = case _inputDebug input of
Nothing -> return ()
Just h -> do
config <- readIORef $ _configRef input
hPrintf h "initial (vmin,vtime): %s\n" (show (vmin config, vtime config))
_ <- hPrintf h "initial (vmin,vtime): %s\n" (show (vmin config, vtime config))
forM_ classifyTable $ \i -> case i of
(inBytes, EvKey k mods) -> hPrintf h "map %s %s %s %s\n" (show termName)
(show inBytes)