mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-21 18:59:32 -06:00
Added option to disable readline.
This commit is contained in:
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/04/21 16:46:14 $
|
||||
-- > CVS $Date: 2005/05/10 14:55:01 $
|
||||
-- > CVS $Author: bringert $
|
||||
-- > CVS $Revision: 1.7 $
|
||||
-- > CVS $Revision: 1.8 $
|
||||
--
|
||||
-- architecture\/compiler dependent definitions for unix\/hbc
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -21,7 +21,8 @@ import System.Random
|
||||
import System.CPUTime
|
||||
import Control.Monad (filterM)
|
||||
import System.Directory
|
||||
import System.Console.Readline
|
||||
|
||||
import GF.System.Readline (fetchCommand)
|
||||
|
||||
---- import qualified UnicodeF as U --(fudlogueWrite)
|
||||
|
||||
@@ -44,14 +45,6 @@ prCPU cpu = do
|
||||
welcomeArch :: String
|
||||
welcomeArch = "This is the system compiled with ghc."
|
||||
|
||||
fetchCommand :: String -> IO (String)
|
||||
fetchCommand s = do
|
||||
res <- readline s
|
||||
case res of
|
||||
Nothing -> return "q"
|
||||
Just s -> do addHistory s
|
||||
return s
|
||||
|
||||
-- | selects the one with the later modification time of two
|
||||
selectLater :: FilePath -> FilePath -> IO FilePath
|
||||
selectLater x y = do
|
||||
|
||||
51
src/GF/System/Readline.hs
Normal file
51
src/GF/System/Readline.hs
Normal file
@@ -0,0 +1,51 @@
|
||||
{-# OPTIONS -cpp #-}
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- |
|
||||
-- Module : GF.System.Readline
|
||||
-- Maintainer : BB
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/05/10 14:55:01 $
|
||||
-- > CVS $Author: bringert $
|
||||
-- > CVS $Revision: 1.1 $
|
||||
--
|
||||
-- Uses the right readline library to read user input.
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
module GF.System.Readline (fetchCommand) where
|
||||
|
||||
#ifdef USE_READLINE
|
||||
|
||||
import System.Console.Readline (readline, addHistory)
|
||||
|
||||
#else
|
||||
|
||||
import System.IO.Error (try)
|
||||
import System.IO (stdout,hFlush)
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef USE_READLINE
|
||||
|
||||
fetchCommand :: String -> IO (String)
|
||||
fetchCommand s = do
|
||||
res <- readline s
|
||||
case res of
|
||||
Nothing -> return "q"
|
||||
Just s -> do addHistory s
|
||||
return s
|
||||
|
||||
#else
|
||||
|
||||
fetchCommand :: String -> IO (String)
|
||||
fetchCommand s = do
|
||||
putStr s
|
||||
hFlush stdout
|
||||
res <- try getLine
|
||||
case res of
|
||||
Left e -> return "q"
|
||||
Right l -> return l
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user