forked from GitHub/gf-core
reload = r command
This commit is contained in:
@@ -28,7 +28,7 @@ import Data.Char (isSpace)
|
||||
-- separated from GF Main 24/6/2003
|
||||
|
||||
gfInteract :: HState -> IO HState
|
||||
gfInteract st@(env,hist) = do
|
||||
gfInteract st@(env,hist@(his,_,_,_)) = do
|
||||
-- putStrFlush "> " M.F 25/01-02 prompt moved to Arch.
|
||||
(s,cs) <- getCommandLines st
|
||||
case ifImpure cs of
|
||||
@@ -48,6 +48,15 @@ gfInteract st@(env,hist) = do
|
||||
st' <- execLinesH line [co] st -- s would not work in execLinesH
|
||||
gfInteract st'
|
||||
|
||||
Just (ICReload,_) -> case dropWhile (not . isImport) his of
|
||||
line:_ -> do
|
||||
let co = pCommandLine st $ words line
|
||||
st' <- execLinesH line [co] st
|
||||
gfInteract st'
|
||||
_ -> do
|
||||
putStrLn "No previous import"
|
||||
gfInteract st
|
||||
|
||||
Just (ICEditSession,os) -> case getOptVal os useFile of
|
||||
Just file -> do
|
||||
s <- readFileIf file
|
||||
@@ -66,6 +75,10 @@ gfInteract st@(env,hist) = do
|
||||
opts = globalOptions env
|
||||
ifNotSilent c =
|
||||
if oElem beSilent opts then return () else putStrLnFlush c
|
||||
isImport l = case words l of
|
||||
"i":_ -> True
|
||||
"import":_ -> True
|
||||
_ -> False
|
||||
|
||||
gfBatch :: HState -> IO HState
|
||||
gfBatch st@(sh,_) = do
|
||||
|
||||
@@ -81,6 +81,9 @@ txtHelpFile =
|
||||
"\n examples:" ++
|
||||
"\n i English.gf -- ordinary import of Concrete" ++
|
||||
"\n i -retain german/ParadigmsGer.gf -- import of Resource to test" ++
|
||||
"\n" ++
|
||||
"\nr, reload: r" ++
|
||||
"\n Executes the previous import (i) command." ++
|
||||
"\n " ++
|
||||
"\nrl, remove_language: rl Language" ++
|
||||
"\n Takes away the language from the state." ++
|
||||
|
||||
@@ -157,7 +157,7 @@ pCommand ws = case ws of
|
||||
|
||||
"es" : [] -> aImpure ICEditSession
|
||||
"ts" : [] -> aImpure ICTranslateSession
|
||||
|
||||
"r" : [] -> aImpure ICReload
|
||||
_ -> (CVoid, [])
|
||||
|
||||
where
|
||||
|
||||
@@ -97,8 +97,12 @@ data Command =
|
||||
|
||||
-- to isolate the commands that are executed on top level
|
||||
data ImpureCommand =
|
||||
ICQuit | ICExecuteHistory FilePath | ICEarlierCommand Int
|
||||
| ICEditSession | ICTranslateSession
|
||||
ICQuit
|
||||
| ICExecuteHistory FilePath
|
||||
| ICEarlierCommand Int
|
||||
| ICEditSession
|
||||
| ICTranslateSession
|
||||
| ICReload
|
||||
|
||||
type CommandOpt = (Command, Options)
|
||||
|
||||
|
||||
@@ -52,6 +52,9 @@ i, import: i File
|
||||
examples:
|
||||
i English.gf -- ordinary import of Concrete
|
||||
i -retain german/ParadigmsGer.gf -- import of Resource to test
|
||||
|
||||
r, reload: r
|
||||
Executes the previous import (i) command.
|
||||
|
||||
rl, remove_language: rl Language
|
||||
Takes away the language from the state.
|
||||
|
||||
Reference in New Issue
Block a user